Auteur Sujet: WHDLoad generic pour jeux AmigaDOS et non-DOS  (Lu 3862 fois)

Hors ligne Frog

  • Modérateurs
  • BOSS
  • *****
  • Messages: 6023
  • Karma: +15/-3
WHDLoad generic pour jeux AmigaDOS et non-DOS
« le: 27 novembre 2016 à 11:49:10 »
k1200rs21 a rappelé à mon bon souvenir qu'il y avait des slaves WHDLoad generic WB1.3 et WB3.1 et que cela pouvait être une très bonne solution pour les jeux/demos/utilitaires n'ayant pas encore de slave officiel.
Je vous livre aussi le post de son frère écrit sur UltimateAmiga, merci à eux deux pour ce partage à la communauté Amiga ainsi qu'à tous les développeurs WHDLoad et ceux qui maintiennent le liste des jeux/demos complète et à jour :)
Sachez aussi que pour les one-filed demos/jeux/utils, le bon vieux JST peut se révéler très efficace !

WHDLOAD Générique
Message par Aladin (source : http://ultimateamiga.forumactif.com/t1217-whdload-generique)

Préambule: Pourquoi utiliser un whdload générique :

Possibiliter de quitter avec une touche (F10 ou autre).
De pouvoir exécuter un jeu ECS non compatible AGA sans utilisation de degrader.
De ne pas avoir des assign qui trainent en sortant du jeu et de ne pas avoir d’assign systeme modifié (libs c s fonts etc…).
Le jeu n'accède pas au systeme, il ne pourra remplacer une librairie, du coup pas de risque de « bugger » le systeme.
Que le jeu ne sauvegarde pas ces fichiers de config ou de save n’importe ou (par exemple dans « s »)
Pas besoin de copier des fichiers du jeu dans ton systeme (exemple les fonts). Du coup le jeu ainsi préparé est facilement copiable sur tes autres amiga sans avoir besoin de faire une vrai instal.
Le jeu bascule automatiquement sur écran PAL/NTSC: ne reste pas sur écran RTG alors que le jeu s'exécute en arrière plan. (utile sous amikit bureau RTG/AfaOS)
Ton systeme est indépendant du jeu. Le jeu s’exécutera avec ses librairies spécifique et non celle de ton systeme. (fini le "you need xxx.library v39")
Pas/moins de risque de crasher ta partition (validation …)
Pas/moins de risque d’un reset/guru sauvage, ressort avec un message d’erreur de whdload.
Pas de risque qu’un virus ne s’en prenne au systeme, il devrait être confiné dans l’amiga virtuel du jeu.
Des jeux buugant peuvent enfin fonctionner: exemple Uropa2 qui fonctionne enfin sous amikit/winuae.
D’avoir totalement les 2Mo de chip demandé par certain jeu (pas besoin de devoir booter sans startup-sequence)

Préparation du whdload générique:
Récupération des archives Whdload WB13 et WB31
http://www.whdload.de/apps/Workbench13.html
http://www.whdload.de/apps/Workbench31.html
Avoir les fichiers wb 13 et 31 (libs, fonts, c ...)

Créer un répertoire par exemple "whdloadtest" avec son icone.
Dans ce répertoire copier les fichiers de l’archive Workbench31.lha : Workbench31_4.Slave Workbench31_32.Slave Workbench31_1.Slave
Puis de l'archive Workbench13.lha le fichier Workbench13.Slave
Copier trois fois depuis l’archive Workbench31.lha le fichier « Workbench31.colicon » en le renommant Workbench31_4MB.info Workbench31_32MB.info Workbench31_1MB.info. De même depuis l'archive Workbench13.lha le fichier Workbench13.colicon en workbench13.info
Sur ces quatre nouvelles icones (Workbench31_1MB.info, Workbench31_4MB.info, Workbench31_32MB.info et workbench13.info) mettre en TOOLTYPE (bouton droit information puis cliquer sur ajouter et écrire « slave=Workbench31_4.Slave » pour le WB4MB, « slave=Workbench31_32.Slave » pour le WB32MB, slave=Workbench31_1.Slave » pour le WB1MB, "slave=workbench13.slave" pour le WB13. Ajouter aussi le tooltype « PRELOAD », et enfin mettre en outil par défaut « whdload » puis sauver.
Pour finir créer un répertoire "DATA" toujours dans le répertoire whdloadtest.

http://www1.zippyshare.com/v/Hlxip7j1/file.html
(prêt à l'emploi)

Workbench31_1.Slave 1 MB Chip 1 MB Fast
Workbench31_4.Slave 2 MB Chip 4 MB Fast
Workbench31_32.Slave 2 MB Chip 32 MB Fast
Workbench13.slave 1MB Chip et 1.5MB FAST
(ces slaves nécessitent d'avoir les roms 1.3 et 3.1 dans votre systeme devs/kickstart)


Installation d'un jeu:
ces whdload générique vont exécuter l'intérieur du répertoire DATA comme une partition autoboot. Donc il faut créer le répertoire "s" et y créer un fichier startup-sequence. La plupart du temps il faudra aussi les répertoires LIBS et C.
Copier les fichiers du jeu dans ce répertoire DATA.
Adapter le startup-sequence selon le jeu: mettre les assign et le nom du fichier à executer.
Astuce: mettre le setpatch dans C et écrire au début du startup-séquence "setpatch QUIET" cela permet d'éviter un écran noir d'un jeu ECS au lancement du jeu sur AGA
Ajouter tous les fichiers nécessaire à ce jeu: en lisant l'intérieur du fichier à exécuter nous pouvons voire quels fichiers il a besoin, donc rechercher les library, les font etc...
Pour tester lancer winuae ou autre en bootant sur le répertoire DATA. Si le jeu ne fonctionne pas, c'est qu'il manque des fichiers. Si le jeu se lance quitter winuae.
Lancer votre workbench favori puis aller dans whdloadtest et cliquer sur  une des icones Workbench31_1MB.info, Workbench31_4MB.info, Workbench31_32MB.info workbench13.info. Si le jeu ne se lance pas alors ce jeu ne sera pas compatible avec whdload.
Si la taille du jeu est importante par rapport à votre RAM il faut enlever le tooltype "preload" des icones wb. (preload sert à copier l'intégralité du répertoire data en ram)

Pour aller plus loin:
La librairie Diskfont.library du 3.1 demande d'assigner ENV: ( donc mettre par exemple assign ENV: RAM: )
Si le jeu demande obligatoirement "DF0:" deux méthodes: soit editer le fichier exécutable avec un éditeur hexa (cygnus editor ou autre) et remplacer DF0 par DF9 et assign DF9 au répertoire DATA.
Sinon démonter le df0 et le réassigner à data (en wb31 c'est: assign DF0: DISMOUNT puis assign DF0: ""   ;en wb13 c'est assign DF0: REMOVE puis assign df0: "" )

Startup sequence demandant le df0 et en ayant édité l'exécutable en remplaçant df0 par df9:

setpatch QUIET
assign df9: ""

Startup-sequence en 1.3 demandant le df0:

Setpatch QUIET
assign df0: REMOVE
assign df0: ""

Startup-sequence en 3.1 demandant le df0 :

Setpatch QUIET
assign env: ram:
assign df0: DISMOUNT
assign df0: ""


Autre WHDLOAD Generique: WB13 en d7 (fourni dans l'archive http://www1.zippyshare.com/v/Hlxip7j1/file.html )
mettre le fichier image disquette en format ADF dans DATA et le renommer en disk.1

Retour d'experience:
Whdload peut quitter si il doit créer un fichier. Il faut soit créer les répertoires de sauvegarde à la main et un fichier vide du nom de la sauvegarde, ou sauvegarder dans le jeu en passant par winuae ou autre en bootant dans DATA. Une fois les fichiers créés, je jeu sous whdload devrait continuer sans planter


Jeux pré-installés:
http://ultimateamiga.forumactif.com/t1200-whdload-generique

Hors ligne TJMK

  • Administrateurs
  • BOSS
  • *****
  • Messages: 3035
  • Karma: +15/-2
    • Insert Disk 2
Re : WHDLoad generic pour jeux AmigaDOS et non-DOS
« Réponse #1 le: 28 novembre 2016 à 10:25:54 »
Ça me rappelle que je dois mettre à jour le dossier sur WHDLoad. J'en profiterais pour rajouter ça.  :wink: