Skip to content
Phosphoneowiki
Contents

Phosphoneo

The Tachibana collective's Neo6502 emulator: you give it a program, it runs it like the board, and you can play it, test it, script it and debug it. Its 65C02 core is verified on 2,540,000 cases, and the firmware API it runs is the board's own code. This wiki explains every option, with real examples.

  • 2,540,000cases of the SingleStepTests oracle passed at 100% by the 65C02 core
  • 40 +command-line options, all described here with an example
  • 6,250,000cycles for one second of machine time: time is counted in cycles, so a run repeats identically
  • 0 cyclesby default for an API call; a calibrated latency is available as an option
Magenta spiral Neo6502 logo crossed by a white circle and diagonal, with a grey disc
A screen rendered by Phosphoneo: a drawing test in front of the firmware logo. Screenshot taken by the emulator itself, with no display.
Phosphoneo: what runs, and what surrounds itA .neo or .bas program is loaded into the 65C02 processor's 64 KB of RAM. When it writes to address $FF00, it calls the firmware API: the code of firmware/common, linked as is into the emulator, which handles the screen, sound, files, keyboard and mouse. On the right, the host: an SDL window, a browser, or nothing, with screenshots, video and logs. At the bottom, a single clock counts the cycles.Program.neo · .bas · binaryloaded into RAM65C02one bus access per cyclechecked on 2,540,000 cases64 KB RAMand graphics memoryFirmware APIfirmware/common, linked as isconsole, drawing, spritessound, 4 channelsfiles, storagekeyboard, mouse, gamepadUSB serial (modem)$FF00HostSDL2 windowbrowser (WebAssembly)no displayscreenshots, video, WAVlogs, trace, gdbClock: 6.25 MHz · one frame = 109,226 cycles (60 Hz) · 100 Hz timer counted in emulated cycles
What Phosphoneo contains: the program, the 65C02 and its RAM, the firmware API, the host around them, and a single clock.

Where to start

Articles, project status and the other Neo6502 projects are on the main site: tachibana.eu/en/neo6502.