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

Lab note · September 2026

A second drive

The WHDLoad folder was already on the card. The Amiga could not see a folder.

The games are the point of all this. A desktop with nothing to launch is a screensaver. WinUAE had been mounting that tree as DH1, a directory handed to the Amiga as a volume named WHDLoad. The same tree was already on the MiSTer, under games/Amiga/WHDLoad/WHDLoad_usr, file for file with the NAS copy. Minimig’s hard-drive picker only lists disk images, so the folder never appeared next to A1200e.hdf.

The Workbench volume on that hardfile already knew the program. C: contains WHDLoad, WHDLoadCD32, DIC, and Patcher. What was missing was a second disk the icons could live on.

A directory mount is a WinUAE idea. On the MiSTer the same files have to be a filesystem with a rigid disk block.

One drawer is ready to play. Great Giana Sisters has its slave and an imaged Disk.1. LemmingsFiles has a slave too; that drawer is the music and level-code set, not the full game. GianaSistersHD and State of the Art are installers. The empty GianaSisters drawer was never filled, and State of the Art still wants its demo disk.

The Great Giana Sisters on the Amiga: Giana running toward three blocks under a blue sky.
Great Giana Sisters, the game in that folder that already had a slave and an imaged disk. Screenshot: Indie Retro News.
A dark platter breaking apart into a copper circuit lattice.
32 megabytes, DOS\1, not bootable, so the A1200 hardfile still comes up first.

How it loads

The new file is games/Amiga/WHDLoad.hdf. It is a slave, not the boot disk. The hardfile note is how A1200e.hdf itself was made.

  1. 01 Start the Amiga core and press F12.
  2. 02 Kickstart 3.1 for the A1200, CPU 68020, chipset AGA.
  3. 03 Chip RAM 2M, Fast RAM at least 2M.
  4. 04 Pri. Master is A1200e.hdf. Pri. Slave is WHDLoad.hdf.
  5. 05 Floppies empty. Reset, then save.
  6. 06 On Workbench, open the WHDLoad disk and the Great Giana Sisters drawer.

The pack

xdftool from amitools wrote a 32 MB FFS volume, one head and 32 sectors per track, so the geometry stays inside what Minimig will accept. The volume name is WHDLoad. The host directory becomes the root. Slaves are stored executable.

pip install amitools
scripts/pack_directory_hdf.sh WHDLoad_usr WHDLoad.hdf WHDLoad

The script, as it is today: pack_directory_hdf.sh. It writes a 32 MB DOS\1 volume with xdftool, 2048 cylinders by 1 head by 32 sectors, relabels it, and hands the raw file to the wrap below.

The frame

The packed file starts at sector 0 with a DOS\1 boot block. Minimig, given a file with no rigid disk block, invents one and can disagree about where the filesystem starts. This wrap puts an RDSK and a PART in cylinder 0 and leaves the filesystem at cylinder 1. The partition is not bootable, so Workbench on DH0 still starts. The boot block amitools wrote is left alone.

The wrap is uae_raw_to_minimig_hdf.py, called by the pack script with --no-boot --keep-bootblock so the partition is not bootable and the boot block amitools wrote stays. The code lives there rather than here, so that when it changes the page does not lie.

The copy

Same SSH settings as the hardfile transfer. The password stays in SSHPASS. The destination name is the hardfile, not the folder that was already on the card.

export SSHPASS   # the board password, not on the command line
scripts/copy_to_mister.sh WHDLoad.hdf root@mister:/media/fat/games/Amiga/WHDLoad.hdf

copy_to_mister.sh turns X11 forwarding and public-key auth off so the password prompt reaches sshpass, refuses a name that already exists on the card because the core may have it mounted, and copies nothing if that probe itself fails.