Four repos land in one sprint: the RetroPie fleet hits 49 LAUNCHABLE systems with Neo-Geo Pocket Color, Supervision, and Sega Pico; sigil-drivers ships the Qualcomm/Atheros BT driver completing the four-vendor USB BT picture; and sigil-fs wires 19 more orphaned metal tests into the harness for a clean 354/354 ALL PASS. (sigil-retropie 51a038f, 46ee146, 8267c4d; sigil-drivers 6bff982; sigil-fs af792ad)
Neo-Geo Pocket Color — system #47
cores/ngpc.sg (51a038f): Toshiba TLCS-900H CPU stub (register file, LD r16, JR/CALL/RET/NOP/HALT) + K2GE graphics engine.
- 160×152 display; 4bpp 8×8 tiles; 256-entry RGB444 palette at
$BEE0 k2ge_render_row: shift-register 4-plane expand — same shape as WSC'swsc_render_rowk2ge_color: RGB444→ARGB with ×17 scale — same formula aswsc.sg; the pattern is now a shared convention- Memory: 64 KB WRAM @
$000000, 1 MB ROM @$200000, tile data @$A000, tile map @$B800(20×19 tiles)
uart=47 PASS. apps/ngpc (10584 B, arm-el0), loads /roms/game.ngc (1 MB cap). 24320 non-black pixels screendump.
Supervision — system #48
cores/supervision.sg (46ee146): 65C02 (shared m6502.sg) + 160×160 4-shade LCD.
- 2bpp video RAM at
$2000(40 bytes/row, 4 pixels/byte MSB-left) sv_render: unpack →shade(0-3)→ ARGB (white / light-grey / dark-grey / black)- Bus seam: WRAM@
$0000, VRAM@$2000, ROM@$8000 sv_run(N): Nm6_step()calls per frame (~17556 cycles @ 4 MHz)
uart=48 PASS. apps/supervision (31200 B, arm-el0), loads /roms/game.sv. 25600 px 4-shade diagonal demo.
Sega Pico — system #49
cores/pico.sg (8267c4d): the shortest core in the fleet — a single function override on cores/genesis.sg. The Sega Pico (1993) uses identical 68000 + VDP hardware; only core_id differs (9293). All core ABI inherited via first-def-wins.
uart=49 PASS. apps/pico (82824 B, arm-el0), loads /roms/game.md (4 MB cap, same format as Genesis).
RetroPie fleet: 49 LAUNCHABLE systems (#1–49).
btqca — Qualcomm/Atheros Bluetooth
6bff982: QCA6174A, QCA9377, WCN3988, WCN6750, WCN6855 USB BT.
- ROM firmware ships on-chip; host delivers NVM config patches via
HCI_QCA_PS(0xFC0B= 64523) - NVM blob format: TLV records
[tag_id LE16][dlen LE16][data].btqca_replay_nvmwalks the blob, callsbtqca_send_psper record HCI_QCA_RESET(0xFC0C= 64524): applies patches + restarts.HCI_QCA_READ_APP_VER(0xFC19= 64537): selects NVM file- State: 0=reset → 1=patching → 2=operational.
btqca_opCLS_BT ABI
x86-runverify PASS: opcodes, 2-record NVM replay (14 B blob → 2 patches). The BT fleet now covers Intel / Realtek / Broadcom / Qualcomm — all four major USB BT vendors.
| Driver | Vendor | Key mechanism |
|---|---|---|
btintel | Intel | Firmware download via HCI_VS_INTEL |
btrealtek | Realtek | ROM + config patch via HCI_VS_RTK |
btbcm | Broadcom | Patchram via HCI_VS_BCM |
btqca | Qualcomm/Atheros | NVM TLV patch replay via HCI_QCA_PS |
sigil-fs metal test coverage
af792ad: 19 more orphaned tests wired into MANIFEST:
- Crypto:
hmac_metal,crypto_metal,corrupt_metal,cryptodata,datacorrupt - FS:
fatfs,exfat,bootseed,access,root_metal,savestate,freelist,resolve,rmdir,unlink,version,large,st,fs_test
With prior batches (19 net + 22 btrfs/aead/sha256/CAS/CAP + 19 metal = 60 tests wired in total across 3 cleanup commits). Total harness: 354/354 ALL PASS — comprehensive, no orphans.