Phosphoneo
Golden-model emulator of the Neo6502: cycle-stepped, 65C02 core 100% on the SingleStepTests oracle (2.54 M cases), firmware API linked from the official code, headless, captures, savestates. v0.2.0.
Tachibana project · 65C02 platform
W65C02S + RP2040 — Olimex
A real 65C02 at 6.25 MHz, an RP2040 as chipset, HDMI out, a USB keyboard — for 30 euros. We make it a test bench and a target for our 6502 ports.
Phosphoneo (cycle-stepped reference model), keyboard driver, BBC Micro compatibility layer, firmware fork (video modes, multi-boot), AsteroNeo (Astéroric ported), Neo6502Prophet (program repository, live), virtual disk, Oric 2 Neo, Civilization and Maniac Mansion. Everything is checked on emulators: no board has been plugged in yet.
Neo6502
| Processor | W65C02S |
| Microcontroller | RP2040, 2 MB flash |
| Video | DVI/HDMI — 320×240, 256 |
| Keyboard | USB-A host |
| Expansion | UEXT, 6502 bus |
| Audio | 3.5 mm, speaker |
| Form factor, licence | 80 × 55 mm, OSHW |
| Price | 30 € |
320×240 video in 256 colours, 6.25 MHz and ≈ 61K of usable RAM: figures from our repositories' documents; the rest comes from the Olimex product sheet.
Projects
Golden-model emulator of the Neo6502: cycle-stepped, 65C02 core 100% on the SingleStepTests oracle (2.54 M cases), firmware API linked from the official code, headless, captures, savestates. v0.2.0.
Keyboard driver in 65C02 assembly (ca65): events (scancode, modifiers), base / Shift / AltGr / Ctrl mapping compiled from a .kmap (us, fr) by neokbd, a Go tool with a simulator.
BBC Micro MOS layer → Neo6502 API (OSWRCH, OSBYTE, OSWORD, OSCLI…). Epic 3: the reload BBC emulator boots MOS 1.20, BASIC 2, DFS, and starts Spellbinder.
Three sprints: PC emulator and reference captures; video modes (Hercules 720×350, 320×256×16, pages, XOR sprites); tick IRQ, pre-emptive scheduler, RP2040 multi-boot (4 slots, reload images).
Astéroric ported to the Neo6502 (cc65): arcade logic kept as is, API XOR lines, smoothed polygonal asteroids drawn by the RP2040, remappable HID keyboard, 4-channel sound, 30 Hz. .neo binary published. v0.2.0.
Program repository server compatible with prophet.neo, rewritten in Go security first: HTTP + HTTPS, .neo verification, audit of 56 programs in Phosphoneo, web interface. Live at prophet.3617.fr (AsteroNeo published).
Virtual hard disk and floppies on a Feather RP2040 USB Host: FAT32 USB stick (MSC, no driver) or UEXT block device.
A next-generation Oric on the Neo6502: Oric-1/Atmos compatible (ULA, VIA, AY emulated), extended by ROM and firmware.
Civilization 1 in 6502 assembly (bit-exact on Oric) ported to the Neo6502: blitted mono framebuffer, file-based overlays, AI ~6× faster.
Maniac Mansion through the SCUMM v0 interpreter (llvm-mos): Neo6502 platform layer, engine shared with the Oric version.
Transparency
None of these bricks has run on a board yet: everything is checked in the official emulator, in Phosphoneo and in co-simulation (libemul). The validation protocols are written; they will be run as soon as the Neo6502 is on the desk.
Articles
Prophet is the Neo6502 community's program repository: a client on the board, a server somewhere. We rewrote the server in Go, security first, and put prophet.3617.fr online — with our own programs in it. Read the article →
Same game, same C, another machine: what changes when you move from a 1 MHz 6502 and a home-made bitmap to a 6.25 MHz 65C02 whose RP2040 draws the lines. Read the article →
The Olimex board, why Tachibana cares, ten projects under way — and what we do not claim yet. Read the article →