4 ms·
I hate to nitpick but there's an error in the text where it's stated that the 8086 could address 4 megabytes with 20 bit addresses, but that's actually one mega
by mrlonglong 4y ago
I hate to nitpick but there's an error in the text where it's stated that the 8086 could address 4 megabytes with 20 bit addresses, but that's actually one megabyte. Otherwise, all fascinating reading. My first proper pc was an Amstrad PC1512 with a NEC V30 (clone of the 8086 with some enhanced instructions). Maybe you could take a look at the V30 at some point?
- kens 4y agoThanks, I've fixed that. As for the NEC V30, the 8086 is likely to keep me busy for a long time, but it would be interesting to see how the enhanced instructions in the V30 were implemented.
- mrlonglong 4y agoI've got a NEC V30 coprocessor plugged into my raspberry pi. It works, amazingly well enough
- andrewf 4y agoIs it Elijah Miller's https://www.homebrew8088.com/home/raspberry-pi-second-project https://www.homebrew8088.com/home/raspberry-pi-second-projec... or something else? I ask because I'm interested (for no good reason :P) in automating 808x bus traces like http://www.jagregory.com/abrash-zen-of-asm/images/fig5.1aRT.png http://www.jagregory.com/abrash-zen-of-asm/images/fig5.1aRT.... I have a homebrew8088 board with a V30 in it, which I've just started playing with. I've run into two issues: (1) It runs the processor in "minimum mode", which doesn't expose as much internal/debug state on the pins. (Vs "maximum mode", where the CPU consolidates many control signals into 3 pins, which drive an Intel 8288 companion chip, which drives the control signals) (2) To plug an intel processor in, I think I need to use a 3.3V <-> 5V shifter, and https://czh-labs.com/products/rpi-33v-to-5v-26-i-o-bidirectional-voltage-level-shifter-module-for-raspberry-pi-logic-level-converter https://czh-labs.com/products/rpi-33v-to-5v-26-i-o-bidirecti... doesn't expose GPIO0/1, which the board uses for the AD5 / INTA pins. The board is open source and I've never had a PCB made, so this might be a fun yak to shave. The Raspberry Pi doesn't have enough GPIOs to run the CPU in master mode, but I don't need to be IBM compatible, so I figure I can use an 8088 and simply steal some of the higher address pins.
- mrlonglong 4y agoYes that's the one I have, it's sitting on my bookshelf at the moment but it does work if a bit slowly. I was going to use it to emulate an Amstrad PC1512 on my pi so I could let the good times roll ...
- andrewf 4y agoNice :) It's really slow but it'd be neat to see GEM come up.
- mrlonglong 4y agopcEM is another emulator you can use to run GEM. This will do pc1512 and an hard disk. https://pcem-emulator.co.uk/ https://pcem-emulator.co.uk/
- rwmj 4y agoAlso how the V30's 8080 emulation mode was implemented. I wonder if it's "just" some clever microcode or if it required substantial extra die area. It was a great way to run most CP/M software (the exception being software for the Z80 which used LDIR etc which the 8080 lacked and the V30 therefore didn't bother emulating).
- mrlonglong 4y agoI will have to try booting CP/M 8080 on my V30 coprocessor and see how that works. Might have to do custom bdos though.
- deleted 4y ago[deleted]
- ataylor284_ 4y agoAs pointed out in another comment, it really is 4MB, since the segment register the memory is accessed through is exposed on the bus. You could include those extra 2 bits for a 22-bit total address space, although I don't think it's really practical to have such a partitioned memory model for a general purpose computer.