We searched for a public RawDIC-compatible ADF index. There isn’t one. Useful neighbors:
- WHDLoad-Database — Retroplay pack metadata (installed slaves), not install-time floppies.
- OpenRetro — checksum-identified ADF/IPF/WHDLoad variants for emulators; strict unmodified sets only.
- whdload.de per-game ReadMes — supported editions, often SPS #… numbers.
- SPS — preserved originals as IPF plus an XML catalog.
The legal install path is your disks + WHDLoad’s imager. The index’s job is to say whether what you staged is even in the ballpark.
Four tiers (what we automate vs what stays manual)
| Tier | Signal | Cost | Verdict |
|---|---|---|---|
| 0 — Inventory | SHA-256, size, path under build/games-src/ | Host scan seconds | “This file exists.” |
| 1 — Boot prefilter | Amiga boot block: DOS-like vs custom; printable strings (crack groups, etc.) | Host, per ADF | “Probably not retail” vs “might be DOS data disk.” |
| 2 — Install hints | Parse WHDLoad Install ReadMe / script for SPS ####; join whdload-catalog.json ADF paths | Host after fetch_whdload_install.sh | “Author expected these editions.” |
| 3 — Guest probe (later) | Headless RawDIC-Auto or window text: sync error vs *.slave | WinUAE + AmiPilot minutes | Ground truth for this rig. |
Tiers 0–2 run on the Mac or quo without booting the install HDF. Tier 3 is optional batch work — same tier as puppeteer installs, not vamos.
Artifact: build/adf-index.jsonl
One JSON object per line, append-friendly. Each record is a floppy image we might feed RawDIC or TrackWarp:
{
"path": "games-src/adf/killinggameshow/KGS.ADF",
"sha256": "…",
"size": 901120,
"boot": { "dos_like": true, "filesystem": "OFS", "tags": ["SKID ROW"] },
"catalog": [{ "game_id": "killing-game-show", "disk_index": 0 }],
"whdload_sps_hint": [1234, 5678],
"tier": 2,
"rawdic_probe": null
}
Policy hooks (next): if tier 1 says DOS scene boot and tier 2 lists no matching SPS, prefer prebuilt_src from the catalog before opening RawDIC. If tier 3 exists and status is no_sync_track_0, block the live install in CI.
What we are not building
A replacement for OpenRetro, TOSEC, or WHDownLoad. We are not redistributing disk images. The index is local metadata over paths we already stage from NAS — enough for scripts and agents to stop treating every *.adf filename as gospel.
External joins stay read-only references: when SPS XML is present on the build host, tier 2 can later add sps_title_id matches by hash rules SPS publishes; that is a follow-on, not day one.
Run tier 0–2 today
cd ~/amiga-utils ./scripts/stage_nas_games.sh # if ADFs not under build/games-src yet ./scripts/fetch_whdload_install.sh KillingGameShow # for ReadMe SPS hints ./scripts/index_whdload_media.sh # → build/adf-index.jsonl # → build/adf-index-summary.json
amiga-utils — scripts/whdload_media_index.py, docs/whdload-media-index.md. Related: RawDIC-Auto, WHDLoad slaves, A second drive.