Shoot ... Again n°23

Par Dominique Pessan


Aujourd'hui, adaptons la manette de jeu à The Hellion et aux multiples adversaires qu'il nous propose ...


L'état des lieux.


Deux modules:

HELLION de #501 à #652: chargeur BASIC

HELLION3 de #501 à #5F59: Basic jusqu'à #F14 puis code machine


La gestion du clavier.


En $ 1246, on appelle un sous-programme en $ 10F6.

Ce sous programme est un saut inconditionnel vers $262A. C'est là, en $262A, que se trouve le test des touches proprement dit.

On charge le registre X avec le "valeur" de la colonne de la matrice clavier, le registre Y avec le numéro de ligne de cette même matrice puis on appelle la routine $2600 qui met à un, ou non, la retenue (C ) selon que la touche à l'intersection ligne/colonne a été actionnée ou pas.

On peut noter au passage que les cases mémoires de $4A0 à $4A9 sont renseignées à partir du BASIC aux lignes:

1510 FORI=0TO9:READA:POKE#4A0+I,A:NEXT: POKE#4FF,7

1520 DATA#F7,4,#7F,4,#BF,4,#DF,4,#FE,4

 

Si vous souhaitez changer les touches de contrôle, vous savez maintenant, ce qu'il vous reste à faire.

 


La méthode utilisée.


La routine de lecture et de gestion de la manette sera insérée à partir de $9400 , où débute une zone libre. La table de lecture de position est en $9423.

$9423 : 00 00 00 00 00 09 05 01

$942B : 00 0A 06 02 00 08 04 00


La marche à suivre.


1 - Entrez le listing suivant

 

10A=#9400:F=#94B1:L=100:REPEAT: FOR A=A TO A+15:READ C$

20K=VAL("#"+C$):S=S+K+65536* (S+K>65535):IF A<=F THEN POKE A,K

30NEXT:READ D$:IF S=VAL("#"+ D$) THEN L=L+5:UNTIL A>F:END

40PING:PRINT"Erreur ligne";L

 

100DATAA9,C0,8D,03,03,A9,40,8D, 01,03,AD,01,03,A8,29,20,0518

105DATAAA,98,4A,29,0C,8D,1D,94,98,29,03,18,69,04,A8,B9,0AC1

110DATA23,94,60,00,00,00,00,00,09,05,01,00,0A,06,02,00,0BF9

115DATA08,04,00,00,00,09,05,48,AD,01,03,48,AD,03,03,48,0E4F

120DATA20,00,94,C9,01,D0,03,CE,03,04,C9,08,D0,03,EE,02,1409

125DATA04,C9,02,D0,03,EE,03,04,C9,09,D0,06,CE,03,04,EE,1A0B

130DATA02,04,C9,0A,D0,06,EE,02,04,EE,03,04,C9,04,D0,0A,1F4A

135DATA48,CE,02,04,A9,00,8D,0B,04,68,C9,05,D0,0D,48,CE,24D4

140DATA03,04,CE,02,04,A9,00,8D,0B,04,68,C9,06,D0,0D,48,2950

145DATAEE,03,04,CE,02,04,A9,00,8D,0B,04,68,E0,00,D0,05,2E7B

150DATAA9,FF,8D,05,04,68,8D,03,03,68,8D,01,03,68,20,6F,33A4

155DATA10,60,00,00,00,00,00,00,00,00,00,00,00,00,00,00,3414

2 - RUN

3 - SAVE"PROV",A#9400,E#94B1

4 - HELLION3 , N

5 - PROV

6 - DOKE#9C,#9F59

7 - DOKE#1247,#9437

8 - POKE#176C, #60 ( si vous souhaitez couper le son )

9 - SAVEU"HELLION3",AUTO

 

La gestion par le clavier est conservée et vous pouvez jouer avec la manette .

 

A bientôt...

 


Télécharger  HELLION ! Download

la page baton de joie   joystick page