The Zilog Z80 has turned 50

goliath32.com

236 points by st_goliath 16 hours ago


ozhero - 15 hours ago

I started programming in 1978 (In Assembler) and wanted to know not only how the software worked but how the hardware worked.

Found a great kit using the Z80 and built it and spent many nights with a logic probe and oscilloscope learning digital eletronics. Also devoured the Z80 manual learning the instruction set.

I'm nearly 70 now but remember those days like they were yesterday.

Truly a magnificent CPU

kator - an hour ago

I learned BASIC in 1981 on the TRS-80 Model I with 4k RAM (later upgraded to a massive 16k), and it wasn't long before someone showed me EDTASM [1], and I was hooked. My parents couldn't believe me when I asked them to buy "How to Program the Z80" by Rodnay Zaks [2]. They were shocked, it was the first time I asked them to buy a technical book. I was so excited I couldn't sleep for days. I was in High School, and I would carry the book around and read, use the lookup tables, and write Z80 assembly in my spiral-bound 8.5"x11" notebook.

One three-day weekend, I slept about 4 hours while I was disassembling the BASIC ROM to find nuggets I could call in my Z80 programs, and also to learn so much more about the video, the cassette interface, interrupts, etc. My notebook looked like something a madman had scribbled on the walls of an asylum to everyone around me, but to me it was perfectly organized, and I used it to reference things I would use later in my programs. I got to the point where I could read the hex dumps and "see" the op codes in my mind; people would look over my shoulder while I was debugging, and I'd be explaining what the code was doing, but I hadn't disassembled it yet. I didn't even realize I was doing that until one of my classmates pointed it out: "Hey, disassemble that. I'm not following you, how the heck do you see that?"

And all of this because my science teacher had that TRS-80 Model I sitting in the corner of his classroom gathering dust; nobody knew what it was, I didn't either, but I had to figure it out. I've always had this bug, I don't believe in magic, I want to know how everything works, it's been an insatiable thing all my life, that first machine set me on a course of learning for the rest of my life.

Thanks, Mr. Kruzan, you changed my life. I'll never forget you. Oh, and thanks to all the people who created the Z80, the TRS-80 Model I, and paved the path for me to learn computers and never stop learning.

We are truly building on the shoulders of giants; every generation, more giants. It's humbling to look back and think about it forty-five years later...

[1] https://www.trs-80.org/edtasm.html

[2] http://www.z80.info/zip/zaks_book.pdf

PS: Pretty sure the memcpy examples have a stack bug.

YZF - 15 hours ago

As the proud owner of a ZX-81 I remember staring at the Z80 instruction reference at the end of the user's manual without the faintest clue of what any of that meant. It took me some while before I managed to wrap my head around how CPUs actually run programs (vs. the high level abstractions like BASIC or other languages).

tasty_freeze - 14 hours ago

The article claims: > The Z80 is fully binary compatible with the 8080 instruction set.

It wasn't in regards to the flag register. The parity flag behaved differently for some ops.

And of course it would be possible to write an 8080 program that used undefined ops that would execute in some random way (often just duplicating an existing instruction) while the Z80 repurposed that opcode for something new.

jim_lawless - 14 hours ago

Z-80 was the processor for my introduction to programming in assembly language on a TRS-80 model I in early 1983. Bill Barden's assembly language books and Hardin Brothers' "The Next Step" column in 80 Micro magazine paved the way.

I wrote a quick post a while back about my Z-80 experiences here:

https://jimlawless.net/blog/posts/z-80/

userbinator - 4 hours ago

Next to the TI calculators already mentioned by someone else, I think what might be the largest use of a Z80 core in a consumer product happened approximately 2 decades ago: https://en.wikipedia.org/wiki/S1_MP3_player

There was an active modding scene around them, and even some attempts at creating a replacement firmware, but unfortunately most of that seems to have disappeared.

vmilner - 2 hours ago

Takes me back to the ZX Spectrum 1980s when 128KB RAM was an unaffordable luxury. (Bit like today...)

https://spectrumcomputing.co.uk/entry/2000237/Book/Mastering...

http://www.primrosebank.net/computers/zxspectrum/docs/Comple...

nickdothutton - 4 hours ago

I started out on Z80 when HLL compilers were expensive for me and the shareware alternatives weren’t so accessible as open source is today. Everyone should do at least a little assembler to gain an appreciation of what they are asking the machine to do, and the Z80 was simple enough to reason about.

hkclawrence - 2 hours ago

Still shipping in TI graphing calculators 50 years on. Hard to name another CPU with that kind of run in active production.

groos - 13 hours ago

35 years ago I had to program a Z80 by "assembling" programs by hand and punching hexcodes into a board. This was made easier by writing an assembler for it. This was my way into tools which took me eventually to working on a major C++ compiler.

Georgelemental - 15 hours ago

No mention of the TI-84 calculator? Used by millions of American schoolchildren, programmable in BASIC, and runs on Z80 (B/W models)/eZ80 (color display models) to this day

emptybits - 8 hours ago

Happy Birthday Z80! My first job out of university was in Z80 assembly. (Sega Game Gear.)

As a kid, it was all about 6502 micros, but my early professional love was Z80 and it still warms my heart to think about. Sure, the “other” 8 bit CPUs had zero page, but block instructions and 16 bit extensions FTW. <3

jenova-marie - 11 hours ago

Happy Birthday Z80!!!!! My first little Timex computer! <3

I was just thinking of you the other day in fact! Do you remember that terrible flight simulator we wrote in your BASIC, then discovering your assembly!!!! Yes, I remember, at 10 I was incapable of ASM, but that's why they made the 6502C years later!!!!! I still love you Z80, you did pop my cherry! <3

I hope ur not still upset about that whole AIM-65 incident.....

haunter - 15 hours ago

There is a drop in compatible FOSS clone of Z80 https://github.com/rejunity/z80-open-silicon

siraben - 13 hours ago

The Z80 was how I learned assembly programming in high school.[0] Was a bit of an unusual choice, but high school students still carry these funky Z80 (or eZ80 now with the color screens) devices every day, so being able to hack on it and have plausible deniability while in class felt great :)

[0] https://github.com/siraben/zkeme80

vsviridov - 15 hours ago

My first computer was a soviet clone of a ZX Spectrum, which started it all almost 40 years ago...

GalaxyNova - 15 hours ago

The Z80 stopped being manufactured last year unfortunately

whartung - 15 hours ago

Two of my favorite Z80 anecdotes.

First, my Father wanted to try to add some peripherals to the original TRS-80 Model 1. So, what he was interested in doing was asserting the BUSREQ pin to tell the Z80 to get ready so that he could have the bus, ideally waiting for the BUSACK signal to know when it was his.

Unfortunately, on the Model 1, when you assert the BUSREQ pin, it is tied directly to the tri-state buffers that handle the address and data bus. So, as soon as you make the request, the Z80 loses all access to its memory and data -- mid cycle. Which, you know, can be Bad. Radio Shack labels this pin TEST and uses it for internal testing. But it was definitely a bit of a disappointment to my Fathers efforts.

The second one is when I learned that the Game Boy Advance has a Z80 built into its chip. The designers drag and dropped a Z80 core (tweaked for GB) just so they could run legacy GB games on it. It just kind of bends your view of the computing world when something as significant as a Z80 can just be shoved into the corner of a die for "just in case" functionality.

Just shows how far we had come at the time.

jujube3 - 11 hours ago

The eZ80 is still manufactured even though the original Z80 is not.

iDon - 10 hours ago

The Z80 has a relative jump. Teenage me was loading a hand-assembled search function as an initialised array of integers in Basic, and relative jumps didn't need to be adjusted for the load location, which reduced the amount of post-load adjusting of addresses. It was +100x faster than Basic, just a straight scan.

decryption - 11 hours ago

When I started TAFE (the equivalent of community college in the US I assume?) in Australia in 2003, one of the subjects in the electronic engineering course was to study and program a Z80. I was awful at it, but it was a good introduction to how a computer works. I wonder if they're still using this CPU as a way to teach the fundamentals of computers?

wazoox - 3 hours ago

Being too poor to buy professional software, with Rodney Zack's book in hand I wrote myself a Z80 assembly in MSX BASIC in 1986/87 :) That was my first tough programming stint ever...

dpcx - 15 hours ago

This is the CPU that I first learned to code on, first in TI Basic (TI-8[1356] ftw) and then Z80 assembler. Crazy to think that the CPU was "old" when I started, and it's still doing good work in those calculators even 20+ years later.

JoeAltmaier - 15 hours ago

My son programmed a Z80-based instruction set into a Juno probe sensor. Still kicking.

kazinator - 11 hours ago

I just got six Schottkys this very morning, 1N5819 40V/1A, to replace the main board rectifier diodes in my Z80-powered ADA MP-1 pre-amp.

smackeyacky - 14 hours ago

The heart of the mighty Australian Microbee. I still have the Rodney Zak’s book somewhere although I’ll admit doing anything fancy with assembler back then was a bit beyond me

luciana1u - 7 hours ago

the Z80 outlived the company that made it, the company that bought that company, and will probably outlive whatever acquires the remains next

apple4ever - 14 hours ago

What a milestone. Still my favorite processor, and I have about 10 here at home in various yet to be finished projects (of course).

Razengan - 2 hours ago

I still mean to catch up with 1980s gamedev and make some ZX Spectrum games :')

dhosek - 10 hours ago

I had no idea about the Exxon connection to Zilog. That was wild.

classified - 15 hours ago

Happy birthday! The Z80 was the first CPU I rode, more luxurious than the subsequent 6502 and 6510. I still have a TI calculator with a low-energy Z80.

Cheers to Rodnay Zaks for "Programming the Z80"!

smartmic - 15 hours ago

Off topic: nice, retro website look!

ck2 - 15 hours ago

I still remember clearly sitting down to play with the TRS-80 at the local Radio Shack in the 1970s

Unlike anything I had ever experienced, it was life changing, I would bike to the store every day after school

Family couldn't afford the computer but I bought all the books and would read them at home over and over and gawk at all the accessories in the catalogs

Then family surprised me with it as a birthday present with all the relatives paying for it, pretty sure I was the only person in town with one, even the school didn't get one for years

Didn't have any way to save programs, not even the cassette recorder which was too expensive, had to memorize them and retype every time I turned it on

jdw64 - 14 hours ago

Back in the day, I studied Z80 assembly to write something about Pokémon red. I didn't realize it was this old

timonoko - 4 hours ago

Annoying part of 8080 was that the command set had holes in it and mystery restrictions. Which were hard to remember. And 12 undefined opcodes. Z80 solved all that.

However, you had to be a programmer Anno Dominii 1975 to fully understand what heavenly Joy and Jubilation Z80 was.

samso26 - 14 hours ago

[flagged]

samso26 - 14 hours ago

[flagged]

- 15 hours ago
[deleted]
sample_sgg - 6 hours ago

[dead]

sample_sgg - 6 hours ago

[dead]