Perhaps the saddest thing about the Zilog Z80 is that this humble 8-bit microprocessor wasn’t allowed to live until its 50th birthday. This, fortunately, doesn’t prevent people like [David Oberhollenzer] from reminiscing on this influential processor and what it means to them personally.
First released in July of 1976, this humble 8-bit miracle would go on to power not just a range of home computers, but also be found in everything from industrial controllers to arcade systems. Despite this success, the new owner of Zilog — Littelfuse — decided to put an end to this winning streak in 2024 for the stand-alone processor and its peripherals.
Although the original Z80 ecosystem ceased production, this didn’t prevent hobbyists from creating new operating systems for it, let alone entire new development toolchains, or demonstrate multitasking on the Z80.
Meanwhile, the Z80 architecture is still very much alive and kicking, such as in the form of the eZ80 SoC in the TI 84+ CE calculator that [grubbycoder] ported Sonic 2 from the Z80-based Sega Master System.
Among all of this modern-day Z80 goodness, we also have a few gems from the past to admire, such as the OS that Zilog made for this architecture in the form of Z80-RIO, which was sadly not as successful as the hardware.

If it doesn’t support
gccthen it’s useless. Sad but true.That’s funny – a processor that doesn’t support a compiler.
Other was round, gcc is useless if it doesn’t even support Z80.
This is the way.
Under CP/M, the Z80 supported many languages, some interpreted, some compiled, and some assembled. Microsoft offered a Z80 Relocating Assembler and a Linkage Editor, BDS offered a C compiler. There were Pascal Pmachines, BASIC interpreters, and a host of other language tools, along with the absolute assembler that CP/M supplied. It was far from useless.
To target Z-80 you use SDCC or z88dk, with binutils optionally in the mix. Binutils supports asm & linking. Z-80 cross compile targets for GCC have been submitted in the past. It didn’t work out: “The register allocator and RTL cost model assume orthogonal GPRs wide enough to hold pointers; Z80’s paired 8-bit regs (BC/DE/HL) and restricted addressing modes [make this impractical.]”
C++ compilers for the Z-80 already exist so it seems to be a gcc problem. I don’t know anything in the Z-80 ISA that’s incompatible with C or C++.
The leading CPU was USD$25 when introduced in 1976, roughly USD$145 in 2026 inflation-adjusted dollars. You can plonk down $20K for a CPU today. Still have all my 8080 and z80 CPUs from teen wirewrap days.
The Z80 was second sourced by companies such as Sharp, Toshiba, Mostek etc.
https://commons.wikimedia.org/wiki/Category:ZiLOG_Z80_second_sources
And that’s just for pin compatible drop-ins.
Many Z80 derived CPU cores did exist, such as the DMG01 in the Gameboy.
Z80 compatibles such as did NSC800 exist, too.
The MSX Turbo-R had an R800 besides Z80A.
Then there’s the Zilog eZ80, which is software compatible to Z80.
Don’t forget the Rabbit 2000 and derivatives!
I remember reporting a race condition in the read-interrupt-status instruction around 1979. Response from Zilog was that my program was incorrect: proper use was to read the register three times and average.
Well that certainly sounds like typical Intel arrogance. Oh, wait…
Don’t forget Hitachi breathed new life into the Z80 in 1985, releasing the HD64180.
512KB address space, 6.144MHz, dual UART, two timers, SPI, 12 new instructions including multiply, DMA, DRAM refresh, shrink DIP 64 package. Steve Ciarcia “lunchbox computer in Byte magazine.
Then it became the Z180, Rabbit 2000 etc. but it just couldn’t make it to being IoT with an Ethernet controller bolted on, the CPU was too slow for it all even at 25MHz as I recall.
@ 1982 Sinclair Research Ltd
The Z80 can be replaced by a circuit of 60 TTL IC’s. Search for : Isetta computer. It has 640×400 VGA in color. Runs a GUI and runs ZX Spectrum games.
The Isetta is a nice project, but instructions are micro-coded into huge (compared to TTL) flash devices, and some registers are in memory.
To this day I cannot look at a hex dump without my brain starting to interpret the bytes as Z80 instructions. One CD, C3, C9, 21 or 3E etc and I’m away!
I remember coding Pong in asm on my ti-86 in high school. Hand converting address pointers like a goober. Inputting the hex with the calc itself.