Shoot ... Again
n°15Par Dominique Pessan.
|
D'une pierre deux coups, c'est ce que je vous propose de faire aujourd'hui. Nous allons transférer "3D FONGUS" sur disquette et par la même occasion, en profiter pour autoriser le pilotage de notre avion par le Joy-stick. Tout d'abord, un petit état des lieux. Ce jeu est composé de trois modules, le premier, entre #501 et # 6DF est un module BASIC qui charge les deux autres. Le deuxième, entre #A000 et #BF3F, est un écran HIRES de présentation. Le troisième est le jeu lui même. C'est ce dernier module qui pose problème car il occupe une partie de la page 4. Il est implanté entre #4BD et #9F00. La méthode utilisée. Les deux premiers modules n'appellent pas de commentaire particulier. Pour le troisième, nous allons utiliser la méthode déjà employée pour le Trident de Neptune, de chargement de la page quatre ailleurs en mémoire, puis transfert de celle-ci à sa place définitive, juste avant le début du jeu. Ceci sera réalisé en chargeant "manuellement" (Pt 8) le jeu à partir de l'adresse #500. En déplaçant à la fin, la zone se trouvant normalement sur la page quatre.Pour enfin, déplaçer à nouveau, l'ensemble, au début de la page cinq et faire une sauvegarde provisoire.On implante à la suite ( #9F44 ),la routine en LM qui sera appelée au lancement du jeu et dont le rôle est de tranférer les #42 octets situés entre #9F01 et #9F43 vers #4BD-#4FF. Sa dernnière action sera de lancer le jeu par un JMP$4BD. Voici maintenant, la marche à suivre: 1 - LOAD"STOP
0 QUIT ( Créer la ligne )
4 - SAVE"3DFONGUS",AUTO
|
8 - CALL#E76A:CALL#E4AC:DOKE#2AB,#9F43: DOKE#2A9,#500:CALL#E4E0:CALL#E93D 9 - MOVE#500, #543,#9F44 10 - MOVE#543, #9F88,#500 11- SAVE"PROV",A#500,E#9F43 12- NEW ( Voire RESET si votre machine se bloque) 13- Entrez ,sauvegardez et lancez les deux listings suivants: TRANS 10FORI=0 TO29
20READA$:A=VAL("#"+A$):POKE#9F44+I,A:NEXT 15-LOAD"PROV Pour ceux qui n'ont pas l'interface J.S PASE: SAVE"FONGUS",A#500,#9F61,T#9F44.
Pour ceux qui veulent piloter au Joy-stick: J.S 10 FOR I=0 TO 85
20READA$:A=VAL("#"+A$):POKE#9F62+I,A:NEXT
16-RUN
C'est tout, bon vol et à bientôt... |
