Volby a globalni konfigurace

Existuji lokalni a globalni volby. Lokalni volby jsou specifikovane jako argumenty pres prikazovou radku nebo tooltypy pri startu z Workbenche.
Globalni konfiguracni soubor je "S:WHDLoad.prefs". Je to obvykly ASCII soubor a obsahuje jednu volbu na radek. Prazdne radky a komentare jsou ignorovany. Komentar je radka zacinajici znakem ";".
Ukazkovy konfiguracni soubor je k dispozici v developerskem archivu ("S/WHDLoad.prefs").

Prehled

Seznam moznych voleb

Jmeno volbyTypeLokalniGlobalniBezna hodnota
BranchCachespinacx-
ButtonWaitspinacxx
Cachespinacx-
Chkspinacx-
ChkBltHogspinacx-
ChkBltSizespinacx-
ChkBltWaitspinacx-
ChkColBstspinacx-
ChipNoCachespinacxx
CoreDumpspinacx-
CoreDumpPathtext-xPROGDIR:
Customtextx-
Custom1numerickax-
Custom2numerickax-
Custom3numerickax-
Custom4numerickax-
Custom5numerickax-
Dspinacx-
DebugKeynumerickaxx-
DCachespinacx-
ExecuteCleanuptext-x-
ExecuteStartuptext-x-
Expertspinac-x
FileLogspinacx-
FreezeKeynumerickaxx
MMUspinacxx
NoAutoVecspinacxx
NoCachespinacx-
NoFileCachespinacx-
NoFilterspinacxx
NoFlushMemspinacxx
NoMMUspinacxx
NoTrapHandlerspinacx-
NoVBRMovespinacx-
NoWriteCachespinacxx
NTSCspinacxx
PALspinacxx
Preloadspinacx-
QuitKeynumerickaxx-
ReadDelaynumericka-x0
RestartKeynumerickaxx-
Slavetextx-WHDLoad.Slave
Snoopspinacx-
SnoopAGAspinacx-
SnoopECSspinacx-
SnoopOCSspinacx-
SplashDelaynumericka-x200
StoreBufferspinacx-
SuperScalarspinacx-
TimeOutnumerickax-0
WriteDelaynumerickaxx150

Types of options

numericka volba: parametrem volby je cislice, na prikazove radce musite pouzit desitkovou soustavu, v tooltypu je mozne pouzit hexa hodnotu (se symbolem "$").
text: za volbou nasleduje ASCII retezec
spinac: volba bude zapnuta jen pouzitim tohoto slova

Example

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

Popis kazde volby

ButtonWait/S

Tato volba neovlivnuje WHDload, ale je pouzitelna se slave.
Vyznam teto volby je, ze pokud je zvolena, zapina cekani na stisk joysticku nebo mysi ve slavem urcenych mistech, takze si uzivatel muze napr. prohlednout obrazek nebo slyset hudbu, ktera by jinak diky rychlemu nahravani jen problikla.

BranchCache/S

Tato volba zapina branch cache na 68060. Na jinych CPU nic nedela.
Volba take nic nezmuze, pokud je spolu s ni nastavena NoCache/S.

Cache/S

Tato volba zapne instrukcni cache a vypne data cache pro nainstalovany program. Pokud WHDload pouziva MMU, oznaci Chip RAM jako Cacheable Writethrough (impercise).
Volba nic nedela, pokud je spolu s ni nastavenaNoCache/S.

Chk/S

Tato volba je zkratka pro aktivaci vsech techto voleb: ChkBltSize/S, ChkBltWait/S a ChkColBst/S.

ChkBltHog/S

Tato volba testuje celou dobu, jestli neni aktivovan blthog (bltpri) bit in v custom.dmacon registeru. Tato volba funguje jen v souvislosti nektere z SnoopOCS/SnoopECS/SnoopAGA voleb.

ChkBltSize/S

Tato volba testuje, jestli nainstalovany program pouziva blitter korektne, aby mohly byt blitter operacemi pouzity jen opravdu existujici oblasti pameti. Tato volba funguje jen v souvislosti nektere z SnoopOCS/SnoopECS/SnoopAGA voleb.

ChkBltWait/S

Tato volba zkousi, jestli nainstalovany program spravne ceka na dokonceni soucasne operace blitteru pred zapocetim dalsi. Tato volba funguje jen v souvislosti nektere z SnoopOCS/SnoopECS/SnoopAGA voleb.

ChkColBst/S

Tato volba zkousi, jestli je color bit v the custom.bplcon0 registru celou dobu nastaven. Tato volba funguje jen v souvislosti nektere z SnoopOCS/SnoopECS/SnoopAGA voleb.

ChipNoCache/S

Tato volba vypina cachovatelnost Chip RAM (BaseMem). Mela by but pouzita na hardware, ktery neumoznuje cachovatelnost Chip RAM (napriklad desky Blizzard PPC) pro vyvarovani zpomaleni rychlosti nainstalovaneho programu.

CoreDump/S

Pokud je nastavena, zpusobi pri kazdem exitu z nainstalovaneho programu zapsani vypis pameti a registru. To se muze hodit pro odladovani programu nebo i pro ripovani hudebniho modulu z pameti.

CoreDumpPath

Cilovy direktorar pro zapisovani vsechny vypisy WHDLoadu.

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

Tyto volby nejsou vyuzivany WHDLoad,ale muzou byt testovany ve slave k ovladani ruznych veci (napr. zapinani traineru). Custom/K muze obsahovat text a Custom1-5/K muzou nest pouze ciselnou hodnotu. Specificke vyuziti techto voleb hledejte v readme souborech u kazde instalace.

DCache/S

Tato volba zapina instrukcni a datovou cache pro nainstalovany program. Pokud WHDload pouziva MMU, oznaci Chip RAM jako Cacheable Writethrough (impercise).
Volba nic nedela, pokud je spolu s ni nastavenaNoCache/S.

D/S

Tatovolba je uzitecna pro ladeni. Jestli je zapnuta a v pameti je detekovan podporovany softwarovy freezer (Hrtmon nebo Thrill Kill), WHDLoad simuluje NMI tlacitko pred vykonani prvni CPU instrukce obsazene ve slavu.

DebugKey/K/N

Nastavuje rawkey hodnotu ke quitu programu se zapsanim coredump vypisu a koncem programu). Tohle funguje jen, pokud je aktivni expert mod, jestli je VBR presunuto WHDLoadem (to znamena, ze neni zapnuto NoVBRMove/S a CPU je aspon 68010) nebo pokud to podporuje sam slave.

Expert/S

Tato volba zapina expert mod WHDLoadu. Soucasne to zpusobi moznost DebugKey/S a varovani behem prepnuti mezi nainstalovanym programem a OS (barevne cyklujici copper obrazovka). Jestli expert mod neni aktivni, DebugKey/S neni k dispozici.

ExecuteCleanup

S touto volbou lze zadat prikaz, ktery bude vykonan WHDloadem po exitu z programu.

ExecuteStartup

S touto volbou muzete urcit prikaz, ktery bude vykonan WHDLoadem pred spustenim programu. Da se to pouzit napr. pro vypnuti hardware, ktery zpusobuje problemy v souvislosti s WHDLoad, nebo zastavit TCP/IP stack, a podobne.

FileLog/S

Tato volba je jen pro developerske ucely. V kapitole Vypisy (dumpy) a logy najdete vic informaci.

FreezeKey/K/N

Jestli pouzivate jeden z podporovanych softwarovych freezeru (HrtMon or Thrillkill), muzete pouzit tuto volbu pro nastaveni rawkey kodu klavesy, kterou lze vstupovat pres WHDLoad do freezeru. Aby to fungovalo, VBR musi byt presunuto WHDLoadem (to znamena, ze neni zapnuto NoVBRMove/S a CPU je aspon 68010) a freezer musi byt spusteni.

MMU/S

Tohle musi byt zapnuto na strojich s 68030 k zapnuti funkci souvisejicich s MMU (ochrana pameti, vylepseny management cache, Snoop mod, resload_Protect#? funkce). Na 68040/060 tato volba nema ucinek, protoze MMU je zapnuto standartne. Doporucuji dat tuto funkci do globalni konfigurace na vsech systemech s 68030 a MMU (to znamena, ne 680EC30), protoze to rapidne zvysi stabilitu a bezpecnost. Jestli je soucasne nastavena volba NoMMU/S, nema MMU ucinek.

NoAutoVec/S

Tato volba zpusobi, ze WHDLoad nevyskoci s hlaskou tykajici se necekaneho preruseni autovektorem nebo NMI (vektory #25-31 / $64-$7c). Volba by mela byt zapnuta na systemech/hardware, ktere nahodne takova preruseni vytvareji, aby WHDLoad zbytecne nevyskakoval s chybou (a jeste lepsi je odpojit rozbity hardware ;)

NoCache/S

Volba vypne vsechny cache. Tato volba ma vetsi priority nez BranchCache/S, Cache/S, DCache/S, StoreBuffer/S a SuperScalar/S.

NoFileCache/S

Vypina cachovani souboru WHDLoadem a zpusobuje, ze pro kazdou diskovou operaci se WHDLoad prepne do OS. Tato volba rusi Preload/S.

NoFilter/S

Vypina audio filtr. Tato volba ale funguje jen pri startu, pokud nainstalovany program zmeni stav audio filtru, postrada tato volba ucinek.

NoFlushMem/S

Normalne WHDLoad "splachuje" pamet pri startu, aby ziskal co nejvic volne pameti pro Preload/S operaci. To odstrani vsechny nepouzivane zdroje jako knihovny a fonty z pameti. Pouzitim teto volby WHDLoad nic z pameti nesplachne. Muze byt vyuzitelna na systemech se spoustou volne pameti pro zlepseni vykonu systemu.

NoMMU/S

Jestli je tato volba nastavena, WHDLoad nepouzije MMU. Je to kriticka a nebezpecna volba, doporucena pouze pro testovani nebo odladovaci ucely a ne pro normalni pouziti. Vice informaci v kapitole MMU. Volba ma prioritu nad volbou MMU/S.

NoTrapHandler/S

V pripade pouziti teto volby WHDLoad pouzije puvodni tabulku vektoru z OS, ktera je aktivni pri startu WHDLooad. Pri startu WHDLoad nakopiruje systemovou tabulku vektoru misto vytvoreni sve vlastni. Tohle je pouzitelne jen pro odladovaci ucely a nemelo by to byt pouzito pro normalni pouzivani. Varovani: pokud je handler vyjimek volan skrz puvodni tabulku vektoru pro volani nektere z funkci OS nebo se pokousi pouzit datove struktury OS, stroj se sekne.

NoVBRMove/S

Standartne WHDLoad presunuje VBR do jine oblasti pameti z adresy $0. To ma vyhodu, ze nainstalovany program nemuze zmenit tabulku vektoru, coz znacne zvysuje bezpecnost a stabilitu WHDLoadu. Nektere nainstalovane programy a slavy nebudou spravne fungovat s presunutym VBR. Pricinou je, ze nainstalovane programy muzou delat podivnou cinnost nepodporovanou presunutou VBR nebo autor instalacky nebyl dostatecne dobry, aby pouzil presunutou VBR. V takovem pripade musi byt pouzita tato volba, aby WHDLoad VBR nepresunoval.
Dalsi schopnost presunute VBR je, ze WHDLoad odkaze testovat klavesnici pokazde, kdyz se prihodi vyjimka autovektoru. Timto testem je WHDLoad schopen ukoncit nainstalovany program nezavisle na schopnostech programu/slavu, pokud je QuitKey/S nebo DebugKey/S klavesa stlacena. (podobne muze byt program pozastaven pomoci FreezeKey/S klavesy) Pro presunuti VBR je nutno mit alespon 68010. Na 68000 tato volba nema ucinek, protoze VBR je vzdycky na $0 a nemuze byt presunuto.

NoWriteCache/S

Tato volba vypina schopnost WHDLoadu cachovat zapisovane soubory. Bez teto volby se WHDload pokusi cachovat vsechny zapisy na disk v pameti a pozdrzet skutecny zapis je, dokud program neni ukoncen, aby se vyvaroval zbytecnych prepinani do operacniho systemu.

NTSC/S

V pripade teto volby WHDLoad pouzije pro nainstalovany program NTSC displej (60Hz). Na PAL Amize je treba nainstalovat driver pro NTSC monitor do "DEVS:Monitors/".

PAL/S

V pripade teto volby WHDLoad pouzije pro nainstalovany program PAL displej (50Hz). Na NTSC Amize je treba nainstalovat driver pro PAL monitor do "DEVS:Monitors/".

Preload/S

Pokud je zapnuta tato volba, WHDLoad si pri startu nahraje co nejvic souboru nebo disk images do pameti (zalezi take na volne pameti) To zvysi vykon, kdyz nainstalovany program bezi, protoze neni nutne prepinat do OS pro nahrani dat primo z harddisku. Tato volba by mela byt zapnuta vzdycky.

QuitKey/K/N

Nastavuje rawkey kod klavesy urcene pro konec programu. Funguje jen, pokud je VBR presunuta WHDLoadem a (NoVBRMove/S nesmi byt zapnuta a CPU musi byt aspon 68010) nebo pokud to slave podporuje.

Slave

Jmeno slavu, ktery by mel WHDLoad nahrat a pouzit. Slave obsahuje kod, dulezity pro spusteni nainstalovaneho programu a pouziti WHDload funkci.

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 vteriny, kterou bude WHDLoad cekat pote, co nahraje data z disku a take pocka tuto dobu po dokonceni Preload operace. To resi problemy s pripojenymi drivy (napr. CD mechaniky), ktere chteji neco udelat po nacteni, napr. vypnout motor.

RestartKey/K/N

Pouzitim teto volby muzete nastavit rawkey kod klavesy, kterou muze WHDLoad zrestartovat nainstalovany program.

SplashDelay/K/N

Tato volba speficikuje dobu v 1/50 vteriny, po kterou WHDLoad ukazuje informacni okno pri startu. Jestli je SplashDelay/K/N mensi nez ReadDelay/K/N, je hodnota ignorovana a okno bude zobrazeno po dobu urcenou v ReadDelay/K/N. Okno je zobrazeno aspon tak dlouho, dokud se nenahraji vsechny soubory do pameti pri operaci Preload/S. Jestli SplashDelay=0, nebude zobrazeno zadne okno.

StoreBuffer/S

Tato volba zapina Store Buffer na 68060. Na jinych CPU nema ucinek. Ucinek nema ani v pripade, ze je zapnuta volba NoCache/S.

SuperScalar/S

Tato volba zapne v 68060 schopnost vykonavat multi instrukci za jeden strojovy cyklus. Na jinych CPU nema ucinek. Ucinek nema ani v pripade, ze je zapnuta volba NoCache/S.

TimeOut/K/N

V pripade nastaveni WHDLoad ukonci nainstalovany program po specifikovane dobe. Pozaduje, aby nebyla nastavena volba NoVBRMove/S a aby nainstalovany program nemodifikoval ciaa.ciatod timer. Doba musi byt v 1/50 vteriny. Pro zjisteni potrebovaneho casu zapnete volbu Expert/S a nastavte DebugKey/K/N, kdyz dosahnete momentu, kdy ma program skoncit, zmacknete debug klavesu. Ted prohlednete vytvoreny .whdl-register soubora hledejte hodnotu ciaa-event. Jestlize frekvence vaseho zdroje je 50 Hz, pak nalezenou hodnotu muzete rovnou pouzit, jestli je frekvence 60 Hz, musite nasobit hodnotu krat 5/6.

WriteDelay/K/N

Tato volba specifikuje dobu v 1/50 vteriny, kterou bude WHDLoad cekat po zapsani cehokoliv fyzicky na disk. Plati pro vsechny resload_Save#? funkce a FileLog/S volbu. Tohle ma vyznam, protoze filesystemy vetsinou nezapisuji data okamzite na disk. Trva nejakou dobu (1..3 sec) updatovat vsechny struktury filesystemu. Standartni hodnota WriteDelay je 150, coz zpusobi, ze WHDLoad pocka 3 vteriny po kazdem zapisu na harddisk. Muzete nastavit tuhle hodnotu na nulu, ale pak byste nemeli nikdy ukoncovat program resetem, protoze zapsana data nemusi byt kompletne zapsana na disk.