Skip to the text
The Colophon Project

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.