Cat198x
Catalogue, verify & reorganise a retro collection
Cat198x is the family's asset-cataloguing tool. It scans your ROM directories, matches every file by content hash against reference DAT databases (No-Intro, Redump, MAME, FinalBurn Neo), and tells you exactly what you have, what's missing, and what's misnamed or duplicated — then, when you want to tidy up, it generates a plan you can inspect before anything moves.
Why it exists
Retro collections drift: files get renamed, re-compressed, half-downloaded, and duplicated across drives, while the reference DATs that define a "correct" set keep getting updated. Verifying a large collection by hand is tedious and error-prone, and most tools either mutate files in place without a safety net or assume one rigid layout. Cat198x separates knowing from changing: nothing touches disk until you say so, every apply is transactional with a rollback log, and nothing is ever silently lost. Think of it as Terraform for ROMs.
How it's used
A single self-contained binary. The loop is scan → review → plan → apply. A few illustrative commands (the full command set is on GitHub):
Scan your ROM directories (identified by content hash)
cat198x scan See what you have, what’s missing or misnamed
cat198x status "Nintendo - Game Boy" --detailed Plan a tidy-up, preview it, then apply (rollback-able)
cat198x plan
cat198x apply --dry-run # show exactly what would change
cat198x apply # do it (cat198x apply --rollback to undo) Why it's in the family
The curriculum asks you to bring your own ROMs — the C64 and Amiga lessons need their original Cloanto system ROMs, for instance — and Cat198x is what keeps that collection verified and organised. The same verified assets are what Emu198x boots. It's its own project with its own roadmap, not a Code198x component.