WHDLoad

Last updated

WHDLoad is a software package for the Amiga platform to make installation of software to a hard disk easier, for such things as demos or games. [1] [2] [3] Allowing for better compatibility for Amiga software, which can sometimes have hardware incompatibilities making them hard to use in emulated environments due to the widely varying hardware specifications of the Amiga product line across its history. WHDLoad basically circumvents the operating system in the Amiga for greater compatibility and preserves the original program environment.

Contents

WHDLoad makes it possible to autostart an installed floppy disk image by clicking an icon.

Two special parts are required, each one specially written for the client program: To install media, it must be read from the original disk and written to an image file on the hard drive by the "Imager". Then the installed program can be run from a virtual disk drive with the "Slave" interface.

Slave interface

The "Slave" interface allows interaction between the program and WHDLoad, and co-ordinates the reading and writing of files. This makes it possible to run or emulate programs that are traditionally incompatible with common emulators such as WinFellow, or WinUAE. WHDLoad can be easier to use than trying to figure out the exact configuration for the aforementioned emulators as well.

History

The primary reason for this loader is that a large number of computer games for the Amiga don't properly interact with the AmigaOS 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. WHDLoad provides a way to install such games on an AmigaOS-compatible hard drive and run on newer hardware. An added benefit is the avoidance of loading times and disk swaps, because everything the game needs is stored on the hard drive.

The first public release of WHDLoad was on September 5, 1996, and version 18.6 is the latest available in October 2020.

Features

WHDLoad takes over the entire operating system which may cause problems with some software (e.g. TCP/IP stack), [4] but quitting the game or demo restores the system back into its normal working state.

WHDLoad games are stored on the AmigaOS file system as disk images, relying on driver files known as "WHDLoad slaves" to work. These slave files are freely available from the Internet (as Freeware), but the games themselves have to be acquired separately, to prevent software piracy. Additionally, many fans have made their own freeware games, which are also freely, and legally, available.

How WHDLoad works

The WHDLoad "Slave" interface is integrated into the OS in that you can double-click a program icon to run the program at any time. 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, disables multitasking and interrupts, and copies memory regions which are used by AmigaOS and required by the installed program to an unused place until the AmigaOS is needed again.

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 can perform the task for which it has been written, loading its data as it would from a real floppy disk.

Users can break the execution of the loaded program by way of a "Quit" key (usually F10). 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.

Requirements

A standard Amiga 1200 or Amiga 600 without any extra memory, will only work with a limited number of games. Which usually means games using OCS/ECS and one floppy disk. It is recommended to install either a 4 MB or 8 MB RAM Board in the trapdoor slot to ensure compatibility for 99% of the games.

A harddisk is required, the number of games that can be installed depend on the size of the harddisk.

Related Research Articles

BIOS Firmware for hardware initialization and OS runtime services

In computing, BIOS is firmware used to perform hardware initialization during the booting process, and to provide runtime services for operating systems and programs. The BIOS firmware comes pre-installed on a personal computer's system board, and it is the first software to run when powered on. The name originates from the Basic Input/Output System used in the CP/M operating system in 1975. The BIOS originally proprietary to the IBM PC has been reverse engineered by some companies looking to create compatible systems. The interface of that original system serves as a de facto standard.

In computing, a device driver is a computer program that operates or controls a particular type of device that is attached to a computer or automaton. A driver provides a software interface to hardware devices, enabling operating systems and other computer programs to access hardware functions without needing to know precise details about the hardware being used.

UAE (emulator) Computer emulator which emulates Commodore Internationals Amiga.

UAE is a computer emulator which emulates the hardware of Commodore International's Amiga range of computers. Released under the GNU General Public License, UAE is free software.

A disk image, in computing, is a computer file containing the contents and structure of a disk volume or of an entire data storage device, such as a hard disk drive, tape drive, floppy disk, optical disc, or USB flash drive. A disk image is usually made by creating a sector-by-sector copy of the source medium, thereby perfectly replicating the structure and contents of a storage device independent of the file system. Depending on the disk image format, a disk image may span one or more computer files.

AmigaDOS is the disk operating system of the AmigaOS, which includes file systems, file and directory manipulation, the command-line interface, and file redirection.

Live CD Complete, bootable computer installation that runs directly from a CD-ROM

A live CD is a complete bootable computer installation including operating system which runs directly from a CD-ROM or similar storage device into a computer's memory, rather than loading from a hard disk drive. A live CD allows users to run an operating system for any purpose without installing it or making any changes to the computer's configuration. Live CDs can run on a computer without secondary storage, such as a hard disk drive, or with a corrupted hard disk drive or file system, allowing data recovery.

System 7 Apple Macintosh operating system released between 1991–1997

System 7, codenamed "Big Bang", and also known as Mac OS 7, is a graphical user interface-based operating system for Macintosh computers and is part of the classic Mac OS series of operating systems. It was introduced on May 13, 1991, by Apple Computer, Inc. It succeeded System 6, and was the main Macintosh operating system until it was succeeded by Mac OS 8 in 1997. Features added with the System 7 release included virtual memory, personal file sharing, QuickTime, QuickDraw 3D, and an improved user interface.

In computing, a clone is hardware or software that is designed to function in exactly the same way as another system. A specific subset of clones are remakes, which are revivals of old, obsolete, or discontinued products.

QEMU Free virtualization and emulation software

QEMU is a free and open-source hypervisor. It emulates the machine's processor through dynamic binary translation and provides a set of different hardware and device models for the machine, enabling it to run a variety of guest operating systems. It can interoperate with Kernel-based Virtual Machine (KVM) to run virtual machines at near-native speed. QEMU can also do emulation for user-level processes, allowing applications compiled for one architecture to run on another.

The Amiga computer can be used to emulate several other computer platforms, including legacy platforms such as the Commodore 64, and its contemporary rivals such as the IBM PC and the Macintosh.

Amiga software is computer software engineered to run on the Amiga personal computer. Amiga software covers many applications, including productivity, digital art, games, commercial, freeware and hobbyist products. The market was active in the late 1980s and early 1990s but then dwindled. Most Amiga products were originally created directly for the Amiga computer, and were not ported from other platforms.

AmigaOS is the proprietary native operating system of the Amiga personal computer. Since its introduction with the launch of the Amiga 1000 in 1985, there have been four major versions and several minor revisions of the operating system.

Hatari (emulator) Atari computer emulator

Hatari is an open-source emulator of the Atari ST 16/32-bit computer system family. It emulates the Atari ST, Atari STe, Atari TT, and Atari Falcon computer series and some corresponding peripheral hardware like joysticks, mouse, midi, printer, serial and floppy and hard disks. It supports more graphics modes than the ST and does not require an original TOS image as it supports EmuTOS. The latest version has no reported issues with the ST/STe/TT applications emulation compatibility and also most of the ST/STe games and demos work without issues.

Workbench (AmigaOS) Graphical user interface for the Amiga computer

Workbench is the graphical file manager of AmigaOS developed by Commodore International for their Amiga line of computers. Workbench provides the user with a graphical interface to work with file systems and launch applications. It uses a workbench metaphor for representing file system organisation.

Hunk is the executable file format of tools and programs of the Amiga Operating System based on Motorola 68000 CPU and other processors of the same family. This kind of executable got its name from the fact that the software programmed on Amiga is divided in its internal structure into many pieces called hunks, in which every portion could contain either code or data.

Amiga support and maintenance software performs service functions such as formatting media for a specific filesystem, diagnosing failures that occur on formatted media, data recovery after media failure, and installation of new software for the Amiga family of personal computers—as opposed to application software, which performs business, education, and recreation functions.

Kickstart is the bootstrap firmware of the Amiga computers developed by Commodore International. Its purpose is to initialize the Amiga hardware and core components of AmigaOS and then attempt to boot from a bootable volume, such as a floppy disk. Most Amiga models were shipped with the Kickstart firmware stored on ROM chips.

AmigaOS Operating system for Amiga computers

AmigaOS is a family of proprietary native operating systems of the Amiga and AmigaOne personal computers. It was developed first by Commodore International and introduced with the launch of the first Amiga, the Amiga 1000, in 1985. Early versions of AmigaOS required the Motorola 68000 series of 16-bit and 32-bit microprocessors. Later versions were developed by Haage & Partner and then Hyperion Entertainment. A PowerPC microprocessor is required for the most recent release, AmigaOS 4.

Amiga Forever Amiga preservation, emulation and support package published by Cloanto

Amiga Forever is an Amiga preservation, emulation and support package published by Cloanto, which allows Amiga software to run on non-Amiga hardware legally and without complex configuration.

Commodore 64 disk/tape emulation and data transfer comprises hardware and software for Commodore 64 disk & tape emulation and for data transfer between either Commodore 64 (C64), Commodore (1541) disk drive or Commodore tape deck and newer computers.

References

  1. Drummond, Richard (May 2000). "AFCD52, Retro Gaming". Amiga Format. No. 136. Future Publishing. p. 69. ISSN   0957-4867.
  2. Kasík, Pavel (October 1998). "WHDLOAD V7.0". Amiga Review (in Czech). No. 37. Atlantida Publishing. p. 25. ISSN   1211-1465.
  3. Topolnicky, Peter (September 2006). "WHDLoad". Amiga Future (in German). No. 62. APC&TCP. p. 29.
  4. Topolnicky, Peter (November 2006). "Workshop: WHDLoad". Amiga Future (in German). No. 63. APC&TCP. pp. 40–41.

See also