I also found the 6502 far more enjoyable. It feels like a refined, minimal design, since the Z-80 does bolt things on to the 8080 (which I've also coded a lot for, also not as enjoyable). There tends to be one straight-forward way to code things, that's also the most efficient, barring changing the algorithm or twisting the design. Instructions tend to use one cycle per memory access, and memory accesses are mostly as expected, e.g. load A from 16-bit address is four cycles: the LDA opcode, two-byte address, and byte loaded. The Z-80 suffers in this regard because like the x86, it uses 1-2 bytes for the bolted-on instructions and modes, so some seemingly similar instructions can use a different number of cycles (e.g. ld hl,nn and ld ix,nn take different times, even though they both load a 16-bit value into a register).