Benutzung und Optionen

### Benutzung

WHDLoad kann von der Kommandozeile (CLI/Shell) oder von der Workbench aus gestartet werden. Optionen können in der globalen Konfigurationsdatei oder mittels Argumenten oder Toolstypes angegeben werden. Die Slave Option ist dabei erforderlich. Andere Optionen mögen in Abhängigkeit von der verwendeten Hardware oder dem installierten Programm ebenfalls notwendig sein. Wenn WHDLoad von der Kommandozeile gestartet wird, beendet es sich mit den folgenden Rückgabewerten:

- 0 - erfolgreiche Ausführung
- 10 - Fehler, der Slave konnte nicht gestartet werden, eine genauere Fehlermeldung wird angezeigt
- 20 - fataler Fehler, nicht genug freier Speicher
- > 100 - der Slave wurde ausgeführt, er hat sich mit dem Code 100 + TDREASON beendet

### Optionen und globale Konfiguration

Es gibt lokale und globale Optionen. Lokale Optionen werden mittels Argumente auf der Kommandozeile oder durch ToolTypes beim Start von der Workbench übergeben.
Die globale Konfigurationsdatei ist "`S:WHDLoad.prefs`". Sie ist eine normale ASCII-Datei und enthält eine Option pro Zeile. Leere Zeilen und Kommentare werden ignoriert. Ein Kommentar ist zeilenbasiert, beginnt mit dem Zeichen "`;`" und reicht bis zum Ende der Zeile.
Eine Beispielkonfigurationsdatei ist im WHDLoad-Paket enthalten ("`S/WHDLoad.prefs`").

### Liste der verfügbaren Optionen

Es gibt drei Arten von Optionen:

numerisch: | der Wert der Option ist eine Ganzzahl, auf der Kommandozeile können nur dezimale Zahlen verwendet werden, als ToolType auch hexadezimale Zahlen mit einem vorangestellten "$"
Zeichenkette: | der Wert der Option ist eine Zeichenkette
Schalter: | die Option wird eingeschalten wenn angegeben (boolean)

Die Spalte lokal gibt an, ob die Option in der Shell oder als Tooltype angegeben werden kann. Die Spalte global zeigt die Möglichkeit der Verwendung der Option in der globalen Konfigurationsdatei.

Viele Optionen sind im WHDLoadCD32 nicht verfügbar. Die Spalte CD³² gibt an ob die Option in dieser speziellen WHDLoad Version vorhanden ist.

Name der Option | Typ | lokal | global | CD³² | voreingestellt
--- | --- | --- | --- | --- | ---
BranchCache | Schalter | x | - | -
ButtonWait | Schalter | x | x | x
Cache | Schalter | x | - | x
Chk | Schalter | x | - | -
ChkBltHog | Schalter | x | - | -
ChkBltSize | Schalter | x | - | -
ChkBltWait | Schalter | x | - | -
ChkColBst | Schalter | x | - | -
ChkCopCon | Schalter | x | - | -
ChkInts | Schalter | x | - | -
ChipNoCache | Schalter | x | x | -
Config | Zeichenkette | x | - | x | ""
ConfigDelay | numerisch | x | x | x | 400
CoreDump | Schalter | x | - | -
CoreDumpPath | Zeichenkette | - | x | - | PROGDIR:
Custom | Zeichenkette | x | - | x | ""
Custom1 | numerisch | x | - | x | 0
Custom2 | numerisch | x | - | x | 0
Custom3 | numerisch | x | - | x | 0
Custom4 | numerisch | x | - | x | 0
Custom5 | numerisch | x | - | x | 0
D | Schalter | x | - | -
Data | Zeichenkette | x | - | x | -
DebugKey | numerisch | x | x | - | $78 (CAA)
DCache | Schalter | x | - | -
ExecuteCleanup | Zeichenkette | x | x | - | -
ExecuteStartup | Zeichenkette | x | x | - | -
Expert | Schalter | - | x | -
ExpChip | Schalter | x | - | -
ExpLocal | Schalter | x | - | -
Exp24Bit | Schalter | x | - | -
FileLog | Schalter | x | - | -
FreezeKey | numerisch | x | x | - | $78 (CAA)
FullChip | Schalter | x | - | -
MMU | Schalter | x | x | -
NoAutoVec | Schalter | x | x | x
NoCache | Schalter | x | - | x
NoFileCache | Schalter | x | - | x
NoFilter | Schalter | x | x | x
NoFlushMem | Schalter | x | x | -
NoMemReverse | Schalter | - | x | -
NoMMU | Schalter | x | x | -
NoResInt | Schalter | x | - | x
NoReq | Schalter | x | x | x
NoTrapHandler | Schalter | x | - | x
NoVBRMove | Schalter | x | - | x
NoWriteCache | Schalter | x | x | -
NTSC | Schalter | x | x | x
PAL | Schalter | x | x | x
Preload | Schalter | x | - | x
PreloadSize | numerisch | x | - | -
QuitKey | numerisch | x | x | x | $59 (F10)
ReadDelay | numerisch | - | x | x | 0
RestartKey | numerisch | x | x | x | $78 (CAA)
SaveDir | Zeichenkette | x | - | - | -
SavePath | Zeichenkette | x | x | - | -
ShowRegs | Zeichenkette | - | x | - | SYS:Utilities/MultiView
Slave | Zeichenkette | x | - | x | WHDLoad.Slave
Snoop | Schalter | x | - | -
SnoopAGA | Schalter | x | - | -
SnoopECS | Schalter | x | - | -
SnoopOCS | Schalter | x | - | -
SplashDelay | numerisch | x | x | x | 200
StoreBuffer | Schalter | x | - | -
SuperScalar | Schalter | x | - | -
TimeOut | numerisch | x | - | x | 0
WriteDelay | numerisch | x | x | - | 150

#### Beispiel

Workbench: |
CLI oder Shell: | `1> WHDLoad SuperGame.Slave Preload NTSC QuitKey=69 Custom1=1`

### Erklärung der Optionen

#### BranchCache/S

Diese Option schaltet den Branch Cache eines 68060 ein. Auf anderen CPU-Typen ist sie wirkungslos.
Die Option wird ignoriert wenn NoCache/S auch gesetzt ist.

#### ButtonWait/S

Diese Option beeinflusst WHDLoad nicht, kann aber vom Slave ausgelesen werden.
Mit dieser Option kann der Nutzer dem installierten Programm mitteilen, dass diese auf einen Tastendruck warten soll, wenn es ein Bild zeigt und/oder eine Musik abspielt und dies normalerweise nur für eine sehr kurze Zeit tun würde (bedingt durch das schnelle HD/RAM-Laden im Vergleich zum Laden von Diskette).

#### Cache/S

Diese Option schaltet für das installierte Programm den Instruction Cache ein und den Data Cache aus. Wenn die MMU von WHDLoad benutzt wird, wird das Chip-Memory als Cacheable Writethrough (impercise) markiert. Die Option wird ignoriert wenn NoCache/S auch gesetzt ist.

#### Chk/S

Diese Option ist eine Abkürzung und aktiviert die Optionen ChkBltSize/S, ChkBltWait/S und ChkColBst/S.

#### ChkBltHog/S

Diese Option bewirkt, dass WHDLoad ständig prüft, dass das `blthog` (`bltpri`) Bit im `custom.dmacon` Register nicht gesetzt ist. Dies funktioniert nur im Zusammenspiel mit einer der SnoopOCS/SnoopECS/SnoopAGA Optionen.

#### ChkBltSize/S

Diese Option bewirkt, dass WHDLoad überprüft, ob das installierte Programm den Blitter richtig benutzt. Es kontrolliert, dass nur gültige Speicherbereiche für Blitteroperationen verwendet werden. Dies funktioniert nur im Zusammenspiel mit einer der SnoopOCS/SnoopECS/SnoopAGA Optionen.

#### ChkBltWait/S

Diese Option bewirkt, dass WHDLoad überprüft, ob das installierte Programm richtig auf das Ende von Blitteroperationen wartet, bevor es einen neuen Blitterjob startet. Dies funktioniert nur im Zusammenspiel mit einer der SnoopOCS/SnoopECS/SnoopAGA Optionen.

#### ChkColBst/S

Diese Option bewirkt, dass WHDLoad ständig prüft, dass das `color` Bit im `custom.bplcon0` Register gesetzt ist. Dies funktioniert nur im Zusammenspiel mit einer der SnoopOCS/SnoopECS/SnoopAGA Optionen.

#### ChkCopCon/S

Mit dieser Option prüft WHDLoad ständig, dass das installierte Programm nicht den Copper-Zugriff auf die DMA-Register mittels des `custom.copcon` Register erlaubt. Dies funktioniert nur im Zusammenspiel mit einer der SnoopOCS/SnoopECS/SnoopAGA Optionen.

#### ChkInts/S

Diese Option veranlasst bei jedem auftretenden Interrupt eine Prüfung, ob für diesen ein passendes Paar Bits in `intreq` und `intena` gesetzt ist. Wenn dies nicht der Fall ist, wird das installierte Programm mit einer entsprechenden Fehlermeldung beendet. Mittels dieser Funktion ist es leicht möglich Interrupt-Acknowledge Probleme auf schnelleren Rechnern (68040/060) oder fehlerhafte Hardware zu entdecken. Da solch eine Erkennung auch unerwünschter Weise zustande kommen kann, wenn genau während des Ausschaltens der Interrupts durch Setzen von `intena` ein Interrupt auftritt, wurde diese Prüfung als einschaltbare Option realisiert.

#### ChipNoCache/S

Diese Option deaktiviert den Cache für den Chip-Memory (BaseMem). Sie sollte eingeschaltet sein, wenn Hardware verwendet wird, die das Cachen im Chip-Memory nicht erlaubt (z.B. BlizzardPPC Karten) um Geschwindigkeitseinbußen beim installierten Programm zu vermeiden. Siehe auch CPU Cache Verwaltung.

#### Config/K

Mit dieser Option können Eingabefelder definiert werden, die im Informationsfenster beim Start angezeigt werden. Diese Option überschreibt die Variable ws_config im Slave. Die zu verwendende Syntax kann bei ws_config in den Autodocs nachgeschlagen werden.
Wenn weder ws_config im Slave noch Config/K gesetzt ist und der Slave Custom1-5/K/N/ButtonWait/S Variablen mittels der Funktion resload_Control abfragt, wird WHDLoad eine neue Config/K Option im Icon speichern wenn es von der Workbench aus gestartet worden ist. Die Typen der Optionen werden dabei vom aktuellen Inhalt der entsprechenden Custom1-5/K/N Variablen abgeleitet (0-1 Boolean, 2-63 Liste, >63 Binär).

#### ConfigDelay/K/N

Mittels dieser Option kann eingestellt werden, wie lange in 1/50 Sekunden das Informationsfenster beim Start geöffnet bleibt wenn Eingabefelder (siehe Config/K und Expert/S) darauf angezeigt werden. Wenn ConfigDelay/K/N kleiner als ReadDelay/K/N oder SplashDelay/K/N ist hat es keine Funktion. Das Informationsfenster bleibt mindestens solange geöffnet wie Preload/S noch nicht abgeschlossen ist. Wenn ein Eingabefeld betätigt worden ist, beginnt die Wartezeit von ConfigDelay von vorn.
Wenn die Option auf einen Wert von -1 gestellt ist, wird dem Informationsfenster eine Start Schaltfläche hinzugefügt und das Fenster bleibt solange geöffnet, bis diese Schaltfläche betätigt wurde. Das Informationsfenster kann geschlossen werden durch das Drücken einer der Tasten Return, Enter oder Leertaste. Beim Drücken von Esc wird der Preload/S Prozess abgebrochen und WHDLoad unverzüglich beendet.

#### CoreDump/S

Wenn eingeschaltet, erzeugt WHDLoad bei jeden Exit von einem installierten Programm ein Memory- und Register-Dump. Das ist hilfreich zum Extrahieren von Musikmodulen aus dem Memory Dump oder zur Fehlersuche.

#### CoreDumpPath

Das Verzeichnis in dem die von WHDLoad erzeugten Dump Dateien abgelegt werden.

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

Diese Optionen werden nicht von WHDLoad selbst verwendet, können aber vom Slave abgefragt werden um spezielle Einstellungen im Slave zu setzen. Custom/K kann eine Zeichenkette enthalten, Custom1-5/K können auf Ganzzahlen gesetzt werden. In der jeweiligen Dokumentation zu einem installierten Programm ist vermerkt, ob die Install Custom Optionen unterstützt.

#### D/S

Diese Option ist hilfreich zur Fehlersuche. Wenn aktiviert und WHDLoad hat einen unterstützten Software Freezer (HRTmon/TK) im Speicher gefunden, simuliert WHDLoad einen NMI vor der Ausführung der ersten CPU Instruktion die im Slave enthalten ist.

#### Data/K

Mit dieser Option kann ein Verzeichnis angegeben werden, welches als Basisverzeichnis für alle Dateioperationen des installierten Programmes fungiert. Auch mehrere Verzeichnisse, durch ein Komma getrennt, können angegeben werden (deshalb darf ein Verzeichnisname kein Komma enthalten!). Wenn mehrere Verzeichnisse angegeben sind, werden beim Laden alle in der eingestellten Reihenfolge durchprobiert. Das Schreiben erfolgt immer in das erste angegebene Verzeichnis. Diese Option überschreibt die Variable ws_CurrentDir in der Slave-Struktur.

#### DCache/S

Diese Option schaltet den Instruction Cache und den Data Cache für das installierte Programm ein. Wenn die MMU von WHDLoad benutzt wird, wird das Chip-Memory als Cacheable Writethrough (impercise) markiert. Die Option wird ignoriert, wenn NoCache/S auch gesetzt ist.

#### DebugKey/K/N

Setzt den rawkey Code, um das installierte Programm mit Debug (Schreiben der Dump- und Protokoll-Dateien und Exit) zu verlassen. Dies funktioniert nur, wenn der Expert Modus aktiv ist, das VBR von WHDLoad verschoben wurde (NoVBRMove/S nicht aktiv und CPU mindestens 68010) oder der Slave es selbst unterstützt.

#### ExecuteCleanup

Mit dieser Option kann ein Kommando angegeben werden, welches von WHDLoad nach dem Ende des installierten Programmes ausgeführt wird.

#### ExecuteStartup

Mit dieser Option kann ein Kommando angegeben werden, welches vor der Ausführung des installierten Programmes ausgeführt wird. Das kann benutzt werden, um Hardware welche mit WHDLoad zusammen Probleme hat zu deaktivieren, einen TCP/IP-Stack zu stoppen oder ähnliches.

#### Expert/S

Diese Option aktiviert den Experten Modus von WHDLoad. Gegenwärtig beeinflusst es die DebugKey/S Funktion und Warnungen während der Umschaltung zwischen installiertem Programm und dem Betriebssystem (Farbdurchlaufcopperbildschirme). Außerdem erscheint im Experten Modus bei Fehlerrequestern von WHDLoad eine zusätzliche Schaltfläche mit der Aufschrift Show Regs, welche die sofortige Anzeige der Register und Statusinformationen analog dem Register Dump erlaubt. Zusätzlich erscheinen auf dem Informationsfenster beim Programmstart verschiedene Schaltflächen mit denen Optionen die für die Entwicklung und den Test sinnvoll sind beeinflusst werden können. Veränderte Optionen werden im Icon gespeichert sofern WHDLoad von der Workbench gestartet wurde.

#### ExpChip/S, ExpLocal/S, Exp24Bit/S

Wenn das installierte Programm Erweiterungsspeicher verwendet (ws_ExpMem), kann mit der Verwendung dieser Option erreicht werden, dass WHDLoad den Erweiterungsspeicher als Chip Memory, Local Memory oder 24BitDma Memory allokiert. Dies kann zu einer Verringerung der Ausführungsgeschwindigkeit führen, weil die CPU auf den nun verwendeten Speicher nicht mehr so schnell wie im Vergleich zum Fast Memory zugreifen kann. Unter Zuhilfenahme verschiedener Programme (z.B. Scout, SysInfo, GvpInfo, ...) kann man sich Anzeigen lassen, welche Eigenschaften die vorhandenen Speicherbereiche haben.
Diese Optionen haben das Ziel durch eine Verringerung der Performance die Kompatibilität zu alten Spielen auf schnelleren Rechnern zu verbessern.

#### FileLog/S

Diese Option ist für Entwicklungszwecke vorgesehen. Siehe Dump- und Protokoll-Dateien für weitere Informationen.

#### FreezeKey/K/N

Wenn einer der bekannten Software Freezer (HRTmon/TK) verwendet wird, kann mit dieser Option ein rawkey Code gesetzt werden, mit dem jederzeit der Freezer aktiviert werden kann. Dazu muß das VBR von WHDLoad verschoben worden sein (NoVBRMove/S nicht aktiv und CPU mindestens 68010) und ein Freezer muß im Speicher installiert sein.

#### FullChip/S

Wenn diese Option angegeben wird sichert und restauriert WHDLoad nicht nur den Chip-Memory Bereich der im Slave unter ws_BaseMemSize angegeben ist, sondern den gesamten Chip-Memory Bereich (execbase.MaxLocMem). Wenn WHDLoad eine vorhande MMU für den Speicherschutz verwendet deckt das nur Zugriffe ab die von der CPU ausgehen. Nicht abgedeckt werden Zugriffe von Coprozessoren wie Blitter/Disk-DMA. Diese DMA-Zugriffe sind in der Lage das Chip-Memory zu veränderen ohne vom Speicherschutz von WHDLoad entdeckt zu werden. Wenn diese Option angegeben wird, können solche Zugriffe das Betriebssystem nicht beschädigen, da immer das gesamte Chip-Memory gesichert und restauriert wird.
Bevor das installierte Programm startet, wird der zusätzlich gesicherte Chip-Memory Bereich (der Teil zwischen BaseMemSize und MaxLocMem) mit einem speziellen Muster gefüllt. Nachdem das installierte Programm zurückgekehrt ist, prüft WHDLoad ob dieser Bereich verändert worden ist. Falls Speicher geändert wurde zeigt WHDLoad dies mit einem entsprechenden Requester an. Nur in einem solchen Fall wird dieser zusätzliche Speicher in das Memory Dump (nicht in das komplette Dump) geschrieben, was weitere Analysen unterstützt.
Diese Option mag hilfreich sein während der Entwicklung und Fehlersuche um zu vermeiden, dass das Host AmigaOS beschädigt wird, aber auch für unsaubere Installs die nicht alle Bugs des installierten Programmes behoben haben.

#### MMU/S

Diese Option ist auf 68030 Maschinen notwendig um die speziellen MMU-Funktionen von WHDLoad (Speicherschutz, verbesserte CPU-Cache Verwaltung, Snooping, resload_Protect#? Funktionen) nutzen zu können. Auf 68040/68060 ist die Option wirkungslos, da hier die MMU bereits per Voreinstellung immer benutzt wird. Es wird empfohlen diese Option auf allen 68030 Rechnern mit einer funktionierenden MMU (d.h. kein 68EC030) in der globalen Konfigurationsdatei zu setzen, weil es die Sicherheit und Zuverlässigkeit erheblich verbessert. Wenn die Option NoMMU/S ebenfalls gesetzt ist, ist die Option wirkungslos.

#### NoAutoVec/S

Diese Option verhindert, dass WHDLoad das installierte Programm beendet wenn ein unerwarteter Autovector Interrupt oder NMI (Vektoren #25-31 / Adressen $64-$7c) auftritt. Diese Option sollte auf Systemen aktiviert werden, die solche Unterbrechungsanforderungen ständig/zufällig erzeugen (was in der Regel an schlechter Hardware liegt) um zu verhindern, dass das installierte Programm dadurch abbricht.

#### NoCache/S

Wenn eingeschalten, werden alle CPU-Caches ausgeschalten.
Diese Option überschreibt BranchCache/S, Cache/S, DCache/S, StoreBuffer/S und SuperScalar/S.

#### NoFileCache/S

Die Option schaltet den Datei-Cache aus. Dadurch wir jede Datei durch eine Umschaltung auf das Betriebssystem geladen.
Die Option deaktiviert die Option Preload/S.

#### NoFilter/S

Schaltet den Audio-Filter aus. Die Initialisierung erfolgt beim Start des installierten Programmes, wenn dieses die Einstellung des Audio-Filters danach selber wieder verändert, ist die Option wirkungslos.

#### NoFlushMem/S

Normalerweise führt WHDLoad beim Start eine Bereinigung des Speichers durch, bei der unbenutzte Resourcen (Bibliotheken, Schriften, ...) aus dem Speicher entfernt werden. Das Ziel ist, dass möglichst viel freier Speicher für die Preload/S Operation zur Verfügung steht. Wenn die Option aktiviert ist, wird diese Speicherbereinigung nicht durchgeführt. Dies ist sinnvoll auf Systemen mit sehr viel freien Speicher, um zu vermeiden, dass temporär ungenutzte Resourcen später wieder nachgeladen werden müssen.

#### NoMemReverse/S

Wenn diese Option eingestellt ist, fordert WHDLoad Speicher nicht mit der Eigenschaft MEMF_REVERSE an. Es gibt Berichte, dass die Verwendung dieser Eigenschaft auf einigen Konfigurationen (Verwendung von Speicherkarten im PCMCIA Schacht eines A600/A1200 als Fast-RAM, Konfigurationen mit einer M-Tec 1230/8 MB OS3.0) zu Problemen führt. Die Ursachen für diese Probleme sind nicht bekannt. Diese Optionen kann auch helfen, wenn RAM teilweise (bei hohen Adressen) defekt ist, weil mit dieser Option zuerst Speicher an niedriegen Adressen verwendet wird. Bei seltsamen Fehlern kann diese Option einen Versuch wert sein.
Diese Option wurde mit WHDLoad Version 16.8 eingeführt.

#### NoMMU/S

Wenn diese Option gesetzt ist, benutzt WHDLoad eine vorhandene MMU nicht. Diese Option ist kritisch und gefährlich und sollte nur zu Testzwecken verwendet werden, nicht zur normalen Benutzung. Mehr Infos gibt es im Kapitel MMU. Diese Option überschreibt MMU/S.

#### NoReq/S

Diese Option kann nur beim Start von der Kommandozeile (CLI/Shell) verwendet werden. Beim Start von der Workbench hat die Option keine Auswirkungen. Wenn aktiv führt die Option dazu, dass WHDLoad keine Fehlerfenster mehr öffnet, sondern die Ausgaben direkt in das CLI/Shell-Fenster ausgibt von welchem aus WHDLoad gestartet wurde.

#### NoResInt/S

Diese Option deaktiviert alle Interrupts während der Ausführung von Resload-Funktionen. Normalerweise sind Interrupts währenddessen erlaubt. Durch Interrupts kann Musik abgespielt werden, Grafikoperation können ausgelöst werden oder andere Vorgänge gesteuert werden. Wenn sie ausgeschaltet sind kann es deshalb zu Fehlern, Störungen oder Beeinträchtigungen kommen. Fehlerhaft arbeitende Interrupts können aber auch interne Datenbereiche von WHDLoad zerstören, was zu schwerwiegenden Fehlern in WHDLoad und auch zum Absturz des Gesamtsystem führen kann. Mit dieser Option können solche Probleme identifiziert werden. Wenn sich eine Install fehlerhaft verhält ohne diese Option, aber mit dieser Option gesetzt einwandfrei funktioniert, liegt die Ursache mit sehr hoher Wahrscheinlichkeit an der verwendeten Interruptprogrammierung. In solchen Fällen muss die Install korrigiert werden.
Beginnend mit WHDLoad Version 17.0 wird beim Eintreten in Resload Funktionen auch geprüft ob der Blitter noch aktiv ist. Wenn dies der Fall ist, beendet sich WHDLoad mit einer entsprechenden Fehlermeldung.

#### NoTrapHandler/S

Wenn diese Option eingeschaltet ist, verwendet WHDLoad die originale Vektortabelle des Betriebssystems als Voreinstellung für das installierte Programm. Dies kann für Testzwecke in Ausnahmefällen hilfreich sein, sollte aber nicht für die alltägliche Benutzung verwendet werden. Warnung: wenn ein Handler für Ausnahmebedingungen mittels der originalen Vektortabelle aufgerufen wird und dieser versucht Betriebssystemfunktionen oder -datenstrukturen zu verwenden, wird dies die Maschine zum Absturz bringen (z.B. exec.Alert).

#### NoVBRMove/S

Voreingestellt verschiebt WHDLoad die Vektortabelle mittels des VBR (Vector Base Register) auf eine von $0 verschiedene Adresse. Dies hat den Vorteil, dass das installierte Programm diese Vektortabelle nicht verändern kann, was die Sicherheit und Stabilität von WHDLoad erheblich verbessert. Einige Installs mögen mit einer verschobenen Vektortabelle nicht korrekt zusammen arbeiten. Die Ursache dafür kann sein, dass das installierte Programm irgendwelche seltsamen Dinge anstellt die von der verschobene Vektortabelle nicht unterstützt werden oder dass der Autor der Install einfach zu faul war eine verschobene Vektortabelle zu unterstützen. In solch einem Fall muss die Option NoVBRMove gesetzt werden, welche WHDLoad anweist, die Vektortabelle auf Adresse $0 zu legen.
Eine weitere positive Eigenschaft einer verschoben Vektortabelle ist, dass WHDLoad Eingaben von der Tastatur bei jedem Auftreten eines Autovektor In terrupt prüfen kann. Damit ist WHDLoad in der Lage, unabhängig von installierten Programm und Slave, das installierte Programm zu unterbrechen oder zu beenden wenn ein QuitKey/S, DebugKey/S oder FreezeKey/S gedrückt wurde.
Die Fähigkeit die Vektortabelle zu verschieben erfordert mindestens ein 68010 Prozessor. Auf einem 68000 ist die Option wirkungslos, die Vektortabelle beginnt hier immer bei Adresse $0.

#### NoWriteCache/S

Diese Option deaktiviert den Schreibcache von WHDLoad. Ohne diese Option versucht WHDLoad bei Schreibzugriffen diese im Hauptspeicher zwischenzuspeichern und erst beim Beenden des installierten Programmes diese physisch durchzuführen. Dies hat zum Ziel Umschaltungen auf das Betriebssystem zu vermeiden.

#### NTSC/S

Wenn aktiv, verwendet WHDLoad einen NTSC-Bildschirm (60 Hz) für das installierte Programm. Auf einem PAL Amiga muss dazu der NTSC Monitortreiber in "`DEVS:Monitors/`" installiert sein.

#### PAL/S

Wenn aktiv, verwendet WHDLoad einen PAL-Bildschirm (50 Hz) für das installierte Programm. Auf einem NTSC Amiga muss dazu der PAL Monitortreiber in "`DEVS:Monitors/`" installiert sein.

#### Preload/S

Wenn diese Option eingeschalten ist, versucht WHDLoad beim Start soviele Dateien und Diskettenabbilder wie möglich in den Hauptspeicher zu laden. Dies verbessert die Ablaufgeschwindigkeit, da Umschaltungen auf das Betriebssystem zum Laden von Daten vermieden werden können. Diese Option sollte eigentlich immer eingeschalten sein.

#### PreloadSize/N

Diese Option informiert WHDLoad darüber, wieviel Daten vorab geladen werden sollen. Diese Information wird ausschließlich für den Ladefortschrittsbalken verwendet. Wenn WHDLoad von der Workbench aus gestartet wurde, setzt/aktualisiert WHDLoad diese Option selbstständig als Tooltype. PreloadSize ist nicht nur die Summe aller Größen aller Dateien.

#### QuitKey/K/N

Setzt den rawkey Code um das installierte Programm zu Beenden. Dies funktioniert nur, wenn das VBR von WHDLoad verschoben wurde (NoVBRMove/S nicht aktiv und CPU mindestens 68010) oder es der Slave selbst unterstützt.

#### SaveDir/K

Diese Option spezifiziert ein Verzeichnis für alle Schreiboperationen in Verbindung mit der Option SavePath/K. Manchmal mag es erforderlich sein den Verzeichnisname explizit zu setzen anstatt ihn von WHDLoad bestimmen zu lassen. Zum Beispiel wenn mehrere Versionen eines Spiels denselben Slave benutzen aber inkompatible Speicherdateien verwenden. Auch kann es günstig sein, wenn der Slave nicht den Namen des Spiels enthält und der Name des Slaves nicht als Verzeichnisname erwünscht ist.

#### SavePath/K

Diese Option veranlasst WHDLoad alle Schreiboperationen des installierten Programmes in ein seperates Verzeichnis umzuleiten. Das angegebene Verzeichis gibt das Basisverzeichnis für alle installierten Programme an. Jedes installierte Programm bekommt ein eigenes Unterverzeichnis in diesem Basisverzeichnis. Das Unterverzeichnis wird von WHDLoad angelegt wenn es noch nicht vorhanden ist (bei der ersten Schreiboperation). Der Name des Unterverzeichnises kann mit der Option SaveDir/K angegeben werden. Wenn der Name nicht angegeben ist leitet ihn WHDLoad von den Informationen in Slave ab (ws_name oder vom Dateiname des Slaves).
Intern wird dieses Speicherverzeichnis als ein weiteres Data Verzeichnis verwaltet.

#### ShowRegs/K/N

Diese Option stellt bei aktivem Schalter Expert/S ein, welches Programm für die Anzeige der Statusinformationen beim Betätigen der Show Regs-Schaltfläche benutzt wird. WHDLoad hängt an die angegebene Zeichenkette den Dateinamen für die temporär erzeugte Datei (gegenwärtig `T:.whdl_register`) an und führt das Programm dann aus.

#### Slave

Der Name des Slaves der von WHDLoad verwendet werden soll. Der Slave enthält den Schnittstellencode der für die Kommunikation zwischen dem installierten Programm und WHDLoad notwendig ist.

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

Diese Optionen aktivieren den Cia/Custom Register Snoop Modus von WHDLoad.

#### ReadDelay/K/N

Mit dieser Option lässt sich die Zeit in 1/50 Sekunden einstellen, die WHDLoad wartet, nachdem es Daten von Disk gelesen hat (während der Ausführung des installierten Programmes). Die Zeit wird auch gewartet nachdem die Preload Operation abgeschlossen wurde. Die Wartezeit vermeidet Probleme im Zusammenhang mit Laufwerken (z.B. CDROM) welche nach der Leseoperation noch bestimmte Aktionen durchführen wollen (z.B. den Motor ausschalten).

#### RestartKey/K/N

Setzt den rawkey Code um das installierte Programm neu zu starten. Dies funktioniert nur, wenn das VBR von WHDLoad verschoben wurde (NoVBRMove/S nicht aktiv und CPU mindestens 68010).

#### SplashDelay/K/N

Mit dieser Option lässt sich die Zeit in 1/50 Sekunden einstellen, die festlegt, wie lange WHDLoad beim Start das Informationsfenster anzeigt. Wenn SplashDelay/K/N kleiner als ReadDelay/K/N eingestellt ist, wird das Fenster solange wie bei ReadDelay/K/N eingestellt angezeigt. Das Fenster wird auch mindestens solange angezeigt wie Preload/S arbeitet.
Wenn die Option auf 0 gesetzt wird, wird kein Informationsfenster geöffnet. Wenn die Option auf einen Wert von -1 gestellt ist, wird dem Informationsfenster eine Start Schaltfläche hinzugefügt und das Fenster bleibt solange geöffnet, bis diese Schaltfläche betätigt wurde. Das Informationsfenster kann geschlossen werden durch das Drücken einer der Tasten Return, Enter oder Leertaste. Beim Drücken von Esc wird der Preload/S Prozess abgebrochen und WHDLoad unverzüglich beendet. Siehe auch ConfigDelay/K/N.

#### StoreBuffer/S

Diese Option schaltet den Store Buffer des 68060 ein. Auf anderen Prozessoren ist die Option wirkungslos.
Diese Option hat keine Funktion wenn NoCache/S auch gesetzt ist.

#### SuperScalar/S

Diese Option aktiviert die Fähigkeit des 68060 mehrere Instruktionen in einem Maschinenzyklus zu verarbeiten. Auf anderen Prozessoren ist die Option wirkungslos.
Diese Option hat keine Funktion wenn NoCache/S auch gesetzt ist.

#### TimeOut/K/N

Mit dieser Option kann eingestellt werden, dass WHDLoad das installierte Programm nach einer vorgegebenen Zeitdauer beendet. Voraussetzung ist, dass die Option NoVBRMove/S nicht aktiv ist und das installierte Programm den `ciaa.ciatod` Timer nicht verändert. Die Zeitdauer wird in 1/50 Sekunden angegeben. Um diese Zeitdauer für ein Spiel oder eine Demo zu bestimmen setzt man die Optionen Expert/S und DebugKey/K/N, und drückt beim Erreichen des Punktes an dem das Programm beendet werden soll den DebugKey. In der erzeugten `.whdl-register` Datei lässt sich nun die Zeit bei `ciaa-event` ablesen. Wenn die Netzfrequenz 50 Hz beträgt, dann ist dies der Wert der bei TimeOut/K/N anzugeben ist. Bei 60 Hz Netzfrequenz ist der Wert mit 5/6 zu multiplizieren.

#### WriteDelay/K/N

Die Option stellt in 1/50 Sekunden ein, wie lange WHDLoad nach dem physischen Schreiben von Daten warten soll. Betroffen sind alle resload_Save#? Funktionen und die FileLog/S Operation. Die Wartezeit ist notwendig, weil Dateisysteme für gewöhnlich die Daten nicht unmittelbar auf Disk schreiben. Es dauert eine gewisse Zeit (1...3 Sekunden) bis alle Strukturen des Dateisystems erfolgreich aktualisiert wurden. Der voreingestellte Wert ist 150, was eine Wartezeit von 3 Sekunden bedeutet. Der Wert kann auch auf 0 gesetzt werden, aber dann sollte ein laufendes installiertes Programm nie mit einem Reset oder dem Netzschalter beendet werden, da gespeicherte Daten möglicherweise noch nicht korrekt auf Disk geschrieben wurden.