Použití

WHDLoad může být spuštěn z příkazové řádky (CLI/Shell) nebo z Workbenche. Volby můžou být zadávány v globálním konfiguračním souboru nebo jako tooltypes nebo argumenty v příkazové řádce. Volba Slave je vyžadovaná. Ostatní volby nemusí být nutné, záleží na vašem hardware a programu který spouštíte přes WHDLoad. Když je WHDLoad spuštěn z příkazové řádky, WHDLoad se ukončuje s následujícími návratovými kódy:

Volby a globální konfigurace

Existují lokální a globální volby. Lokální volby jsou specifikované jako argumenty přes příkazovou řádku nebo tooltypy při startu z Workbenche. Globální konfigurační soubor je "S:WHDLoad.prefs". Je to obvyklý ASCII soubor a obsahuje jednu volbu na řádek. Prázdné řádky a komentáře jsou ignorovány. Komentář k řádkám začíná znakem ";" a sahá až ke konci řádky.
Ukázkový konfigurační soubor je k dispozici ve WHDLoad archivu ("S/WHDLoad.prefs").

Přehled

Seznam možných voleb

Jmeno volbyTypeLokalniglobálníBezna hodnota
BranchCachespínačx-
ButtonWaitspínačxx
Cachespínačx-
Chkspínačx-
ChkBltHogspínačx-
ChkBltSizespínačx-
ChkBltWaitspínačx-
ChkColBstspínačx-
ChkCopConspínačx-
ChkIntsspínačx-
ChipNoCachespínačxx
CoreDumpspínačx-
CoreDumpPathtext-xPROGDIR:
Customtextx-
Custom1numerickáx-
Custom2numerickáx-
Custom3numerickáx-
Custom4numerickáx-
Custom5numerickáx-
Dspínačx-
Datatextx--
DebugKeynumerickáxx-
DCachespínačx-
ExecuteCleanuptext-x-
ExecuteStartuptext-x-
Expertspínač-x
ExpChipspínačx-
ExpLocalspínačx-
Exp24Bitspínačx-
FileLogspínačx-
FreezeKeynumerickáxx
MMUspínačxx
NoAutoVecspínačxx
NoCachespínačx-
NoFileCachespínačx-
NoFilterspínačxx
NoFlushMemspínačxx
NoMMUspínačxx
NoReqspínačxx
NoTrapHandlerspínačx-
NoVBRMovespínačx-
NoWriteCachespínačxx
NTSCspínačxx
PALspínačxx
Preloadspínačx-
QuitKeynumerickáxx-
ReadDelaynumerická-x0
RestartKeynumerickáxx-
ShowRegstext-xSYS:Utilities/MultiView
Slavetextx-WHDLoad.Slave
Snoopspínačx-
SnoopAGAspínačx-
SnoopECSspínačx-
SnoopOCSspínačx-
SplashDelaynumerickáxx200
StoreBufferspínačx-
SuperScalarspínačx-
TimeOutnumerickáx-0
WriteDelaynumerickáxx150

Types of options

numerická volba: parametrem volby je číslice, na příkazové řádce musíte použít desítkovou soustavu, v tooltypu je možné použít hexa hodnotu (se symbolem "$").
text: za volbou následuje ASCII řetězec
spínač: volba bude zapnuta jen použitím tohoto slova

Example

Workbench: Workbench Options
CLI nebo Shell: 1> WHDLoad SuperGame.Slave Preload NTSC QuitKey=69 Custom1=1

Popis každé volby

ButtonWait/S

Tato volba neovlivňuje WHDload, ale je použitelná se slave.
Význam této volby je, že pokud je zvolena, zapíná čekání na stisk joysticku nebo myši ve slavem určených místech, takže si uživatel může např. prohlédnout obrázke nebo slyšet hudbu, která by jinak díky rychlému nahrávání jen problikla.

BranchCache/S

Tato volba zapíná branch cache na 68060. Na jiných CPU nic nedělá.
Volba také nic nezmůže, pokud je spolu s ní nastavená NoCache/S.

Cache/S

Tato volba zapne instrukční cache a vypne data cache pro nainstalovaný program. Pokud WHDLoad používá MMU, označí Chip RAM jako Cacheable Writethrough (impercise).
Volba nic nedělá, pokud je spolu s ní nastavenáNoCache/S.

Chk/S

Tato volba je zkratka pro aktivaci všech těchto voleb: ChkBltSize/S, ChkBltWait/S a ChkColBst/S.

ChkBltHog/S

Tato volba testuje celou dobu, jestli není aktivován blthog (bltpri) bit in v custom.dmacon registeru. Tato volba funguje jen v souvislosti s některou z SnoopOCS/SnoopECS/SnoopAGA voleb.

ChkBltSize/S

Tato volba testuje, jestli nainstalovaný program používá blitter korektně, aby mohly být blitter operacemi použity jen opravdu existující oblasti paměti. Tato volba funguje jen v souvislosti s některou z SnoopOCS/SnoopECS/SnoopAGA voleb.

ChkBltWait/S

Tato volba zkouší, jestli nainstalovaný program správně čeká na dokončení současné operace blitteru před započetím další. Tato volba funguje jen v souvislosti s některou z SnoopOCS/SnoopECS/SnoopAGA voleb.

ChkColBst/S

Tato volba zkouší, jestli je color bit v the custom.bplcon0 registru celou dobu nastaven. Tato volba funguje jen v souvislosti s některou z SnoopOCS/SnoopECS/SnoopAGA voleb.

ChkCopCon/S

Tato volba zkouší, jestli nainstalovaný program nepovoluje přístup k DMA registrům pre copper pomocí custom.copcon. Volba funguje jen v souvislosti s některou z SnoopOCS/SnoopECS/SnoopAGA voleb.

ChkInts/S

Tato volba zkouší každou událost přerušení, jestli je v intreq a intena zapsáno totožné nastavení pro toto přerušení. Tato volba umožňuje snadnou detekci problémů aktivace přerušení na rychlejších strojích nebo špatném hardware, které způsobují nechtěná přerušení. Kvůli tomuto jevu může nastat také situace, že pokud jsou přerušení zablokována nastavením intena ve stejný čas, kdy se přerušení uskuteční.

ChipNoCache/S

Tato volba vypíná cachovatelnost Chip RAM (BaseMem). Měla by být použita na hardware, který neumožňuje cachovatelnost Chip RAM (například desky Blizzard PPC) pro vyvarování se zpomalení rychlosti nainstalovaného programu.

CoreDump/S

Pokud je nastavena, zpusobí při každém exitu z nainstalovaneho programu zapsání výpis paměti a registru. To se může hodit pro odlaďování programu nebo i pro ripování hudebního modulu z paměti.

CoreDumpPath

Cílový adresář pro zapisování všechny výpisy WHDLoadu.

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

Tyto volby nejsou využívány WHDLoad, ale můžou být testovány ve slave k ovládání různých věcí (např. zapínání traineru). Custom/K může obsahovat text a Custom1-5/K můžou nést pouze číselnou hodnotu. Specifické využití těchto voleb hledejte v readme souborech u každé instalace.

D/S

Tato volba je užitečná pro ladění. Pokud je zapnuta a v paměti je detekován podporovaný softwarový freezer (Hrtmon nebo Thrill Kill), WHDLoad simuluje NMI tlačítko před vykonání první CPU instrukce obsazené ve slavu.

Data/K

Pomocí této volby můžete nastavit adresář, který WHDLoad použije pro načítání dat pro instalovaný program. Tato volba ruší hodnotu ws_CurrentDir ve slave.

DCache/S

Tato volba zapíná instrukční a datovou cache pro nainstalovaný program. Pokud WHDload používá MMU, označí Chip RAM jako Cacheable Writethrough (impercise).
Volba nic nedělá, pokud je spolu s ni nastavenáNoCache/S.

DebugKey/K/N

Nastavuje rawkey hodnotu ke quitu programu se zapsáním coredump výpisu a koncem programu). Tohle funguje jen, pokud je aktivní expert mod, jestli je VBR přesunuto WHDLoadem (to znamená, že není zapnuto NoVBRMove/S a CPU je aspoň 68010) nebo pokud to podporuje sám slave.

Expert/S

Tato volba zapíná expert mod WHDLoadu. Současně to způsobí možnost DebugKey/S a varování během přepnutí mezi nainstalovaným programem a OS (barevně cyklující copper obrazovka). Pokud expert mód neni aktivní, DebugKey/S není k dispozici. V expert módu se také v chybových requesterech objevuje další tlačítko. Toto tlačítko se jmenuje Show Regs a dovoluje zobrazit registry a informace o stavu podobně, jak je to zapsáno ve výpisu registrů.

ExecuteCleanup

S touto volbou lze zadat příkaz, který bude vykonán WHDloadem po exitu z programu.

ExecuteStartup

S touto volbou můžete určit příkaz, který bude vykonán WHDLoadem před spuštěním programu. Dá se to použít např. pro vypnutí hardware, který způsobuje problémy v souvislosti s WHDLoad, nebo zastavit TCP/IP stack, a podobně.

ExpChip/S, ExpLocal/S, Exp24Bit/S

Pokud nainstalovaný program používá expansion memory (přes ws_ExpMem hodnotu slavu), dají se tyto volby použít k donucení WHDLoadu nastavit požadovanou oblast paměti výhradně v CHIP RAM, lokální paměti nebo 24BitDma paměti. To může mít jako výsledek snížení výkonu, protože přístup ke spedifikované paměti může být pomalejší než k Fast RAM. Můžete použít některé utility (např. SysInfo, GVPInfo,...) na test možností vaší paměti.
Tyto volby jsou pro zlepšení kompatibility nainstalovaných programů na rychlých strojích tím, že zpomalí chod programu použitím pomalé paměti.

FileLog/S

Tato volba je jen pro developerské účely. V kapitole Výpisy (dumpy) a logy najdete víc informací.

FreezeKey/K/N

Pokud používáte jeden z podporovaných softwarových freezerů (HrtMon or Thrillkill), můžete použít tuto volbu pro nastavení rawkey kódu klávesy, kterou lze vstupovat přes WHDLoad do freezeru. Aby to fungovalo, VBR musí být přesunuto WHDLoadem (to znamená, že není zapnuto NoVBRMove/S a CPU je aspoň 68010) a freezer musí být spuštěn.

MMU/S

Tohle musí být zapnuto na strojích s 68030 k zapnutí funkcí souvisejících s MMU (ochrana paměti, vylepšený management cache, Snoop mód, resload_Protect#? funkce). Na 68040/060 tato volba nemá účinek, protože MMU je zapnuto standartně. Doporučuji dát tuto funkci do globální konfigurace na všech systémech s 68030 a MMU (to znamená ne 680EC30), protože to rapidně zbýší stabilitu a bezpečnost. Pokud je současně nastavena volba NoMMU/S, nemá MMU účinek.

NoAutoVec/S

Tato volba zpusobí, že WHDLoad nevyskočí s hláškou, týkající se nečekaného přerušení autovektorem nebo NMI (vektory #25-31 / $64-$7c). Volba by měla být zapnuta na systémech/hardware, které náhodně taková přerušení vytvářejí, aby WHDLoad zbytečně nevyskakoval s chybou (a ještě lepší je odpojit rozbitý hardware ;)

NoCache/S

Volba vypne všechny cache. Tato volba má větší priority, než BranchCache/S, Cache/S, DCache/S, StoreBuffer/S a SuperScalar/S.

NoFileCache/S

Vypíná cachování souboru WHDLoadem a způsobuje, že pro každou diskovou operaci se WHDLoad přepne do OS. Tato volba ruší Preload/S.

NoFilter/S

Vypíná audio filtr. Tato volba ale funguje jen při startu, pokud nainstalovaný program změní stav audio filtru, postrádá tato volba účinek.

NoFlushMem/S

Normálně WHDLoad "splachuje" paměť při startu, aby získal co nejvíc volné paměti pro Preload/S operaci. To odstraní všecnhy nepoužívané zdroje jako knihovny a fonty z paměti. Použitím této volby WHDLoad nic z paměti nespláchne. Může být využitelná na systémech se spoustou volné paměti pro zlepšení výkonu systému.

NoMMU/S

Pokud je tato volba nastavena, WHDLoad nepoužije MMU. Je to kritická a nwbezpečná volba, doporučená pouze pro testování nebo odlaďovací účely a ne pro normální použití. Více informací v kapitole MMU. Volba má prioritu nad volbou MMU/S.

NoReq/S

Tato volba může být použitá jen když byl WHDLoad spuštěn z příkazové řádky (CLI/Shell). Při spuštění z Workbenche nemá žádné účinky. Volba zabrání WHDLoadu zobrazovat requestery v novém, odděleném okně - výstupní zprávy budou vypisovány do příkazového okna, odkud byl WHDLoad spuštěn.

NoTrapHandler/S

V případě použití této volby WHDLoad použije původní tabulku vektoru z OS, která je aktivní při startu WHDLooad. Při startu WHDLoad nakopíruje systémovou tabulku vektorů místo vytvoření své vlastní. Tohle je použitelné jen pro odlaďovací účely a nemělo by to být použito pro normální používání. Varování: pokud je handler vyjímek volán skrz původní tabulku vektorů pro volání některé z funkcí OS nebo se pokouší použít datové struktury OS, stroj se sekne.

NoVBRMove/S

Standartně WHDLoad přesunuje VBR do jiné oblasti paměti z adresy $0. To má tu výhodu, že nainstalovaný program nemůže změnit tabulku vektorů, což značně zvyšuje bezpečnost a stabilitu WHDLoadu. Některé nainstalované programy a slavy nebudou správně fungovat s přesunutým VBT. Příčinou je, že nainstalované programy mohou dělat podivnou činnost nepodporovanou přesunutou VBR nebo autor instalačky nebyl dostatečně dobrý, aby použil přesunutou VBR. V takovém případě musí být použita tato volba, aby WHDLoad VBR nepřesunoval.
Další schopnost přesunuté VBR je, že WHDLoad dokáže testovat klávesnici pokaždé, když se přihodí vyjímka autovektoru. Tímto testem je WHDLoad schopen ukončit nainstalovaný program nezávisle na schopnostech programu/slavu, pokud je QuitKey/S nebo DebugKey/S klávesa stisknuta. (Podobně může být program pozastaven pomocí FreezeKey/S klávesy) Pro přesunutí VBR je nutno mít alespoň 68010. Na 68000 tato volba nemá účinek, protože VBR je vždycky na $0 a nemůže být přesunuto.

NoWriteCache/S

Tato volba vypíná schopnost WHDLoadu cachovat zapisované soubory. Bez této volby se WHDload pokusí cachovat všechny zápisy na disk v paměti a pozdržet skuteční zápis, dokud program není ukončen, aby se vyvaroval zbytečných přepínání do operačního systému.

NTSC/S

V případě této volby WHDLoad použije pro nainstalovaný program NTSC displej (60Hz). Na PAL Amize je třeba nainstalovat driver pro NTSC monitor do "DEVS:Monitors/".

PAL/S

V případě této volby WHDLoad použije pro nainstalovaný program PAL displej (50Hz). Na NTSC Amize je třeba nainstalovat driver pro PAL monitor do "DEVS:Monitors/".

Preload/S

Pokud je zapnuta tato volba, WHDLoad si při startu nahraje co nejvíc souborů nebo disk images do paměti (záleží také na volné paměti) To zvýší výkon, když nainstalovaný program běží, protože není nutné přepínat do OS pro nahrání dat přímo z harddisku. Tato volba by měla být zapnuta vždycky.

QuitKey/K/N

Nastavuje rawkey kód klávesy určené pro konec programu. Funguje jen, pokud je VBR přesunuta WHDLoadem a (NoVBRMove/S nesmí být zapnuta a CPU musí být aspoň 68010) nebo pokud to slave podporuje.

ShowRegs/K/N

Tato volba je použitelná jen v souvislosti s volbou Expert/S. S touto volbou můžete určit program k zobrazení výpisu registrů, který WHDLoad použije, pokud stisknete tlačítko Show Regs. WHDLoad za zadaný příkaz pro příkazovou řádku přidá jménou souboru dočasně zapsaného výpisu (v současnosti je to T:.whdl_register).

Slave

Jméno slavu, který by měl WHDLoad nahrát a použít. Slave obsahuje kód, důležitý pro spuštění nainstalovaného programu a použití WHDload funkcí.

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

Tyto volby zapnou Cia/Custom registr snoop schopnosti WHDLoadu.

ReadDelay/K/N

Tato volba specifikuje dobu v 1/50 vteřiny, kterou bude WHDLoad čekat poté, co nahraje data z disku a také počká tuto dobu po dokončení Preload operace. To řeší problémy s připojenými drivy (napr. CD mechaniky), které chtějí něco udělat po načtení, např. vypnout motor.

RestartKey/K/N

Použitím této volby můžete nastavit rawkey kód klávesy, kterou může WHDLoad zrestartovat nainstalovaný program.

SplashDelay/K/N

Tato volba speficikuje dobu v 1/50 vteřiny, po kterou WHDLoad ukazuje informační okno při startu. Pokud je SplashDelay/K/N menší než ReadDelay/K/N, je hodnota ignorována a okno bude zobrazeno po dobu určenou v ReadDelay/K/N. Okno je zobrazeno aspoň tak dlouho, dokud se nenahrají všechny soubory do paměti při operaci Preload/S. Pokud SplashDelay=0, nebude zobrazeno žádné okno.

StoreBuffer/S

Tato volba zapína Store Buffer na 68060. Na jiných CPU nemá účinek. Účinek nemá ani v případě, že je zapnuta volba NoCache/S.

SuperScalar/S

Tato volba zapne v 68060 schopnost vykonávat multi instrikcu za jeden strojový cyklus. Na jiných CPU nemá účinek. Účinek nemá ani v případě, že je zapnuta volba NoCache/S.

TimeOut/K/N

V případě nastavení WHDLoad ukončí nainstalovaný program po specifikované době. Požaduje, aby nebyla nastavena volba NoVBRMove/S a aby nainstalovaný program nemodifikoval ciaa.ciatod timer. Doba musí být v 1/50 vteřiny, Pro zjištění potřebného času zapnete volbu Expert/S a nastavte DebugKey/K/N, když dosáhnete momentu, kdy má program skončit, zmáčknete debug klávesu. Teď prohlédněte vytvořený .whdl-register soubor a hledejte hodnotu ciaa-event. Jestliže frekvence vašeho zdroje je 50 Hz, pak nalezenou hodnotu můžete rovnou použít, pokud je frekvence 60 Hz, musíte násobit hodnotu krát 5/6.

WriteDelay/K/N

Tato volba specifikuje dobu v 1/50 vteřiny, kterou bude WHDLoad čekat po zapsání čehokoliv fyzicky na disk. Platí pro všechny resload_Save#? funkce a FileLog/S volbu. Tohle má význam, protože filesystémy většinou nezapisují data okamžitě na disk. Trvá nějakou dobu (1..3 sec) updatovat všechny struktury filesystému. Standartní hodnota WriteDelay je 150, což způsobí, že WHDLoad počká 3 vteřiny po každém zápisu na harddisk. Můžete tuto hodnotu nastavit na nulu, ale pak byste neměli nikdy ukončovat program resetem, protože zapsaná data nemusí být zapsána na disk kompletně.