There is a wonderful project called Visual6502, and I've used it from time to time to figure things out, like exactly the difference between rti
and rts
. It is good to see which control lines were fired in each cycle from the Control ROM.
But Z80 is a whole other thing. It's not microcoded like the 6502 is, but instead apparently contains some finite state machines and things. I am not sure I understand why that design choice was made, especially considering the relatively more complex ISA, including variable-length instruction codes. But I really have no idea about that.
So I am interested in finding out more about how the Z80 worked. Has this chip been reverse-engineered and had its internal mechanisms explained, such that it can be understood by laypeople?