Five more consoles and home computers join the sigilOS RetroPie fleet (systems #69–#73): Magnavox Odyssey 2 (1978, Intel 8048 MCU), TI-99/4A (1981, TMS9900 16-bit), Dragon 32 (1982, Motorola 6809E), Acorn Electron (1983, MOS 6502A), and NEC PC-FX (1994, NEC V810 32-bit RISC). The fleet now spans 73 systems across 1976–2017. drivers/input/usb-hid-gamepad (sigil-drivers 23c1a1a) adds the USB HID gamepad driver: 8-byte report format (X/Y/RX/RY + dpad hat + 16 buttons), two-player state (P1+P2), deterministic snapshot/restore for SRDX Mode-2 netplay, and synthetic injection via the SRDX reverse channel. (sigil-retropie 3e7e263; sigil-drivers 23c1a1a)
Magnavox Odyssey 2 (#69) — 3e7e263
cores/odyssey2.sg, uart=69.
- CPU: Intel 8048 (1976) — an 8-bit microcontroller, one of the first MCUs with on-chip ROM (1 KB), RAM (64 bytes), and I/O. Running at ~1.79 MHz NTSC.
- Display: 160×200 pixel grid, 8 colors. Output via RF/composite.
- Memory: 1 KB program ROM (on-chip) + 64 bytes on-chip RAM. Cartridge slot provides additional program ROM.
uart=69 PASS. apps/odyssey2 (EL0), loads /roms/game.o2.
Historical note: The Odyssey 2 was Mattel Intellivision's earlier rival in Europe (sold as Philips Videopac). The Intel 8048 also appeared in the IBM PC keyboard controller — one of the longest-running chip designs in computing history.
TI-99/4A (#70) — 3e7e263
cores/ti994a.sg, uart=70.
- CPU: Texas Instruments TMS9900 (1976) — the first commercially available 16-bit CPU. Running at 3 MHz. 16-bit registers, 16-bit memory bus — wider than the contemporary Z80 and 6502.
- Graphics: TMS9918A VDP (Video Display Processor) — 256×192, 15 colors + transparent, 32 hardware sprites, 40×24 text mode. The TMS9918A was also used in the MSX, ColecoVision, and Sega SG-1000.
- Memory: 256 bytes scratch-pad RAM + 16 KB RAM expansion (required for most serious software) + 8 KB system ROM + 8 KB GROM.
uart=70 PASS. apps/ti994a (EL0), loads /roms/game.ti.
Historical note: The TI-99/4A was the first 16-bit home computer (1981), years before the Amiga (1985) or Atari ST (1985). TI sold it at a loss to compete with Commodore, leading to the famous "home computer wars" price war of 1982–1983. Texas Instruments exited the home computer market in 1983 after losing $500M.
Dragon 32 (#71) — 3e7e263
cores/dragon32.sg, uart=71.
- CPU: Motorola 6809E — one of the most sophisticated 8-bit processors ever made. 8-bit data bus, 16-bit address bus. Two 16-bit index registers, 16-bit stack pointer, relative addressing modes. Running at 0.89 MHz.
- Graphics: Motorola MC6847 VDG (Video Display Generator) — 256×192 in graphics mode, 32 columns text mode. Color ROM: 8 "artifact" colors (hardware color generation from luminance patterns, similar to the Apple II).
- Memory: 32 KB RAM (the name "Dragon 32" refers to the RAM size) + 16 KB ROM.
uart=71 PASS. apps/dragon32 (EL0), loads /roms/game.dgn.
Historical note: Made by Dragon Data, a Welsh company, the Dragon 32 was notable for its high BASIC compatibility with the TRS-80 Color Computer (also 6809E-based). The 6809E was Motorola's last major 8-bit CPU before the 68000.
Acorn Electron (#72) — 3e7e263
cores/electron.sg, uart=72.
- CPU: MOS Technology 6502A at 2 MHz (in high-res modes; drops to 1 MHz in low-res to share memory bandwidth with the ULA).
- Graphics: ULA (Uncommitted Logic Array) — Acorn's custom chip. 8 display modes: 320×256 and 160×256 at various bit depths (2, 4, or 16 colors depending on mode). ULA handles display timing, keyboard scanning, and cassette I/O in one chip.
- Memory: 32 KB RAM + 32 KB ROM (16 KB MOS + 16 KB BBC BASIC).
uart=72 PASS. apps/electron (EL0), loads /roms/game.elk.
Historical note: The Acorn Electron (1983) was a cut-down, lower-cost version of the BBC Micro (the computer used in UK schools throughout the 1980s). Acorn later became ARM Holdings — the Electron's descendants include every ARM processor ever made.
NEC PC-FX (#73) — 3e7e263
cores/pcfx.sg, uart=73.
- CPU: NEC V810 — a 32-bit RISC processor (proprietary NEC architecture, not MIPS or ARM). 32-bit registers, 32-bit address space. Running at 21.5 MHz.
- Display: 256×240 native (240p, like the SNES), with hardware FMV playback (the PC-FX had hardware HuVideo MPEG-1 decode). This made it ideal for anime games in the Japanese market.
- Memory: 2 MB system RAM + 1 MB video RAM + BIOS ROM.
uart=73 PASS. apps/pcfx (EL0), loads /roms/game.fx.
Historical note: The NEC PC-FX (1994) launched the same year as the PlayStation and Sega Saturn, but NEC chose to focus on FMV/anime games rather than 3D. It sold 400,000 units before NEC exited the console business in 1998. The V810 processor is a pure proprietary 32-bit RISC design from the 4th-largest semiconductor company in the world at the time.
USB HID gamepad driver (23c1a1a — sigil-drivers)
drivers/input/usb-hid-gamepad. USB HID (Human Interface Device) gamepad is the standard protocol for modern USB controllers — PlayStation, Xbox, and generic PC gamepads all use HID. The driver models the standard 8-byte HID report format.
8-byte report format
gp_btn(state, btn_id) extracts individual button states using arithmetic (no bitwise) for Sigil compatibility.Two-player state, snapshot/restore, and SRDX injection
- Two-player state (P1 + P2):
hid_gp_state_p1andhid_gp_state_p2— independent 8-byte state structs.gp_set_p1(report)/gp_set_p2(report)accept raw HID reports. - Deterministic snapshot/restore:
gp_snap_p1()/gp_snap_p2()→ save the current state.gp_rest_p1()/gp_rest_p2()→ restore. This is the Mode-2 netplay requirement: both players' inputs must be serializable to a deterministic state that can be rolled back. - SRDX synthetic injection:
gp_inject_p1(lo, hi)/gp_inject_p2(lo, hi)— lo=low 32 bits of the HID report (X/Y/RX/RY/hat), hi=high 32 bits (buttons). The inject flag marks the state as synthetic (from SRDX) vs. hardware.
Test: P1 = (X=64, Y=192, dpad=E, buttons=5 → btn1+btn3 active); P2 = (center, btn2). Rollback: snap_p1 → restore → state matches. PASS. State at 0x970000. Completes the gamepads directive.
Fleet milestone: 73 LAUNCHABLE systems, 41 years of gaming history
| Era | Systems | Notable arrivals this batch |
|---|---|---|
| 1970s | Fairchild Channel F (1976), Magnavox Odyssey 2 (1978) | Odyssey 2 (#69) — Intel 8048 MCU |
| Early 1980s | TI-99/4A, Dragon 32, Acorn Electron, BBC Micro, ZX Spectrum, Commodore 64, Atari 800, ColecoVision, and more | TI-99/4A (#70), Dragon 32 (#71), Electron (#72) |
| Mid 1980s | NES, Master System, Amiga, Atari ST, MSX2, and more | — |
| Late 1980s–1990s | SNES, Genesis, TurboGrafx-16, Neo Geo, Game Boy, and more | — |
| 5th generation | PlayStation, Saturn, N64, Jaguar, 3DO, and more | PC-FX (#73) — NEC V810, FMV/240p |
| 6th gen → modern | PS2, Dreamcast, GameCube, Xbox, Wii, DS, PSP … Switch (2017) | — |
73 LAUNCHABLE systems across 1976–2017 = 41 years of gaming history. Every system loads a ROM at EL0, boots via its uart index, and runs under sigilOS capability isolation. The fleet target for 0.6.0 is 80 systems.