upvote
"Simple" is really not a word I would associate with the Z80 ;)

The ISA is quite messy because of the backward compatibility requirement with the Intel 8080 (e.g. the Z80 had to fill undocumented gaps in the 8080 opcode encoding map with new instructions, four of which were prefix instructions to unlock additional instruction 'subsets' (DD/FD for replacing instructions involving the HL register pair with indexed addressing modes via the IX/IY registers, and ED/CB prefixes for adding two entirely new opcode blocks).

If the Zilog engineers would have been free to design their own ISA I'm sure they would have been able to come up with a much more elegant design.

Also the Z80 had more than twice as many transistors as the 6502 (8500 for the Z80 vs 3500 for 6502).

I still prefer programming the Z80 over the 6502 though :)

reply
I am simplifying a lot since there were much more chips involved... but 3500 transistors to have countless hours of fun to play NES games really puts things into perspective

My 5090 has 92 billion transistors (I dont say they dont bring fun)

reply
> If the Zilog engineers would have been free to design their own ISA I'm sure they would have been able to come up with a much more elegant design.

That's an interesting idea. They were previously part of the team that designed the 8080 so they must have been very familiar with the ISA and the design philosophy.

I'm sure they'd be able to come up with improvements but how much more elegant it would have been is hard to say.

reply
Making it even harder to say: the 8080 was based on the 8008. Even though the 8080 was based on the same instruction set as the 8008, it wasn't binary compatible. I assume that means the instruction encoding was different, which means those engineers probably did as much as the could to clean things up while designing the 8080.

Of course, the 8008's origins (along with the completely unrelated 4004) were outside of Intel. They were hired to design custom ICs. The 8008's architecture was dictated by a CTC terminal. While Intel designed the 4004, it was only intended to be used in calculators. Intel, and its engineers, probably put relatively little thought into microprocessor architecture until the 8080.

reply
They did eventually design their own clean-sheet instruction set for Z8000.
reply
> If the Zilog engineers would have been free to design their own ISA I'm sure they would have been able to come up with a much more elegant design.

Since Zilog was founded by former Intel engineers, they were probably the ones who helped design the 8080 in the first place?

reply
I cut my teeth writing assembly on a ZX Spectrum (mostly hacking games for infinite lives, etc).

Over the past couple of years I've gone back to the Z80, working on CP/M emulation, testing, and similar things. It's fun to play the old infocom games, and mess around with BIOSes when all you have is 64k.

There's a lot of good CP/M reference material out there, and numerous emulators to run it on modern systems

reply