Nº127 (11/2000)







  Download :
Si vous recevez ce mag avec du retard, la faute en est à Fabrice et à son jeu diabolique. Annoncé dans le Courrier Oricien d'octobre et présenté dans la disquette trimestrielle (format PC), Rush Hour est un jeu carrément addictif. Et allez donc farfouiller dans le programme, vous apprendrez beaucoup de choses. Par contre, si vous trouvez des coquilles dans ce CEO-MAG, alors là c'est de ma faute. Espérons que celui de novembre en contiendra moins que celui d'Octobre. En espérant qu'il vous plaira quand même. A.

Dominique Pessan se déchaîne :  La Saga des 8 Bits : Les micros Thomson
Shoot Again : Scuba Dive & Invaders
Aurélie et les Bonbons
Musique Maestro
Blue War
Et vous navez pas encore tout vu !

Divertissements :  Exprimez-vous sur «La Solution au prochain numéro».
Proposez-nous des «solutions informatiques».

Rapport sur la ltp4 !  Une occasion de sentir ce qui se passe dans les meetings branchés.
La verve de Jérôme en plus !


sommaire

Adresses CEO / Sommaire / Editorial   Page 
Courrier Oricien / Petites annonces   Page 
La Libairie Oric (18)   Page 
Divertissements Mathématiques et Logiques   Page 
Aurélie et les Bonbons   Page 
Coin Jasmin : Caractères Accentués   Page 
Le Projet Y : BLUE War (3)   Page 
Nostalgie... Nostalgie...    Page 
La Saga des 8 bits (1) THOMSON   Page 
Shoot Again (33) «Scuba Dive» & «Invaders»   Page 
Clavier PC sur Oric   Page 
Musique Maestro ! (6) : La ROM V1.2g   Page 
Réponses (9) Code Machine   Page 
Rapport ltp4   Page 
Abonnements, Anciens numéros, Anciennes disquettes   Page 




Dans Shoot..Again n°14, nous avons transféré SCUBADIVE sur disquette, en oubliant de le doter de la possibilité d'être utilisé avec un Joystick. Aujourd'hui, réparons cet oubli ! Nous allons repartir de la version disquette pour réaliser cette adaptation.



Etat des lieux



La gestion du clavier est située dans le fichiers SCUBA2.COM (#500 - #351B). Elle est relativement rustique puisqu'il s'agit du test de la case mémoire $208, située en $1A88.



1A88 AD 08 02 LDA $0208 A contient le contenu de $208

1A8B C9 38 CMP #$38 si c'est 38, on a appuyé sur rien

1A8D F0 03 BEQ $1A92 on sort sans rien faire

1A8F 8D 20 14 STA $1420 sinon on met le code de la touche

1A92 60 RTS en $1420 avant de sortir.



1C30 20 93 1A JSR $1A93 A partir d'ici on teste la case $1420

1A93 A9 38 LDA #$38 Ici ,si $1420 contient autre chose

1A95 CD 20 14 CMP $1420 que 38 , on place ce contenu

1A98 F0 06 BEQ $1AA0 dans le registre X

1A9A AE 20 14 LDX $1420

1A9D 8D 20 14 STA $1420 et 38 dans A

1AA0 20 91 1C JSR $1C91



1C91 A9 01 LDA #$01

1C93 8D 19 14 STA $1419

1C96 60 RTS



1AA3 8A TXA le contenu initial de $1420 est dans A

1AA4 60 RTS retour de SP



1C33 C9 38 CMP #$38 Si A ne contient pas 38

1C35 D0 09 BNE $1C40 on va en $1C40 voir ce que c'est

1C37 A9 01 LDA #$01

1C39 8D 17 14 STA $1417

1C3C 20 0B 1C JSR $1C0B

1C3F 60 RTS

1C40 C9 BC CMP #$BC si c'est #BC, test " vers la droite "

1C42 F0 17 BEQ $1C5B

1C44 C9 AC CMP #$AC si c'est #$AC, test " vers la gauche "

1C46 F0 10 BEQ $1C58

1C48 C9 B4 CMP #$B4 si c'est #$B4, test " vers le bas "

1C4A F0 09 BEQ $1C55

1C4C C9 9C CMP #$9C si c'est #$9C, test " vers le haut "

1C4E F0 02 BEQ $1C52

1C50 D0 E5 BNE $1C37

1C52 EE 19 14 INC $1419

1C55 EE 19 14 INC $1419

1C58 EE 19 14 INC $1419

1C5B EE 19 14 INC $1419



Explications



Nous allons remplacer le LDA$208 en $1A88 par un JSR$351B, vers notre routine de gestion du JS



351B AD 01 03 LDA $0301

351E 48 PHA

351F AD 03 03 LDA $0303

3522 48 PHA

3523 98 TYA

3524 48 PHA

3525 A9 C0 LDA #$C0

3527 8D 03 03 STA $0303

352A A9 40 LDA #$40

352C 8D 01 03 STA $0301

352F AD 01 03 LDA $0301

3532 A8 TAY

3533 4A LSR

3534 29 0C AND #$0C

3536 8D 3E 35 STA $353E

3539 98 TYA

353A 29 03 AND #$03

353C 18 CLC

353D 69 04 ADC #$04

353F A8 TAY

3540 B9 5C 35 LDA $355C,Y ici la routine de gestion du JS renseigne

3543 8D 20 14 STA $1420 la case mémoire testée par la routine clavier

3546 68 PLA

3547 A8 TAY

3548 68 PLA

3549 8D 03 03 STA $0303

354C 68 PLA

354D 8D 01 03 STA $0301

3550 AD 20 14 LDA $1420 Si $1420 contient 38 c'est qu'on n'a

3553 C9 38 CMP #$38 pas touché au JS

3555 F0 01 BEQ $3558 on teste alors le clavier

3557 60 RTS sinon on sort sans tester le clavier

3558 AD 08 02 LDA $0208

355B 60 RTS



355C 38 38 38 38 38 38 38 9C

3564 38 38 38 B4 38 BC AC 38



La marche à suivre.



1- Entrez le listing suivant



10 A=#351B:F=#356C: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

100 DATA AD,01,03,48,AD,03,03,48,98,48,A9,C0,8D,03,03,A9,0579

105 DATA 40,8D,01,03,AD,01,03,A8,4A,29,0C,8D,3E,35,98,29,09E3

110 DATA 03,18,69,04,A8,B9,5C,35,8D,20,14,68,A8,68,8D,03,0F26

115 DATA 03,68,8D,01,03,AD,20,14,C9,38,F0,01,60,AD,08,02,140C

120 DATA 60,38,38,38,38,38,38,38,9C,38,38,38,B4,38,BC,AC,198C

125 DATA 38,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,19C4



2 - RUN

3 - SCUBA2,N

4 - POKE #1B88,#20 : DOKE#1B89,#351B

5 - SAVEU "SCUBA2",A#500,E#356C,T#3501



Comme vous êtes attentifs, vous avez sûrement remarqué qu'au point 4, les POKE donnent :



1B88 20 1B 35 JSR $351B alors que plus haut dans le texte, on dit que le détournement se fait en $1A88. L'explication est simple, si vous relisez shoot-again n°14, vous verrez qu'en $3501 se trouve un appel à la routine MOVE, qui décale d'une page vers le haut tout le code compris entre $500 et$3500. Voilà comment notre $1B88 se transformera en $1A88.



C'est tout pour aujourd'hui, à bientôt !





Additif à Shoot...Again n° 7



Shoot Again n°7, c'était INVADERS. Là encore, la possibilité de jouer au clavier avait été supprimée. Les indications ci-dessous vont nous permettre de redresser la situation , elles s'appliquent sur la version du jeu déjà modifiée.



Pour comprendre.



A la suite de la routine de gestion du JS initiale on rajoute les quelques instructions suivantes.



3347 4C 71 33 JMP $3371 remplace LDA$335F dans la routine Js d'origine

3371 AD 5F 33 LDA $335F détection tir avec JS

3374 C9 F7 CMP #$F7

3376 F0 03 BEQ $337B si tir, on sort

3378 AD 01 03 LDA $0301 si pas tir, test clavier

337B 60 RTS

337C AD 5E 33 LDA $335E test si action JS

337F D0 03 BNE $3384 si pas 0, on a touché le JS

3381 AD 01 03 LDA $0301 si 0, on teste le clavier

3384 60 RTS retour SP



Le code du jeu lui même est modifié comme suit :



2E52 : 20 7C 33 JSR$337C

2E76 : 20 7C 33 JSR$337C



La marche à suivre.



1- Entrez le listing suivant



10 A=#3371:F=#3384: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

100 DATA AD,5F,33,C9,F7,F0,03,AD,01,03,60,AD,5E,33,D0,03,0714

105 DATA AD,01,03,60,00,00,00,00,00,00,00,00,00,00,00,00,0825



2- RUN

3- INVADERS,N

4- POKE#2E52,#20 :DOKE#2E53,#337C

5- POKE#2E76,#20 :DOKE#3E77,#337C

6- POKE#3347,#4C :DOKE#3348,#3371

7- DOKE#9C,#3384

8- SAVEU " INVADERS ",AUTO




BROWSE

NUMEROS
 [128] - [127] [126] - [125] - [123] - [122] - [121] - [119] - [118] - [117] - [116] 

YEAR
2013 - 2012 - 2011 - 2010 - 2009 - 2008 - 2007 - 2006 - 2005 - 2004 - 2003 - 2002 - 2001 - 2000 - 1999 - 1998 - 1997 - 1996 - 1995 - 1994 - 1993 - 1992 - 1991 - 1990



Hosted By oric.org server www.oric.org V 2.6 CNIL ID : 872370 Write to Webmaster © 2000-2024 Built in 0.04 Seconds