I'm starting to play with a V20 CPU. It is a special version of the Intel 8088 CPU (that one used on the IBM PC), that can also run 8080 code.
I'm using a "full static" CMOS version (uPD70108HCZ aka V20HL):
Here my current "experimental setup":
I'm currently using a 128KByte SRAM and a uPD70108HCZ CPU. The "companion" I/O processor that emulates all the legacy I/O chips is a STM32F030R8 MCU (on the white board ARMando).
In the final version I'll probably use an Atmega32 MCU to have only THP parts.
Here the first "hello world" test program loaded directly from the microSD and executed by the V20 CPU @ 8MHz:
Stay tuned... :-)
* UPDATE 1 *
I've just "ported" the iLoad Intel-HEX loader to the V20 on breadboard, translating the source by hand from Z80 assembler to 8086 assembler.
So now I've an automated toolchain to assemble (with NASM), upload and execute on the target a 8086/8088 assembler source.
In the following video the usual "Hello World" demo with iLoad:
* UPDATE 2 *
Wanting to test the 8080 mode, I've ported the Altair Basic (8080 machine code) to the V20 on breadboard.
I've done a new version of iLoad, called iLoad-80, to load a Intel-Hex 8080 executable.
After the load phase iLoad-80 switches the V20 CPU into 8080 mode and jumps to the 8080 code.
Here a demo video:
* UPDATE 3 *
...and the IMSAI Basic:
and the Palo Alto Tiny Basic too:
* UPDATE 4 *
I've stopped to play with the V20 on breadboard to make the design of the V20-MBC.
Currently I've finished the draft of the schematic,
Here I've used an Atmega32 as MCU (so only THP parts).
Here the main specs:
- V20HL CPU (uPD70108HCZ)
- RAM can be configured with 128/512/1024KB;
- optional RTC and microSD modules (the same used in the Z80-MBC2);
- optional 16x GPIO port;
- I2C expansion port;
- serial port;
- ISP connector (for the Atmega32);
- clock can be configured at 4/8MHz.
It should work with a 80C88 too (of course loosing the 8080 mode).
* UPDATE 5 *
Here the PCB:
The layout allows to "plug in" a uTerm or a uCom board as in the Z80-MBC2 (vertically or horizontally) using the same 3D printed brackets.
Because it is a "two flavors" board (8088/8080), I've used a two flavors ice cream as logo... :)
I've just sent the gerber files to the service, so we'll see...