I started programming on a TI-99/4A at about five and got hooked. Moved onto the PC, picked up C and C++ long before any of it paid, and the career since University has been about 90% C++.
The hardware came much later. In 2019 I built a breadboard computer after watching the Ben Eater SAP-1 series, the vrcpu, then wrote an emulator for it in C with a web front-end. Later I added a character LCD to the board, so I had to emulate that too - vrEmuLcd.
Then I decided to move onto a 65C02 project and designed the HBC-56. Writing an emulator for that meant writing my own 6502 and TMS9918A libraries, desktop and web again. The PICO-56 reused that emulator code, just with the hardware glue, on a Pi Pico.
Then I thought, perhaps I could use the same emulator code to make a drop-in TMS9918A. That's the PICO9918 - an RP2040 or RP2350 in place of the real chip, VGA, HDMI or SCART RGB out through swappable dongles, and the F18A's enhanced modes. Tested on over 30 classic machines so far. Boards are in my store.
| Project | What it does | ★ |
|---|---|---|
| pico9918 | Drop-in TMS9918A/TMS9929A replacement on a Raspberry Pi Pico, with F18A-compatible enhanced modes and VGA, SCART RGB or HDMI output. Hackaday | |
| hbc-56 | Homebrew 65C02 computer on a backplane, with TMS9918A video and dual AY-3-8910 sound | |
| pico-56 | The HBC-56 emulated on a single Raspberry Pi Pico, with VGA and audio output | |
| vrcpu | Ben Eater inspired breadboard computer, with an emulator and assembler | |
| keyboard4a99 | Cherry MX compatible upgrade for the TI-99/4A Mitsumi mylar keyboard. Hackaday |
All C99 with no dependencies. They build for desktop, WebAssembly and embedded targets. These libraries power my various homebrew computer emulators, the pico-56 and of course the pico9918.
| Project | What it does | ★ |
|---|---|---|
| vrEmuTms9918 | TMS9918A/9928A/9929A VDP emulation. Used by the PICO9918. Hackaday | |
| vrEmu6502 | 6502, 65C02, R65C02, WDC65C02 and 6510 | |
| vrEmuLcd | HD44780 character LCD, with a C99 engine and a web front-end | |
| vrEmu6522 | 6522/65C22 VIA emulation |
| Project | What it does | ★ |
|---|---|---|
| retroplex | A Supaplex clone for retro computers with a PICO9918 | |
| cx16-supaplex | Supaplex for the Commander X16, in 6502 assembly | |
| retropipe | A Pipe Dreams clone for retro computers | |
| supaplex-tools | Tools to work with the original Supaplex game code |
Languages
Assembly
Hardware and build




