Usage
WHDLoad peut être lancé à partir d'une ligne de commande (CLI/shell) ou bien du Workbench.
Les options peuvent être spécifées dans un fichier de configuration globale et par des arguments
ou par des ToolsTypes. L'option Slave est toujours requise. D'autres options
peuvent être nécessaire aussi, cela depend de votre matériel et des logiciels utilisés.
A partir d'une ligne de commande, WHDLoad quittera avec des codes de retour suivants:
- 0 - exécution réussie
- 10 - erreur, le Slave ne pourra être exécuté à cause de problèmes antérieurs, l'erreur du message est affichée
- 20 - erreur fatale, pas assez de mémoire libre
- > 100 - le Slave a été exécuté, retour avec 100 + TDREASON
Options et configuration globale
Les options sont soit locales, soit globales ou soit les 2. Les options locales peuvent être définies
soit comme arguments via la ligne de commande (dans le CLI) soit comme ToolTypes
à partir de Workbench.
Le fichier de configuration globale est "S:WHDLoad.prefs
". C'est un fichier
de caractères ASCII et contient une option par ligne. Les lignes vides et les
commentaires sont ignorés. Un commentaire commence après un ";
" et se trouve
à la fin de la ligne de commande.
Un exemple d'un fichier configuration se trouve dans l'archive WHDLoad
("S/WHDLoad.prefs
").
Liste des options disponibles
3 types d'options existent:
numerical: |
La valeur de l'option est un nombre,
dans la ligne de commande vous devez utiliser un décimal, dans les ToolType vous pouvez aussi utiliser un héxadecimal précédé d'un "$ "
|
string: |
L'option est une suite de caractères |
switcher: |
L'option sera activée si spécifiée |
La colonne Locale vous informe si une option peut être utilisée comme ligne de commande et comme
tooltype dans l'icone. La colonne Globale indique si une option peut être utilisée dans
le fichier de configuration globale.
Beaucoup d'options ne sont pas disponibles pour WHDLoadCD32. La
colonne CD³² indique si une option est présente pour cette version spéciale de WHDLoad.
Example
Description de chaque option
ButtonWait/S
Cette option n'affecte pas WHDLoad lui-même, mais elle peut être testée par le Slave.
Si elle est activée, l'utilisateur souhaite que le programme installé attende qu'un
bouton soit pressé lors de l'affichage d'une image ou lors d'une musique (car le chargement
est beaucoup plus rapide à partir d'un disque dur que sur disquette).
BranchCache/S
Active le BranchCache du 68060. Il n'y aura aucun effet sur les autres CPU.
L'option est inopérante si NoCache/S est activé.
Cache/S
Cette option active le cache d'instruction du CPU et désactive le cache de données pour
le programme installé. Si le MMU est utilisé par WHDLoad, la mémoire Chip sera cachable Writethrough
(imprécis).
Cette option est sans effet si NoCache/S est activé.
ChipNoCache/S
Cette option désactive la cachabilité de la mémoire Chip (BaseMem). Ceci peut
servir sur le matériel qui n'autorise pas la cachabilité de la mémoire Chip (par ex.
les cartes BlizzardPPC) afin d'éviter un ralentissement dans l'exécution du programme
installé. Généralités sur le cache CPU.
Chk/S
Cette option est un raccourci et active les options
ChkBltSize/S, ChkBltWait/S
et ChkColBst/S
ChkBltHog/S
Cette option vérifie tout le temps si le bit blthog
(bltpri
) dans le registre custom.dmacon
est activé. Cette fonction ne marche seulement avec une des options SnoopOCS/SnoopECS/SnoopAGA.
ChkBltSize/S
Cette option vérifie que le programme installé utilise correctement le blitter,
ainsi seulement les mémoires valides seront utilisées pour les opérations du blitter.
Cette fonction ne marche seulement avec une des options
SnoopOCS/SnoopECS/SnoopAGA.
ChkBltWait/S
Cette option vérifie que le programme installé attend que le blitter ait fini son travail
avant d'en commencer un autre. Cette fonction ne marche seulement avec une des options
of the SnoopOCS/SnoopECS/SnoopAGA.
ChkColBst/S
Cette option teste tout le temps si le bit de couleur dans le registre du custom.bplcon0
est activé. Cette fonction ne marche seulement avec une des options
SnoopOCS/SnoopECS/SnoopAGA.
ChkCopCon/S
Cette option vérifie que le programme installé ne permet pas certains accès du Copper au DMA via le registre
custom.copcon
. Cette fonction ne marche seulement avec une des options
SnoopOCS/SnoopECS/SnoopAGA.
ChkInts/S
Cette options vérifie pour chaque interruption, en l'occurence si Intreq et Intena sont activés pour
cette interruption. Si ce n'est pas le cas, le programme quittera avec un message approprié. Ce dispositif permet
facilement de détecter un problème d'interruption reconnue sur les ordinateurs rapides (68040/060) ou bien
un matériel défectueux qui causerait des interruptions non désirées. Dû le fait que cette contition intervient plus rapidement
si les interruptions sont désactivées via Intena et si en même temps une interruption se produit, cette option est
donc permutable.
CoreDump/S
Si c'est selectionné, à chaque sortie du programme installé, WHDLoad créera
une sauvegarde de la mémoire et des registres.
C'est utile pour "ripper" une musique ou pour débugger à partir de ce dump.
CoreDumpPath
Définie le chemin d'accès pour les dump fichiers créés par WHDLoad.
Custom/K, Custom1/K/N, Custom2/K/N, Custom3/K/N,
Custom4/K/N, Custom5/K/N
Ces options ne sont pas utilisées par WHDLoad lui-même, mais par le Slave.
Custom/K peut contenir une suite de caractères, Custom1-5/K seulement
des nombres. Jettez un oeil sur la documentation de l'install qui supporte
les options Custom.
D/S
Cette option est utile pour débugger. Si l'option est activée et qu'un débuggeur
(Hrt ou TK) se trouve en mémoire, WHDLoad simule une interruption non masquable
(NMI) avant d'exécuter la 1ère instruction du cpu contenue dans le Slave.
Data/K
Avec cette option, WHDLoad chargera les données du programme installé à partir d'un tiroir spécifié.
Cette option est prioritaire sur la valeur ws_CurrentDir contenue dans le Slave.
DCache/S
Cette option active le cache d'instructions et le cache de données du CPU. Si
le MMU est utilisé par WHDLoad, la mémoire Chip sera cachable Writethrough (imprécis).
L'option est inefficace si NoCache/S est activé.
DebugKey/K/N
Utilisez le code clavier pour quitter le programme avec
debug (sauvegarde un fichier coredump et quitte).
Ceci ne fonctionne que si le mode expert est activé,
que le VBR a été déplacé par WHDLoad (NoVBRMove/S ne doit
pas être activé) et que le cpu soit au moins un 68010 ou que le Slave supporte
lui-même le "DebugKey".
ExpChip/S, ExpLocal/S, Exp24Bit/S
Si le programme installé utilise de la mémoire étendue (ws_ExpMem), ces options peuvent être utilisées
pour forcer WHDLoad à allouer de la mémoire respectivement Chip, Local ou 24Bit.
Ceci peut en résulter d'une performance dégradée car ces mémoires ont des accès processeurs moins rapides
que la mémoire Fast. Vous pouvez utiliser des programmes comme SysInfo, GvpInfo,... pour vérifier votre
configuration de mémoire et voir leur propriété.
En général, le but de ces options est de résoudre des problèmes de compatibilités des programmes installés sur
des ordinateurs rapides en utilisant de la mémoire lente afin de réduire la vitesse d'exécution du programme.
Expert/S
Active le mode Expert de WHDLoad. Il utilise l'option DebugKey/S
et signale les erreurs (écrans de couleur/copper) pendant le retour du programme
installé vers l'OS. Si le mode Expert n'est pas activé, l'option DebugKey/S ne sera pas disponible.
Dans le mode Expert, un autre bouton dans quelques requêtes d'erreurs de WHDLoad apparait aussi.
Ce bouton appellé Show Regs permets d'afficher les registers et de similaires
informations contenue dans le registre dump.
ExecuteCleanup
Avec cette option, une commande peut être exécutée après que WHDLoad
ait terminé.
ExecuteStartup
Avec cette option, une commande peut être lancée avant WHDLoad.
Ceci est utile pour désactiver le matériel qui provoque certains problèmes
avec WHDLoad ou pour arrêter une pile TCP/IP ou un programme similaire.
FileLog/S
Cette option est seulement pour débugger.
Voir le chapitre Dumps and Logfiles pour plus
d'informations.
FreezeKey/K/N
Si vous utilisez un débuggeur (HrtMon ou ThrillKill), vous pouvez activer cette
option pour que WHDLoad puisse entrer dans le débugger quand une touche du clavier
est pressée rawkey. Pour cela, il faut que le VBR soit
déplacé par WHDLoad, (l'option NoVBRMove/S doit être
désactivée et que le cpu soit au moins un 68010) et que le freezer doit être actif.
Voir le chapître System Monitors / Freezer pour plus d'informations.
MMU/S
Cette option doit être utilisée sur les systèmes à base de 68030 pour obtenir
les fonctions MMU suivantes: protection de la mémoire
, amélioration de la gestion des caches du cpu, Snooping, resload_Protect#?
Sur un 68040 ou 68060, cette option n'a pas d'effet car le MMU est utilisé par défaut.
Il est fortement recommendé de mettre cette option dans le fichier configuration globale
pour tous les systèmes à base de 68030 (non 68EC030) contenant un MMU
car le MMU améliore énormément la stabilité du système et sa sécurité. Si l'option
NoMMU/S est activée, cette option n'a pas d'effet.
NoAutoVec/S
Si cette option est selectionnée, WHDLoad ne quittera pas le programme si un auto-vecteur
inattendu ou une NMI intervient (vecteur #25-31 / $64-$7c). Ceci peut être
utilisé sur les systèmes/hardware qui produisent des interruptions aléatoires
afin d'empêcher WHDLoad de quitter (l'idéal est de déconnecter le matériel défaillant!).
NoCache/S
Désactive tous les caches du cpu.
Cette option prend le dessus sur les options
suivantes: BranchCache/S,
Cache/S, DCache/S, StoreBuffer/S et SuperScalar/S.
NoFileCache/S
Désactive le cache des fichiers de WHDLoad et force l'activation de l'OS
pour chaque opération du disque du programme installé.
Cette option
désactive l'option Preload/S.
NoFilter/S
Désactive le filtre audio. Notez que cette option n'est efficace seulement au
début, le programme installé peut changer lui-même l'état du filtre audio.
NoFlushMem/S
Normalement WHDLoad vide la mémoire au début pour avoir le plus de
mémoire libre pour l'opération Preload/S en ôtant
les ressources non utilisées comme les libraries, fonts etc. de la mémoire.
En utilisant cette option, WHDLoad ne videra pas la mémoire. Cela peut être
utilisé sur des systèmes qui possèdent beaucoup de mémoire libre afin
d'éviter de recharger les ressources et ainsi améliorer les performances du système.
NoMemReverse/S
Si cette option est activée,
WHDLoad n'allouera pas la mémoire en utilisant le drapeau MEM_REVERSE.
Il se trouve qu'avec ce drapeau, des problèmes peuvent apparaître sur certaines configurations.
(configuration utilisant la mémoire du slot PCMCIA sur A600/A1200 comme mémoire rapide, configuration
avec une M-Tec 1230/8 MB OS3.0). Les raisons de ces problèmes sont inconnues. Cette option peut aider
si de la mémoire se trouvant dans les adresses hautes est endommagée, car WHDLoad utilisera la mémoire
avec des adresses basses en premier. Si vous avez d'autres problèmes assez étranges, cette option
peut être utile à essayer. Elle a été introduite à partir de la version 16.8 de WHDLoad.
NoMMU/S
Si cette option est activée, WHDLoad n'utilisera pas le MMU. C'est une option
dangeureuse et n'est recommandée seulement pour tester ou débugger et non pour
une utilisation normale. Voir chapitre MMU
pour plus d'informations. L'option prend le dessus sur MMU/S.
NoReq/S
Cette option est utilisée seulement quand
WHDLoad est lancé à partir d'une ligne de commande (CLI/Shell). A partir du
Workbench, il n'aura aucun effet. L'option force WHDLoad à afficher les messages
de sorties dans la fenêtre de commande où WHDLoad a été exécuté au lieu d'ouvrir
une nouvelle fenêtre.
NoResInt/S
Cette option désactive les interruptions pendant l'exécution des fonctions "resload".
Normalement les interruptions sont autorisées. Elles peuvent par exemple traiter du
son, mettre à jour l'écran graphique ou d'autre chose tout aussi importante. Les
désactiver pourrait déformer le son ou l'écran, ou qu'il y ait un dysfonctionnement
total. Ne pas les faire fontionner correctement pourrait aussi détruire
les données internes de WHDLoad, et causer un plantage de WHDLoad et probablement de
tout le système d'exploitation. Cette option peut être utilisée pour vérifier d'autres
problèmes. Si un install se comporte de façon étrange ou fait planter WHDLoad mais
fonctionne avec cette option, ce sera très certainement un problème d'interruption.
Dans ce cas là, l'install aura besoin d'être fixer.
NoTrapHandler/S
Si cette option est activée, WHDLoad utilisera la table de vecteurs originaux
de l'OS du système. Au début WHDLoad copiera la table de vecteurs du système
au lieu de créer sa propre table. C'est utile pour débugger et ne ne devrait
pas être utilisé pour un usage normal. Attention: si une exception est appelée
par l'intermédiaire de la table de vecteur originale, elle exécutera une fonction
OS ou essayera d'utiliser les données de l'OS et la machine plantera (ex. exec.Alert).
NoVBRMove/S
Par défaut, WHDLoad déplace le VBR à une position différente dans la mémoire autre que $0.
C'est un avantage, le programme installé ne peut changer la table des vecteurs
et ceci améliore énormément la sécurité et la stabilité de WHDLoad. Quelques programmes
installés/slaves ne fonctionnent pas correctement avec un VBR déplacé. La raison
est que le programme installé peut effectuer des choses étranges qui
ne supporteront pas que le VBR soit déplacé ou que l'auteur de l'install était trop
fainéant pour supporter un VBR déplacé. Dans un tel cas, cette option doit être
activée pour empêcher un déplacement du VBR par WHDLoad.
Une autre caractéristique
d'un VBR déplacé est que WHDLoad peut vérifier le clavier chaque fois qu'une interruption
d'un Autovector se produit. WHDLoad sera donc capable de quitter
le programme installé indépendamment du fonctionnement de celui-ci, si QuitKey/S ou DebugKey/S est pressée.
(de même que le programme installé peut être intérompu quand FreezeKey/S est pressée). Pour déplacer le VBR, il faut au
minimum un 68010. Sur un 68000, cette option n'a pas d'effet, car le VBR se trouve
toujours à $0 et qu'il ne peut pas être déplacé.
NoWriteCache/S
Cette option désactive le cache du disque en écriture de WHDLoad. Sans cette option,
WHDLoad essayera d'optimiser toutes les opérations d'écriture dans la mémoire et de
les différer jusqu'à que le programme quitte afin d'éviter inutilement
l'activation de l'OS.
NTSC/S
Si selectionné, WHDLoad utilisera un afficache NTSC (60Hz) pour le programme
installé. Sur un Amiga PAL, le pilote du moniteur NTSC doit être installé dans
"DEVS:Monitors/
".
PAL/S
Si selectionné, WHDLoad utilisera un afficache PAL (50Hz) pour le programme
installé. Sur un Amiga NTSC, le pilote du moniteur PAL doit être installé dans
"DEVS:Monitors/
".
Preload/S
Si cette option est activée, WHDLoad chargera les fichiers et les images de disque
en mémoire autant que possible (en fonction de la mémoire libre disponible).
Ceci améliore les performances quand le programme installé fonctionne, car cela
évite des accès à l'OS pour charger les données directement à partir du disque dur.
Cette option devrait toujours être activée.
QuitKey/K/N
Choisissez un code clavier pour quitter le programme,
ceci marche seulement si le VBR est déplacé par WHDLoad (NoVBRMove/S ne doit être activé et le cpu doit être
au moins un 68010) ou que le slave le supporte lui-même.
ReadDelay/K/N
Cette option spécifie le temps en 1/50ème de seconde l'attente de WHDLoad après
avoir charger les données du disque, et aussi après que l'option Preload
ait fini. Ceci resout les problèmes de lecteurs (ex. lecteur de CD) qui veulent
faire quelque chose après la lecture (ex. éteindre le moteur).
RestartKey/K/N
En utilisant cette option, vous pouvez choisir un code clavier
pour relancer le programme installé.
ShowRegs/K/N
Cette option est très utile si Expert/S est activé.
Vous pouvez spécifier un programme qui sera utilisé pour afficher le fichier Dump,
si le bouton Show Regs (dans une requête d'erreur de WHDLoad) a été pressé.
WHDLoad copiera le nom du fichier (fichier temporairement sauvé,
actuellement T:.whdl_register) dans la chaîne de commande spécifiée.
Slave
Nom du slave qui doit être utilisé pas WHDLoad. Le slave contient
le code interface qui est requis pour la communication entre le programme
installé et WHDLoad.
Snoop/S, SnoopAGA/S, SnoopECS/S, SnoopOCS/S
Ces options activent le registre Cia/Custom snoop
de WHDLoad.
SplashDelay/K/N
Cette option spécifie le temps (en 1/50ème de seconde) d'affichage de la fenêtre
d'informations de WHDLoad au début. Si SplashDelay/K/N est plus petit que ReadDelay/K/N, il sera ignoré et la fenêtre restera affichée
avec le temps de ReadDelay/K/N. La fenêtre est affichée
aussi longtemps que Preload/S travaille. Si l'option
est à 0, aucune fenêtre ne s'affichera.
StoreBuffer/S
Cette option active le Store Buffer du 68060.
Sur les autres cpu, il n'y aura
aucun effet.
L'option est inactive si NoCache/S est mis.
SuperScalar/S
Cette option active la capacité du cpu à exécuter plusieurs instructions par cycle.
Sur les autres cpu, il n'y aura aucun effet.
L'option est inactive si NoCache/S est mis.
TimeOut/K/N
Si activé, WHDLoad et le programme installé quittera après le temps spécifié.
L'option NoVBRMove/S ne doit pas être mise et le programme
installé ne doit pas modifier le ciaa.ciatod timer. Le temps pour quitter est spécifié
en 1/50ème de seconde. Pour mesurer ce temps pour une démo ou un jeu, activez
l'option Expert/S et choisissez un DebugKey/K/N, quand vous aurez atteint le point désiré, appuyez
sur la touche debug. Maintenant regardez dans le fichier .whdl-register et recherchez la valeur ciaa-event. Si la fréquence
de la puissance délivrée est 50 Hz, alors c'est la valeur à mettre avec TimeOut/K/N,
si la fréquence est 60 Hz, vous devez multiplier la valeur par 5/6.
WriteDelay/K/N
Cette option spécifie le temps d'attente (en 1/50ème de seconde) de WHDLoad après
avoir écrit sur le disque dur. Ceci affecte toutes les fonctions resload_Save#? et FileLog/S.
En général, les systèmes de fichiers n'écrivent pas les données immédiatement sur le disque
dur. Cela prend un peu de temps (1 à 3 secondes) jusqu'à que toutes les structures
du système de fichiers soient mises à jour avec succès. La valeur par défaut pour WriteDelay
est 150, WHDLoad attendra donc 3 secondes après chaque écriture sur le disque
dur. Vous pouvez mettre la valeur à 0, mais vous ne devriez jamais quitter par
un reset le programme installé car les données ne seront pas sauvegardées
correctement sur le disque dur.