← Blog
0.6.0 · retropie + fs

WonderSwan Color (System #46) + sigil-fs Test Coverage at 354/354

June 22, 2026 · sigil-retropie / sigil-fs · Sigil-Docs
retropie gaming fs testing 0.6.0

Two housekeeping wins shipped today: the RetroPie fleet ticks to 46 LAUNCHABLE with WonderSwan Color, and sigil-fs closes a long-standing coverage gap — 41 tests that passed in isolation but were never counted now register in MANIFEST. The harness hits 354/354 ALL PASS. (sigil-retropie 13907b5, sigil-fs c47c19d, d575980)

WonderSwan Color (system #46) — 16-color diagonal band demo, 4bpp RGB444, 32256 non-black pixels
WonderSwan Color (system #46) — 16-color diagonal band demo, 4bpp RGB444, 32256 non-black pixels

WSC — system #46 (13907b5)

WonderSwan Color is implemented as a thin overlay (cores/wsc.sg) over cores/ws.sg via first-def-wins. Only the functions that differ from monochrome WonderSwan need to be defined; everything else — V30MZ CPU behavior, memory map, input handling — is inherited at zero cost.

What WSC overrides

Core metadata: core_id=9901. Palette base: wsc_pal() at ws_mem+0x44000.

Tests

wsc_core.sg — uart=53 PASS. Covers: palette decode, render_row (all-black / all-white / red channel), core ABI.

wsc_render.sg — self-contained screendump harness. 16-color diagonal band demo. 32256 non-black pixels confirms the full color output path is live.

Launcher

apps/wsc (37304 B, arm-el0): loads /roms/game.wsc (1MB cap). Launcher: rp_count 45→46, rp_title(45)="wonderswan color".


sigil-fs: 41 orphaned tests wired (d575980, c47c19d)

The FS harness had tests built but not registered in MANIFEST — they passed in isolation but were invisible to the run-all harness and not counted in the total. Two cleanup commits wire all of them in.

d575980 — 19 network tests

NFS3 and SMB2 codec tests that were built standalone but missing from MANIFEST:

Also: nfs3.sg and smb2.sg now inline the statfs codecs directly, removing cross-file dependencies that broke standalone builds. VFS dev statfs is replaced with a real smb2_vfs_statfs call.

c47c19d — 22 more tests

Result

354/354 ALL PASS

Every FS test that exists is now counted. The gap between "passes in isolation" and "counted in CI" is closed.


The first-def-wins pattern in RetroPie

WSC is the cleanest example of the pattern that powers the entire RetroPie fleet. Because sigilOS's link model resolves symbols first-def-wins, a "variant" core only needs to define the functions that differ — the linker fills in everything else from the base core.

Core Base Overrides Inherited
wsc.sg ws.sg tile_color, render_row, ws_render V30MZ CPU, memory map, input
gba.sg gb.sg ppu, palette (15-bit) ARM7TDMI core, cartridge
smsgg.sg sms.sg VDP mode 4 color Z80, sound, input

WSC overrides 3 functions and inherits the rest — zero code duplication for shared behavior. The pattern scales: every variant core in the fleet that targets a "color upgrade" of a monochrome system uses the same approach. First-def-wins is not a workaround; it's the designed extension point.