Next Steps
What was studied and done after the first emulators ran, and what could come next. Each page starts with where it stands. What is still needed to close the current console is under Remediation.
Where we are (2026-10-14)
| Topic | State |
|---|---|
| Console emulators | NES, GB/GBC, Master System, Game Gear, PC Engine, Mega Drive, SNES, Neo Geo Pocket, Atari 2600/5200, MSX, Commodore 64, Virtual Boy and Lynx run at full speed (56–60 fps); the GBA at 59–60 on most games, its 3D games below (in play NFS Underground 52, Crash Nitro Kart 56, DOOM 40); Atari 7800 58–59. Table: Emulators |
Arcade (mame-go) | 8-bit boards at full speed; CPS1 in a fight Final Fight 60, Street Fighter II 52-53, Knights 52; Neo Geo 52-58 and Sega System 16 54-58 (2026-10-14): Arcade (MAME) |
| 60 drawn frames on the 68000 arcade games | not reached; work resumed on CPS1 in October (bands in internal RAM, larger flash cache, covered tiles skipped): Arcade 60 fps plan |
| JIT | GBA finished and in use; 68000 finished, exact and switched off (slower than the interpreter): JIT plan |
| Native games | DOOM, Duke Nukem 3D, Wolfenstein 3D, Quake, OpenTyrian, OutRun (Cannonball), Arcade 3D Racing |
| Nintendo 64 | no emulator; Super Mario 64 runs from its decompilation (2026-10-05, not installed, no sound), Mario Kart 64 started: Nintendo 64 through native ports |
| Flash | full: 64 KB left of 16 MB. A new app means removing one, or Plan D. On 2026-10-05 Duke Nukem 3D and Quake were set aside for Super Mario 64 |
What it took, in short. Emulators were brought up one by one and measured on the board (September); the SNES needed its own renderer work; the GBA needed a dynarec; the arcade games needed memory work first (graphics paged from the card, ROM regions in flash) and then the speed work of the Arcade 60 fps plan. Along the way every app got a loading percentage, save states were fixed on the arcade boards, and SD reads became about twice as fast for large games.
What could come next: the GBA's 3D games and the CPS1's Street Fighter II and Knights to 60 (the work in progress, user's priority GBA → CPS1 → Neo Geo), then the Neo Geo; tuning System 16; and the hardware steps below. The Atari 5200/7800, MSX, Commodore 64 and Virtual Boy, listed here before, now run.
Studies
Every figure on these pages comes from a measurement (scripts/emu_check.py,
scripts/snes_bench.py, the serial stats line), and new work keeps that
rule. The feasibility tiers are estimates until a port is measured.
| Page | What it covers |
|---|---|
| More Systems | which consoles fit the ESP32-S3, up to the PlayStation |
| Arcade (MAME) | which arcade boards run, how they fit, and where MAME stops |
| Arcade 60 fps plan | the speed work on the 68000 arcade games: where it stands, what was done, what is left |
| Nintendo 64 through native ports | Super Mario 64 runs on the board from its decompilation; Mario Kart 64 started |
| JIT plan | the dynarecs: GBA in use, 68000 on hold |
| Next Console (v4) | PS1, N64, HDMI and wireless controllers: which platform, in one step or several |
| Plan A: ESP32-P4 + ESP32-C6 | stay on Espressif: changes, time, cost, which requirements it meets |
| Plan B: Rockchip RK3566 | Linux module, the chip of RG353-class handhelds |
| Plan C: Raspberry Pi CM4 | Linux module with the largest software ecosystem |
| Plan D: ESP32-S3 with 32 MB flash | same board, module swap to 32 MB flash / 16 MB PSRAM: every case, system by system |
Suggested order
- Close Remediation first: those bugs are on the board today and affect every game (the buried Wi-Fi antenna is the first).
- Decide the hardware step: Plan D (same board, 32 MB flash and 16 MB PSRAM) fits the same respin as the antenna fix and removes today's memory limits, not the frame rates.
- On the current board, software in the order of what the user plays.
- In parallel, the v4 study (Next Console (v4)): it decides the platform for PS1, N64, HDMI and wireless controllers.