Three more consoles push the fleet to 55 LAUNCHABLE: 3DO (#53, ARM60 32-bit RISC + MADAM/CLIO custom chips, 320×240 direct-color), Pokémon Mini (#54, Seiko S1C88 8-bit CPU + 96×64 1-bit LCD — the smallest cartridge console ever made), and Vectrex (#55, Motorola 6809 + vector display, the only vector-scan home console). sigil-fs completes FAT and exFAT cross-directory rename: fat_cross_rename and exfat_cross_rename handle all four root/subdir cross combinations. MANIFEST 362, ALL PASS. (sigil-retropie 9f91050, 6cbaac9, a336f7f; sigil-fs 4849d53)
System #53: 3DO Interactive Multiplayer
Commit 9f91050. Core: cores/threedoo.sg. The 3DO was the first 5th-generation console (1993), built around an ARM60 CPU — the direct ancestor of every ARM Cortex core in production today — paired with two custom ASICs that handle all media acceleration.
uart=53 PASS. apps/threedoo (EL0), loads /roms/game.iso (CD image).
System #54: Pokémon Mini
Commit 6cbaac9. Core: cores/pokemini.sg. The Pokémon Mini (Nintendo, 2001) is the smallest cartridge-based game console ever manufactured at 43×76×31mm. It has the smallest display in the fleet.
.min.uart=54 PASS. apps/pokemini (EL0), loads /roms/game.min. Smallest display in the fleet (96×64).
System #55: Vectrex
Commit a336f7f. Core: cores/vectrex.sg. The Vectrex (1982) is the only vector-scan console in the fleet — and the only consumer vector display product ever sold as a standalone home console. Every other system in the fleet uses raster scan.
m6809.sg family used by ColecoVision and other 6809-based cores in the fleet, assigned a distinct core_id for Vectrex-specific peripheral mapping.vec_line(x0, y0, x1, y1, bright). No raster scan — the hardware draws geometric primitives directly to the phosphor screen via analog X/Y deflection.uart=55 PASS. apps/vectrex (EL0), loads /roms/game.vec.
The Fleet at 55
The range now spans from the Atari 2600 (1977) to the Pokémon Mini (2001) — 24 years of home console and handheld history in a single fleet. Systems #53–55 represent three distinct engineering eras:
| System | # | Year | CPU | Display | Unique trait |
|---|---|---|---|---|---|
| 3DO Interactive Multiplayer | 53 | 1993 | ARM60 32-bit | 320×240 RGB555 | First 5th-gen console; ARM ancestor |
| Pokémon Mini | 54 | 2001 | S1C88 8-bit | 96×64 1-bit LCD | Smallest cartridge console ever |
| Vectrex | 55 | 1982 | M6809 | 256×256 vector | Only vector-scan home console |
The first-def-wins architecture continues to pay dividends: 8 systems in the fleet are pure overlays on a shared parent core (Sega Pico over Sega CD, 3DO-family over ARM, S1C88 shared across Seiko-based handhelds, m6809 across multiple 6809-based systems). Each overlay costs only the peripheral delta — not a full reimplementation.
FAT + exFAT Cross-Directory Rename
Commit 4849d53 (sigil-fs). The last gap in the VFS write surface: moving a file between directories on a FAT or exFAT volume. Same-parent renames (fat_rename_in, exfat_rename_in) were already covered; this adds the cross-directory variants.
fat_cross_rename(src_clus, old11, dst_clus, new11): find old_name in source directory (0 = FAT root region, non-zero = cluster chain), tombstone it (mark entry as deleted), add new_name to destination directory. 0 as either cluster argument addresses the FAT root region.exfat_cross_rename(src_clus, old, oldlen, dst_clus, new, newlen): same contract for exFAT. Uses exfat_make_entryset_in for the destination write; follows FAT chain for multi-cluster source directories.vfsdev_rename_path resolves both old and new parent directories for FAT and exFAT, routes to the cross-rename variant when they differ, and falls back to the in-directory variant when same-parent.All four cross-directory combinations are covered: root→subdir, subdir→root, subdir→subdir, and same-parent name change (which routes to the existing in-dir path). Tests: fat_crossrename (ABCDEF, PASS), exfat_crossrename (ABCDEF, PASS). MANIFEST 362 entries, ALL PASS.