What you are looking at
There is no CPU in this machine. The registers, the 16 bytes of memory and the ROM listing are real numbers held by this page. The transition from one of those states to the next is written by a language model on Pollinations, one instruction per call.
The reference core is forty lines of ordinary JavaScript that executes the same instruction set exactly. It runs the same program in parallel and never touches the model. The agreement bar is the fraction of steps where the model's registers matched the core's.
Models are good at this for a few instructions and then they drift: a flag goes stale, a branch is taken the wrong way, a register is quietly reset. Watching that happen is the point.
Instruction set
LDA #n / LDX #n load a literal. LDA 200 loads a byte from memory. STA 200 stores A. ADD #n, SUB #n, INC, DEC work on A and set Z when the result is zero. INX / DEX step X. CPX #n sets Z when X equals n. BNE 003 / BEQ 003 / JMP 003 jump to the line labelled 003. OUT prints A. HLT stops.
Every step, the page sends the model a state and the ROM, and asks for one JSON object back. Prose, a code fence, a number out of range or a missing key is a failed step, and the page says so instead of hiding it.
The page keeps your key in this tab, sends it to gen.pollinations.ai and nowhere else, and every model call is billed to your own Pollen.