Machine
Ignition is port F bit 0. Off sends the firmware to its save-and-wait-for-power-loss loop.
CPU
Stack
Flash image
Click the map to open that address below. Clear the executed marks, send a request, and the code that handled it lights up.
Disassembly
Diagnostic port
Bytes go out one at a time, each after the previous echo, as on the real link. Replies that depend on the co-processor or EEPROM are not meaningful.
Commands
Pick a command on the left.
Analog and port pins
Analog names are what the firmware does with each input, found by experiment (see INPUT_MAP.md); the multiplexer is inferred. Port rows show bits 7…0; dashed bits are outputs. Hover a bit for what it is; question marks are inferences. Details in INPUT_MAP.md. F0 is ignition; F5 low means the serial peripheral is ready.
Serial peripherals (SPI)
Most recent transfers, newest last. Select 1E and 1D are the two external devices, one of them the co-processor.
Scripted replies
One rule per line, hex, first match wins. Anything unmatched keeps the stand-in (two's complement of the previous byte), which startup needs. A rule that breaks that handshake makes the firmware restart forever.
Viewing a register shows its stored latch, with no side effects. Writing goes through the bus: RAM changes directly, a register reacts as if the firmware had written it, flash is refused.