Z80 meets 8 bits VGA (2014)

Sometimes you get something in your hands like an ancient (but brand new) 8 bit VGA ISA card.. Well, 8 bits and Z80 should match shouldn’t they ?

Proved to be not as simple.. 8086 timing is a bit different from Z80 timing and you need some more address lines but after that was solved it was just a matter of reverse engineering the Bios code to get the card to display anything at all… Standard VGA is not standard VGA and standards are there to be tread upon…

The Z80 board came from a swap-meet and has an original Zilog Z80, Z80-PIO, Z80-CTC and two Z80-SIO’s on board. A serial bootloader was put into the EPROM, later it got replaced by a DiskOnChip module. BBC Basic for Z80 was modified for this board and VGA output functions added. The USB connector mounted in a SUB-D9 shell provided a way to connect an IBM keyboard with USB (and PS2 capability) to a single chip PS2-to-RS232 converter, which then was connected to one of the four SIO channels.

 

The hand-drawn schematic is the circuit to make the buswrites of the Z80 compatible with the waitstate generator of the ISA bus VGA card. This took some serious hardware debugging. Several pictures below show the slow progress made in getting the card to output text and graphics..

For anyone interested in the source of the monitor/loader/VGA init part:

boot_z80_reloc_vga