Sure, you’d like to get in on all the retrocomputing action you read about on Hackaday. But that takes a lot of money to buy vintage hardware, right? Sure, you can build your own, but who has time for a big major project? [Just4Fun] has a Hackaday.io project that disproves those two myths and gives you no more excuses. His retrocomputer? A 4MHz Z80 that can run BASIC with 64K of RAM, all built on a breadboard with 4 ICs. The cost? About $4.
Of course, that’s with some power shopping on eBay and assuming you have the usual stuff like breadboards, wire, small components, and a power supply. While it will gall the anti-Arduino crowd, [Just4Fun] uses an Arduino (well, an ATmega32A with the Arduino bootloader) to stand in for a host of Z80 peripheral devices. You can see a video of the device below, and there are more on the Hackaday.io project page.
The ATMega serves as a clock and reset generator. It also is the computer’s EPROM. There is a separate RAM chip, but half of it isn’t used (we smell a bank switching mod here). You do need the CMOS Z80 chip to play nice with the other modern chips like the ATMega.
This is a great retro project. We can’t help but notice the IC pin labels on the chips which is a nice touch, along with the labels on switches and LEDs.
[Just4Fun] has done this kind of thing more than once. If you are wondering how many chips the ATmega saves, you might have a look at this build.
22 thoughts on “Retrocomputing For $4 With A Z80”
Wow .. I might need to make one of these.
I have to confess. I rarely do this, but after reading this project, I ordered a Z80. I have some 8085s in storage, but no Z80s. A few things I will change: 10K bussed resistor SIP will make the wiring easier. So do 5V LEDs.
I was just reading up on logic levels because of “You do need the CMOS Z80 chip to play nice with the other modern chips like the ATMega”
It seems that the CMOS Z80 should be compatible anyway as it’s outputs are CMOS compatible and it’s inputs are TTL compatible so it should work with either.
The AT AVR chips are CMOS levels so I would be tempted to drop the Vcc of the AVR a little to make it TTL compatible – one or two diodes in Vcc. The AVRs (AT) have diode clamped inputs so a bit of overshoot would be fine as long as it didn’t shunt the driving pin to much – perhaps some series resistors.
Anyway this made realise why another project of mine didn’t work – the driving retro computer has a CMOS chip. If I have assumed correctly then all I need to do is pop a 74HC and drop in a 74HCT
I think you have it backwards. CMOS outputs work with pretty much anything but TTL outputs don’t go very high.
TTL outputs into a CMOS input can result in zeros or noise & metastability when you wanted ones.
The code it runs is based on Grant Searle’s 7 Chip(or 6 chip) Z80 computer so the arduino isn’t actually saving that many chips(only replaces the ACIA and the ROM). What it really does well though is replacing the need for an expensive and EEPROM programmer. Definitely a great way to use an atmega.
I use an ATmega2560 (Arduino Mega) to program FLASH chips but why not just replace the FLASH chipp all together lol.
There is a Z80 emulator for the Parallax Propeller that only takes 2 of its 8 cogs, leaving 6 for peripheral emulation. This means you can use a video monitor and PS/2 keyboard, and run CP/M with just 2 chips, the Propeller and its boot EEPROM.
Yeah. Several of us worked on an 8080 Emulator for Vince Briel’s Micro Altair and we got it to run CP/M. But there’s something tangibly different about running the real silicon, even though it shouldn’t be true. It is sort of like seeing a replica of the Oval office compared to going to the actual Oval office. No matter how accurate the replica is, it just isn’t the same.
I stopped paying attention to Parallax after I stopped using the Basic Stamp II, both because I couldn’t afford anything they made ($99 for a PIC16 and an EEPROM!?) and because I stopped using BASIC and learned Assembly and then C. I remember the Prop coming out but not being able to afford it.
I was recently given one. Has the Parallax ecosystem transitioned to C yet, or are you still using BASIC like 1980’s grade school kids?
No need for the BASIC trash talk.
They do have a C environment, but what they really need to do is port to Arduino. Don’t laugh – that’s (IMHO) primarily why the Teensy succeeded (that and Paul is a frickin’ genius)
But a multi-core (esp 32 core) arduino IDE-based board? That would be a winner. Unless, as stated above, they keep charging so much for them.
They open sourced the Propeller chip, but I haven’t come across any clones yet.
That’s because the Propeller chip is a solution to problem we don’t currently have.
The Prop can be programmed in C, Spin and PASM.
The original dev system for the Propeller was Spin, which Chip Gracey spun up as a really nifty teaching language based mostly on Pascal. But nowadays they have transitioned to C.
C still is like a stepchild in the church of Parallx and they let starve to nearly death the most interesting feature of PropGCC: XMM.
Well, you could surely do this all in one, or two if you need some extra RAM, chips. The ATMega could easily emulate the Z80, making this a Z80-SoC.
But then i would love me a 65c02 core, better code density and easier to use machine language. At least for me. ;)
I still want to see an Apple IIgs clone done this way.
After reading this article, I built my own Z80 computer… it cost me a lot more than $4 :p
I’m using this as the base idea for my “RHOCOCO” which is a z80 based retro-home computer with VGA color video capabilities. I’m writing about it on the site of my hacker space in den-Hague the Netherlands.
This is going to be a n00b question, but will this dummy terminal by Mr. Geoff in Auzzie-land work with this design?
Also, if it is compatible, what baud rate would it have to be set to?
Andrew P. I built that terminal board and you can select 1200 baud to 115200. Works well for assorts of TTL and RS232 uses.
Please be kind and respectful to help make the comments section excellent. (Comment Policy)