Trinity is an alternative firmware for the Olimex Neo6502 board: it builds on Paul Robson's official firmware and adds NeoDOS, a USB modem, new video modes and over 100 API functions.
Recognises a Pico W Wi-Fi modem plugged into one of the board's USB-A ports.
Programs that use the firmware's serial functions can go through this modem.
Starts NeoDOS instead of NeoBASIC as the working environment.
Offers a start-up menu read from the boot/ folder of the storage.
Adds a Hercules-style video mode 1.
Requirements and compatibility
A Neo6502 board.
To build: pico-sdk, TinyUSB 0.21 and PicoDVI, with the patches in firmware/patches/ (CMake refuses an unpatched TinyUSB).
Tools: gcc-arm-none-eabi and ARM newlib, cmake, 64tass, Python 3 (pillow, gitpython), SDL2 for the emulators.
The NeoDOS build (neodos.bin) is needed to build the firmware (README-TRINITY.md, NEODOSDIR).
Where Trinity comes from
The Neo6502 and its official firmware are the work of Olimex and Paul Robson. Trinity is a branch of that firmware: it starts from commit dc70908 (v1.0.0 plus 14 commits) on 18 September 2026 and keeps its MIT licence. The 153 functions of the official API remain available; 17 of them are modified.
Trinity adds NeoDOS as the working environment, a USB modem, new video modes, interrupts, a scheduler and a graphical toolbox.
Debugging the Neo6502 over SWD: a Pico W flashed with debugprobe, three wires (GP2, GP3, GND), OpenOCD, reading the running RP2040's memory, injected keystrokes, the core 0 rule — with photos of the bench. Read the article →