EZ-Retro: system overview Apr 2017
The EZ-Retro project is about creating a Z80-compatible board capable of running CP/M and based on the eZ80F91 microcontroller from Zilog - it looks like they’re still in business, BTW!
That’s “EZ” as in “easy”, with an apology up front for deviating from the Queen’s English…
The Zilog Z80 was a highly successful microcomputer design, which has stood the test of time. It introduced a huge number of innovative features, back in the 1970’s. The much more recent “eZ80” chip is a compatible next-generation refinement of that same Z80 with a considerably higher level of LSI functionality. With an eZ80, there’s no need to connect external serial or parallel controllers, or memory, or an Ethernet controller… because it’s all built-in, and more.
The main goal of this EZ-Retro project is to create a compatible system, while using modern technologies to simplify the setup (and reduce the cost), making the eZ80 is a natural choice.
Here is what we’re going to assemble, step by step:
The numbers in parentheses indicate how many signals are involved. This is surprisingly low, considering how much functionailty is being packed together in the above setup.
A JeeNode Zero would work fine here, but since there’s no requirement to make this setup wireless, a Blue Pill is used as a “glue chip” - to reduce the component count (and build cost). There is no separate crystal for the eZ80, for example: the clock can be generated by a timer in the STM32F103. There’s also no need to bridge the eZ80’s serial port to USB, because again, this can be done with software running on the Blue Pill.
To support CP/M there is an external SRAM chip, as well as a µSD card socket, which will be used as virtual disk (several disks, in fact).
Throw in a few decoupling capacitors, a few pull-up resistors, and a few more C’s and R’s for supporting the eZ80’s PLL, and that’s all there is to it. It really can’t get much simpler, when it comes to creating a true (banked!) CP/M-capable Z80 system, with an SD card to provide a thousand times as much permanent storage as back in the days of those clunky floppy disks.
There are two challenging aspects in the EZ-retro: one is physical and one is code.
First of all, the eZ80 comes in a 144-pin low-profile quad flat package (LQFP) chip format:
That’s a lot of pins to solder. And what’s even trickier: those tiny pins are only 0.5 mm apart!
This probably won’t be for everyone, but it is possible to solder this chip by hand - all it takes is a good soldering iron with a fine (0.4 mm) tip, a steady hand, good lighting & magnification (e.g. a microscope), and … a bit of patience. If you’re willing to briefly move outside your comfort zone, you may in fact be surprised by how doable this is!
The second challenge is that we will need quite a bit of custom code to give the Blue Pill all the necessary glue functionality. But hey, that’s were the real fun starts!
Many refinements have been left out for now, but could be addressed later, such as: 1) keeping track of real time in the Blue Pill, 2) doing something with the second serial port on the eZ80, and 3) maybe try to get Ethernet working on it (although an ESP8266 would be simpler).