The WHDLoad volume open on Workbench, showing GreatGianaSisters, Lemmings, StateOfTheArt Install, WHDLoad and Installer drawers, with a small drawer open on top.

Component · September 2026

WHDLoad

Every game on the disk. What WHDLoad is, what a slave does, why it needs a Kickstart file with an exact name, and why it is the one thing on this machine that AmiPilot cannot watch.

Most Amiga games do not use the operating system. They boot from a floppy, throw the OS out of memory, and talk to the chips directly, because in 1989 that was how you got sixty frames a second out of a 7 MHz machine. It also means they know nothing about hard disks, and that a game written for an A500 assumes things about memory and timing that an A1200 does not deliver. The hard disk you finally bought could hold none of your games, and the faster machine broke half of them.

Bert Jahn started on the answer at Christmas 1994 because Cannon Fodder 2 was unplayable from floppy. He had seen a hard-disk install of Agony that worked without the OS, worked out how, and in 1996 split the trick into two halves: a program that takes the machine over, quietens the OS, and hands control to a game, and a small file per game, the slave, that knows where that game keeps its disk loader and how to redirect it to files on the hard disk instead. The first public WHDLoad went to Aminet in the summer of 1996. It is still developed, and there are slaves for essentially every game the Amiga ever had.

A slave is a few kilobytes of somebody’s patience: the exact bytes to change so one game reads its disks from a drawer.

Each game is a drawer on the disk: the disk images, a slave, and an icon whose tooltypes name the slave. Double-click the icon and WHDLoad loads the images into memory, applies the slave, and starts the game, which now boots in a second with no disk swaps. A quit key brings Workbench back. Some slaves need more: a game that ran under Kickstart 1.3 wants a copy of that Kickstart, and WHDLoad looks for it in Devs:Kickstarts under a fixed name, kick34005.A500 for 1.3, kick40068.A1200 for 3.1, with a small relocation file beside it. You have to own the ROM. The name is not negotiable.

The WHDLoad volume with game and installer drawers, icons drawn in magenta and cyan.
The games volume on the MiSTer, before the palette was fixed. Every drawer is a WHDLoad install; the icons are MagicWB icons on the wrong pens, which is its own note.
WinUAE Properties, CD & Hard drives panel, with DH0 as a hardfile and DH1 as a Windows network folder named WHDLoad_usr.
Where they came from. In WinUAE the games were a Windows folder mounted as DH1. The MiSTer core cannot mount a folder.

What it is on this disk

The games lived for years as a folder on the Windows machine that runs WinUAE, added with the Add Directory button and appearing on the Amiga as a volume called WHDLoad. That is a WinUAE idea, not an Amiga one; a MiSTer wants a disk. So the folder became one, a 32 MB hardfile with a rigid disk block that the Minimig core accepts, mounted as the primary slave beside the system disk. It is not bootable, on purpose, so Workbench on the first disk always wins. A second drive is the story of getting that right.

The WHDLoad program itself was already in C: on the system disk from the WinUAE years, so on this build its installer never ran. On a fresh Workbench it still would: unpack, run Install, accept C:. That is the honest gap in the ledger below. What the scripts do handle is the pieces around it: the Kickstart file under its exact name, the games drawer packed into a hardfile, the copy to the card, and the game icons, which the installers had been asked to draw as RomIcons, a sixteen-colour dither that comes out as noise on a graphics-card screen, fixed by merging the NewIcon each installer left beside it.

The Great Giana Sisters, level one.
The Great Giana Sisters, one of the drawers above. Screenshot: Indie Retro News.
Turrican II running on the MiSTer Minimig core.
Turrican II from the same volume, captured by the MiSTer itself. This is the only kind of picture of a running game the machine can take.

What AmiPilot cannot see

WHDLoad takes the machine over. That is the entire point of it, and it means that when a game is running there is no operating system for AmiPilot to live in: the server that answers the host is paused along with everything else. AmiPilot can double-click the icon. It cannot report what happened next. Proving that a game starts needs a picture taken from outside the Amiga, a screenshot of the WinUAE window from Windows, or the MiSTer’s own capture over HDMI, and something to judge that picture against. That layer is not built. It is the next thing on the list, and it is why every game on the disk is, for now, proven by a person with a joystick.

What the scripts and AmiPilot took over

Chapters 10 and 11 of the guide are WHDLoad and the games. Where each step went.

  1. By hand

    WHDLoad

    Download WHDLoad, unpack, run Install, accept C:.

    Not scripted. On this disk the program was already in C: from the WinUAE install; a fresh Workbench still clicks through the installer. A script for it is the obvious next one.

  2. Automated

    Kickstart

    Copy your Kickstart image to Devs:Kickstarts under the exact name, plus the .RTB file from the skick archive.

    install_kickstarts.sh takes a ROM you own, works out or accepts the name a slave will ask for, writes it into Devs:Kickstarts, and adds the matching relocation file. setup_winuae.sh --whd-rom does the same while building the WinUAE disk.

  3. Eliminated

    HD-Games folder

    Make a folder on Windows, Add Directory in WinUAE, save the configuration.

    On the WinUAE path --programs mounts a host folder as DH1 in the generated configuration. On the MiSTer the folder cannot exist.

  4. Automated

    Second disk

    —

    pack_directory_hdf.sh turns the games folder into a hardfile with a rigid disk block, not bootable, and copy_to_mister.sh puts it on the card, refusing to overwrite a name the core might have mounted.

  5. By hand

    Installs

    Unpack each game’s install archive, run its Install, answer its questions, insert the original disks when asked.

    Still the Installer, still the disks you own. When it asks for an icon style, choose NewIcon. A drawer that already has its slave and images has no installer left to run.

  6. Automated

    Icons

    Live with the RomIcons, or redo each install.

    fix_romicons.sh merges the installer’s .newicon into every RomIcon in the games drawer; build_mister_image.sh --romicon-newicons runs it in the mint.

  7. Once

    Mount

    —

    In the MiSTer’s OSD, the games hardfile as primary slave. Once per card.

  8. By hand

    Check

    Start a game.

    Still a double-click and a person watching. AmiPilot is paused while a game runs; the outside-the-Amiga capture that would prove a launch is not built yet.

Steps follow Chapter 10 and Chapter 11 of the Green Amiga Alien guide; the ledgers are here and here. History from Bert Jahn’s own account on whdload.de. The words are ours.