- WHDLoad
WHDLoad is a program for
Amiga which has been created to easily install programs to ahard disk (such as demos or games), allowing for better compatibility of Amiga programs, which can sometimes be difficult to run or emulate otherwise due to the widely varying hardware setups of Amigas across its history. Its use basically circumvents the Operating System of the Amiga for greater compatibility and preserves the original program as a non-degradeable archive (unlike magnetic media).WHDLoad allows the
floppy disk image to autostart simply clicking on an icon related to it.To install media, it must be written to a phantom
hard drive with a special program associated to the game which it is intended. This is called the "Slave" interface.lave interface
The "Slave" interface allows interaction between the program and WHDLoad, and co-ordinates the reading and writing of files. In this manner you may be able to run or emulate programs that traditionally incompatible with common emulators such as
WinFellow , orWinUAE . Some may find the use of WHDLoad to be easier than trying to figure out the exact configuration for the aforementioned emulators as well.For more detailed information (FAQs and manuals), as well as examples of
source code , visit WHDLoad's official website.History
The reason for this loader is the large number of
computer game s for the Amiga that don't properly interact with theAmigaOS operating system, but instead run directly on the Amiga hardware, making assumptions about specific control registers, memory locations, etc. The hardware of newer Amiga models had been greatly revised, causing these assumptions to break when trying to run the same games on newer hardware, and vice versa with newer games on older hardware.The first public release of WHDLoad was on
September 5 1996 .Features
WHDLoad takes over the entire operating system, but quitting the game restores the system back into its normal working state.
WHDLoad games are stored on the AmigaOS file system as
disk image s, relying on driver files known as "WHDLoad slaves" to work. These slave files are freely available from theInternet (aka:FREEWARE), but the games themselves have to be acquired separately, to preventsoftware piracy . Additionally, many fans have made their own freeware games, which are also freely, and legally, available.How WHDLoad works
When the user executes the program, by clicking a stored image Icon, the AmigaOS operating system loads the WHDLoad executable and starts it. Then the loader checks the software and hardware environment loads and checks the Slave interface required for that chosen demo or game and allocates required memory for the installed program. If the "Preload" feature is enabled into the requester page of WHDLoad, then the program attempts to load disk images and files into RAM (insofar as free memory is available).
At this point WHDLoad performs its main task of switching off the AmigaOS operating system, and disables
multitasking and interrupts, increasing stability and compatibility.WHDLoad also degrades the graphics hardware to OCS on original Amiga machines (this function actually can work also on emulated Amigas, but only on newer versions of WinUAE which recognizes WHDLoad and preserves its interrupts), then WHDLoad initializes all hardware with defined values and jumps into the Slave interface required for the program in question.
The "Slave" interface loads the main executable of the installed program by calling a WHDLoad function ("resload_DiskLoad" or "resload_LoadFile"), then patches the main executable (so that the loaded program will be capable of loading its data stored into the hard disk via the Slave, in order to fix compatibility problems, and to enable an exit from the program) and calls the main executable.
At this point the program that has been installed could perform the task it has been written for, loading its data as it would from a real floppy disk. The "Slave Interface" is integrated into Windows in that you can double click a program and access it at any time.
Users could break the execution of the loaded program by way of a "Quit" key. When this action is performed, then the Slave interface returns to WHDLoad by calling a "resload_Abort" internal function.
The OS will be restored with all hardware registers and original display. The memory and all allocated resources are left free for any further usage.
External links
* [http://www.whdload.de WHDLoad home page]
Wikimedia Foundation. 2010.