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:
- 0 - úspěšný provoz
- 10 - chyba, Slave nemohl být ukončen kvůli problémům, je zobrazena chybová hláška
- 20 - fatální chyba, není dost paměti pro provoz.
- > 100 - Slave byl spuštěn, byl ukončen z důvodů (číslo je součet 100 + TDREASON)
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
Jsou tři druhy voleb:
Sloupec "Lokální" ukazuje, jestli může být volba použita v CLI nebo jako tooltype v ikoně.
Sloupec "Globální" informuje, že volba je k dispozici jen přes konfigurační soubor.
Spoustu voleb nelze použít v WHDLoadCD32. Tento sloupec ukazuje,
jestli je volba v CD32 verzi WHDload použitelná.
Types of options
číselná: |
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 |
Příklad
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 (nebudou nahrávány residentní zdroje a tím se
výkon zlepší).
NoMemReverse/S
Pokud je aktivní tato volba,
WHDLoad nebude alokovat pamět přes flag MEM_REVERSE. Bylo hlášeno, že používání
tohoto flagu způsobuje problémy na některých konfiguracích (sestavy používající
paměť v PCMCIA slotu jako FastRAM, konfigurace s M-Tec 1230/8 MB OS3.0). Důvod tohoto
problému není známý. Tato volba může pomoci i pokud je část z vyšší RAM vadná,
protože WHDload pak použije nejdřív paměť na nižších adresách. Jestli máte podivná
chybová hlášení, můžete zkusit tuhle volbu. Tato volba je k dispozici od WHDLoad v 16.8.
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.
NoResInt/S
Tato volba zablokuje přerušení
během vykonání resload funkcí (normálně jsou přerušení povolena) Přerušení
můžou přehrávat zvuk, updatovat obraz nebo dělat jinou důležitou práci. Zablokování
může způsobit rozhození zvuku/obrazu a jiné disfunkce. Ale nesprávně fungující
přerušení můžou zničit interní oblasti WHDLoad dat, což obvykle vede k zhroucení
operačního systému. Tato volba může problém vyřešit - pokud pomůže, instalačku je třeba
upravit (kontaktujte autora)
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 tabulku
vektorů použitím VBR (Vector base Register) na odlišnou oblast paměti z $0. Výhodou
toho je, že instalovaný program nemůže změnit sám tabulku vektorů, což zvyšuje
stabilitu a bezpečnost WHDLoad. Některé nainstalované programy/slavy nebudou fungovat
s přesunutou VBR. Je to protože nainstalovaný program se chová nekompatibilně s přesunutou
VBR nebo autor instalačky byl líný to opravit. V takovém případě musí být zvolena
tato volba k zamezení přesunu VBR WHDLoadem.
Další výhoda přesunuté VBR je, že WHDLoad může ověřovat klávesu pokaždé při autovektorovém
přerušení, takže je schopen nezávisle ukončovat program při stistu QuitKey/S
nebo DebugKey/S. Přesun VBR požaduje alespoň procesor 68010. Na 68000
nemá tato volba žádný účinek protože VBR je vždy 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ě.