A Z80 Computer At The Next Level

At the close of the 8-bit home computer era there were some machines produced that attempted to bridge the gap between the 8- and 16-bit worlds, either by providing a 16-bit device with a backwards compatibility mode, or an 8-bit one with enhanced capabilities to compete with its newer rivals. These products largely fell by the wayside in the face of new 16-bit only platforms, but they and the various enhanced versions of 8-bit processors that appeared over subsequent decades present a fascinating glimpse of what might have been. It’s a theme [Konstantin Dimitrov] explores with his Z20X computer project, a machine using the Zilog eZ80 processor running at 20 MHz, with 512 kB of external memory, and an interface for a 7″ TFT screen module.

The eZ80 is a more recent development, a pipelined processor capable of much higher clock speeds and addressing up to 16 MB of memory while maintaining software compatibility with the Z80. Had it come to market in the late 1980s it would have been a sensation, but instead it has appeared in embedded computers and perhaps of most interest to Hackaday readers, in TI’s line of programmable calculators.

The Z20X is designed to be a through-hole board, with the only SMD component the eZ80 itself. We can understand the motivation behind this, but at the same time wonder whether its likely builders in 2020 will be people unfazed by SMD assembly. It has a system of processor modules in case of future upgrades, and an expansion backplane with an option of an RC2014-compatible bus. There are also PS/2 keyboard and mouse connectors, a serial bus, and an on-board sound chip. The website is short on details of any software, but we’d expect it to work with the typical Z80 retrocomputer offerings such as a BASIC interpreter and the CP/M operating system.

This machine is likely to appeal to retrocomputing enthusiasts, but had it appeared even without the display in a previous decade it would no doubt have become an object of desire. It does however serve as a reminder that the Z80 line has been updated, and though most of us will have moved on it still offers a few chips that could be of interest. Meanwhile for a comparison, take a look at last year’s review of the latest in the range of RC2014 retrocomputer boards.

Thanks [yNos] for the tip.

26 thoughts on “A Z80 Computer At The Next Level

  1. Does this CPU also emulate a few bugs the original Z80 had? A later revision of the CPU fixed the bugs, which broke some fairly important business software. So Zilog had to put the bugs back in the next revision because they’d become features.

    1. That’s a depressing comment. The original ARM instruction set was so ‘pure’ that it was trivially learned in an afternoon – unlike the Z80 which took at least a weekend :-). Then I got exposed to the 68k, and I’m still in therapy.

      1. The SC126 is an excellent product, I agree. The product I’ve developed is very different, it’s a 50 MHz, 24-bit eZ80 CPU, with 1 MByte of fast SRAM, I needed this to support the particular things I wanted to do, and I wanted the business card form factor (with I/O expansion through a high density connector) to build a system around. But then you can pop the CPU card in your shirt pocket and take your world with you, away from the “dock” of the whole system at your desk. So it’s a particular set of choices that was right for me, and for a few other people who are using the system, the thrust was really “Self-hosted Arduino experience with Lisp”, but it is also a very naturally capable CP/M machine, although only a few people are using it that way. So thanks for your input, if the SC126 is the right thing for you, go for it, I am so impressed with the Tindie community and I’m also an enthusiastic customer. The price will come down on my products when I can build them 100 at a time, right now I build them in smaller batches.

          1. You’re quite welcome. I’ll be at the Vintage Computer Festival in Seattle, March 21-22, and other similar events throughout the year. I also often go to talk to Lisp and Functional Programming user groups, so if you know of an event that might be a good place to talk about vintage+Lisp+embedded+maker :) then I’m all ears !

    1. I really hope 64 bit stays around. I can see why we ditched 32, but 64 is good enough for just about any imaginable purpose. At some point we need to start making things usable for more than a few years, now that we actually have tech that doesn’t suck so much you want to upgrade as soon as you can.

        1. “18 exabytes ought to be enough for anybody.” :- eternityforest, February 24, 2020

          Is it me or is the air getting thinner in here, chest tightening, walls closing in… damn, getting a number on it makes it feel claustrophobic already. :-D

  2. Great idea executed nicely with the hobbyist in mind. The only things I would need would be a better sound chip, preferably a YM2151 and some sort of CRT compatible video option.

  3. So, I’m curious – does this ez80 take 11 clock cycles just to get a 16 bit word off the stack? Seems like a job that could be done in 4, maybe even 3. But supposedly that 11 cycles was the fastest instruction (surely NOP was faster?) because .. idk, architectural reasons. 50MHz is an improvement, but it’d sure be nice if that’s not wasted faffing about like the original.

  4. NOP is one cycle, per the manual, PDF page 258, printed page 249 (Zilog UM0077, available at zilog.com). The eZ80 is very cycle-efficient, with a 24-bit ALU. The only reason POP takes as many cycles as it does is that you still need a full cycle for each 8 bits popped off the stack to traverse the data bus. The post I was replying to stated “…But supposedly that 11 cycles was the fastest instruction (surely NOP was faster?) because ….” and so my reply was about POP, not NOP. The Z80 took so many cycles due to the 4-bit ALU it had. Ken Shirriff’s blog ( http://www.righto.com/2013/09/the-z-80-has-4-bit-alu-heres-how-it.html ) has the full write-up. The Z80 needed a 4-bit ALU because that’s all that would physically fit onto the die; but that doubles the number of cycles to do 8-bit arithmetic, including the stack pointer math needed for POP. This was one of the many tradeoffs of the old Z80 design; the eZ80, while not perfect in my opinion, is a much more efficient design.

  5. Thank you all for the comments. I wasn’t actually aware of this article until yesterday, hence the lack of answers to the few questions above.
    Z20X has no ambition to enter the “big-bigger-biggest” race, so running at maximum speed is not the priority. Instead, I aimed at making something that could be assembled from part 1 to part Last at home by any hobbyist. It is also an educational project so “simple” was the ultimate factor in the design.
    There is no software ported to it yet, but I hope with the help of some great people around there will be something soon.
    I invite everyone interested to join the online group: https://www.facebook.com/groups/509573713269277

  6. Z20X is a great-looking and fun design. It’s not the chip I actually have on-hand (6 EZ80F91AZ050SG in dry-packs, four of the EZ80F917150MODG modules), but most of the software would port over. The F91 has more pins, runs at 50MHz, etc, but one of the cool things about this hobby is that each developer/hobbyist is free to pick their own favorite. But this design looks clean, and most importantly it looks like you’re having fun with it.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.