WHDLoad Support in FS-UAE Launcher

FS-UAE Launcher has special support for running individually zipped (or compressed with LHA) WHDLoad Games. It will even store save-games in the state directory.

Alternative Ways to use WHDLoad

This page contains details about how the WHDLoad feature is manually enabled, there are two other ways to use WHDLoad games in FS-UAE:

  • Use the online game database (recommended), this will give you automatic support for running WHDLoad games, no configuration needed.
  • Create an Amiga Workbench environment on an emulated hard drive and install the WHDLoad package and games manually.

Enabling the WHDLoad Feature

This feature is enabled by:

  • Inserting a zip/lha file containing a WHDLoad game as the primary hard drive.
  • Write the name of the slave in the WHDLoad Arguments text box, optionally along with slave options.
  • Just write the full name of the slave only, do not include the directory name.

You should currently not use save states when you use this feature. The temporary creation of hard drives will confuse the save state system

Example WHDLoad Arguments:

Lotus2.slave

The following automatically happens when WHDLoad arguments is specified and you start the game:

  • The contents of the zip/lha file is unpacked to a temporary folder, which is what is really used as the primary hard drive in FS-UAE.
  • WHDLoad is downloaded (if not already downloaded) and merged into the temporary drive.
  • Kickstart images are copied into the temporary drive -needed for several WHDLoad slaves.
  • If any modified files (from an earlier launch) are found in the state dir, these are copied/merged into the temporary drive.
  • The slave is located and a startup-sequence file is created to boot the WHDLoad game.
  • The contents of the temporary drive is analyzed and checksummed, so any modified files can be saved to the state dir when FS-UAE is done running.

Here is a more advanced example of WHDLoad Arguments, showing how to specify slave options:

Lotus2.slave PRELOAD BUTTONWAIT CUSTOM1=1 CUSTOM2=1

Details Regarding the Temporary Drive

You don’t need to read the following information unless you are interested in the exact details on how the WHDLoad support is implemented.

First of all, the zip/lha file containing the game is unpack to the temporary drive, and then a routine is performed to transform this into a bootable system. At the time of writing, the following files are downloaded and copied into the drive:

Devs/Kickstarts/kick40068.A1200.RTB
Devs/Kickstarts/kick34005.A500.RTB
Devs/Kickstarts/kick40068.A4000.RTB
C/WHDLoad

The following kickstart files are copied from your kickstart directory if they are available (matched by checksum, not names):

Devs/Kickstarts/kick34005.A500
Devs/Kickstarts/kick40068.A1200
Devs/Kickstarts/kick40068.A4000

The following file is populated with some default values:

S/WHDLoad.prefs

The registration key (if found) is copied to:

S/WHDLoad.key

SetPatch from Workbench 3.0 is copied, provided that a Workbench 3.0 disk is indexed by the file database function:

C/SetPatch

Finally, the startup sequence is written to:

S/startup-sequence

The startup sequence consists of starting WHDLoad with the slave, followed by running uae-configuration SPC_QUIT 1 to quit the emulation when the slave is done running.

Registered WHDLoad

If Documents/FS-UAE/WHDLoad.key is found, it will be copied toΒ DH0:S/WHDLoad.key when preparing the temporary hard drive. This only applies to people having purchased WHDLoad before the full version became free, and who wants to use the registered version.

144 thoughts on “WHDLoad Support in FS-UAE Launcher

  1. i cant seem to get whdload games to run. i have placed the key file in the root directory, and upon start the CLI opens, notifies me of the patch from workbench applied (enlighten) and shows the whd popup. when it closes, i get a black screen and every few seconds i get weird flickering artefacts from the cli – and this happens with every single game i tested so far…

      • Never mind, i just found out that i used an illegal keyfile – the games work fine without it!

      • Now that i have bought my WHDLoad key, i have one more question: is there a way in FS-UAE to change the WHDLoad preferences? I would like to reduce the time of the remaining popup (The one that comes after the “unregistered” one) and as far as i understand the WHDLoad.prefs, this seems to be supported in WHDLoad….

        • There’ll be a new settings page in the next development version of FS-UAE Launcher where you can change the timeout πŸ™‚

  2. “Create a full Amiga Workbench environment on an emulated hard drive and install the WHDLoad package and games manually”

    Actually, this line is a half of the truth. There is a small subset from the Workbench need. On most cases all you need is small hd drive with following structure:

    c/ which contain all programs from C folder from WHDLoad + some other like Assign, SetPatch and so on, if needed

    s/ there will go WHDLoad preferences and key + startup-sequence file, which will start up the simple script:

    cd game_dir

    (exec the setpatch if needed)

    whdload slave_file.slave

    And basically that’s it. Some games needs a specific libraries or other components which should be present in the Workbench, but that’s minority.

    • You are right (plus for installing games you need “Installer” and Intuition running) . I didn’t actually mean that the WHDLoad runtime itself requires a full WB environment, but that this would be the typical user scenario πŸ™‚ Nevertheless, I’ve removed the word “full” to avoid confusion.

  3. Hi, wonderful software! I am having a slight problem with WHDLoad though; can you explain how I run a WHDLoad game (zipped or unzipped) that is not currently included in the Open Amiga Database?

    Games on my system but not in the online database are not detected or added to my library when I use the ‘Scan’ function.

    Many thanks; again, great software!

    • You can select a zipped WHDLoad game as the first hard drive in FS-UAE Launcher, and the launcher should figure out the there is a .slave in it, and configure automatic WHDLoad support. However, you also need to set the Amiga model to A600 or A1200, and also probably add some fast memory (8 MB should do).

      I’m currently also working on expanding the number of WHDLoad games supported in the online game database πŸ™‚

  4. This page says…

    “Enabling the WHDLoad Feature: This feature is enabled by: Inserting a zip file containing a WHDLoad game as the primary hard drive”

    So I’ve created a test.fs-uae file with…

    hard_drive_0 = “/mnt/store/Emulation/Games/Commodore – Amiga/NavySeals.zip”

    …in it, yet when I run “fs-uae-launcher FS-UAE/Configurations/Test.fs-uae” it starts and echos out…

    WARNING: HD not found: “/mnt/store/Emulation/Games/Commodore – Amiga/NavySeals.zip”

    … even though it’s there (/mnt/store/Emulation/Games/Commodore – Amiga/NavySeals.zip: Zip archive data, at least v2.0 to extract).

    What am I missing here?

    • When you select a WHDLoad zip file using the hard drive selector in FS-UAE Launcher, the Launcher performs some additional checks there and then – see if the archive contains a .slave file, and if so, automatically populate the WHDLoad Arguments option field.

      When you just point hard_drive_0 to a zip file in a configuration file, no such check is performed (and will not happen either). But perhaps I’ll make a feature where – if you give FS-UAE Launcher a zip file as a command line argument – it will automatically configure the WHDLoad feature (if the zip file is a zipped WHDLoad game).

  5. Is there a way to store whdload saves when using this method? For example I tried playing Lemmings 2 The Tribes by adding Lemmings2.zip to the launcher. After I use Save in-game, WHDLoad creates data/L2-Saved-Positions which serves as a save disk. However, as I understand it, the extracted directory is only temporary and is deleted after quitting the game, and so is the savefile, is that right? If that is the case, the function doesn’t seem very useful at this state, at least not vs running WHDLoad-installed games from Workbench.

    Another problem using this method is that FS-UAE hangs up after I quit the game. For example (I checked it with Lemmings 2 and Benefactor), when I hit F10 in-game, which is a WHDLoad ‘quit’ button, I am thrown back to Amiga shell, but I cannot do anything, also F12 (FS-UAE menu) doesn’t work, and I cannot release mouse pointer either (with midle mouse button), the only thing I can do is switch to console and kill fs-uae instances. Is it because of that? http://s1.zrzut.pl/04nRtHJ.png – I don’t have a WB 3.0 disk because I only have Workbench 3.1 from my Amiga 1200 Magic.

    • Yes, FS-UAE Launcher deletes the temporary directory after use, but before this happens, it copies *altered files* (and new files) to the state dir. When you later re-launch the game, these files are added to the temporary directory before the game is started. Therefore, saves should work – if not, there’s a bug somewhere!

      When the WHDLoad game exits, FS-UAE should automatically quit as well (by running uae-configuration quit from within the Amiga). Since the F12 menu (etc) does not work either, it sounds like FS-UAE has indeed tried to shutdown, but that FS-UAE itself hangs for some reason (so no, it is not related to missing SetPatch or anything like that). Are you using the stable 2.4.1 version? If so, could you try the latest development version instead and see if the problem still persists?

        • Hmm, I guess it is possible UAE hangs before the data is written to disk, but my first thought is that it should have been written already. But I have verified that Lemmings 2 / WHDLoad and save data works fine on my computer. I do not expect there to be anything interesting in the log file :-/

          • I verified that the freeze happens before saving any data, because after that ~/FS-UAE/Save\ States/Lemmings\ 2\ The\ Tribes/ is empty and /tmp/fs-uae-eb2tz0bd/ is undeleted. Another thing that I checked is that fs-uae installed from the debian repository and fs-uae-steam package both present the same behaviour (on the same system) so maybe it’s something wrong with my system? Though it’s a perfectly normal debian testing installation. And the final clue, maybe the most important one: after the freeze, kwin is taking 100% CPU until I kill fs-uae processes. So maybe the problem is not in fs-uae itself but in how it interacts with KDE? My kwin comes from kde-window-manager 4.11.13-2 so it’s the latest on debian testing.

          • Well I tried running it in XFCE with the same effect – FS-UAE frozen and kwin taking 100% CPU. So it’s probably because fs-uae is using kwin and nothing to do with KDE itself.

  6. “The registration key (if found) is copied to:
    S/WHDLoad.key”

    Where does it look for the file? I added the directory containing my WHDLoad key to Settings -> Scanning and Indexing but it doesn’t find it.
    Running fs-uae with strace doesn’t show anything about fs-uae looking for the key file.

    • Hi, it looks for the file in the (Documents)/FS-UAE directory, i.e. the directory containing the Configurations, Floppies folders, etc.

  7. I really miss the Save State feature from this. Will it come in the future?

    Thanks for this great software!

  8. Hi, i am maybe idiot. But how i can add support for WHDload??? I download whdload rom whadload.de. And then extract. Extract archive i copy on linux to /home/Martin/Dokuments/FS-UAE/. But i have ever whd load game gray text! πŸ™ And cant run it. Alert window say me: you not have all files.. :-(( please help me.

    • You do not have to extract .zip or .lha files containing WHDLoad games. But after you have stored them inside the FS-UAE directory, you need to re-run the Scan Files & Configurations function so FS-UAE Launcher discovers the new files (and make sure the .zip or .lha files are stored somewhere inside one of the directories listed there).

  9. Any news on this feature request?

    I would really love to see command line added to this awesome emulator.

    Thank you very much.

    Regards

    sirlee

    • If you use one of the latest development versions (2.5.23dev at the time of writing), FS-UAE Launcher can load and run .fs-uae configurations. This will works with the launcher WHDLoad support.

  10. Hi ! πŸ™‚

    I was wondering whether it was now possible to invoke fs-uae by command line with whdload support (without having to use the uae-launcher GUI) ? I think you mentioned it was planned last year.

    I’m setting up a machine autobooting into Advance Menu for many different platforms ; it would be perfectly integrated if I could start whdload games via the command line πŸ™‚

    Thanks again for your work,
    cheers

    • Hi, there’s no support for this yet. I will soon allow fs-uae-launcher to load and run a configuration, i.e. something like fs-uae-launcher --run /path/to/config.fs-uae. That should help you πŸ™‚

Leave a Reply

Your email address will not be published. Required fields are marked *