The Z80
<colophon-z80> shows the processor: its registers in pairs with the shadow set beside them, the flags bit by bit, and the state that decides what it does when an interrupt arrives.
<colophon-z80></colophon-z80>
| Shown | Read |
|---|---|
AF BC DE HL |
Each pair as its two halves, with the shadow set alongside. |
F |
The eight flags as they stand: sign, zero, half carry, parity or overflow, add or subtract, carry, and the two undocumented bits 5 and 3 that a program can still read. |
IX IY |
The index registers, each as its two halves. |
SP PC |
The stack pointer and the program counter. |
I R |
The interrupt vector and the memory refresh counter. |
WZ |
The internal address latch the datasheet never named and everyone calls MEMPTR. |
IM IFF1 IFF2 HALT |
The interrupt mode, the two flip-flops, and whether the processor is stopped on a HALT waiting for an interrupt. |
INT |
The interrupt line. It belongs to the machine’s video chip — a Gate Array or a ULA — so it is shown and never set. |
Editing
Every value but the interrupt line is a field the reader can change, and the platform carries the editing rather than the panel.
A field taking focus offers its whole value selected, so typing replaces it. Filling the high half of a pair moves to the low half, so a full address is typed straight through. A value is written to the machine when the field says it is committed and at no other moment, so a half-typed one is never written, and a value the field will not accept is never written either.
Escape puts the whole panel back to what the machine holds and commits nothing.
A field holding focus is left alone while the machine runs underneath it, so a value being typed survives the redraw that would otherwise take it away.