### Použitie a voľby

WHDLoad môže byť spustený pomocou príkazového riadku (CLI/Shell) alebo z Workbench-u. Voľby môžu byť zadané v globálnom konfiguračnom súbore alebo ako ToolType alebo ako argumenty v príkazovom riadku. Voľba Slave je obvykle vyžadovaná. Ostatné voľby nie sú povinné, záleží na vašom hardvéri a na programe, ktorý chcete pomocou WHDLoad spustiť. Ak bol WHDLoad spustený z príkazového riadku, po jeho ukončení poskytuje nasledujúce návratové kódy:

- 0 - úspešné spustenie
- 10 - chyba, Slave nemohol byť spustený, je zobrazené chybové hlásenie
- 20 - fatálna chyba, nie je dosť pamäte
- > 100 - Slave síce bol spustený, bol ale z nejakého dôvodu ukončený (číslo je súčet 100 + TDREASON)

Existujú voľby lokálne a globálne. Lokálne sa špecifikujú ako argumenty prostredníctvom príkazového riadku, alebo ako ToolType pri štarte z Workbench-u.
Súbor, kde sú uložené globálne voľby, je "`S:WHDLoad.prefs`". Je to štandardný ASCII súbor a obsahuje jednu voľbu na riadok. Prázdne riadky a komentáre sú ingorované. Komentár sa označuje znakom "`;`".
Ukážkový konfiguračný súbor (súbor s globálnymi voľbami) sa nachádza v balíčku WHDLoad ("`S/WHDLoad.prefs`").

### Prehľad

#### Zoznam všetkých volieb

Názov voľby | Typ | Lokálna | Globálna | štandardná hodnota
--- | --- | --- | --- | ---
BranchCache | prepínač | x | - |
ButtonWait | prepínač | x | x |
Cache | prepínač | x | - |
Chk | prepínač | x | - |
ChkBltHog | prepínač | x | - |
ChkBltSize | prepínač | x | - |
ChkBltWait | prepínač | x | - |
ChkColBst | prepínač | x | - |
ChkCopCon | prepínač | x | - |
ChkInts | prepínač | x | - |
ChipNoCache | prepínač | x | x |
CoreDump | prepínač | x | - |
CoreDumpPath | reťazec | - | x | PROGDIR:
Custom | reťazec | x | - |
Custom1 | číselná | x | - |
Custom2 | číselná | x | - |
Custom3 | číselná | x | - |
Custom4 | číselná | x | - |
Custom5 | číselná | x | - |
D | prepínač | x | - |
Data | reťazec | x | - | -
DebugKey | číselná | x | x | -
DCache | prepínač | x | - |
ExecuteCleanup | reťazec | x | x | -
ExecuteStartup | reťazec | x | x | -
Expert | prepínač | - | x |
ExpChip | prepínač | x | - |
ExpLocal | prepínač | x | - |
Exp24Bit | prepínač | x | - |
FileLog | prepínač | x | - |
FreezeKey | číselná | x | x |
MMU | prepínač | x | x |
NoAutoVec | prepínač | x | x |
NoCache | prepínač | x | - |
NoFileCache | prepínač | x | - |
NoFilter | prepínač | x | x |
NoFlushMem | prepínač | x | x |
NoMMU | prepínač | x | x |
NoTrapHandler | prepínač | x | - |
NoVBRMove | prepínač | x | - |
NoWriteCache | prepínač | x | x |
NTSC | prepínač | x | x |
PAL | prepínač | x | x |
Preload | prepínač | x | - |
QuitKey | číselná | x | x | -
ReadDelay | číselná | - | x | 0
RestartKey | číselná | x | x | -
ShowRegs | reťazec | - | x | SYS:Utilities/MultiView
Slave | reťazec | x | - | WHDLoad.Slave
Snoop | prepínač | x | - |
SnoopAGA | prepínač | x | - |
SnoopECS | prepínač | x | - |
SnoopOCS | prepínač | x | - |
SplashDelay | číselná | - | x | 200
StoreBuffer | prepínač | x | - |
SuperScalar | prepínač | x | - |
TimeOut | číselná | x | - | 0
WriteDelay | číselná | x | x | 150

#### Typy volieb

číselná: | parametrom sú celé čísla, cez príkazový riadok musíte použiť desiatkovú sústavu, cez ToolType je možné použiť hexadecimálnu hodnotu (so symbolom "`$`")
reťazec: | parametrom je textový reťazec
prepínač: | voľba sa aktivuje, ak použijete (napíšete) jej názov

#### Príklad:

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

### Popis všetkých volieb:

#### ButtonWait/S

Táto voľba neovplyvňuje WHDLoad samotný, ale môžete ju použiť v Slave.
Význam tejto voľby spočíva v tom, že pri jej zvolení sa zapína čakanie na stlačenie joysticku alebo myši v určených miestach, takže si užívateľ môže napr. prehliadnuť obrázok alebo vypočuť hudbu, ktorá by inak kvôli rýchlemu nahrávaniu nezaznela celá.

#### BranchCache/S

Táto voľba zapne branch cache pre 68060. Na ostatných CPU nemá žiaden efekt.
Voľba nemá účinok, ak je nastavená voľba NoCache/S.

#### Cache/S

Táto voľba zapne cache pre inštrukcie a vypne cache pre dáta. Ak WHDLoad používa MMU, označí Chip RAM ako Cacheable Writethrough (impercise).
Voľba nemá účinok, ak je nastavená voľba NoCache/S.

#### Chk/S

Táto voľba je skratka pre aktiváciu nasledovných volieb: ChkBltSize/S, ChkBltWait/S, ChkColBst/S.

#### ChkBltHog/S

Táto voľba bude neustále testovať, či nie je aktivovaný `blthog` (`bltpri`) bit v custom.dmacon registri. Táto voľba funguje len v kombinácii s niektorou z nasledujúcich volieb: SnoopOCS/SnoopECS/SnoopAGA.

#### ChkBltSize/S

Táto voľba bude testovať, či nainštalovaný program používa blitter správne, aby mohli byť blitter-operácie použité len skutočne existujúce oblasti pamäte. Táto voľba funguje len v kombinácii s niektorou z nasledujúcich volieb SnoopOCS/SnoopECS/SnoopAGA.

#### ChkBltWait/S

Táto voľba bude testovať, či nainštalovaný program správne čaká na dokončenie súčasnej operácie blitteru pred započatím ďalšej. Táto voľba funguje len v kombinácii s niektorou z nasledujúcich volieb: SnoopOCS/SnoopECS/SnoopAGA.

#### ChkColBst/S

Táto voľba bude testovať, či je `color` bit v registri `custom.bplcon0` nastavený po celú dobu. Táto voľba funguje len v kombinácii s niektorou z nasledujúcich volieb: SnoopOCS/SnoopECS/SnoopAGA.

#### ChkCopCon/S

Táto voľba bude testovať, či nainštalovaný program nepovoľuje prístup k DMA registrom pre copper prostredníctvom `custom.copcon`. Táto voľba funguje len v kombinácii s niektorou z nasledujúcich volieb: SnoopOCS/SnoopECS/SnoopAGA.

#### ChkInts/S

Táto voľba bude pri každom prerušení kontrolovať, či v `intreq` a `intena` je správne nastavenie pre toto prerušenie. Ak nie, program bude ukončený s príslušnou hláškou. Táto voľba umožňuje ľahkú detekciu problémov aktivácie prerušenia na rýchlejších strojoch (68040/060) alebo na zlom hardvéri, ktoré spôsobuje nechcené prerušenia. Kvôli faktu, že táto situácia môže nastať i vtedy, ak sú prerušenia zablokované nastavením `intena` v rovnakom čase, kedy sa prerušenie uskutoční, bola táto funkcia implementovaná ako prepínač.

#### ChipNoCache/S

Táto voľba vypína možnosť cache Chip RAM (BaseMem). Mala by byť použitá na hardvér, ktorý neumožňuje použiť cache Chip RAM (napríklad dosky Blizzard PPC), čím sa eliminuje spomalenie rýchlosti chodu nainštalovaného programu. Pozrite sa na Prácu s CPU Cache.

#### CoreDump/S

Ak je nastavená, pri každom ukončení nainštalovaného programu, bude WHDLoad vytvárať výpis pamäte a registrov. To môže byť užitočné pri hľadaní chýb, či extrahovaní hudby z hier.

#### CoreDumpPath

Cieľový adresár pre všetky výpisy vytvárané programom WHDLoad.

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

Tieto voľby nie sú používané samotným programom WHDLoad, ale môže ich využívať Slave na ovládanie rôznych vecí (napr. zapínanie traineru). Custom/K môže obsahovať reťazec a Custom1-5/K môže obsahovať len číselnú hodnotu. Špecifické využitie týchto volieb hľadajte v ReadMe súboroch, ktoré by mali byť v každom archíve s inštaláciou.

#### D/S

Táto voľba je užitočná pre odlaďovanie programu. Ak je voľba zapnutá a v pamäti je nájdený podporovaný softvérový freezer (Hrtmon alebo Thrill Kill), WHDLoad bude simulovať NMI tlačítko pred vykonaním prvej CPU inštrukcie v Slave.

#### Data/K

Použitím tejto voľby môžete nastaviť adresár, ktorý WHDLoad použije na načítanie dát pre nainštalovaný program. Táto voľba ruší hodnotu ws_CurrentDir, ktorá je zadaná v Slave.

#### DCache/S

Táto voľba zapne inštrukčnú a dátovú cache pre inštalovaný program. Ak WHDLoad používa MMU, označí pamäť Chip ako Cacheable Writethrough (impercise).
Voľba stráca účinok, ak je nastavená voľba NoCache/S.

#### DebugKey/K/N

Nastaví rawkey kód na únik z programu so zapísaním súborov CoreDump. Funguje, len ak je zapnutý expert mód, ak je VBR presunuté programom WHDLoad (NoVBRMove/S je vypnuté a CPU je minimálne 68010) , alebo ak to podporuje sám Slave.

#### ExecuteCleanup

Pomocou tejto voľby môžete zadať príkaz, ktorý bude spustený po ukončení programu WHDLoad.

#### ExecuteStartup

S touto voľbou môžete nastaviť príkaz, ktorý bude vykonaný pri štarte programu WHDLoad. Môžete to použiť napr. na vypnutie hardvéru, ktorý spôsobuje problémy, či zastaviť TCP/IP stack a podobne.

#### Expert/S

Táto voľba zapne tzv. expert mód. Momentálne ovplyvňuje voľbu DebugKey/S a zobrazovanie varovaní počas prepínania medzi nainštalovaným programom a OS (farebné copper efekty). Ak expert mód nie je aktívny, voľba DebugKey/S nie je k dispozícii. V expert móde sa taktiež zobrazuje ďalšie tlačítko pri niektorých chybových hláseniach. Toto tlačítko sa nazýva Show Regs a dovoľuje zobraziť registre a rozličné informácie podobným spôsobom, ako je to zapísané vo výpise registrov.

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

Ak nainštalovaný program používa expansion memory (ws_ExpMem), môžu sa tieto voľby používať na donútenie programu WHDLoadu, aby vyhradil požadovanú oblasť pamäte v Chip RAM, v lokálnej pamäti alebo v 24BitDma pamäti. To môže mať za následok zníženie výkonu, pretože prístup k špecifikovanej pamäti môže byť pomalší než k Fast RAM. Môžete použiť niektoré utility (napr. SysInfo, GVPInfo,...) na test možností vašej pamäte.
Tieto voľby sa používajú na zlepšenie kompatibility nainštalovaných programov na rýchlych strojoch tak, že spomalia chod programu použitím pomalej pamäte.

#### FileLog/S

Voľba slúži len na odlaďovacie účely. V kapitole Výpisy a záznamy nájdete viac informácií.

#### FreezeKey/K/N

Ak používate jeden z podporovaných freezerov (HrtMon or Thrillkill), môžete použiť túto voľbu na nastavenie rawkey kódu klávesy,ktorou možno vstupovať cez WHDLoad do freezeru. Aby to fungovalo, VBR musí byť presunuté programom WHDLoad (to znamená, že nie je zapnutá voľba NoVBRMove/S a CPU musí byť aspoň 68010) a zárovaň musí byť spustený i freezer.

#### MMU/S

Táto voľba musí byť nastavená na počítačoch s CPU 68030, aby sa aktivovali funkcie súvisiace s MMU (ochrana pamäte, vylepšený cache manažment, Snooping, funkcia resload_Protect#?). Na 68040/060 táto voľba stráca zmysel, pretože MMU je na týchto systémoch zapnuté štandartne. Doporučujeme túto voľbu nastaviť v globálnom konfiguračnom súbore na všetkých systémoch s CPU 68030 a funkčným MMU (to znamená NIE pre CPU 680EC30), pretože to významne zlepší stabilitu a bezpečnosť systému. Ak je súčasne nastavená i voľba NoMMU/S, stráca voľba MMU účinok.

#### NoAutoVec/S

Táto voľba spôsobí, že WHDLoad sa neukončí, ak sa vyskytne neočakávané prerušenie autovektoru alebo NMI (vektory #25-31 / $64-$7c). Voľba by mala byť zapnutá na systémoch/hardvéri, ktoré takéto prerušenia náhodne generujú a tým WHDLoad zbytočne ukončujú (a ešte lepšie je odpojiť rozbitý hardvér!).

#### NoCache/S

Voľba vypne všetky cache.
Táto voľba má väčšiu prioritu než BranchCache/S, Cache/S, DCache/S, StoreBuffer/S a SuperScalar/S.

#### NoFileCache/S

Vypína vo WHDLoad cache pre súbory, čo spôsobí, že pri každej disketovej operácii sa WHDLoad prepne do OS.
Táto voľba ruší Preload/S.

#### NoFilter/S

Vypína audio-filter. Táto voľba však funguje len pri štarte, čo znamená, že ak nainštalovaný program zmení stav audio-filtru, stráca táto voľba účinok.

#### NoFlushMem/S

Bežne WHDLoad čistí pamäť pri štarte, aby získal čo najviac voľnej pamäte pre Preload/S. To odstráni všetky nepoužívané zdroje z pamäti, akými sú napr. knižnice a fonty. Použitím tejto voľby nebude WHDLoad nič z pamäte odstráňovať. Môžete ju použiť na systémoch, kde je pamäte dostatok, čím docielite vyšší výkon systému.

#### NoMMU/S

Ak je voľba zapnutá, WHDLoad nebude používať MMU. Je to nebezpečná voľba, doporučená len na testovacie účely a hľadanie chýb a NIE pre bežné použitie! Táto voľba má vyššiu prioritu ako voľba MMU/S.
Viac informácii nájdete v kapitole MMU.

#### NoTrapHandler/S

Ak je voľba zapnutá, WHDLoad použije pôvodnú tabuľku vektorov z OS, ktorá je aktívna pri štarte WHDLoad. Pri štarte WHDLoad nakopíruje systémovú tabuľku vektorov, namiesto vytvorenia si svojej vlastnej tabuľky. Toto je použiteľné len pri odlaďovaní a NIE pre normálne použitie.
Varovanie: ak sa ovládač výnimiek (exception handler), volaný cez pôvodnú tabuľku vektorov, pokúsi vyvolať akúkoľvek z funkcií OS, alebo sa pokúsi použiť dátové štruktúry OS, systém sa zrúti (napr. exec.Alert)!

#### NoVBRMove/S

Štandartne WHDLoad presáva VBR z adresy $0 do inej oblasti pamäte. To má tú výhodu, že nainštalovaný program nemôže zmeniť tabuľku vektorov, čo značne zvyšuje bezpečnosť a stabilitu programu WHDLoad. Niektoré nainštalované programy a Slave však nefungujú správne s presunutým VBR. Príčinou je, že nainštalované programy môžu robiť „podivnú“ činnosť, ktorá nepodporuje presunutie VBR alebo autor inštalačky proste nebol dostatočne schopný na to, aby počítal s presunutým VBR. V takom prípade musí byť použitá táto voľba, ktorá zabráni programu WHDLoad, aby presúval VBR.
Ďalšou vlastnosťou presunutia VBR je, že WHDLoad dokáže testovať klávesnicu zakaždým, keď sa prihodí výnimka autovektoru. Týmto testom je WHDLoad schopný ukončiť nainštalovaný program nezávisle na schopnostiach programu/Slave pri stlačení QuitKey/S alebo DebugKey/S (podobne môže byť program prerušený pomocou FreezeKey/S klávesy).
Na presunutie VBR je nutné mať aspoň CPU 68010. Na 68000 táto voľba nemá účinok, pretože VBR je vždy na $0 a nemôže sa presunúť.

#### NoWriteCache/S

Táto voľba vypína schopnosť programu WHDLoad použiť cache pri zapisovaní súborov. Bez tejto voľby WHDload používa cache pre všetky zápisy na disk tak, že ich uloží najprv do pamäte. Tým pozdrží skutočný zápis až do doby, kým program nebude ukončený a tak sa WHDLoad vyvaruje zbytočných prepínaní do operačného systému ešte počas chodunainštalovaného programu.

#### NTSC/S

Ak je voľba zapnutá, WHDLoad použije NTSC displej (60Hz) pre nainštalovaný program. Na systéme s PAL Amigou musí byť nainštalovaný ovládač pre NTSC monitor a to do "`DEVS:Monitors/`".

#### PAL/S

Ak je voľba nastavená, WHDLoad použije PAL displej (50Hz) pre nainštalovaný program. Na systéme s NTSC Amigou musí byť nainštalovaný ovládač pre PAL monitor a to do "`DEVS:Monitors/`".

#### Preload/S

Ak je voľba zapnutá, WHDLoad sa po štarte pokúša nahrať čo najviac súborov a diskových obrazov do pamäte (závisí to od množstva voľnej pamäte). To zvýši výkon nainštalovaného programu, pretože nie je nutné prepínať sa do OS vždy, keď je treba nahrávať dáta priamo z harddisku. Táto voľba by mala byť VŽDY zapnutá.

#### QuitKey/K/N

Nastavuje rawkey kód klávesy, ktorá slúži na ukončenie programu. Toto funguje, len ak je VBR presunutá pomocou programu WHDLoad alebo ak to podporuje samotný Slave (voľba NoVBRMove/S nesmie byť zapnutá a CPU musí byť aspoň 68010).

#### ReadDelay/K/N

Táto voľba špecifikuje dobu v 1/50 sekundy, ktorú WHDLoad počká po nahraní dát z disku a tiež počká túto dobu po dokončení Preload operácie. To rieši problémy s pripojenými mechanikami (napr. CD-ROM), ktoré po načítaní dát ešte vykonávajú nejakú činnosť, napr. vypnutie motoru.

#### RestartKey/K/N

Pomocou tejto voľby nastavíte rawkey kód klávesy, pomocou ktorej reštartujete nainštalovaný program.

#### ShowRegs/K/N

Táto voľba je použiteľná len v kombinácii s voľbou Expert/S. S touto voľbou môžete určiť program na zobrazenie výpisu registrov pri stlačení tlačítka Show Regs v chybovom hlásení. WHDLoad v príkazovom riadku pripojí meno súboru dočasne uloženého výpisu (T:.whdl_register).

#### Slave

Meno slave, ktorý by mal WHDLoad použiť. Slave obsahuje kód, ktorý je umožňuje komunikáciu medzi nainštalovaným programom a WHDload.

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

Tieto voľby zapnú Cia/Custom register snoop schopnosti programu WHDLoad.

#### SplashDelay/K/N

TTáto voľba špecifikuje dobu v 1/50 sekundy, počas ktorej WHDLoad ukazuje informačné okno pri štarte. Ak je hodnota SplashDelay/K/N menšia než ReadDelay/K/N, bude táto voľba ignorovaná a okno bude zobrazené po dobu, ako je určené pomocou voľby ReadDelay/K/N. Informačné okno sa zobrazí minimálne na dobu, kým sa nenahrajú všetky súbory do pamäti pomocou operácie Preload/S. Ak SplashDelay=0, nebude zobrazené žiadne informačné okno.

#### StoreBuffer/S

Táto voľba zapína StoreBuffer na procesoroch 68060. Na ostatných CPU nemá žiaden efekt.
Účinok nemá ani v tom prípade, ak je zapnutá voľba NoCache/S.

#### SuperScalar/S

Táto voľba zapína v procesoroch 68060 schopnosť vykonávať viac inštrukcií počas jedného cyklu. Na ostatných CPU nemá žiadny efekt.
Účinok nemá ani v tom prípade, ak je zapnutá voľba NoCache/S.

#### TimeOut/K/N

V prípade nastavenia tejto voľby, WHDLoad ukončí nainštalovaný program po špecifikovanom šase. Na tieto účely sa požaduje, aby nebola zároveň nastavená voľba NoVBRMove/S, a aby nainštalovaný program nemodifikoval ciaa.ciatod časovač. Doba musí byť zadaná v 1/50 sekundy. Na zistenie potrebného času zapnite voľbu Expert/S a nastavte DebugKey/K/N, Keď dosiahnete moment, kedy má program skončiť, stlačte debug klávesu. Teraz si prezrite vytvorený .whdl-register súbor a hľadajte hodnotu ciaa-event. Ak frekvencia vášho zdroja je 50 Hz, potom nájdenú hodnotu môžete rovno použiť, ak je frekvencia 60 Hz, musíte hodnotu vynásobiť hodnotou 5/6.

#### WriteDelay/K/N

Táto voľba špecifikuje dobu v 1/50 sekundy, ktorú bude WHDLoad čakať po zapísaní čohokoľvek fyzicky na disk. Platí pre všetky resload_Save#? funkcie a voľbu FileLog/S. Toto má význam kvôli tomu, že filesystémy väčšinou nezapisujú dáta na disk okamžite. Trvá nejakú dobu (1 až 3 sek), kým sa uložia všetky štruktúry filesystému. Štandartná hodnota WriteDelay je 150, čo spôsobí, že WHDLoad počká 3 sekundy po každom zápise na harddisk. Môžete túto hodnotu nastaviť na nulu, ale potom by ste nemali nikdy ukončovať program resetom, pretože zapísané dáta nemusia byť zapísané na disk kompletne.