WHDLoad: Загрузчик для Amiga, обеспечивающий совместимость и удобство запуска игр и демок.
WHDLoad
WHDLoad для Amiga: упрощает установку игр и демок на жесткий диск, решает проблемы совместимости и запускает образы дискет одним кликом. Эмуляция Amiga!
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Пакет программного обеспечения для компьютеров Amiga.
Software package for Amiga computers
WHDLoad – это пакет программного обеспечения для платформы Amiga, упрощающий установку программ, таких как демо или игры, на жесткий диск. Он обеспечивает лучшую совместимость программного обеспечения Amiga, которое из-за широкого разнообразия аппаратных конфигураций Amiga на протяжении ее истории, иногда может быть несовместимо с различным оборудованием и, как следствие, сложно в использовании в эмулируемых средах. WHDLoad по сути обходит операционную систему Amiga для повышения совместимости и сохраняет исходную программную среду. WHDLoad позволяет автоматически запускать установленный образ дискеты, щелкнув по значку. Для установки необходимо считать данные с оригинального диска и записать их в файл образа на жесткий диск с помощью программы "Imager". Затем установленная программа может быть запущена с виртуального дисковода через интерфейс "Slave".
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. 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. 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" обеспечивает взаимодействие между программой и WHDLoad, координируя чтение и запись файлов. Это позволяет запускать или эмулировать программы, которые обычно несовместимы с распространенными эмуляторами, такими как WinFellow или WinUAE. Кроме того, WHDLoad может оказаться проще в использовании, чем подбор точной конфигурации для указанных эмуляторов.
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.
История
Основная причина существования этого загрузчика в том, что многие компьютерные игры для Amiga некорректно взаимодействуют с операционной системой AmigaOS, а работают напрямую с аппаратным обеспечением Amiga, опираясь на конкретные регистры управления, области памяти и другие параметры. Аппаратная часть более новых моделей Amiga была значительно изменена, что приводило к сбоям при попытке запускать одни и те же игры на новом оборудовании, и наоборот – новые игры на старом. WHDLoad позволяет устанавливать такие игры на жесткий диск, совместимый с AmigaOS, и запускать их на современном оборудовании. Дополнительным преимуществом является отсутствие времени загрузки и необходимости смены дисков, поскольку все необходимые игре данные хранятся на жестком диске. Первый публичный релиз WHDLoad состоялся 5 сентября 1996 года, а последняя доступная версия – 18.8 – выпущена в мае 2022 года.
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 the latest available version is 18.8 released in May 2022.
Особенности
WHDLoad берет под контроль всю операционную систему, что может вызывать проблемы с некоторыми программами (например, со стеком TCP/IP), но выход из игры или демо возвращает систему в нормальное рабочее состояние. Игры для WHDLoad хранятся в файловой системе AmigaOS в виде образов дисков и используют для работы файлы драйверов, известные как "WHDLoad slaves". Эти slave-файлы свободно доступны в Интернете (как бесплатное программное обеспечение), однако сами игры необходимо приобретать отдельно, чтобы предотвратить пиратство. Кроме того, многие поклонники создали собственные бесплатные игры, которые также свободно и легально распространяются.
WHDLoad takes over the entire operating system which may cause problems with some software (e. g. TCP/IP stack), 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.
Как работает WHDLoad
Интерфейс WHDLoad "Slave" интегрирован в ОС таким образом, что для запуска программы в любое время достаточно дважды щелкнуть по её иконке. Когда пользователь запускает программу, кликнув по сохраненному изображению иконки, операционная система AmigaOS загружает исполняемый файл WHDLoad и запускает его. Затем загрузчик проверяет программную и аппаратную среду, загружает и проверяет интерфейс Slave, необходимый для выбранной демо-версии или игры, и выделяет требуемую память для установленной программы. Если функция Preload включена на странице запроса WHDLoad, программа пытается загрузить образы дисков и файлы в оперативную память (насколько позволяет доступная свободная память). В этот момент WHDLoad выполняет свою основную задачу: отключает операционную систему AmigaOS, отключает многозадачность и прерывания, а также копирует области памяти, используемые AmigaOS и необходимые установленной программе, в неиспользуемое место до тех пор, пока AmigaOS снова не потребуется. WHDLoad также понижает графическое оборудование до OCS на оригинальных машинах Amiga (эта функция может работать и на эмулированных Amiga, но только в более новых версиях WinUAE, которые распознают WHDLoad и сохраняют его прерывания). Затем WHDLoad инициализирует всё оборудование заданными значениями и переходит в интерфейс Slave, необходимый для данной программы. Интерфейс Slave загружает основной исполняемый файл установленной программы, вызывая функцию WHDLoad (resload DiskLoad или resload LoadFile), затем патчит основной исполняемый файл (чтобы загруженная программа могла загружать свои данные, хранящиеся на жестком диске через Slave, для исправления проблем совместимости и обеспечения возможности выхода из программы) и вызывает основной исполняемый файл. В этот момент установленная программа может выполнять задачу, для которой она была написана, загружая свои данные так, как если бы они находились на реальной дискете. Пользователи могут прервать выполнение загруженной программы с помощью клавиши "Выход" (обычно F10). При этом интерфейс Slave возвращается в WHDLoad, вызывая внутреннюю функцию Abort resload. Операционная система будет восстановлена со всеми аппаратными регистрами и исходным дисплеем. Память и все выделенные ресурсы остаются свободными для дальнейшего использования.
The WHDLoad "Slave" interface is integrated into the OS in such way that one 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.
Требования
Стандартная Amiga 1200 или Amiga 600 без дополнительной памяти будет работать лишь с ограниченным числом игр. Как правило, это игры, использующие OCS/ECS и работающие с одной дискеты. Для обеспечения совместимости с 99% игр рекомендуется установить плату RAM объемом 4 МБ или 8 МБ в слот расширения. Также необходим жесткий диск, а количество игр, которые можно установить, зависит от его объема.
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.