Skip to content
Phosphoneowiki
Contents

Accuracy, word by word

Project rule: what is not measured is written “not measured”. This table summarises docs/ACCURACY.md.

ComponentStatus
65C02 core (state, RAM, cycles, bus sequence)measured: 100% of the oracle, 2,540,000 cases
Interrupts, RESET, WAI/STPfunctional, not measured by the oracle
Firmware APIexact by construction (same code as the board); call latency 0 cycles by default
Pace (6.25 MHz, 60 Hz frame, 100 Hz timer)modelled, not measured on the board
Video 320 × 240 and palettepixel-identical to the official emulator (5 cases); vertical position of the image in the board’s frame: not modelled
80 × 25 colour text modescreenshot byte-identical to the official emulator
Soundthe firmware’s generator, exact by construction; analogue volume and filtering not modelled
Keyboard, mouse, gamepadfunctional, bits identical to the firmware’s code; one gamepad, no analogue
Storagehost folder, identical to the official emulator; SD card speed not simulated
Paths and current directoryresolved like FatFs; error codes for a missing intermediate directory: not aligned
File namesLatin-1 on the 6502 side, UTF-8 on the host, as on the board; case of accented letters not tested
USB serial (group 14)identical to the official emulator; USB speed and latency not modelled
Storage chosen in the menu (folder or real USB stick)a host folder, without FatFs’s rules: the host file system’s semantics (case, allowed characters, permissions, ext4 / exFAT / NTFS instead of FAT); capacity, speed and USB enumeration not modelled; an unmounted stick is not supported (--floppy)
Menu modemsoftware modem (Hayes + ESP-AT, real TCP connections) or host tty, through NEO_CDC_TTY; not compared with a real Pico W; network speed and latency not modelled
SWDnot modelled (only --gdb exists, on the 65C02 side)
Save stateexact resume, including randomness (rand() counted then replayed) and the 100 Hz timer’s phase; same binary only; floppy mode not covered; the storage folder’s contents are not in the state
Co-simulationfaithful for the bus and the API; latencies in ARM steps; DVI, USB and sound simulated coarsely

Not modelled

The DVI signal, USB enumeration and timing, the extension UART, I2C, SPI, GPIO, Trinity’s boot menu (it runs before the processor’s first cycle), the reload firmware’s Apple II.

Sources in the repository : docs/ACCURACY.md.