Shoot ... Again n° 25

Par Dominique Pessan


-" Explications Monsieur Spock ! Nous sommes envahis par une véritable armée d’insectes rampants… "

-"  Ces encombrants passagers clandestins sont probablement montés à bord lors de notre dernière escale sur la planète Beygon Commandant.


Rouge ou vert ?


 

-" Je croyais l’atmosphère de cette planète, mortelle pour cette forme de vie, Monsieur Spock. "

-" Nous nous sommes posés sur la planète Beygon au soleil rouge, commandant, seuls les insectes volants ne peuvent-y survivre. Il existe un autre système solaire, au soleil vert, où une autre planète Beygon est effectivement inhospitalière pour les insectes rampants "

-" Que proposez-vous pour nous débarrasser de cette vermine Monsieur Spock ? "

-" De les écraser tout simplement, Commandant. J’ai pour cela fabriqué une botte robotisée pilotable au bâton de joie dont j’ai adapté le logiciel pour la circonstance. "

 

 


L’état des lieux.


 

Le logiciel que j’ai appelé INSECT, était compris en mémoire, entre les adresses $5FD et $4C79. Le pilotage de la botte, à l’origine par le clavier, se faisait à partir de l’adresse $F9E, où une routine scanne la matrice clavier en prenant les valeurs des lignes et colonnes dans une table située en $510. Cette routine renseigne ensuite la case mémoire $ 30 avec les valeurs prises dans une table en $51C.


$510     06     02     03     07    05

$516     DF     DF     7F     F7    F7

Touche   A      Z      .      /     P

Action   haut   bas    haut   bas   pause 
         gauche gauche droite droite

$51C     01      02    04     08    10 

 

Le code n’étant chargé initialement qu’à partir de $5FD, ces tables en $510 sont transférées de $4815 par une routine située en $ 4827.


La lecture de la manette.


4D00 A8       TAY
4D01 48 PHA
4D02 AD0103 LDA $0301
4D05 48 PHA
4D06 AD0303 LDA $0303
4D09 48 PHA
4D0A A900 LDA #$00 Init. de $30 à0
4D0C 8530 STA $30 à la place de $F9E
4D2D B94A4D LDA $4D4A,Y Charge A avec table
4D30 8530 STA $30 renseigne $30
4D32 8A TXA test si tir (pause)
4D33 D007 BNE $4D3C si<>0, pas pause
4D35 A910 LDA #$10 si pause, fait un OU
4D37 0530 ORA $30 entre $30 et #$10
4D39 8530 STA $30 place résultat en $30
4D3B EA NOP
4D3C 68 PLA
4D3D 8D0303 STA $0303
4D40 68 PLA
4D41 8D0103 STA $0301
4D44 68 PLA
4D45 A8 TAY
4D46 60 RTS

4D4A 00 00 00 00 00 09 05 04
4D52 00 0A 06 02 00 08 01 00


La marche à suivre.


1- INSECT ,N
2- Entrez le listing suivant

10 A=#4D00:F=#4D59:L=100:REPEAT:FOR A=A TO A+15:READ C$
20 K=VAL("#"+C$):S=S+K+65536*(S+K>65535):IF A<=F THEN POKE A,K
30 NEXT:READ D$:IF S=VAL("#"+D$) THEN L=L+5:UNTIL A>F:END
40 PING:PRINT"Erreur ligne";L
100DATA A8,48,AD,01,03,48,AD,03,03,48,A9,00,85,30,A9,C0,05AB
105DATA 8D,03,03,A9,40,8D,01,03,AD,01,03,A8,29,20,AA,98,0A9C
110DATA 4A,29,0C,8D,2B,4D,98,29,03,18,69,04,A8,B9,4A,4D,0F61
115DATA 85,30,8A,D0,07,A9,10,05,30,85,30,EA,68,8D,03,03,14FF
120DATA 68,8D,01,03,68,A8,60,EA,EA,EA,00,00,00,00,00,09,1A2F
125DATA 05,04,00,0A,06,02,00,08,01,00,00,00,00,00,00,00,1A53

3 – RUN
4 – POKE#F9E,#20 :DOKE#F9F,#4D00
5 – POKE#FA1,#EA
6 – SAVEU "INSECT ",A#5FD,E#4D59,AUTO


Kirk à l’inter.


-" Débarrassés de nos encombrants passagers grâce au bâton de roi de Monsieur Spock, nous pouvons maintenant, foncer vers de nouvelles aventures ! "


Télécharger  INSECT INSANITY ! Download

la page baton de joie   joystick page