Введение

Пакет программного обеспечения для компьютеров Amiga.

WHDLoad – это пакет программного обеспечения для платформы Amiga, упрощающий установку программ, таких как демо или игры, на жесткий диск. Он обеспечивает лучшую совместимость программного обеспечения Amiga, которое из-за широкого разнообразия аппаратных конфигураций Amiga на протяжении ее истории, иногда может быть несовместимо с различным оборудованием и, как следствие, сложно в использовании в эмулируемых средах. WHDLoad по сути обходит операционную систему Amiga для повышения совместимости и сохраняет исходную программную среду. WHDLoad позволяет автоматически запускать установленный образ дискеты, щелкнув по значку. Для установки необходимо считать данные с оригинального диска и записать их в файл образа на жесткий диск с помощью программы "Imager". Затем установленная программа может быть запущена с виртуального дисковода через интерфейс "Slave".

Интерфейс раба

Интерфейс "Slave" обеспечивает взаимодействие между программой и WHDLoad, координируя чтение и запись файлов. Это позволяет запускать или эмулировать программы, которые обычно несовместимы с распространенными эмуляторами, такими как WinFellow или WinUAE. Кроме того, WHDLoad может оказаться проще в использовании, чем подбор точной конфигурации для указанных эмуляторов.

История

Основная причина существования этого загрузчика в том, что многие компьютерные игры для Amiga некорректно взаимодействуют с операционной системой AmigaOS, а работают напрямую с аппаратным обеспечением Amiga, опираясь на конкретные регистры управления, области памяти и другие параметры. Аппаратная часть более новых моделей Amiga была значительно изменена, что приводило к сбоям при попытке запускать одни и те же игры на новом оборудовании, и наоборот – новые игры на старом. WHDLoad позволяет устанавливать такие игры на жесткий диск, совместимый с AmigaOS, и запускать их на современном оборудовании. Дополнительным преимуществом является отсутствие времени загрузки и необходимости смены дисков, поскольку все необходимые игре данные хранятся на жестком диске. Первый публичный релиз WHDLoad состоялся 5 сентября 1996 года, а последняя доступная версия – 18.8 – выпущена в мае 2022 года.

Особенности

WHDLoad берет под контроль всю операционную систему, что может вызывать проблемы с некоторыми программами (например, со стеком TCP/IP), но выход из игры или демо возвращает систему в нормальное рабочее состояние. Игры для WHDLoad хранятся в файловой системе AmigaOS в виде образов дисков и используют для работы файлы драйверов, известные как "WHDLoad slaves". Эти slave-файлы свободно доступны в Интернете (как бесплатное программное обеспечение), однако сами игры необходимо приобретать отдельно, чтобы предотвратить пиратство. Кроме того, многие поклонники создали собственные бесплатные игры, которые также свободно и легально распространяются.

Как работает 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. Операционная система будет восстановлена со всеми аппаратными регистрами и исходным дисплеем. Память и все выделенные ресурсы остаются свободными для дальнейшего использования.

Требования

Стандартная Amiga 1200 или Amiga 600 без дополнительной памяти будет работать лишь с ограниченным числом игр. Как правило, это игры, использующие OCS/ECS и работающие с одной дискеты. Для обеспечения совместимости с 99% игр рекомендуется установить плату RAM объемом 4 МБ или 8 МБ в слот расширения. Также необходим жесткий диск, а количество игр, которые можно установить, зависит от его объема.