Skip to content

WHDLoad Auto booting

Dimitris Panokostas edited this page Jun 18, 2023 · 37 revisions

The WHDLoad AutoBooter is designed to allow games/demos installed via the WHDLoad System to be loaded by Amiberry in a single-file format (e.g. a ZIP or .LHA archive). The file should be specified from command line with the option --autoload <file>

Note: Although Amiberry permits the parsing of .ZIP files into the command line, RetroPie does not currently handle WHDLoad files in this format, and we advise the use of .LHA format files only. Currently available resources for WHDLoad games are provided as LHA, and .ZIP is included for legacy compatibility only. That being said, Amiberry will happily load WHDLoad packed games using the .zip file type, if you use --autoload <file>.


Emulator Requirements

The following archive should exist adjacent to the Amiberry binary file: (These folders/files are provided with Amiberry)

However, an unpacked whdboot/boot-data folder may also be used.

The following directories must exist:

  • whdboot/game-data must contain game specific data which can improve the compatibility of an individual game.

  • whdboot/save-data will contain game specific written information. this should contain the following sub-folders, which can be empty by default;

    • Autoboots (Will be written to by the Booter)
    • Debugs (Will be written to by the Booter)
    • Savegames (Will be written to by WHDLoad)
    • Kickstarts (Symlinks will be created here - see below)

How it Works:

Amiberry will automatically mount the HD booter and the game data to the emulated system for easy loading. It will also attempt to select appropriate settings for the game, based on the information available in the XML, if it finds a match. The check is done first by filename and if that fails, by the SHA1 checksum value.

The WHDLoad booter will use an A600HD (Kickstart 2.05) config for OCS/ECS titles, and an A1200 (Kickstart 3.x) config for AGA titles. These kickstarts are therefore essential for the booter to work.

Some games might override these default options, if they require to do so for compatibility reasons. E.g. a non-AGA game might run better under an A1200 config, so Amiberry will consult with the "best-known" settings from the XML when choosing the settings to apply.


A note on WHDLoad Kickstart files (Maximising Booter Compatibility)

Some WHDLoad games require Kickstart files to be made available in Devs:Kickstarts. These files should either be manually copied save-data/Kickstarts, or otherwise Amiberry will attempt to make 'symlinks'to these files if they are already available in the Kickstart paths location.

For maximum compatibility it is recommended to have the following files, located in the position pointed to by the 'kickstart path' value, which can be set via the Paths panel.

Should you wish to create actual copies of these in Devs/Kickstarts, the renamed name is also stated below.

  • Kickstart v1.2 rev 33.180 (1986)(Commodore)(A500-A1000-A2000).rom - named: kick33180.A500
  • Kickstart v1.3 rev 34.5 (1987)(Commodore)(A500-A1000-A2000-CDTV) - named: kick34005.A500
  • Kickstart v3.1 rev 40.68 (1993)(Commodore)(A1200).rom - named: kick40068.A1200

The full list of compatibile / symlinked Kickstart files is detailed in the Kickstart ROMS (BIOS) section of this Wiki.


Game Specific Settings (Improving Game Compatibility)

The preferences from an individual game can be loaded in one of two ways;

  • From the whdload_db.xml file
  • When loading a game, if an equivalent .uae config file for the game is found in the whdboot/ Path, this (and only this) will be used for the game's individual preferences. This allows the user to create bespoke configurations for individual games, which will not be erased when updating the XML/Database files. Note that for this to work, the filename of the config file must match that of the .LHA one exactly (minus the filename extension, of course).

Host Specific Settings (The User's Specific Requirements)

In the file conf/amiberry.conf you can specify input options to be used as the defaults for all games using WHDLoad. This file interacts with the whdload_db.xml file - For example, if the PRIMARY CONTROL tag in the whdload_db.xml file for a specific game lists "JOYSTICK" then, the settings default_controller1 through 4 from the amiberry.conf file are utilized as the standard configuration.

If the PRIMARY CONTROL tag for the game in whdload_db.xml lists "MOUSE" as the primary controller, then the controllers mapped to default_mouse1 & default_mouse2 in amiberry.conf will override the settings for CONTROLLER_1 & CONTROLLER_2 in the emulator. This can be used to the user's advantage to allow different settings to be used for mouse/keyboard & joystick based games, whilst keeping all of the controllers connected.

Note that in this context joy0 indicates the keyboard emulating a joystick.

An example extract is given below (which are the default values):

default_horizontal_centering=yes
default_vertical_centering=yes
default_scaling_method=-1
default_frameskip=no
default_correct_aspect_ratio=yes
default_auto_height=no
default_width=640
default_height=270
default_stereo_separation=7
default_joystick_deadzone=33
default_retroarch_quit=yes
default_retroarch_menu=yes
default_retroarch_reset=no
default_controller1=joy1
default_controller2=joy2
default_controller3=
default_controller4=
default_mouse1=mouse
default_mouse2=joy0

This would configure the emulator to use joystick 1 and joystick 2 when PRIMARY CONTROL = JOYSTICK in whdload_db.xml and to use the connected mouse mouse and joystick emulation by the keyboard when PRIMARY CONTROL = MOUSE (note that for anything requiring direct use of the keyboard as a keyboard, no mapping is necessary - the keyboard is treated as a fully integrated part of the Amiga, even if it may be connected as a peripheral in real-life applications)

Setting Additional WHDLoad Options/Custom Settings

On first load, the loaded will take from the XML file the slave file and path and if a .uae config for the game is present options will be loaded from that.

The '.uae' file can be manually changed to either select an alternative .slave file within the archive (if multiple slaves are present e.g. where extra levels or data disks are available.) or to add CUSTOM options for trainers/improvements etc. Details of game specific CUSTOM options should be found from www.whdload.de

Also included is the option to view the WHDLoad splashscreen on loading, which gives details of the custom options available, but does increase the load time and requires the mouse in port 0 for AmigaDOS navigation.

The syntax for these options is as follows;

whdload_slave=ManualSelection.slave
whdload_buttonwait=true/false
whdload_custom1=#
whdload_custom2=#
whdload_custom3=#
whdload_custom4=#
whdload_custom5=#
whdload_custom=string
whdload_showsplash=true/false
whdload_configdelay=#
Clone this wiki locally