Hackaday Prize Entry: The Minimalist Z80 Computer

The best projects always seem to come from eBay. A few weeks ago, we found a few tiles meant for gigantic LED panel installations, and fifty bucks got you ten tiles. That eBay auction is now sold out. A while ago, [Just4Fun] realized he could build a Z80 microcomputer with $4 worth of parts from everyone’s favorite online auction house. The result is a $4 Z80 home computer, and a great Hackaday Prize entry to boot.

So, what do he need to build a retrocomputer loaded up with Forth, CP/M, and Basic? A CPU is a necessity, and [Just4Fun] found a Z80 (technically a Z84C00) for just a bit more than a dollar. A computer will need some RAM too, and a 128 kiB parallel SRAM was just the ticket for another dollar.

Here’s where things get a bit more interesting. Where the retrocomputers of yore were loaded up with glue logic, PLAs, or other weird chips, modern technology has come a long way. Instead of a massive amount of glue, [Just4Fun] is using an ATmega32A for all the I/O, address decoding, and a serial terminal.

The ATmega thrown into this cornucopia of vintage chips is itself more than a decade old, but it does have 40 pins and 32 kiB of Flash. That’s enough to ‘virtualize’ all the peripherals you’d need on a Z80 bus and provide the clock signal for the rest of the computer.

This home computer was originally designed and laid out on a solderless breadboard, but [WestfW] managed to stuff this all onto a small PCB. That’s a cheap computer that gets you all the retrocomputing goodies, and it’s something that’s just random enough to be a perfect entry for the Anything Goes portion of the Hackaday Prize.

22 thoughts on “Hackaday Prize Entry: The Minimalist Z80 Computer

  1. > So, what do he need to build a retrocomputer loaded up with Forth, CP/M, and Basic?

    should be

    So, what does he need to build a retrocomputer loaded up with Forth, CP/M, and Basic?

    1. You type them in, or have them transferred from the “host” computer. Not at all unlike the diskless old-time Z80, actually.
      Come to think of it, that’s a good candidate for a modification; the ATmega might have some leftover flash space big enough to hold a reasonable basic program, and Forth “screens” would be particularly easy to implement. There is a replacement Atmega32a bootloader that permits applications to write to flash…

      1. Yes. A newer OptiBoot allows that now. But I’d prefer to add the EEPROMs then (or some 25Q$xyzzy flash or battery backed 23LCV1024) instead and use them without CP/M. In general I don’t like using a MCU’s flash for FS-like storage. Or just go CP/M…
        I’m still waiting for some parts to build the Z80-MBC… so there is time to hunt for more ideas while waiting…

    1. Agree. I’ve done the same with a 6502 and a ATmega128 (Using the ATmega128 as 15K of RAM too!) but after a while I wanted a “purer” system and went for the traditional 32K+32K with discrete decoding logic. Still, nice system.

  2. There is a bit of an issue with this project, and that’s that you have to cheat with the math to end up at $4.I touched on this issue in another place as well… you have to ignore shipping costs entirely, buy from lowest-bidder eBay sellers internationally (HK), and you have to use exactly the parts listed out — no substitutions. If the part isn’t available, you lose out and you pay more. With shipping factored in, it winds up being more like $10-15 anyways — which, I admit, is nothing to sneeze at — but it’s not $4.

    Note: I’m not on a grind here because he won and I lost. I’m 99% over that, and the 1% that’s left ain’t got to do with this. I’m on a grind here because the advertised math has to be /extremely/ fuzzy in order to work, and I don’t think that that’s honest. Hackaday should be better than that.

      1. Picking nits here, but… The Z80 there has a $2.50 shipping charge, Atmega has $1.68, Static ram has $2.50 and the 74hc00n has $1.85 shipping. Total of $8.53 shipping on those parts. Plus the $4.13 to purchase. Still, it’s not like it’s going to break the bank. The other tough part is going to be ordering the pcbs unless you just build it on a breadboard that you already have.

          1. I suspect your location must have something to do with it. From the USA it is showing ePacket shipping charges from China for every one of those links. I didn’t make those numbers up out of nowhere.

  3. “Where the retrocomputers of yore were loaded up with glue logic, PLAs, or other weird chips, modern technology has come a long way. Instead of a massive amount of glue, [Just4Fun] is using an ATmega32A for all the I/O, address decoding, and a serial terminal.”

    We’ve also got CPLD’s and FPGAs that we could be using instead of microcontrollers that have enough power to emulate the host system.

    1. This is an interesting emotional journey. When the FPGA you’re using for glue logic (and why not put an SPI master and a UART in while you’re at it?) can be configured as the vintage CPU core as well, are you tempted to ditch the discrete CPU and move it in to the FPGA? From there you’re only a short step from emulation in software. Maybe such projects can be placed on a sliding scale of “purity” and you need to be happy where your project is located on that scale.

Leave a Reply to codeasmCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

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