Having played with a few of these systems, I still feel something like a slightly broken Amstrad CPC6128 or ZX Spectrum offers the better learning experience. You get to understand the minds of the designers back in the 80s.
I know it’s hacked together and cheating a bit, but still love the spirit of the project. Not everyone has the electronics experience to do things “authentically”, and if projects like these serve as a gateway to “the real thing” - I say all the better.
For a simple 8-bit system such as this, even if “no GALs” is a requirement, all the chips one would need can still be bought today, brand new, and are still in production in one form or another (e.g Alliance SRAM, SST flash, 74HCT logic etc).
Worth noting that 16V8 and 22V10 GALs are still being made too, and I’d argue that programmers for them aren’t exactly “outdated”.
Not that I have anything against this design, I’m always happy to see a new SBC, though it could be argued that it still “hides” more of the bus inside the MCU than would perhaps be ideal.
and probably nobody is going to say that an lc4032ze or an atf1502 is faster than a z80 (i mean, it's literally faster, in the same way that a 74hc04 is, but you sure aren't going to emulate a z80 on it)
The trouble with CPLDs in my experience is the software environments and (for some at least) programming hardware.
Especially for the Atmel 15xx parts, the software is windows-only, old and annoyingly crash-prone. The GALs are at least programmable from modern OSes with commodity programmers.
That said, the CPLDs themselves are good chips, and I don’t think especially inappropriate for a vintage project
well, on the plus side, the cplds are thoroughly documented, right? no struggles to reverse-engineer bitstream formats or programming waveforms. so you can write your own software to program them however you like
For a more fun approach (if I understood your definition of fun correctly) look into RC2014 Pro, more expensive for sure, but no modern microcontroller on it.
This happens with guitars, cars, houses…any item which has both historical and function value.
The original owner of the item makes numerous small changes and repairs over decades which preserve and improve the functionality.
They finally sell it off to a collector who reverts all the changes, degrading the functionality in order to restore some notion of authenticity. And sometimes they go further, fixing “mistakes” made by the factory.
In this case, the functionality of a Z80 is so ridiculously outdated and obsolete that I suppose authenticity (and nostalgia) is really the only point.
Someone on the blog post linked suggested implementing the BIOS calls in AVR code with some sort of mode switch, I guess you could go further. Port CP/M keeping syscall compatibility but use a CPU emulator for application code.
According to their datasheets, the W65C02S and W65C816S, both still in production, can run up to 8MHz at 3.3V. They can also go down to 2MHz on 1.8V, or up to 14MHz on 5V.
Because a minimal such system would be a decent starting point for designing modern peripherals (on the same FPGAs, reusing HDL) for the actual classic computers.
Doing everything inside the FPGA doesn't help in this case.
You could also run CP/M in an emulator using less resources than the Arduino IDE. I think it's entirely fine to use modern and powerful parts, as long as you learn new things, or inspire others to tinker.