FAP80 is a Z80-based retro computer with a sprinkling of modern twists to make the experience of designing, programming, and debugging this computer as painless and straightforward as possible.
A lot of retro computer projects today are rooted on nostalgia, they tend to use “period correct” components to get the “feelings” right, and the result often ends up on perfboard or self-etched circuit boards, rudimentary video capacity if at all, few I/O ports, and a symphony of 74 series chips.
While there is nothing wrong with that, I wasn’t around during the 80s home computer era, so I didn’t have the same attachment to how things was done back then. So instead of trying to recreate the “good old days”, I made the decision to liberally use modern parts to simplify the design process, as well as making this computer highly flexible and easy to program and use with very little overheads.
The creator’s blog has more detailed information about the project.
The name may sound funny and have a bit of a point, but still I don’t think it’s a good idea to call the project like that.
Why build a retro computer around the worst processor in all history, the wretched Z80?
Why not build around a jewel like the M68000 series?
Probably the greatest tragedy in computing that the worst possible processor architecture (cough, x86) won out.
You are right. I once built the simple 68000 board that just feeds the NOP instruction to get it running.
Not only was it easy to setup but I also was using the 16 MHz version that was twice as fast as the CPU in my Amiga.
PS. I don’t think the Z80 is the worse CPU, the 1802 CPU was a pain to use and the TI9900 CPU was not a true CPU but an smart controller chip, so I found the instruction set to be a little odd.
Edited 2017-01-20 00:41 UTC
We built a complete M6800 based computer in college, such a clean, consistent instruction set.
Our microprocessor design class was based on M6800. Then to show us what a particularly bad design was, we worked with Z80 also.
The Z80 was considered one of the BEST processors of the era. It was certainly a far better update on the 8080 than Intel’s 8085. It was slow, but a joy to program compared to other cpus of the time.
The top cpus of the time: #3 – the Z80, #2 – the 6502, and the number one cpu of the time (if you could get a computer with one) – the 6809. It was the only thing going for the CoCo. They really should have put more into the graphics and sound if they wanted to compete. People are willing to put up with a lousy CPU if the system has better graphics and sound. x86 PCs proved that.
Interesting you bring that up. I can think of a few reasons: Nostalgia is a big one. Simplicity is another; it’s a lot easier to breadboard an 8-bit CPU than it is a 16-bit version. Being a static device with no minimum clock speed makes it easy to single step the CPU via the clock when debugging your hardware. etc.
But, I don’t understand why you would use a Z80 in this particular project. It’s clearly not nostalgia, since the developer says that he doesn’t remember this stuff from when it was “a thing.” He also can’t be looking for simplicity, since he’s using FPGAs, CPLDs, and microcontrollers to implement it… It seems like if you are going to go the FPGA route, you could probably just implement the CPU there too, and then use whatever you want.
But, it’s his project, and he can do whatever he wants with it. It’s not like this thing would be useful if he had based it around a 68000, either. It’s a homebrew computer, and the most utility you get from something like that is the experience of learning how everything works.
It is odd that this article was posted today, though. I don’t remember seeing much homebrew computing news on this site before now, and I just ordered an RC2014 ( http://rc2014.co.uk/ ) and am still waiting for it to come in the mail. When I read the title of this article, I was afraid it was going to make me regret my decision… That wasn’t the case after reading about this project because while I can understand all of the circutry in the simple RC2014 kit, I have little chance of understanding everything going on in this project, which reduces its value to me by quite a bit.
http://www.opac.ch/Smaky/
https://www.ist-schlau.de/
https://hackaday.io/project/5-mc68000-computer
…
Far more useful than a Z80 based retro computer. Can actually to useful things.
Edited 2017-01-21 09:28 UTC
Both are equally useful, it is only that one needs more time to do things than the other.
If you’re thinking in terms of “useful”, then perhaps retro computing isn’t the right field for you.
Just sit back and admire what this guy’s managed to build in his spare time.
I came up on assembly on both the Z80 and the 6502 when they were both current and widely used, and from a programmers viewpoint, the Z80 was a cadillac compared to the primitive and minimalist 6502. I still have a strong affection for the Z80 to this day.
It would be cool if the hardware included support for bank switching the RAM.
Edited 2017-01-24 19:18 UTC
Could have done it with a SiS Vortex3 cpu (2-8 core x86 at 1ghz) with z80 instructions. But no, they had to go the expensive route.
It’s actually way more powerful than the main CPU.
https://en.wikipedia.org/wiki/Zilog_Z80 : 1976
https://en.wikipedia.org/wiki/ARM_Cortex-M#Overview : 2004
2004 – 1976 = 28 years between the two, so I guess there’s a reason why the Cortex is stronger, and the fact that the system emulate a Z80 and not a Cortex-M3.