Finding my old MPF-1 Z80 trainer system has got me thinking again about the machines from that 8-bit era.
The Z80 and the 6502 were the “go to solution” for most of the home micros of the 1978-1984 time period.
I grew up with a RM-380Z, various Sinclair machines, a Jupiter Ace, and a Tatung Einstein (cp/m machine). Almost all were bought at the end of their life-cycle - because I was a poor student in those days.
The Z80 was sometimes used because it gave direct access to cp/m - but on the Sinclair and later Amstrad machines, it was popular because it allowed DRAM to be refreshed with almost no additional hardware - leading to very economical designs.
This makes me wonder if there is any unexplored territory in some of these Z80 designs.
In recent years there have been some recreations of early Z80 machines - Tynemouth Software produces a pcb and kit for a Sinclair ZX80 replicant - called the Minstrel.
Grant Searle has done a lot to popularise the Z80 with his 7-chip minimum solution, and Spencer Owen with his RC2014 kit is now the world’s leading supplier of Z80 based systems!
So this got me thinking about revisiting the Z80 hardware - and whether something new could be done.
Many of the early Sinclair machines used a lot of Z80 machine cycles to create the video display, in TTL with the ZX80, and then with various Ferranti ULAs in the ZX81 and Spectrum.
Decoupling the Z80 from the overhead of updating the display could make for quite a powerful machine.
(At least) Two ideas spring to mind:
Use a FT810 - as used in James Bowman’s Gameduino 3, and offload the video generation to it - so the Z80 can get on with real work. James and I experimented with a slightly overclocked FT810 that would produce a 1024 x 768 display, connected to a SH VGA display using resistor ladder networks (The FT810 was originally intended to drive a parallel RGB LCD). The Z80 just has to send a list of objects to display and the FT810 does all the pixel pushing. The only fly in the ointment is that the FT810 needs an SPI interface - but this could be bodged onto a Z80 with a couple of parallel to serial shift registers.
The second idea is to use a Propeller P1 for video and audio generation, and possibly even memory decoding too. A Propeller P1 could become a smart peripheral to a Z80 and provide a bunch of modern peripherals such as SD card interface, audio, video, PS/2 keyboard and mouse - and possibly some form of paged memory management. In theory you could have a Z80 colour computer in about 4 or 5 chips - all of them breadboard friendly DIL packages.
The third idea is to look at the eZ80 range of processors. These are an enhanced pipelined Z80 with modern peripherals and a 24 bit address range. They feature a pipeline that eliminates the 4 clock per instruction limitation of the original Z80, and they clock along at 50MHz. So a Z80 system with 16M bytes of RAM becomes a distinct possibility.
From there on there are Z80 soft cores running on FPGAs at hundreds of MHz, or emulated on an ARM M4 or M7 on a $20 devboard.
Richard Russell wrote and supports a BBC BASIC for the Z80 - which has been around for almost 40 years.
Plenty of ideas - and plenty of time to get on with some of them.