Silicon observatory / No. 003

Inside the Z80A.

The chip behind the Amstrad CPC. Write assembly, step it, watch the bitmap fill.

1976INTRODUCED
8 bitDATA WIDTH
4 MHzCLOCK
8,500TRANSISTORS
READY

02 / Video output

Gate array + CRTC
MODE1
SCREEN BASE&C000
CRTC OFFSET R12/R130
SCANLINE000

03 / Processor die

Zilog Z80A
PROGRAM COUNTER&000016 OPCODE&00 PREFIX DECODERNOPno prefix 8-BIT DATA PATH ABALU REGISTER FILEHL &0000 A / FLAGS&00 MEMORY / PORTS INDEX IX / IY&0000 &0000 INTERRUPT LOGICIM 1 · DI
A · BINARY00000000
PC&0000
INSTRUCTIONS0
MICROSECONDS0
Ready. Step to fetch and execute the first instruction.

04 / Registers & flags

Shadow set in grey

Bits 3 and 5 of F have no official name and no official meaning, but a real Z80 sets them anyway, so they are shown with a dashed edge. EXX and EX AF,AF' swap in the shadow set.

05 / Memory

&80

One 256-byte page at a time. Green outline marks the program counter. Bytes changed by the last instruction flash. The screen lives from &C000 up, so pages &C0 and above are what you see above.

Execution trace

Newest first · last 60
No instructions executed.

07 / The instruction set

08 / What it got right, and what it got wrong

Measured against the 8080 it is compatible with

What it got right

What it got wrong