The Zilog Z80 has turned 50

(goliath32.com)

136 points | by st_goliath 3 hours ago

22 comments

  • ozhero 2 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

    • digitalsankhara 44 minutes ago
      Same! Also built external peripherals for my ZX81.
  • groos 5 minutes 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.
  • YZF 2 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).
    • sedatk 27 minutes ago
      Actually, BASIC’s flat structure helped me a lot in understanding Z80 assembly when I was 12. You see, memory addresses were line numbers, registers were variables, JP was GOTO, CALL was GOSUB. CP was IF, JP, Z was THEN GOTO.
    • xcf_seetan 1 hour ago
      Another proud ZX-81 owner, my first computer bought as kit. It made me the TI pioneer in my little city. So cool times, everything was complex and simple at the same time. I had a flight simulator in only 1Kb ram :D
    • Scubabear68 1 hour ago
      That machine was my intro to computers too, and I was fascinated by “fast mode” blanking the screen and the interesting tradeoffs between hardware and software.
  • tasty_freeze 1 hour 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 1 hour 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/

  • siraben 1 hour 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

  • Georgelemental 2 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
    • QuantumNomad_ 2 hours ago
      > Used by millions of American schoolchildren

      Europe too :) When I was in high school, TI-84 Plus was the calculator the school told all of us to buy. And I see that stores in my country are still stocking them so I have to assume they are still being bought and used.

      Many hours were spent by me and my friends making and showing off little programs in TI-BASIC on those calculators. None of us ever took it all the way to learning Z80 assembly however. I printed a whole manual about Z80 assembly programming for the TI-84 Plus and started reading it but never wrote a single line of assembly for it. Yet.

      • aarroyoc 57 minutes ago
        It depends on the country I guess. In Spain I never saw a person using Texas Instruments calculators. Casio and HP are way more popular.
        • inigyou 31 minutes ago
          We had both depending on the school and sometimes even the teacher. fx-9750G and GII didn't support assembly programming... unless you used an undocumented procedure to flash them with unsupported firmware from a different calculator model...
      • blauditore 2 hours ago
        Same here (actually had a voyage 200, but same same I guess). It's actually quite insulting that TI kept (and keeps?) selling waaay outdated hardware at horrendous prices. It's the SAP/Oracle business model applied to school hardware.
        • II2II 1 hour ago
          While I agree on bit about horrible prices, the TI calculators are well suited to their intended task[1] so I will object to the outdated hardware part. Stability is a good thing in the context of classrooms. Why should schools be spending money on replacement hardware, software, and textbooks when the curriculum itself is fundamentally unchanged?[2]

          [1] Except the screens on the older models were truly horrible, from a brightness and contrast perspective.

          [2] From my recollection, the calculators interfaced with hardware and software from other vendors. Then, of course, there was the vendor lock-in provided by textbook publishers.

        • duskwuff 1 hour ago
          > Same here (actually had a voyage 200, but same same I guess).

          Not the same, actually! Unlike the TI-83/84 series, the TI-89, -92, and Voyage-200 all used a 68000 CPU, with a completely different (and much better) operating system.

          I wrote a web-based emulator for the Voyage-200 a few years ago: https://woofle.net/v200/

    • TheBigSalad 1 hour ago
      TI-83 for me. We didn't have that advanced technology.
      • vq 46 minutes ago
        TI-83 was built on Z80 as well. I remember hand-assembling a program for it with pen and paper, something I did earlier with the Sinclairs.
  • GalaxyNova 2 hours ago
    The Z80 stopped being manufactured last year unfortunately
    • nanolith 2 hours ago
      There are plenty of open core alternatives that replicate the architecture and ISA. Many of these are cycle accurate. Some have been tape-out proven. Hobbyist retro-computing enthusiasts who wish to build a Z80 system still have options even once new old stock and recovered CPUs become scarce.
    • stevekemp 2 hours ago
      There are clones, and updated packages these days like the EZ80, but they're not the same and they don't have the easy-to-use DIL form-factor.

      Still I've always loved the z80, since my first computer the ZX Spectrum. Even now I play with z80 assembly now and again (mostly for CP/M retro-use).

  • vsviridov 2 hours ago
    My first computer was a soviet clone of a ZX Spectrum, which started it all almost 40 years ago...
  • haunter 2 hours ago
    There is a drop in compatible FOSS clone of Z80 https://github.com/rejunity/z80-open-silicon
  • apple4ever 1 hour 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).
  • smackeyacky 1 hour 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
  • dpcx 2 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.
  • whartung 2 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.

    • inigyou 28 minutes ago
      That just means you have a more exciting design problem! Now you have to stop the clock and then assert TEST for probably a certain maximum number of cycles (dynamic logic) before enabling the clock...
  • JoeAltmaier 2 hours ago
    My son programmed a Z80-based instruction set into a Juno probe sensor. Still kicking.
  • smartmic 2 hours ago
    Off topic: nice, retro website look!
  • ck2 2 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

  • classified 2 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"!

    • GeorgeTirebiter 1 hour ago
      https://archive.org/details/Programming_the_Z-80_2nd_Edition... is where I learned about the "W" and "Z" registers -- if you don't know what they do, I won't spoil your fun reading Zaks! See also http://www.z80.info/zip/z80-documented.pdf

      The MOS 6502 was introduced at the WESCON tradeshow in September 1975 and sold for $25 quantity 1. They had a transparent vase full of them, 'proving' they did volume -- but those were all chips that failed post-manufacturing testing, except for the very top layer. Still...

      • inigyou 27 minutes ago
        Spoiler: the undocumented WZ registers are just microcode temporaries to hold large operands. For instance when reading a jump instruction, the jump destination can't be read directly into PC since that would mess up reading the second half of it, so it's read into WZ and then WZ is transferred to PC. This is invisible to the programmer.

        One might say the instruction is really "jump to WZ", or JWZ, which, of course, refers to Jamie Zawinski (not really).

  • jdw64 1 hour ago
    Back in the day, I studied Z80 assembly to write something about Pokémon red. I didn't realize it was this old
  • samso26 1 hour ago
    [flagged]
  • samso26 1 hour ago
    [flagged]