The later 'um80xx' versions are a superset of the 1977 manual, and, in particular, the 2004 version PDF version directly from Zilog (when scaled to "fit page") has much more readable fonts (for me at least) and is super-fast to page through. Very good when not using a hard copy. Great index too. The bitsaver scan of the 1977 version is almost painful to use in comparison: More difficult to read, no index, slow.
Haha yes! I think someone actually gave me a physical copy of this.
Also, in case no one else said it in this thread: the Z80 is one of the easiest chips to build a home brew computer with (the slightly more obscure RCA COSMAC chip might be a little easier.) It's something I'd definitely recommend everyone try (I don't think doing so has any practical application, it's just fun.)
Just adding one more reference for those who are interested, and because it brings back memories. This is the Z80 book published by Howard Sams. I believe that the book was also re-sold by Radio Shack. It was my first introduction to microprocessor hardware, sometime around 1981 or 1982. I remember it for being extremely clearly written, making it a good introduction to concepts that tended to be applicable to all of the mainstream processors at the time.
If someone were to ask me how to learn about hardware today, I'd start them with one of the early 8-bit machines, where the concepts are straightforward. I think that many of the features of modern machines can be understood as an evolution of overcoming the shortcomings of the early machines.
It's browsable, but there is no search and the in-browser search does not work because the pages are only rendered when scrolling. So, like many current web pages, pretty and useless.
For me it is unusable because default zoom level is completely unreadable and there is no obvious UI to change it (although somewhat surprisingly ctrl-scroll works).
To zoom, ctrl+ works for me in the desktop browser, as for the web in general.
But, as miahi says, it's not really searchable. The links work fine though. I didn't notice any load time issues.
Here I'm repairing a 5000V power supply that likes to kill itself. One of the recent failure modes shorted some 74 series logic and held down the data bus, causing it to spin through address space.
Why the rerendering via HTML? If you work with hardware, you are going to have the Datasheets as PDFs anyways since thats how most of them are available.
Strangely, the 1978 Z80 datasheet [1] describes it as a third generation microprocessor. So somehow the Z80 added another generation between 1978 and 2016.
Generations are sort of nonsense, but you could say the first generation microprocessors were PMOS processors like the 4004 and 8008 that were barely usable. Second generation would be the "classic" NMOS microprocessors like the 8080 and 6502. The Z80 is a step more advanced so maybe you could call it a generation, but I don't know how you'd get to fourth generation. Usually 16-bit microprocessors are considered the third generation, which makes more sense.
> "Fourth-generation microprocessors". The Z80. Um... I... uh..
The Z80 probably makes as much sense as a fourth-generation microprocessors as it makes sense that there are, what, 11 generations of Intel Core microprocessors.
> What were the first three generations, 4004, 8008, and 8080?
Probably. The 4040 might fit in somewhere (timewise, its a close contemporary of the 8080, I think, not sure if it would fit cocnceptually in the same or early generations; its still 4-bit like the 4004, but otherwise at least somewhat more advanced.)
I could see a bit more realistically thinking of the 4004 as "generation zero" (yes, I know it was a pioneer, but I still have a hard time calling it even "first generation"). 8-bit micros are first generation (yes, I know, the 8080 was significantly better than the 8008, but on the larger scale, there wasn't that much difference). 16-bit (Z80 and 8086) were second generation, 32 bit (386, 68020, 32000) were third, with 68000 being a grey area. Maybe the 4th generation comes when floating point and memory management are on the same chip, and 5th generation when there's more than one core.
Both of the from todays PoV somewhat mind-boggling phrases meant very much in mid 70ties.
The fourth generation bit probably refers to some combination of being real CPU with (somewhat famously) "almost parallel" ALU, requiring minimal external support circuitry and not requiring multiple power supplies with complex sequencing requirements.
And 208bits was quite relevant, because for the time it is somewhat large amount of flipflops/SRAM. For context: 16kbit DRAM chips were first introduced in the same year as Z80.
I know it's not really the point, but it's curious that the first thing in the document is a notice saying not to use the Z80 in life-support systems or in systems intended to be implanted into the body, without written approval from high up in Zilog.
I understand wanting to prohibit irresponsible use of your system, especially if it hasn't been built to critical-systems standards, but why single out life-support systems and implants? Would it be meaningfully different if it were used in avionics, or industrial safety systems?
The dmc compiler does something similar to this, but more generally, without singling out life-support and implanted systems: Do not use this software for life critical applications. [0]
Maybe because the physical chip itself has not been verified to operate correctly under various noisy conditions (x-rays, magnetic fields, cosmic ray errors...). E.g. launch computers like this [1] would use redundant circuits with majority voting, and even redundant voting logic.
Perhaps. I'm surprised that article doesn't mention radiation. You're right of course that radiation-hardened chips are a very specialist area. Not often you can charge hundreds of thousands of dollars for a single CPU chip running at 200MHz or less.
I'm really curious about the processes used to make these. Part of it is because it uses huge features, of course, but I wonder if there are other things to it such as the materials and the encapsulation.
My guess is that "life-support systems" is what immediately came to mind when their legal council was contemplating potential realms of excessive liability.
Disclaimer to that effect is included in essentially any integrated circuit datasheet and even in manuals for things like network switches and UPSes.
I assume that the reason is that there is some US court case where component manufacturer was found liable for bodily harm caused by some kind of (obviously misdesigned) device where root cause was traced to failure of some trivial component made by said manufacturer.
I found practical use for this when working on a modified version of pokemon red. It’s a fun toy. The disassembled pokemon games are a wonder. Make local copies because they won’t be around forever.
For those that care about how it came to be, and is still being used, Advent of Computing podcast did a session on it and how it traces back to the 8080.
In the 80s I was young and owned and used 6502 machines and not Z80, so had a builtin bias about the Z80. But looking back now, it really is a nifty processor, I wish I'd had a chance to spend more time with it. Not as cycle efficient as the '02, but looks nicer to write code for.
I had a single sheet double sided plastic reference card for the 6502. Had everything needed to dig deep into the Apple ][+ / ][e computers we had at school. My most productive use of that was to hack Lode Runner to start on arbitrary levels so we could get to the higher levels of the game during lunch break. Such fun!
Actually written in Assembler to it. You had to squeeze the entire code and the graphics to 16k (K, that is 1024 bytes!). Rendering the screen was directly poking values to the hardware. Great piece of hardware
That would have been a specific machine built around the Z80. The Z80 CPU has a 16-bit address bus and can handle 64K of memory. It has an 8-bit I/O bus, but it was common for Z80-based machines to use memory-mapped I/O like the 6502.
Two very common machines from the era were the ZX spectrum and the TRS-80. But there were dozens - Kaypro, Osborne, MSX, the Nintendo Gameboy... the Z80 was used in lots of machines. Chips based on the Z80 are still used in embedded systems today.
I built a retro-computer this year using a Z180, which is a Z80 (minus undocumented behaviours) core with a handful of useful peripherals built in. They're still actively manufactured and sold.
The Gameboy did not use the Z80. Gameboy CPU was derived from the 8080 with a smattering of Z80 instructions (very few in the big picture). However, the Sega Master System was a full on Z80.
Wow, my second CPU assembly language ever (after 6502). Amazing it's still relevant to anything. I also wrote code for a Z8000[0] in the 80's which is quite different.
Yes but Z80s were typically clocked at 4Mhz, and 6502s were more likely to be clocked at 1Mhz or so. Apples Vs Oranges. I started with Z80s and when I programmed a 6502 later I found, sure it's simple and orthogonal by comparison, all those good things. But it's not as much fun because there just aren't all the weird corners to explore. I think it's the mother syndrome at work.
Plain Z80's topped out at 2.5 MHz or so. The Z80A could do 4 MHz, but was launched in 1979. Apple IIs and Commodore clocked the 6502 at 1MHz, but Ataris used 1.8 (?) and the BBC micro was clocked at 2 MHz.
At that time, once launched, it was difficult to increase the clock of a computer because games would become unplayable.
C'mon man. Two 16-bit index registers and a relocatable stack pointer? What's not to like? Though 6502's zero page addressing modes were also awesome and pretty much used like IX and IY I think. Too bad the stack is stuck on page 1.
In general, if you are interested in old manuals, be sure to visit bitsavers.org. For instance, lots of Z80 manuals at http://www.bitsavers.org/components/zilog/z80