WELCOME UNIVERSE ROMs

vendredi 19 juillet 2024

WinUAELoader




1. Description de WHDLoad

WHDLoad est un logiciel de chargement apparu en 1996 permettant d'installer des programmes (essentiellement des jeux ou démonstrations) sur les disques durs de nos Amiga, ces programmes étant stockés sur le disque dur comme des images-disque.

La raison essentielle de la création de ce programme est que la majorité des jeux dédiés à nos machines ne se servent pas directement des interfaces proposées par le système d'exploitation mais accèdent directement au matériel. Ces accès aux ressources (périphériques ou mémoire) ont souvent été faits à partir de mauvaises hypothèses. En conséquence, certaines hypothèses n'étant plus valables avec l'évolution de la gamme, des anciens jeux ne pouvaient plus s'exécuter sur du nouveau matériel et vice-versa.

Ce programme présente donc des avantages certains :

  • Il permet une alternative aux disquettes qui sont généralement en fin de vie ou de plus en plus difficiles à trouver neuves dans le commerce.
  • Il accélère l'exécution d'un programme étant donné qu'il n'y a plus d'accès au lecteur de disquette (et fini le grille-pain ! ;)).
  • Il gère les changements de système d'exploitation si besoin (s'adapte au "Kickstart" compatible).
  • Il va plus loin que des outils comme diskimage en gérant les programmes "Non-DOS".
2. Fonctionnalités et configuration requise

Les fonctionnalités proposées par WHDLoad sont les suivantes :
  • Démarrage à partir du Shell ou du Workbench.
  • Gestion de la protection mémoire si le processeur dispose d'une unité de gestion mémoire (MMU).
  • Retour au système d'exploitation sans nécessité de redémarrer.
  • Possibilité d'utiliser des images disque ou des fichiers standard.
  • Taille mémoire Chip variable de $2000 à $200000 pour le programme.
  • Taille mémoire Fast illimitée pour le programme.
  • Allocation dynamique de la mémoire Chip.
  • Mise en cache des fichiers et des images disque au démarrage et dynamiquement à l'exécution (LRU).
  • Décompression automatique des fichiers et des images disque utilisant XPK.
  • Décompression automatique des fichiers (RNC/IMP/TPWM) si le développement l'a prévu.
  • Émulation de l'instruction MOVE SR,ea à partir du mode utilisateur sur processeur Motorola 68010 et plus récent.
  • Émulation des instructions entières non gérées par le processeur Motorola 68060.
  • Fonctionnalités avancées de débogage (recopié du contenu de la mémoire, des registres, traçage des accès fichier, traçage des accès aux registres spécialisés).
  • Compatible avec Enforcer/Cyberguard et VMM tant que l'option NoVBRMove/S n'est pas utilisée.
  • Émulation possible des différents Kickstart.
La configuration minimum est la suivante :
  • Un processeur Motorola 68000 (un 68010+ est recommandé).
  • Un minimum de 1 Mo de mémoire vive.
  • La ROM 2.0 (Kickstart 37.xx).
Néanmoins, cette configuration ne permettra pas d'exécuter tous les jeux à cause du manque de mémoire et de puissance processeur.

La configuration optimale pour pouvoir exécuter tous les programmes :
  • Un processeur Motorola 68020 minimum.
  • 4 Mo minimum de mémoire vive (mémoire Fast).
Enfin, les exigences requises pour développer des installations :
  • Un processeur Motorola 68030 avec unité de gestion de mémoire (MMU).
  • Autant de mémoire que possible.
  • Une connaissance du matériel Amiga, de l'assembleur.
  • Un assembleur (avec optimiseur) et d'autres utilitaires (éditeurs hexadécimaux ou désassembleurs).
  • Débogueur matériels ou logiciels (Action Replay 3...).
  • Bouton NMI pour interrompre un programme et pouvoir analyser la mémoire.
3. Fonctionnement

WHDLoad permet le lancement d'une image disque simplement en cliquant dessus ou sur une icône qui la référence. Pour pouvoir réaliser l'installation d'un jeu par exemple, le programme doit être écrit sur un disque dur virtuel avec un exécutable spécial qui lui est dédié. Ce programme est appelé l'interface "Slave" (fichier-esclave).

L'interface "Slave" permet l'interaction entre le programme et WHDLoad et coordonne l'écriture et la lecture des fichiers. Tous les fichiers-esclaves sont disponibles en téléchargement sur Internet sur le site www.whdload.de. Les jeux, par contre, doivent être la propriété de l'utilisateur.

Le schéma séquentiel suivant explique succinctement le fonctionnement de WHDLoad :

WHDLoad

4. Installation de WHDLoad

L'installation la plus simple est d'utiliser un environnement préconfiguré comme Classic Workbench par exemple. En effet, WHDLoad y est déjà installé. Toutes les informations relatives à une installation de Classic Workbench sur un vrai Amiga sont disponibles sur le site : classicwb.abime.net.

Pour notre part, nous nous intéresserons à l'installation de WHDLoad à partir d'une machine Amiga avec les caractéristiques suivantes :
  • Amiga 1200, ROM 3.1 V40.68.
  • Workbench 3.1.
  • Carte accélératrice ACA1230/28 64 Mo.
  • Disque dur Compact Flash 4 Go.
  • Utilitaires de base : installer V43.3, EasyAdf (décompression Lha), DiskImage (Outil de montage d'images disque IPF), transfert de fichiers via PCMCIA Compact Flash.
WHDLoad

Les logiciels suivants sont nécessaires pour l'installation de WHDLoad :
  • WHDLoad disponible sur le site www.whdload.de.
  • Les systèmes d'exploitation ou Kickstart Amiga. Comme ils sont encore sous droits, il faut posséder les Amiga correspondants et les extraire avec les outils adéquats (Grabkick par exemple) ou utiliser ceux fournis avec l'émulateur Amiga Forever (uniquement à partir de la version 16.5 de WHDLoad).
  • Les fichiers de relocation correspondant à l'image d'un Kickstart (fichiers .RTB) disponible dans l'archive util/boot/skick346.lha.
L'archive WHDLoad est composée des fichiers suivants :
  • Installation : install (script d'installation pour Installer), Installer (programe d'installation d'Amiga Technologies ou Commodore).
  • Docs : documentation au format HTML disponible en plusieurs langues.
  • Exécutables :
    • WHDLoad.
    • WHDLoadCD32.
    • DIC (permet de créer une image disque à partir d'une disquette).
    • RawDIC (permet de créer un fichier image pour WHDLoad à partir d'une disquette au format non standard).
    • Patcher (programme remplacé par RawDIC).
  • Fichier de préférences :  WHDLoad.prefs pour les options globales.
L'archive skick346 est composée des différents fichiers de relocation et des exécutables suivants :
  • SKick : programme permettant de charger un Kickstart logiciellement en mémoire vive.
  • AllocKick : utilitaire aidant les utilisateurs de SKick possédant des cartes mémoires non détectables par l'outil Autoconfig.
  • KickStat : utilitaire de diagnostique pour contrôler l'image Kickstart chargée en mémoire vive par SKick.
Avant de lancer l'installation de WHDLoad, il faut tout d'abord réaliser les opérations suivantes :

1. Créer un répertoire "Kickstarts" dans le répertoire "Devs" du Workbench.

2. Décompresser et copier les fichiers de relocations (.RTB) et ajouter les fichiers images des Kickstart dans le répertoire préalablement créé. Les fichiers image doivent avoir les mêmes noms que les fichiers de relocation.

WHDLoad

Pour les Kickstart les plus courants, par exemple, rajouter les fichiers :

1.2Devs:Kickstarts/kick33180.A500Devs:Kickstarts/kick33180.A500.RTB
1.3Devs:Kickstarts/kick34005.A500  Devs:Kickstarts/kick34005.A500.RTB
3.1Devs:Kickstarts/kick40068.A1200Devs:Kickstarts/kick40068.A1200.RTB

3. Copier les fichiers exécutables AllocKick, KickStat et SKick dans le répertoire C du Workbench.

WHDLoad

4. Décompresser l'archive WHDLoad dans un répertoire temporaire et exécuter le script d'installation "Install".

5. Choisir le niveau d'expertise de l'installation et cliquer sur "Continuer l'installation" ("Proceed with Install" si votre Workbench n'est pas localisé ;)).

WHDLoad

6. Valider directement le choix d'installation proposé.

WHDLoad

7. Choisir ensuite les répertoires d'installation et cliquer sur "Continuer" ("Proceed"), conserver les répertoires proposés : C pour WHDLoad et les autres programmes (les exécutables doivent être accessibles dans tous les cas) et Help pour la documentation.

WHDLoad

8. L'installeur a copié les fichiers et indique la fin de l'installation, cliquer alors sur "Continuer" ("Proceed").

WHDLoad

WHDLoad est maintenant installé.

4. Installation d'un jeu

Avant de procéder à une installation, il peut être intéressant de vérifier si l'installation de WHDLoad est correcte avec un programme préconfiguré. Le site www.lankhor.net, par exemple, propose les anciens jeux Lankhor téléchargeables grâce à l'autorisation des ayant droit (l'éditeur ayant cessé toute activité).

Dans notre cas, nous téléchargerons l'excellent Vroom Multiplayer. L'archive contient directement un répertoire dédié pour WHDLoad. Il suffit alors de décompresser l'archive et de la transférer sur le disque dur de l'Amiga.

WHDLoad

L'archive est bien composée de l'image disque (Disk.1), du fichier-esclave et du fichier de lancement.

WHDLoad

Les informations du fichier de lancement indiquent que l'exécutable par défaut est WHDLoad, les options associées indiquent le fichier-esclave et l'option PreLoad indique à WHDLoad de charger complètement l'image disque en mémoire vive.

Double-cliquons sur le fichier de lancement, le jeu s'affiche quelques secondes plus tard !

WHDLoad

Pour installer un jeu, il faut posséder la version originale en disquette ou en image IPF. Le format IPF (Interchangeable Preservation Format) est un format spécifique pour les images disque originales contenant des protections contre la copie, par exemple, ou un format spécifique. Tenter une installation avec un fichier ADF (Amiga Disk File) est toujours possible, mais celle-ci a peu de chance de fonctionner étant donné que la conversion ADF ne gérera pas les protections contre la copie ou les "modifications apportées" si l'ADF a été téléchargé. Il faudrait en fait refaire complètement une interface Slave avec le fichier ADF pour avoir un bon fonctionnement.

Lançons l'installation d'un jeu original : Mortal Kombat.

WHDLoad

Note : avant Mortal Kombat, les tentatives d'installation de deux autres jeux originaux Cannon Fodder et Walker se sont soldées par un échec. L'installation de Cannon Fodder s'est bloquée après la mise en image de la deuxième disquette avec un bel écran coloré et celle de Walker n'a pas dépassé les quatre secondes lors de la mise en image de la disquette 1. Pour Cannon Fodder, l'échec est peut-être dû au fait d'avoir tenté d'installer un jeu en français avec une installation faite avec l'original anglais. Pour Walker, une erreur de lecture est apparue soudainement ; annuler l'erreur arrête immédiatement l'installation (alors qu'il est parfois conseillé pour d'autres jeux d'ignorer les erreurs en cliquant sur "Annuler" sans que cela pose le moindre problème).

1. Récupérer les fichiers d'installation de Mortal Kombat sur le site www.whdload.de.

WHDLoad

2. Transférer ces fichiers sur l'Amiga dans un répertoire temporaire.

3. Cliquer sur le script d'installation "Install" pour le lancer.

4. Choisir le mode d'installation "expert" et cliquer sur "Continuer l'installation" ("Proceed With Install"). Noter que d'autres installations peuvent différer, étant donné que le script d'installation est à la main du développeur.

WHDLoad

5. Choisir la source pour les images disque, ici DF0: et cliquer sur "Continuer".

WHDLoad

6. Choisir le répertoire d'installation et cliquer sur "Continuer".

WHDLoad

7. Choisir l'icône du jeu et cliquer sur "Continuer" (ce choix ne sera pas toujours présent).

WHDLoad

8. Insérer les disquettes lorsqu'elles sont demandées et cliquer sur "Start" (dans ce cas RawDIC est utilisé pour extraire l'image).

WHDLoad

9. L'installation est terminée, cliquer sur "Continuer". Les fichiers de lancement, le fichier-esclave et les images disque ont été copiés à l'emplacement choisi.

WHDLoad

WHDLoad

Il ne reste plus qu'à lancer le jeu en double-cliquant sur l'icône de lancement.

WHDLoad

Puis un message de lancement du jeu avec la touche permettant de revenir au Workbench (ici F10).

WHDLoad

Prêt pour le frisson du combat ! ;)

WHDLoad

Le jeu se lance assez rapidement et son fonctionnement est assez réactif.

5. Pour aller plus loin

5.1 Outils d'amélioration

Il est possible d'améliorer son installation avec des outils comme iGame (ou KGLoad et Arcade Game Selector) par exemple qui sont des interfaces permettant d'indexer les jeux installés et offrant ensuite un moyen simple de les retrouver et les lancer.

iGame nécessitant l'installation de MUI possède entre autres les fonctionnalités suivantes :
  • Indexation des jeux installés présents sur le disque dur.
  • Filtre de recherche.
  • Classement par catégorie.
Plus d'information disponible sur winterland.no-ip.org/igame/index.html.

5.2 Les options de WHDLoad

Comme vu précédemment, les options de WHDLoad peuvent être indiquées dans le fichier de lancement par le biais des "Tool Types", en argument de la ligne de commande ou avec un fichier de configuration globale.

Modifier les options peut être intéressant après une tentative d'installation qui n'a pas bien fonctionné. Les options sont assez nombreuses et permettent des réglages assez précis suivant le matériel dont dispose l'utilisateur.

La description des options est disponible à www.whdload.de/docs/fr/opt.html.
  • BranchCache/S : active le BranchCache du 68060. Il n'y aura aucun effet sur les autres processeurs. L'option est inopérante si NoCache/S est activé.

  • ButtonWait/S : cette option n'affecte pas WHDLoad lui-même, mais elle peut être testée par le fichier-esclave. 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).

  • Cache/S : active le cache d'instructions du processeur et désactive le cache de données pour le programme installé. Sur 68030, le cache d'instructions "burst" sera aussi activé. Si la MMU est utilisée par WHDLoad, la mémoire Chip sera cachable Writethrough (imprécis). Cette option est sans effet si NoCache/S est activé.

  • ChipNoCache/S : 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 exemple les cartes BlizzardPPC) afin d'éviter un ralentissement dans l'exécution du programme installé. Généralités sur le cache processeur.

  • Chk/S : cette option est un raccourci et active les options ChkBltSize/S, ChkBltWait/S et ChkColBst/S.

  • ChkAudPt/S : cette option vérifie que le pointeur écrit dans le registre des pointeurs de données audio soit une addresse valide de la mémoire Chip. Les pointeurs ne doivent pas être nuls ou se trouver en dehors de la mémoire BaseMem. Cette option ne fonctionne seulement qu'avec l'une de ces options SnoopOCS/SnoopECS/SnoopAGA. Permet à diagnostiquer certains problèmes audio dans les routines de replay.

  • ChkBltHog/S : vérifie tout le temps si le l'attribut "blthog" (bltpri) dans le registre "custom.dmacon" est activé. Cette fonction ne marche seulement qu'avec l'une de ces options : SnoopOCS/SnoopECS/SnoopAGA. En activant "blthog", le Blitter a la priorité sur le processeur concernant les accès mémoire, peut causer des problèmes sur certaines configurations matérielles. Parfois, d'accorder quelques cycles de bus au processeur, on gagne en performance.

  • ChkBltSize/S : 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 qu'avec l'une de ces options : SnoopOCS/SnoopECS/SnoopAGA. Toutes les opérations Blitter seront vérifiées à l'exception du mode "line".

  • ChkBltWait/S : 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 qu'avec l'une de ces options : SnoopOCS/SnoopECS/SnoopAGA.

  • ChkColBst/S : teste tout le temps si l'attribut de couleur dans le registre du "custom.bplcon0" est activé. Cette fonction ne marche seulement qu'avec l'une de ces options : SnoopOCS/SnoopECS/SnoopAGA. Certains matériels notamment les désentrelaceurs ont besoin que cet attribut soit activé pour que la sortie vidéo produit un signal. De plus, pour de meilleurs compatibilités, ce bit devait toujours être activé. Les vérifications sont faites directement lors de l'écriture du registre "custom.bplcon0" et dans toutes les listes Copper.

  • ChkCopCon/S : 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 qu'avec l'une de ces options : SnoopOCS/SnoopECS/SnoopAGA. Cela peut être utile pour détecter si le programme installé utilise le Copper pour contrôler des opérations DMA.

  • ChkInts/S : vérifie pour chaque interruption, en l'occurrence 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/68060) ou bien un matériel défectueux qui causerait des interruptions non désirées. Cette situation peut arriver plus rapidement si les interruptions sont désactivées via Intena et si en même temps une interruption se produit, c'est pour cette raison que cette option est permutable. A partir de la version 17.1 de WHDLoad, cette option active aussi les vérifications de cohérence et de tests de clavier pour les interruptions de niveaux 4 à 6 qui sont normalement effectués dans les niveaux 1 à 3.

  • Config/K : avec cette option, la configuration d'items peut être spécifiée et sera affichée dans la fenêtre de démarrage de WHDLoad. Cette option pendra le dessus de ws_config spécifié dans le fichier-esclave. Pour la syntaxe, vérifiez ws_config dans l'autodocs.

    S'il n'y a aucun ws_config dans le fichier-esclave ou Config/K n'est pas mis et que le fichier-esclave vérifie des items Custom1-5/K/N/ButtonWait/S via la fonction "resload_Control", WHDLoad ajoutera l'option Config/K dans l'icone si c'est lancé à partir du Workbench. Le type d'items sera dérivé à partir de la valeur actuelle des options Custom1-5/K/N (0-1 booléen, 2-63 liste, >63 binaire).

  • ConfigDelay/K/N : cette option spécifie le temps d'affichage en 1/50e de seconde de la fenêtre de démarrage s'il y a des boutons activés (voir Config/K et Expert/S). Si ConfigDelay/K/N est inférieur à ReadDelay/K/N ou SplashDelay/K/N, l'option sera ignorée. La fenêtre est affichée aussi longtemps que Preload/S est en action. Si un bouton de configuration est pressé le compteur pour ConfigDelay recommence.

    Si une option est mise à "-1", un bouton "Start" est ajouté à la fenêtre et restera ouverte jusqu'à ce que bouton soit pressé. La fenêtre d'introduction/information (splash) peut se fermer en pressant la barre d'espace, "Return" ou "Enter". Si "Esc" est pressé, WHDLoad arrêtera Preload/S et quittera immédiatement.

  • CoreDump/S : s'il est sélectionné, à chaque sortie du programme installé, WHDLoad créera une sauvegarde de la mémoire et des registres. C'est utile pour récupérer une musique ou pour déboguer à partir de cette recopie du contenu.

  • CoreDumpPath : définie le chemin d'accès pour les fichiers de recopie de contenu ("dump") 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 fichier-esclave. Custom/K peut contenir une suite de caractères, Custom1-5/K seulement des nombres.

  • D/S : cette option est utile pour déboguer. Si l'option est activée et qu'un débogueur (HRTMon ou ThrillKill) se trouve en mémoire, WHDLoad simule une interruption non masquable (NMI) avant d'exécuter la première instruction du processeur contenue dans le fichier-esclave.

  • Data/K : spécifie le répertoire de données principal du programme installé. Plusieurs répertoires peuvent être utilisés, ils seront séparés d'une virgule (,) (le nom du répertoire ne pourra contenir de virgule !), lors d'un chargement, les répertoires seront vérifiés dans l'ordre pour la lecture des fichiers. L'écriture de fichier sera effectuée seulement dans le premier répertoire. Cette option est prioritaire sur la valeur ws_CurrentDir contenue dans le fichier-esclave.

  • DCache/S : active le cache d'instructions et le cache de données du processeur pour le programme installé. Sur 68030, le cache d'instructions "burst" sera aussi activé. Si la MMU est utilisée 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 et débogage (sauvegarde un fichier coredump). 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 processeur soit au moins un 68010 ou que le fichier-esclave gère lui-même le "DebugKey".

  • ExecuteCleanup : avec cette option, une commande peut être exécutée après que WHDLoad ait terminé. La commande "Execute" du système pourra aussi être utilisée pour lancer un script.

  • 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 comme une pile TCP/IP ou USB. La commande "Execute" du système pourra aussi être utilisée pour lancer un script.

  • 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 24 bits. Ceci peut en résulter d'une performance dégradée car ces mémoires ont des accès processeur moins rapides que la mémoire Fast. Vous pouvez utiliser des programmes comme SysInfo, GvpInfo, etc. 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 le système. 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 apparaît aussi. Ce bouton appelé "Show Regs" permet d'afficher les registres et de similaires informations contenues dans le registre "dump". De plus, quelques boutons permutables de débogage sont ajoutés à l'écran d'introduction. Les modifications sont sauvegardées dans l'icône si lancé à partir du Workbench.

  • FileLog/S : cette option est seulement présente pour déboguer.

  • FreezeKey/K/N : si vous utilisez un débogueurr (HRTMon ou ThrillKill), vous pouvez activer cette option pour que WHDLoad puisse entrer dans le débogueur quand une touche du clavier est pressée. Pour cela, il faut que le VBR soit déplacé par WHDLoad (l'option "NoVBRMove/S" ne doit pas être activée, et le processeur soit au moins un 68010) et que le "freezer" doit être actif.

  • FullChip/S : permet de sauvegarder et restaurer toute la mémoire Chip (execbase MaxLocMem) au lieu de ws_BaseMemSize du fichier-esclave. Quand WHDLoad utilise la MMU pour protéger la mémoire, les erreurs d'accès ne sont gérées que par le processeur. Les accès DMA (coprocesseurs comme le Blitter/disk-DMA) ne le sont pas et peuvent corrompre la mémoire Chip. Ils ne pourront pas être détectés par la protection mémoire de WHDLoad. Avec cette option, ces erreurs d'accès ne pourront plus endommager le système d'exploitation. Avant que le programme installé soit lancé, la mémoire Chip additionnelle (la zone entre BaseMemSize et MaxLocMem) sera remplie par des données spéciales. Après que le programme ait été interrompu, WHDLoad vérifie si cette mémoire additionnelle a été altérée. Si ce cas se présente, un message d'erreur sera affiché et cette mémoire sera inscrite dans le fichier de recopie de la mémoire (non dans le fichier de recopie complet) ce qui permettra de futures investigations. Cette option est très utile lors du développement/debogage afin d'éviter que le système d'exploitation ne plante et cela permet aussi d'utiliser temporairement des intallateurs bogués. FullChip/S ne peut fonctionner avec l'option "ExpChip/S". Si les deux options sont activées, FullChip/S sera ignorée.

  • LogBuffer/K/N : avec cette option, le tampon interne de WHDLoad utilisé pour réceptionner les messages de logs à partir de FileLog/S et la fonction resload_Log peut être spécifié. Par défaut, la taille du tampon est de 4096 octets. Ce tampon est seulement alloué si l'option FileLog/S a été spécifiée. Si le tampon est plein, WHDLoad interrompt le programme installé et active le système d'exploitation pour vider le tampon et écrire le contenu du fichier log. Pour éviter ces opérations, la taille du tampon devra être assez large pour garder en mémoire le maximum d'entrées possible.

  • 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 processeur, "snooping", "resload_Protect#?". Sur un 68040 ou 68060, cette option n'a pas d'effet car la MMU est utilisée par défaut. Il est fortement recommandé de mettre cette option dans le fichier configuration globale pour tous les systèmes à base de 68030 (non 68EC030) contenant une MMU car la 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 sélectionné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/matériels qui produisent des interruptions aléatoires afin d'empêcher WHDLoad de quitter. Notez toutefois que cette option ne guérit pas le matériel défaillant qui crée de telles interruptions. Quelques programmes installés ne risquent pas de fonctionner correctement avec ces matériels bien que cette option soit activée. Le mieux est de déconnecter le matériel défaillant (ou de le réparer si possible).

  • NoCache/S : désactive tous les caches du processeur. 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 du système d'exploitation 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 bibliothèques, polices, 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 (par exemple une configuration utilisant la mémoire du port PCMCIA sur A600/A1200 comme mémoire rapide, une configuration avec une M-Tec 1230/8 Mo et AmigaOS 3.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. Cette option est toujours active sur les Kickstart 2.0 (V37) à cause d'un bogue dans ce Kickstart qui pourrait bloquer la machine lors de l'exécution la fonction exec.AlloMem.

  • NoMMU/S : si cette option est activée, WHDLoad n'utilisera pas la MMU. C'est une option dangereuse et n'est recommandée seulement pour tester ou déboguer et non pour une utilisation normale. 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 : 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'autres choses tout aussi importantes. Les désactiver pourrait déformer le son ou l'écran, ou qu'il y ait un dysfonctionnement total. Ne pas les faire fonctionner 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 installateur se comporte de façon étrange ou fait planté WHDLoad mais fonctionne avec cette option, ce sera très certainement un problème d'interruption. Dans ce cas là, l'installateur aura besoin d'être rectifié.

  • NoVBRMove/S : par défaut, WHDLoad déplace le VBR à une position différente dans la mémoire. 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 ne fonctionnent pas correctement avec un VBR déplacé. La raison est que le programme installé peut utiliser des exceptions du processeur ou effectuer des choses étranges. 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, ou pour entrer dans un Monitor 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 il n'y pas de VBR et que la table des vecteurs se trouve toujours à $0 et qu'il ne peut être déplacé. Sur 68000, WHDLoad supporte certains périphériques (ACA500, Zeus) qui permettent de déplacer les vecteurs d'interruptions dans une zone de mémoire différente pour ainsi rendre actif l'option QuitKey/S. Ces caractéristiques spéciales de ces périphériques ne sont pas utilisées si cette option est activée.

  • NoWriteCache/S : 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 du système d'exploitation.

  • NTSC/S : si sélectionné, WHDLoad utilisera un affichage NTSC (60 Hz) pour le programme installé. Sur un Amiga PAL, le pilote du moniteur NTSC doit être installé dans "DEVS:Monitors/".

  • PAL/S : si sélectionné, WHDLoad utilisera un affichage PAL (50 Hz) 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. Si pendant le chargement, la mémoire libre n'est plus suffisante pour un fichier, celui-ci s'arrêtera. Dans ce cas, seulement une partie des fichiers sera chargée. Ceci améliore les performances quand le programme installé fonctionne, car cela évite des accès au système d'exploitation 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 processeur doit être au moins un 68010) ou que le fichier-esclave le gère lui-même.

  • ReadDelay/K/N : cette option spécifie le temps en 1/50e de seconde l'attente de WHDLoad après avoir chargé les données du disque. Il attend aussi que l'option Preload/S ait fini son travail. Ceci résout les problèmes de lecteurs (par exemple : lecteur de CD) qui veulent faire quelque chose après la lecture (par exemple : arrêter le moteur).

  • RestartKey/K/N : en utilisant cette option, vous pouvez choisir un code clavier pour relancer le programme installé.

  • SaveDir/K : spécifie un sous-répertoire pour les opérations d'écriture du programme installé. Cette option est associée avec l'option SavePath/K. Cette option (SaveDir) est requise dans certaines situations, par exemple s'il y a plusieurs versions d'un jeu qui utilisent le même fichier-esclave dont les fichiers de sauvegarde ne sont pas compatibles entre eux, car par défaut c'est WHDLoad qui détermine lui-même le nom du sous-répertoire. Une autre utilité est si le fichier-esclave ne contient pas le nom du jeu et que vous ne voulez pas, comme répertoire de sauvegarde, le nom du fichier-esclave.

  • SavePath/K : force WHDLoad à rediriger toutes les opérations d'écriture de fichier par le programme installé vers un chemin d'accès différent sur le disque. Cette option spécifie le répertoire principal pour tous les programmes installés. Le sous-répertoire sera créé par WHDLoad s'il n'existe pas (lors de la première opération d'écriture). Le nom du sous-répertoire peut être spécifié avec l'option SaveDir/K sinon c'est WHDLoad qui le détermine grâce aux informations du fichier-esclave (ws_name ou le nom du fichier-esclave). Ce répertoire de sauvegarde sera traité en interne et rajouté au répertoire "Data".

  • 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 de recopie du contenu, 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 dans T:.whdl_register) dans la chaîne de commande spécifiée.

  • Slave : nom du fichier-esclave qui doit être utilisé pas WHDLoad. Le fichier-esclave 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 : spécifie le temps (en 1/50e de seconde) d'affichage de la fenêtre d'introduction/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 : active le "Store Buffer" du 68060. Sur les autres processeur, il n'y aura aucun effet. L'option est inactive si "NoCache/S" est actif.

  • SuperScalar/S : active la capacité du processeur à exécuter plusieurs instructions par cycle. Sur les autres processeurs, il n'y aura aucun effet. L'option est inactive si "NoCache/S" est activé.

  • TimeOut/K/N : si activé, WHDLoad et le programme installé quittera après le temps spécifié soit écoulé. 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/50e 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 : spécifie le temps d'attente (en 1/50e 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 une réinitialisation le programme installé car les données ne seront pas sauvegardées correctement sur le disque dur.
5.3 Création d'installation

Pour débuter, le site WHDLoad propose un tutoriel assez léger pour comprendre comment commencer à créer des installations. Ce petit tutoriel est disponible sur www.whdload.de/docs/fr/howto.html.

Nous ne traiterons pas de la création d'installations dans cet article car un tel sujet pourrait faire l'objet d'un article à part entière.

6. Trucs et astuces

Comment quitter un jeu qui nécessite la touche "Prtsc" sur un A600 (qui n'a pas de pavé numérique) ?

Ouvrir le fichier "whdload.prefs" qui se trouve dans le répertoire "S" de la partition système et chercher la ligne "Quitkey". Les caractères "$xy" après Quitkey représentent le code hexa de la touche choisie. Entrer par exemple "Quitkey=$59" pour rediriger l'action de quitter sur F10. D'autres codes de touches sont disponibles sur cette page.

FAQ française

La "foire aux questions" de WHDLoad est disponible sur www.whdload.de/docs/fr/faq.html.

Quelles sont les restrictions associées à un fichier-esclave ?

Cela ne concerne que les versions de WHDLoad inférieures à 18.2 car depuis, WHDLoad est gratuit. Afin de connaître les restrictions associées à un fichier-esclave pour les versions non enregistrées, se reporter à la section "Info" de ce dernier (exemple pour Shadowlands : www.whdload.de/games/ShadowLands.html).

Comment savoir si un jeu nécessite la clé d'activation ?

Ces informations peuvent se trouver au cas par cas dans la section "Info" du fichier-esclave du jeu à télécharger. Une mention "[registered users only]" est généralement ajoutée dans l'une des informations sur le jeu en question.

Version de l'Installer

Avant de démarrer l'installation de WHDLoad, vérifier la version du programme Installer (au minimum v43.3).

Son non synchronisé

Sur un Amiga équipé d'un processeur Motorola 68040, si le son n'est pas synchronisé avec l'image (surtout pour les démos), essayer de positionner les types d'outils "NOCACHE" ou "CHIPNOCACHE" sur le lanceur de l'application.

7. Conclusion

WHDLoad deviendra vite un programme indispensable pour tout utilisateur voulant se créer une machine de jeux Amiga réactive. Son installation simple couplée à la relative simplicité de rajouter un disque dur avec une carte Compact Flash rajoute à nos Amiga un moyen simple d'accéder à une logithèque large sans les inconvénients grandissants liés aux disquettes.

De plus, l'apparition des nouvelles cartes accélératrices ACA (pour A1200 et A600) permet d'apporter la puissance nécessaire pour le bon fonctionnement de WHDLoad. Le programme ayant bien fonctionné avec un Amiga 1200 équipé d'une carte ACA1230/28 MHz.

Si l'on voulait être pointilleux, nous pourrions juste indiquer que la documentation (même si elle est disponible en plusieurs langues) est loin d'être claire surtout pour quelqu'un qui voudrait se lancer dans la création d'une installation.

L'installation d'un jeu original étant très dépendante des fichiers d'interface Slave, il peut arriver (peut-être souvent) d'avoir des erreurs d'installation inexpliquées.