Использование

WHDLoad может быть запущен из командной строки (CLI/Shell) или из Workbench-а. Опции могут задаваться в файле глобальной конфигурации, через аргументы или в Tooltypes. Опцию Slave всегда необходимо задавать. Остальные опции устанавливаются по мере необходимости, в зависимости от вашей конфигурации системы и исполняемой программы внутри WHDLoad. Когда WHDLoad запущен из командной строки, то при выходе печатаются коды возврата:

Опции и глобальная конфигурация

Есть локальные и глобальные опции. Локальные опции определяются как аргументы через CLI или как ToolTypes..
Глобальный файл конфигурации - "S:WHDLoad.prefs". Это - обычный ASCII файл и содержит одну опцию в одной строке. Пустые строки и комментарии игнорируются. Комментарий - строка начинающаяся знаком ";".
Пример файла конфигурации содержится в WHDLoad пакете ("S/WHDLoad.prefs").

Краткий обзор

Список доступных опций

Название опции Тип Локальный Глобальный Значение по умолчанию
BranchCache переключатель x -  
ButtonWait переключатель x x  
Cache переключатель x -  
Chk переключатель x -  
ChkBltHog переключатель x -  
ChkBltSize переключатель x -  
ChkBltWait переключатель x -  
ChkColBst переключатель x -  
ChkCopCon переключатель x -  
ChkIntsпереключательx-
ChipNoCache переключатель x x  
CoreDump переключатель x -  
CoreDumpPath строка - x PROGDIR:
Custom строка x -  
Custom1 число x -  
Custom2 число x -  
Custom3 число x -  
Custom4 число x -  
Custom5 число x -  
D переключатель x -  
Data строка x - -
DebugKey число x x -
DCache переключатель x -  
ExecuteCleanup строка - x -
ExecuteStartup строка - x -
Expert переключатель - x  
ExpChip переключатель x -  
ExpLocal переключатель x -  
Exp24Bit переключатель x -  
FileLog переключатель x -  
FreezeKey число x x  
MMU переключатель x x  
NoAutoVec переключатель x x  
NoCache переключатель x -  
NoFileCache переключатель x -  
NoFilter переключатель x x  
NoFlushMem переключатель x x  
NoMMU переключатель x x  
NoReqпереключательxx
NoTrapHandler переключатель x -  
NoVBRMove переключатель x -  
NoWriteCache переключатель x x  
NTSC переключатель x x  
PAL переключатель x x  
Preload переключатель x -  
QuitKey число x x -
ReadDelay число - x 0
RestartKey число x x -
ShowRegsстрока-xSYS:Utilities/MultiView
Slave строка x - WHDLoad.Slave
Snoop переключатель x -  
SnoopAGA переключатель x -  
SnoopECS переключатель x -  
SnoopOCS переключатель x -  
SplashDelay число x x 200
StoreBuffer переключатель x -  
SuperScalar переключатель x -  
TimeOut число x - 0
WriteDelay число x x 150

Типы опций

числовой: целое число
из CLI вы должны использовать десятичное значение, а в ToolType вы может также использовать шестнадцатиричное значение, начинающегося со знака - "$"
строка: строковое выражение
переключатель: опция будет активироваться , если она будет определена

Пример

Workbench: Workbench Options
CLI или Shell: 1> WHDLoad Суперигра.slave Preload NTSC QuitKey=69 Custom1=1

Описание каждой опции

ButtonWait/S

Эта опция не затрагивает WHDLoad, но может быть проверена slave-ом.
Значение этой опции - если установлена, то установленная программа ждет нажатия кнопки мыши, для просмотра титульной картинки и/или прослушивания музыки.

BranchCache/S

Эта опция включает BranchCache на 68060. На других типах CPU это не имеет никакого эффекта.
Опция не имеет никакого эффекта, если NoCache/S также установлен.

Cache/S

Эта опция позволяет включать и отключать использование Cache-а в установленной программе. Если MMU используется WHDLoad, Chip память помечается как кэшируемая Writethrough (impercise).
Опция не имеет никакого эффекта, если NoCache/S также установлен.

Chk/S

Эта короткая опция, позволяет вам активировать другие опции - ChkBltSize/S, ChkBltWait/S и ChkColBst/S.

ChkBltHog/S

Эта опция, проверяет все время бит - blthog (bltpri) в регистре custom.dmacon. Эта особенность работает только совместно с одним из SnoopOCS/SnoopECS/SnoopAGA режимов.

ChkBltSize/S

Эта опция, проверяет что установленная программа правильно использует blitter, так, чтобы только действительные области памяти были использованы для работы blitter-а. Эта особенность работает только в составе с одним из SnoopOCS/SnoopECS/SnoopAGA режимов.

ChkBltWait/S

Эта опция, проверяет что установленная программа правильно ожидает конца работы blitter-а перед новым запуском blitter-а. Эта особенность работает только в составе с одним из SnoopOCS/SnoopECS/SnoopAGA режимов.

ChkColBst/S

Эта опция, проверяет  все время бит цветности в custom.bplcon0 регистре на предмет установки. Эта особенность работает только в составе с одним из SnoopOCS/SnoopECS/SnoopAGA режимов.

ChkCopCon/S

Эта опция включает проверку, на предмет доступа к DMA регистрам с помощью коппера для изменения установок custom.copcon. Эта опция работает только совместно с одним из режимов SnoopOCS/SnoopECS/SnoopAGA options.

ChkInts/S

Эта опция проверяет при каждом прерывании соответствие в intreq и intena в данный момент прерывания. Если имеются различия , то программа закончит работу с соответствующим сообщением об ошибке. Эта опция позволяет очень легко обнаруживать прерывания создающие проблемы на быстрых машинах (68040/060) или железо которое создает нежелательные прерывания. Также поймите тот факт что если прерывания отключены установками intena и в то же самое время происходит прерывание, то эта опция работает как переключатель.

ChipNoCache/S

Эта опция выключает кэширование Chip - памяти (BaseMem). Эта опция должна использоваться на аппаратных средствах , которые не позволяют кэширование Chip - памяти (например. BlizzardPPC), чтобы избежать замедления в скорости выполнения установленной программы. см. также CPU Cache Handling.

CoreDump/S

Если опция установлена , то при каждом выходе из установленной программы, WHDLoad создает dump файл. Это может быть полезно что-бы сохранить музыку из файла памяти или для отладки.

CoreDumpPath

Определяет место сохранения файлов dumpa, созданных WHDLoad.

Custom/K, Custom1/K/N, Custom2/K/N, Custom3/K/N, Custom4/K/N, Custom5/K/N

Эти опции не используются WHDLoad непосредственно, но могут быть считаны из slave-a, чтобы добавлять различные возможности к установленной программе. Custom/K может содержать строковую переменную и Custom1-5/K может содержать целое число. Для более подробной информации читайте документацию.

DCache/S

Эта опция позволяет включать кэш данных в установленных программах. Если MMU используется WHDLoad, тогда Chip - память становится кэшируемой Writethrough (impercise).
Опция не имеет никакого эффекта, если NoCache/S опция тоже включена.

D/S

Эта опция очень полезна для отладки. Если опция установлена, и если системный монитор (Hrt/TK) найден в памяти, WHDLoad генерирует NMI прерывание для входа в монитор перед выполнением первой cpu инструкции, содержавшейся в Slave-е.

Data/K

Используя эту опцию можно задать название каталога откуда WHDLoad будет загружать данные для установленной программы. Эта опция перезаписывает переменную ws_CurrentDir содержащейся в Slave-е.

DebugKey/K/N

Задает код клавиши rawkey что-бы остановить программу для дальнейшей отладки (запись coredump файлов, и выход). Опция работает если только активен режим Expert , VBR должен быть перемещен в WHDLoad (NoVBRMove/S -  не установлен, и cpu - по крайней мере 68010 и выше), или сам slave имел-бы поддержку в своем коде.

Expert/S

Эта опция позволяет установить режим Expert использования WHDLoad. Эта опция затрагивает DebugKey/S и вывода предупреждений во время переключения между установленной программой и OS (изменение цвета  экрана). Если режим Expert не активен - то DebugKey/S, опция тоже не будет доступна.

ExpChip/S, ExpLocal/S, Exp24Bit/S

Если установленная программа использует дополнительную память (ws_ExpMem) то эта опция может быть использована для того чтобы вынудить WHDLoad резервировать эту память в Chip памяти, Local памяти или 24BitDma памяти. И как результат это приводит к уменьшению скорости выполняемой программы поскольку эта память является "медленной" по сравнению с Fast - памятью. Вы можете использовать утилиты (например SysInfo, GvpInfo,...) чтобы узнать вашу конфигурацию памяти а также ее свойства(скорость).
В общем эти опции предназначены для того чтобы решать проблемы совместимости установленных программ на быстрых машинах, используя медленную память для уменьшения скорости выполнения программы.

ExecuteCleanup

С этой опцией можно определить какая команда будет выполнена WHDLoad при выходе.

ExecuteStartup

С этой опцией может быть определена команда, которая будет выполнена при запуске WHDLoad. Может использоваться, чтобы отключить дополнительные аппаратные средства или программы, которые создают проблемы  с WHDLoad, или остановить стек TCP/IP или другие программы.

FileLog/S

Эта опция нужна для отладочных целей. См. Dump и Logfiles для подробной информации.

FreezeKey/K/N

Если вы используете один из поддержанных "отладчиков(мониторов)" программного обеспечения (HrtMon, или Thrillkill) вы можете использовать эту опцию совместно со slave-ом задав код клавиши rawkey, при нажатии на которую, WHDLOAD войдет в монитор. Для этого, надо чтобы  VBR должен был перемещен WHDLoad (NoVBRMove/S, опция не должна быть установлена, и cpu должен быть по крайней мере 68010 и выше), и монитор должен быть запущен.

MMU/S

Эта опция должна использоваться только на CPU 68030, чтобы использовать особенности MMU (защита памяти, улучшенная опция Cache managment, Snooping, resload_Protect *?). На CPU 68040/060 эта опция не имеет никакого эффекта, потому что MMU будет использоваться по умолчанию. Рекомендуют установить эту опцию в глобальном файле конфигурации на всех системах, имющих CPU 68030 c MMU (но  не 68ec030), потому что это увеличивает стабильность и безопасность системы. Если опция NoMMU/S также установлена, то эта опция не имеет никакого эффекта.

NoAutoVec/S

Если опция установлена , то WHDLoad не будет выходить, если пришло автовекторное перерывание или NMI прерывание (векторы $25-$31 /$64-$7c). Опция должна использоваться на системах , которые создают случайные прерывания, создавая проблемы с WHDLoad (а лучше всего отключать те "железки" которые создают проблемы).

NoCache/S

Если опция включена , то все Cache-и будут выключены.
Эта опция отключает -  BranchCache/S, Cache/S, DCache/S, StoreBuffer/S и SuperScalar/S.

NoFileCache/S

Отключает кэширование файлов в WHDLoad и вынуждает обращаться к OS для каждого действия с диском установленной программы.
Эта опция отключает опцию Preload/S.

NoFilter/S

Отключает звуковой фильтр. Обратите внимание, что эта опция затрагивает инициализацию фильтра только при запуске, если же установленная программа изменяет состояние звукового фильтра, тогда эффекта не будет.

NoFlushMem/S

Обычно WHDLoad очищает память при запуске, чтобы получить ка можно больше свободной памяти для опции Preload/S , т.е. удаляются из памяти все незадействованные ресурсы системы - библиотеки шрифты и т.д. При использование этой опции WHDLoad не будет очищать память. Она может использоваться на системах с большим количеством свободной памяти, чтобы улучшить роботоспособность системы.

NoReq/S

Эта опция может быть использована только если WHDLoad был запущен из командной строки (CLI/Shell). При запуске из под Workbench-а, эта опция не имеет никакого эффекта. Опция отключает в WHDLoad вывод сообщений в новое отдельное окно. И в итоге сообщения будут выводиться в командном окне откуда был запущен WHDLoad.

NoMMU/S

Если эта опция установлена, WHDLOAD не будет использовать MMU. Это - критическая и опасная опция, рекомендованная только для того, чтобы тестировать или делать отладку а не для нормального использования. См. главу MMU для дополнительной информации. Опция замещает опцию MMU/S.

NoTrapHandler/S

Если опция установлена, WHDLOAD будет использовать оригинальную векторную таблицу от OS, которая является активной при старте WHDLoad. При запуске WHDLoad копирует векторную таблицу системы вместо того, чтобы создать свою собственную. Это будет полезно для того, чтобы делать отладку а не для нормальной работы. Предупреждение: если exception handler будет пробовать оратиться через оригинальную векторную таблицу, к любой функции OS или пробует использовать данные OS, то это приведет к перезагрузке (например exec.Alert).

NoVBRMove/S

По умолчанию WHDLoad перемещает векторную таблицу, используя VBR (Векторный основной Регистр) в память начиная от 0 $. Это имеет преимущество, т.к. установленная программа не может изменить векторную таблицу, и это безопасность и стабильность WHDLoad. Некоторые установленные программы не будут правильно работать с перемещенным VBR. Причина этого состоит в том, что установленная программа может сделать обращение, которое не поддерживается перемещенным VBR, или автор патча был слишком тупой, чтобы поддержать перемещенный VBR. В этом случае, эта опция должна быть установлена , что бы препятствовать WHDLoad перемещать VBR.
Другая особенность перемещенного VBR - то, что WHDLoad может проверить клавиатуру каждый раз, когда происходит автовекторное прерывание. С этой проверкой WHDLoad способен выйти из  установленной программы независимо от работы установленной программы, если QuitKey/S или DebugKey/S нажаты (также установленная программа может быть прервана, когда нажата FreezeKey/S).
Для перемещения VBR требуется, чтобы был по крайней мере 68010 и выше. На 68000 эта опция не имеет никакого эффекта, потому что VBR - всегда в 0 $ и не может быть перемещен.

NoWriteCache/S

Эта опция отключает кэширование диска - особенность WHDLoad. Без этой опции WHDLoad будет сам пробовать кэшировать данные, которые будут записываться в памяти и откладывает их запись до выхода из программы, чтобы избежать ненужных обращений к операционной системе.

NTSC/S

Если выбрано, WHDLoad будет использовать режим NTSC (60Hz) для установленной программы. На PAL Амиге, драйвер NTSC монитора должен быть установлен в "DEVS:Monitors / ". 

PAL/S

Если выбрано, WHDLoad будет использовать режим PAL (50Hz) для установленной программы. На NTSC Амиге, драйвер PAL монитора должен быть установлен в "DEVS:Monitors / ".

Preload/S

Если эта опция включена, WHDLoad загрузит в память столько файлов и образов дискет, насколько это возможно (в зависимости от того, сколько памяти свободно при запуске). Это увеличивает скорость выполнения загрузки/подгрузки файлов когда установленная программа запущена, потому это позволяет избегать обращений к OS, чтобы загрузить данные непосредственно от жесткого диска. Эту опцию нужно всегда устанавливать.

QuitKey/K/N

Определяет код клавиши rawkey по нажатию которой произойдет выход из программы, эта опция работает, если только VBR перемещен WHDLoad (NoVBRMove/S, не должен быть установлен, и cpu должен быть по крайней мере 68010 и выше), или сам slave поддерживает это.

ReadDelay/K/N

Эта опция определяет время в 1/50ths секунды, что WHDLoad будет ждать после того, как загрузились данные с дисков, и будет также ждать после того, как произвелась подгрузка. Это решает проблемы с дисководами (например. CD), которые еще что-то делают после чтения (например: Выключают мотор).

RestartKey/K/N

Использование этой опции , позволяет вам задать клавишу rawkey при нажатии на которую WHDLoad, перезапустит установленную программу.

ShowRegs/K/N

Эта опция используется только совместно с опцией Expert/S. С этой опцией программа определяет каким образом WHDLoad будет показывать дамп состояния регистров если Show Regs клавиша в окне сообщения об ошибке WHDLoad будет нажата. WHDLoad будет добавлять к временно сохраненному файлу (в настоящее время T:.whdl_register) определенное количество строк.

Slave

Имя slave-а, который будет использоваться WHDLoad. Slave содержит код интерфейса, который требуется для связи между установленной программой и WHDLoad.

Snoop/S, SnoopAGA/S, SnoopECS/S, SnoopOCS/S

Эти опции включают Cia/Custom register snoop - расширение WHDLoad.

SplashDelay/K/N

Эта опция определяет время в 1/50 секунды, что WHDLoad показывает информационное окно при запуске. Если SplashDelay/K/N ниже чем ReadDelay/K/N, это игнорируется, и окно показано, используя время от ReadDelay/K/N. Окно показывается по крайней мере, пока Preload/S работает.
Если опция не установлена или имеет значение - 0, то никаких окон выводиться не будет.

StoreBuffer/S

Эта опция позволяет включить StoreBuffer на 68060. На других CPU это не имеет никакого эффекта.
Опция также не имеет никакого эффекта, если NoCache/S также установлен.

SuperScalar/S

Эта опция позволяет включить дополнительные возможности 68060 - выполнять множество инструкций за один машинный цикл. На других типах CPU это не имеет никакого эффекта.
Опция также не имеет никакого эффекта, если NoCache/S также установлен.

TimeOut/K/N

Если опция установлена, то это позволяет WHDLoad и установленной программе выходить через определенное время. Требуется, чтобы опция NoVBRMove/S не была установлена и что бы установленная программа не изменяла ciaa.ciatod таймер. Время работы до выхода определяется в 1/50ths секунды. Измерять время работы для демо или игры позволяет опция Expert/S и устанавленная опция DebugKey/K/N, когда вы хотите выйти - нажмите DebugKey. Теперь изучите созданный файл .whdl-registers, и смотрите значение ciaa-регистра. Если частота питающей сети - 50 гц, тогда это - значение, которое Вы должны установить с TimeOut/K/N, если частота - 60 гц, Вы должны умножить значение на 5/6.

WriteDelay/K/N

Эта опция определяет время в 1/50 секунды, что WHDLoad будет ждать после записи чего - нибудь на диск. Эта опция  затрагивает resload_Save *? функцию и особенности FileLog/S. Это имеет смысл, потому что файловые системы обычно сразу не пишут данные на диск. Это занимает некоторое время (1.. 3 секунды) до всех фйловых системах , что бы данные были успешно обновлены. Значение по умолчанию WriteDelay - 150, которое позволяет WHDLoad ждать 3 секунды после того, как данные запишутся на жесткий диск. Вы можете изменить значение  на 0, но тогда Вы никогда не должны выходить из установленной программы сразу после записи, потому что данные не будут записаны правильно на диск.