high on the goodness-o-meter

Why did engineers and developers love the Z80?
It ranked high on the processor goodness-o-meter!

  1. plenty of registers
    because more registers is more gooder!


  2. non-multiplexed bus
    with easy to decode bus phases
    and built in refresh phase for dynamic ram

  3. separate memory and I/O address spaces

    Allows full 64k for memory
    and 8 or 16 bit I/O addressing

  4. backwards compatible with Intel 8008, 8080
    (see plays well with others)

    The incremental step from the 8008 to 8080
    allowed for software re-use
    similar to the way x86 is still a thing.

    Historically, IBM made their bread & butter that way:
    upgrade to new model of mainframe
    but keep those legacy applications running!

  5. expressive CISC instructions

    Remember, this was a time of the CISC mindset.
    Programmers were still hand coding assembler
    since compilers / higher level languages were still too slow.

    This was a time of feature-itis:
    adding features was advantageous.
    Kinda the opposite of RISC where
    "Perfection is achieved,
    not when there is nothing more to add,
    but when there is nothing left to take away"
    —Antoine de Saint-ExupĂ©ry
    


(z80 image from Ken Shirriff's blog: Down to the silicon: how the Z80's registers are implemented)
The W and Z registers are explained here