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.
Some architectures are outright hostile to C model of computation. For example PIC16 with its fixed-size stack and memory banking.
Meanwhile, designers of AVR architecture were cooperating with IAR to make sure their MCUs will support features of modern C compilers (and other high level languages). See “The AVR Microcontroller and C Compiler Co-Design” by Gaute Myklebust.
You tried to be funny and failed. Feel free to FOAD.
So if it’s not the C compiler’s fault, then the C language itself is pretty inflexible?
Other languages such as BASIC, Fortran and Pascal had rather good Z80 support.
Remember that C is close to being a low level language, that’s why it’s so efficient. Its structure reflects its target processors architecture, so not so much a failure of C being inflexible, more of a failure of some CPU architectures being restrictive.
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++.
not “incompatible”, just extremely bad fitting
It is still used in the Ti84+ and an enchanced version in the CE…
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!
The old building at work had a smart thermostat of sorts with an NSC800. I took it home when they threw it away. I’m trying to think of a project for it that isn’t just a thermostat. It has multiple relay outputs, adc with multiplexer, real time clock, character lcd, and a keypad.
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.
Yes, I have many happy memories of seeing that message!
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!
There’s a Start Trek Next Generation episode title that is the 8080/Z80 return instruction. I noticed it right away.
CALL, JMP, RET, LD HL, LD A!
oof.
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.
So the logical/follow-up question is, do we or do we not have something comparable in the year of 2026, ie, a third-party processor (or SoC) that could rival either AMD or Intel?
That is just a dumb question… What does have AMD or Intel? Fast processors? PowerPC, RISC-V, ARM can be fast too, x86 compatibility? There are third party manufacturers that have x86 compatible processors
Intel and AMD are the only two largest standing CPU companies, now that Cyrix is long forgotten. Bring them Other Makers, Samsung, for example.
Meaning, something that would do cause comparable impact with what Zylog did with their Z80, popular even 50 years later, etc.
I honestly don’t know the answer either, and I am not sure I’ll be around for another 50 years to wait and see for myself.
At my humble bottom of the foodchain I am perfectly happy with whatever is on sale and can run freewares of my choice. The laptop I am writing this reply on is from ~2014 , already low-tech by the 2015 standards, yet, keeps trundling on regardless. I don’t do gaming, nor I care if ware can deliver 120fps at 8K, ordinary/standard youtube quality is usually sufficient.
As far as SoCs go, there is quite a roster of budget choices; for now I am NOT interested in latest and greatest, and tinker with what’s affordable and sounds like fun, for example,
Parallax Propeller 1, since it is simple to learn and play with, and there are plentiful supplies still;
rp2040/rp2350 since they are sufficiently advanced for my weekend projects, yet simple enough that average project can commence in about three days (friday, saturay, sunday);
anything SAMD21, and seeed has them at unbelievably low pricing per;
ESP32P4 promises to be quite a nice line of SoCs, and not just affordable, with a bit of thinking (add ESP32C6) it cna do moar; (presently it is my pet project for this weekend – iInk kind).
… etc etc … reason being, if there is one particular core chip that is as popular as Z80 was in its heyday, I am listening.
(insults can be left out – they are no longer entertaining, I am well pass the age where they make any difference)
I worked on a Z80 process controller back in the early 80’s. The company did some manipulating of the memory map using output ports to get more than 64KB of memory addressed. It also ran on a token-ring network.
For development we had a time-shared IBM 360. Also a package called “Strumac” if I recall correctly that used C-like macros and emitted Z80 assembly.
My first programming experience with a half-decent language was PL/Z on a Z80 development system. It was a systems language similar to ‘C’ but had some improvements, one being that functions could return multiple values. It also allowed you to either compile to object code or to a interpreted form similar to Pascal’s P-Code. This allowed you to trade off performance and size, a very enlightened development choice for the late 1970s.
My first real computer was an Osborne 1, again Z80 based. There were many languages available for CP/M including PL/1, Prolog, LISP (but not ‘C’ — I never found a C compiler for the processor) plus numerous versions of FORTH. I gave all this up when I entered the PC world in 1984, a decade of wasted time as everyone (re)discovered BASIC and only gradually got to where the CP/M machine was over the next decade (“and then there was Windows….”).
A Timex-Sinclair ZX81, with its Z80A CPU (and graphic controller!) was my first computer, built from kit in 1982. It was sheer genius how Clive Sinclair fit OS, BASIC and font info into just 2k (if I remember correctly). That itty-bitty machine and memory packs are heirlooms I’ve kept.
It also ran FORTH (a DIY language), and I programmed J H Conway’s Game of Life on it in machine code (not assembly, just looking up opcodes in the Z80 manual and poking in the hex values).
Hmmm… would any of the cassette tapes still be readable after 44 years?
I’ll have to check out the Sonic2 port for the TI 84+ CE calculator. There is already an EXCELLENT version of Donkey Kong for that calculator — https://github.com/Ricovl/DonkeyKong