A television showing The Great Giana Sisters, a MiSTer and a joystick on the stand below it.

12 October 2026 · updated same day

Adding a new game on the MiSTer

The games were always on the share. The hard part was knowing which file inside which hundred-gigabyte image was the WHDLoad install you wanted. We fixed the search, wired it into MCP, then proved the cumulative path: one WHDLoad-….hdf slave with every drawer, sitting next to the minted Workbench master — and it plays on the television.

The picture in one sentence

Find the game in the library → import its WHDLoad drawer into your existing games slave WHDLoad.hdf on quo → pack a new dated slave → ship to the card. Keep the minted Workbench master (guide / build_mister_image.sh) for RTG, Scalos, and colour icons; only refresh it when system software or RomIcons on C: change.

Source new titles from Games_HDF per-game hardfiles when you can — unpack the KillingGameShow/ drawer into the cumulative tree, not a lone boot ADF.

If you are doing it by hand

  1. 01 Sign in at amiga.eyesense.ai/library. Search the game title (spaces are fine: “Killing Game Show”).
  2. 02 First look for Games_HDF and a row whose name ends in .hdf (Ultimate Amiga / RetroPie tree inside a .img on Apps). Example: Killing Game Show.hdf — not KGS.ADF from the WinUAE folder.
  3. 03 If there is no HDF, look for Games_WHDLoad (or AGA / CD32 variants). Rows named Disk.1, Disk.2, … belong to that install; the .slave sits beside them inside the image.
  4. 04 On quo: unpack the card’s WHDLoad.hdf to a temp dir, then cp -a "$stage/WHDLoad/." build/WHDLoad-games-cumulative/ (see Cumulative games slave below).
  5. 05 For each new title: import_games_hdf_drawer.sh with the library Games_HDF file. pack_directory_hdf.sh → WHDLoad-YYYY-MM-DD.hdf. Ship with a new filename.
  6. 06 F12: primary master = A1200e-….hdf (Workbench mint). Primary slave = the new WHDLoad-….hdf. Launch slaves from that volume.

Live ADF → RawDIC in WinUAE is the second drive rig, not the default MiSTer path when Games_HDF already has the title. For floppy legibility on that rig, see the media index note.

Cumulative games slave (the recipe we ship)

You keep two hardfiles on the card. Primary master = Workbench mint from build_mister_image.sh (RTG, Scalos, NewIcons, C:WHDLoad — see the guide ledger). Primary slave = one non-bootable WHDLoad-YYYY-MM-DD.hdf that holds all game drawers. Adding a title never remints Workbench unless you change system software or RomIcons on the boot disk.

On quo (~/amiga-utils), with xdftool on PATH (pip install amitools):

  1. A Pull the current slave from the board: scp root@mister:/media/fat/games/Amiga/WHDLoad.hdf /tmp/WHDLoad-from-mister.hdf (or the dated name you last shipped).
  2. B Unpack into a staging directory, then copy the volume tree — Minimig HDFs unpack with the FFS files under WHDLoad/, not at the staging root:
    stage=$(mktemp -d /tmp/whd-unpack.XXXXXX)
    work=build/WHDLoad-games-cumulative
    rm -rf "$work" && mkdir -p "$work"
    xdftool /tmp/WHDLoad-from-mister.hdf unpack "$stage"
    cp -a "$stage/WHDLoad/." "$work/"
    rm -rf "$stage"
  3. C For each new title: find a Games_HDF row in the library (or materialize by id on eyesense). Stage the per-game .hdf under build/mister-games/. Run scripts/import_games_hdf_drawer.sh — it unpacks the RetroPi hardfile and copies the folder that contains a *.slave into $work (pass the drawer name if the volume label has spaces, e.g. KillingGameShow, Turrican2, SecretOfMonkeyIsland).
  4. D Pack a new dated slave (never overwrite the name the core has mounted):
    ./scripts/pack_directory_hdf.sh "$work" build/mister/WHDLoad-$(date +%F)c.hdf WHDLoad
  5. E Ship: copy_to_mister.sh (or scp with SSHPASS) to /media/fat/games/Amiga/WHDLoad-….hdf. F12 → primary slave = that file; master stays A1200e-….hdf.

Do not pack the staging root if it only contains WHDLoad.blkdev metadata — always cp -a "$stage/WHDLoad/." "$work/" first.

Batch that shipped 12 October 2026

Slave WHDLoad-2026-10-12c.hdf on the card — verified on hardware. Drawers on the volume:

TitleFolder / slaveSource
State of the Art demoStateOfTheArt Install → stateoftheart.slaveAlready on prior WHDLoad.hdf (NAS prebuilt)
Great Giana SistersGreatGianaSistersPrior slave + RomIcons on drawer
LemmingsLemmingsFilesPrior slave
Killing Game ShowKillingGameShowLibrary Games_HDF (id 16719)
Turrican IITurrican2Library Turrican 2.hdf (id 17639)
Secret of Monkey IslandSecretOfMonkeyIslandLibrary (id 14758)
Pinball FantasiesPinballFntsies (RetroPi spelling)Library ECS pack (id 16033)

Helper script lives in amiga-utils as scripts/import_games_hdf_drawer.sh. Agents: skill whdload-mister in the PaperIQ monorepo mirrors this flow.

If an agent is helping you

We added an MCP connector on the same host as the library: a small OAuth API that ChatGPT, Claude, VS Code, or Cursor can call after you sign in once. It exposes three read-only tools:

ToolWhat it does
search_disksSearch title or folder name. Prefer hits under Games_HDF (.hdf). Use whdload_only: true for Games_WHDLoad* folder installs.
get_diskOne row by id, plus a download_url for staging.
get_index_statusHow fresh the index is and how many disks were found per location.

Setup for humans is on the connect page. Server URL:

https://amiga.eyesense.ai/library/mcp

In Cursor, add that URL under amiga-library in your MCP config (see the example in our monorepo’s .cursor/mcp.json.example), restart MCP, and approve OAuth in the browser. After that, ask the agent to “find Killing Game Show in the library” and expect a Games_HDF .hdf before it reaches for an ADF or WinUAE.

The agent should end with: get_disk → import drawer into WHDLoad-games-cumulative → pack_directory_hdf.sh → copy_to_mister.sh. Workbench colour icons stay on the build_mister_image.sh disk; see skill mister-image-builder when that needs a remint.

WHDLoad game drawers on Workbench.
The destination: one shared games slave HDF with a drawer per title — sourced from Games_HDF imports, beside Giana and Lemmings.

What is automated vs what stays on the couch

  1. Automated

    Search

    Remember which ISO held the RetroPie ADF tree.

    Library rebuild walks W:\Amiga, ISO9660, then ext4 inside .img. MCP exposes the same SQLite index to agents.

  2. Automated

    Extract

    Pull one inner disk without mounting the whole image on your laptop.

    Broker + cache on the eyesense host; /materialize?id= then copy from /cache/ to quo.

  3. Automated

    Merge

    Add drawers without losing Giana, Lemmings, or SOTA.

    Unpack card slave → WHDLoad/ tree → import_games_hdf_drawer.sh per title → pack_directory_hdf.sh.

  4. Automated

    Ship

    Copy a new HDF or folder to the card.

    copy_to_mister.sh over ssh, new filename only, existence check before write.

  5. By hand

    OSD

    Tell the core which HDF is master and slave.

    F12 once per new games volume. No remote API into the menu.

  6. By hand

    Play

    Confirm on the television.

    Still the honest test. AmiPilot on the board is future work; WinUAE proves installs first.

Earlier notes: Disks inside the images, A second drive, MiSTer, Workbench on a MiSTer (build_mister_image.sh), WHDLoad media index. Library MCP help: amiga.eyesense.ai/library/connect. Cursor agents: skill mister-image-builder (boot disk) and whdload-mister (this flow).