### WHDLoadCD32

WHDLoadCD32 представляет собой специальную версию WHDLoad для запуска на реальной приставке CD³², специально оптимизированную под эту платформу. Но учтите, что рассчитана она только на стандартную версию оборудования CD³². Т.е. WHDLoadCD32 НЕ будет работать на SX-32 или любой другой машине.

Эта версия имеет следующие отличия по сравнению с обычной WHDLoad:

- не требует и не использует ключевого файла WHDLoad, так что компакт-диски с WHDLoadCD32 могут свободно распространяться
- поддерживается только процессор 68020, что подразумевает отсутствие поддержки MMU
- быстрая память (fast memory) не поддерживается
- абсолютно отсутствует поддержка записи, сохранения игр, очков игры и дампов (coredumps), т.к. CD обычно устройство только для чтения
- многие, бесполезные на CD³² опции были удалены, чтобы уменьшить размер исполняемых файлов и размер занимаемой памяти, см. Использование и опции
- следующие resload-функции НЕ реализованы и их использование приведет к завершению WHDLoad с ошибкой TDREASON_ILLEGALARGS:
  - resload_DiskLoadDev
  - resload_ProtectRead
  - resload_ProtectReadWrite
  - resload_ProtectWrite
  - resload_ProtectRemove
  - resload_ProtectSMC
- следующие resload-функции - пустышки, они ничего не делают, но и никогда не приводят к ошибке:
  - resload_SaveFile
  - resload_SaveFileOffset
  - resload_DeleteFile
- отсутствует поддержка freezer/monitor
- отсутствует внутренняя проверка свободного стекового пространства, как и в обычном WHDLoad, судя по моим тестам, значение по умолчанию в 4096 байт достаточно для WHDLoadCD32

### Полезные советы для WHDLoad под CD³²

Основная проблема с CD³² это ограниченный объем основной памяти. Всего лишь 2 мегабайта памяти (chip memory). Однако для WHDLoad, требуется как можно больше памяти особенно для операции предварительной загрузки (PreLoad). Убедитесь, что в память не загружено никаких других программ, когда Вы запускаете и устанавливаете программы, используя WHDLoadCD32.

- Если программа-установщик предлагает Вам выбор между образами дисков (diskimages) и файлами (files), используйте файлы, потому, что проще закешировать много маленьких файлов, чем один-два больших.
- Если программа-установщик позволяет сжать файлы, используя ProPack/FImp, то используйте эту возможность и упакуйте все файлы (RNC1 сжимает лучше). Сжатые файлы требуют меньше места для PreLoad и практически не влияют на время загрузки.
- Перед запуском WHDLoadCD32 используйте AllocMemReverse (или любую другую подобную программу). AllocMemReverse это маленькая программка, включенная в пакет разработчика WHDLoad. Она патчит exec-функцию AllocMem, чтобы для выделения памяти всегда использовался атрибут MEM_REVERSE. В результате, память выделяется из свободного объёма сверху вниз, а не снизу вверх, как обычно. Таким образом, нижняя облать памяти остается свободной. Делается это потому, что WHDLoad необходимо, чтобы память начиналась с адреса 0, в начале памяти chipmem. Вся память, используемая в этом нижнем регионе нуждается в свопе. Для хранения этих данных, необходим дополнительный объем памяти. Чем больше используется памяти из нижних областей, тем меньше памяти доступно для установленных программ и для предварительной загрузки файлов.
- Всегда используйте опцию Data. PreLoad не знает какие файлы будет загружены установленной программой, так что эта функция загружает все файлы, которые находит. Чтобы не грузить ненужные файлы, создайте директорию, содержащую только необходимые файлы. Удалите всякую шнягу типа #?.info, #?.Slave, ReadMe, Manual, ... а затем, запускайте WHDLoad с параметрами Slave и Data, типа:
  `WHDLoadCD32 :Slaves/XYZ.Slave Data=:Data/XYZ PreLoad`.
  Менять текущую директорию нет необходимости.
- НЕ используйте файлы данных, сжатые XPK. Распаковка XPK требует очень много памяти, т.к. библиотеки XPK тоже должны быть для этого в памяти, а сама по себе декомпрессия также нуждается в памяти, так что это всё приведет к фрагментации.