mirror of
https://github.com/antoinevignau/source.git
synced 2024-06-10 12:29:34 +00:00
ca bouge
This commit is contained in:
parent
09e562e38c
commit
164ea375bd
|
@ -601,6 +601,19 @@ M$51 dfb 3,46,0
|
|||
M$52 dfb 00
|
||||
M$53 dfb 2,29,0
|
||||
|
||||
*
|
||||
* Les mots de passe
|
||||
*
|
||||
|
||||
tblMP$ da $bfff
|
||||
da MP$1,MP$2,MP$3,MP$4,MP$5
|
||||
|
||||
MP$1 str 'ORIC1'
|
||||
MP$2 str 'ATMOS'
|
||||
MP$3 str 'GENIS'
|
||||
MP$4 str 'ECHEC'
|
||||
MP$5 str 'ARGON'
|
||||
|
||||
*
|
||||
* Le vocabulaire
|
||||
* on fera index-1 b/c 8-bits
|
||||
|
|
|
@ -2,8 +2,10 @@
|
|||
81 l'index du second mot
|
||||
400 0, 1, 2 - dŽfinit le cadre dessinŽ
|
||||
401 pointeurs sur les 57 images du jeu
|
||||
47A..47E password
|
||||
480 P - les pointeurs 480.4FF est mis ˆ zŽro
|
||||
4A0 C - les conditions
|
||||
4BF flag pour le temps, 0:off, 1:on
|
||||
4C0 O - les objets
|
||||
4F7..4F8 CH, unitŽs de force
|
||||
4F9 S(1)
|
||||
|
@ -35,7 +37,7 @@ MODEKEY := $0209
|
|||
CAPSLOCK := $020C ; $7F = not locked, $FF = locked
|
||||
PATTERN := $0213
|
||||
IRQVec := $0245 ; "fast" interrupt vector
|
||||
JOINFLAG := $025A ; 0 = don't joiu, $4A = join BASIC programs
|
||||
JOINFLAG := $025A ; 0 = don't join, $4A = join BASIC programs
|
||||
VERIFYFLAG := $025B ; 0 = load, 1 = verify
|
||||
CURS_Y := $0268
|
||||
CURS_X := $0269
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
## BASIC ORIC FILE.
|
||||
## NAME: RETOUR
|
||||
##
|
||||
# BASIC ORIC FILE.
|
||||
# NAME: RETOUR
|
||||
#
|
||||
0 TRUECONT CALL
|
||||
0 num TO PLAY ro28*juin1985
|
||||
0
|
||||
|
@ -13,23 +13,23 @@
|
|||
35 HIRES:POKE 618,10:PRINT:PRINT SPC(11)"ATTENDEZ S.V.P":CH=4000
|
||||
40 FOR N=1 TO PEEK(#305):ZZ=RND(1):NEXT
|
||||
43 A$="1031141221242713182310291430271214232927102110272718311427103023141427"
|
||||
50 POKE #BFFF,11:FOR N=#480 TO #4FF:POKE N,0:NEXT
|
||||
51 POKE #4A8,10:POKE #4A5,18:POKE #4A3,10:POKE #4A6,22:POKE #4A7,9
|
||||
SALLE, P+N 50 POKE #BFFF,11:FOR N=#480 TO #4FF:POKE N,0:NEXT
|
||||
C+xxx 51 POKE #4A8,10:POKE #4A5,18:POKE #4A3,10:POKE #4A6,22:POKE #4A7,9
|
||||
60 GOSUB 8000:WW=100
|
||||
70 FOR N=#483 TO #488:POKE N,1:NEXT
|
||||
75 POKE #48C,1
|
||||
P+N 70 FOR N=#483 TO #488:POKE N,1:NEXT
|
||||
P+$C 75 POKE #48C,1
|
||||
99 CALL #96C9
|
||||
100 POKE #4BF,1:IF PEEK(#491)=1 THEN 140
|
||||
101 SA=PEEK(#BFFF):IF SA=23 AND PEEK(#483)=1 THEN 130
|
||||
102 IF SA=14 AND PEEK(#484)=1 THEN 130
|
||||
104 IF SA=20 AND PEEK(#485)=1 THEN 130
|
||||
106 IF SA=29 AND PEEK(#486)=1 THEN 130
|
||||
108 IF SA=38 AND PEEK(#487)=1 THEN 130
|
||||
fgTIM P+$11 100 POKE #4BF,1:IF PEEK(#491)=1 THEN 140
|
||||
P,3 101 SA=PEEK(#BFFF):IF SA=23 AND PEEK(#483)=1 THEN 130
|
||||
P,4 102 IF SA=14 AND PEEK(#484)=1 THEN 130
|
||||
P,5 104 IF SA=20 AND PEEK(#485)=1 THEN 130
|
||||
P,6 106 IF SA=29 AND PEEK(#486)=1 THEN 130
|
||||
P,7 108 IF SA=38 AND PEEK(#487)=1 THEN 130
|
||||
110 GOTO 200
|
||||
130 HIRES:A$="La salle n'est pas eclairee.":X=12:Y=190:GOSUB 30000:GOTO 500
|
||||
140 HIRES:PRINT "Vos yeux ne voient plus rien.":GOTO 500
|
||||
200 HIRES:INK 0:CALL #9292:CALL #9245
|
||||
205 A=PEEK(#400):GOSUB 12000+A*10
|
||||
cadre 205 A=PEEK(#400):GOSUB 12000+A*10
|
||||
206 IF PP=0 AND SA=11 THEN PP=1:GOSUB 4920
|
||||
210 A$="":IF SA<21 THEN A$="1":GOTO 270
|
||||
220 IF SA<26 THEN A$="3":GOTO 270
|
||||
|
@ -38,22 +38,22 @@
|
|||
270 IF A$="" THEN 300
|
||||
280 A$="NIVEAU: "+A$:FOR N=1 TO 9:CURSET 6+6*N,190,0:CHAR ASC(MID$(A$,N,1)),0,1:NEXT
|
||||
300 H=0:N=1
|
||||
310 IF PEEK(#4C0+N)<>SA THEN 400
|
||||
O,N 310 IF PEEK(#4C0+N)<>SA THEN 400
|
||||
320 IF H=1 THEN 350
|
||||
325 POKE #4BF,0:WAIT 50:CLS
|
||||
-- 325 POKE #4BF,0:WAIT 50:CLS
|
||||
330 PRINT "Il y a aussi ";:H=1
|
||||
350 PRINT ", ";O$(N);:WAIT 100
|
||||
400 N=N+1:IF N<=O THEN 310
|
||||
450 IF H=1 THEN PRINT:WAIT 100
|
||||
500 POKE #4BF,0
|
||||
fgTIME 500 POKE #4BF,0
|
||||
505 SA=PEEK(#BFFF):IF SA<>51 AND SA<>48 AND SA<>22 AND SA<>4 AND SA<>17 THEN 3500
|
||||
510 A=PEEK(#4A3):POKE #4A3,A-1:IF A=1 THEN 4820
|
||||
C,3 510 A=PEEK(#4A3):POKE #4A3,A-1:IF A=1 THEN 4820
|
||||
520 GOTO 3500
|
||||
530 POKE #4BF,1:IF PEEK(617)<>0 THEN PRINT
|
||||
$269 530 POKE #4BF,1:IF PEEK(617)<>0 THEN PRINT ; CURS_X in the ORIC firmware
|
||||
531 X$=KEY$:K=S(1)/5:IF K<.5 THEN K=.5
|
||||
532 FOR N=#BFB3 TO #BFB7:IF PEEK(N)<58 AND PEEK(N)>47 THEN POKE N,32
|
||||
533 NEXT:IF PEEK(#BFB5)=58 THEN POKE #BFB5,32
|
||||
552 PRINT CHR$(27)"P"CHR$(27)"FOrdre:"CHR$(27)"C";:X$=""
|
||||
>0 & <9 532 FOR N=#BFB3 TO #BFB7:IF PEEK(N)<58 AND PEEK(N)>47 THEN POKE N,32
|
||||
: -> ' ' 533 NEXT:IF PEEK(#BFB5)=58 THEN POKE #BFB5,32
|
||||
552 PRINT CHR$(27)"P"CHR$(27)"FOrdre:"CHR$(27)"C";:X$="" ; the ESCape character
|
||||
553 A$=KEY$:CH=CH-K:WW=WW-K:IF A$=CHR$(13) THEN 579
|
||||
554 IF A$<>"" THEN AA=ASC(A$) ELSE AA=33
|
||||
555 IF AA<32 THEN 553
|
||||
|
@ -61,13 +61,13 @@
|
|||
557 IF A$=CHR$(127) THEN 553 ELSE 564
|
||||
558 XX=LEN(X$):IF XX=1 THEN X$="":GOTO 560
|
||||
559 X$=LEFT$(X$,XX-1)
|
||||
560 IF PEEK(617)<>2 THEN 563
|
||||
CURS_X 560 IF PEEK(617)<>2 THEN 563
|
||||
561 PRINT CHR$(8)CHR$(8)CHR$(8)" "CHR$(8);:GOTO 553
|
||||
563 PRINT CHR$(8)" "CHR$(8);:GOTO 553
|
||||
564 IF LEN(X$)=26 THEN 553 ELSE X$=X$+A$
|
||||
565 IF WW<0 THEN WW=WW+100:MUSIC 1,3,5,7:PLAY 1,0,0,0:WAIT 8:PLAY 0,0,0,0
|
||||
566 IF CH<0 THEN CH=0:PRINT:GOSUB 4630:WAIT 200:GOTO 18000
|
||||
568 IF DEEK(#4FB)=12336 AND DEEK(#4FE)=12336 THEN 4650
|
||||
00:00 568 IF DEEK(#4FB)=12336 AND DEEK(#4FE)=12336 THEN 4650
|
||||
578 PRINT A$;:GOTO 553
|
||||
579 IF X$="" THEN CLS:PRINT " Tres drole...":WAIT 50:GOTO 530
|
||||
580 PRINT FRE(""):CLS:PRINT X$:GOSUB 6000
|
||||
|
@ -76,15 +76,15 @@
|
|||
590 IF N>L THEN POKE #BFDF+N,32
|
||||
600 NEXT:POKE #BFE5,0:CALL #9500
|
||||
610 IF PEEK(#BFE5)=0 THEN CLS:PRINT "JE NE COMPRENDS PAS '";X1$"'":GOTO 3500
|
||||
615 K=PEEK(#BFE5):POKE #80,K
|
||||
620 IF X2$="" THEN POKE #81,0:GOTO 900
|
||||
1st char 615 K=PEEK(#BFE5):POKE #80,K
|
||||
2nd char 620 IF X2$="" THEN POKE #81,0:GOTO 900
|
||||
630 L=LEN(X2$):FOR N=1 TO 4:IF N<=L THEN POKE #BFDF+N,ASC(MID$(X2$,N,1))
|
||||
640 IF N>L THEN POKE #BFDF+N,32
|
||||
650 NEXT:POKE #BFE5,0:CALL #9500
|
||||
660 IF PEEK(#BFE5)=0 THEN CLS:PRINT "JE NE COMPRENDS PAS '";X2$"'":GOTO 3500
|
||||
char index 660 IF PEEK(#BFE5)=0 THEN CLS:PRINT "JE NE COMPRENDS PAS '";X2$"'":GOTO 3500
|
||||
665 K=PEEK(#BFE5):POKE #81,K
|
||||
900 IF PEEK(#80)>9 THEN 1000
|
||||
910 Z=1:SA=PEEK(#BFFF):T=PEEK(#80):MO$=MID$(STR$(T),2,1)
|
||||
direction 900 IF PEEK(#80)>9 THEN 1000
|
||||
salle 910 Z=1:SA=PEEK(#BFFF):T=PEEK(#80):MO$=MID$(STR$(T),2,1)
|
||||
920 T$=MID$(M$(SA),Z,1):IF T$="0" THEN 1000
|
||||
940 IF T$<>MO$ THEN 970 ELSE SA=VAL(MID$(M$(SA),Z+1,2)):POKE #BFFF,SA:GOTO 100
|
||||
970 Z=Z+3:GOTO 920
|
||||
|
@ -101,67 +101,67 @@
|
|||
1740 BR=0:GOSUB 1800+LI*100
|
||||
1760 IF BR<>0 THEN GOTO BR
|
||||
1780 E=E+3:GOTO 1710
|
||||
1800 POKE #4BF,0:G=0:HH=0:BR=500:CLS
|
||||
fgTIME 1800 POKE #4BF,0:G=0:HH=0:BR=500:CLS
|
||||
1810 G=G+1
|
||||
1820 IF PEEK(#4C0+G)=255 THEN 1840
|
||||
O+G 1820 IF PEEK(#4C0+G)=255 THEN 1840
|
||||
1830 IF G<O THEN 1810 ELSE 1870
|
||||
1840 IF HH=0 THEN PRINT "Vous avez en votre possession ";:WAIT 50:HH=1
|
||||
1860 PRINT ", "O$(G);:WAIT 100
|
||||
1865 IF G<O THEN 1810
|
||||
1870 IF HH=1 THEN PRINT ".":RETURN
|
||||
1880 PRINT "Vous ne devez pas etre fatigue,vous n'avez rien sur vous":WAIT 33:RETURN
|
||||
1900 IF PEEK(#4C0+N)<>255 THEN 1960
|
||||
1940 POKE #4BF,0:CLS:PRINT CHR$(27)"R"CHR$(27)"@Vous avez deja cela...etourdi!"
|
||||
O+N 1900 IF PEEK(#4C0+N)<>255 THEN 1960
|
||||
fgTIME 1940 POKE #4BF,0:CLS:PRINT CHR$(27)"R"CHR$(27)"@Vous avez deja cela...etourdi!"
|
||||
1950 WAIT 150:BR=500:RETURN
|
||||
1960 POKE #4C0+N,255:S(1)=S(1)+1:RETURN
|
||||
2000 IF PEEK(#4C0+N)=255 THEN 2030
|
||||
2010 POKE #4BF,0:CLS:PRINT CHR$(27)"T Je ne savais pas qu'on pouvait poser"
|
||||
O+N 2000 IF PEEK(#4C0+N)=255 THEN 2030
|
||||
fgTIME 2010 POKE #4BF,0:CLS:PRINT CHR$(27)"T Je ne savais pas qu'on pouvait poser"
|
||||
2020 PRINT CHR$(27)"T ce qu'on ne possede pas..."
|
||||
2025 BR=500:RETURN
|
||||
2030 SA=PEEK(#BFFF):POKE #4C0+N,SA:S(1)=S(1)-1:RETURN
|
||||
2100 POKE #4BF,0:CLS:GOSUB 4000+N*10:WAIT 200:RETURN
|
||||
2200 POKE #480+N,1:RETURN
|
||||
2300 POKE #480+N,0:RETURN
|
||||
SALLE, O+N 2030 SA=PEEK(#BFFF):POKE #4C0+N,SA:S(1)=S(1)-1:RETURN
|
||||
fgTIME 2100 POKE #4BF,0:CLS:GOSUB 4000+N*10:WAIT 200:RETURN
|
||||
P+N 2200 POKE #480+N,1:RETURN
|
||||
P+N 2300 POKE #480+N,0:RETURN
|
||||
2400 C=VAL(MID$(E$,E+3,2)):E=E+2:POKE #4A0+N,C:RETURN
|
||||
2500 POKE #4C0+N,0:RETURN
|
||||
2600 POKE #BFFF,N:RETURN
|
||||
O+N 2500 POKE #4C0+N,0:RETURN
|
||||
SALLE 2600 POKE #BFFF,N:RETURN
|
||||
2700 PRINT "D'ACCORD"
|
||||
2710 WAIT 35:BR=500:RETURN
|
||||
2800 BR=500:RETURN
|
||||
2900 BR=530:RETURN
|
||||
3000 BR=100:RETURN
|
||||
3100 POP:WAIT 30:GOTO 18000
|
||||
3200 SA=PEEK(#BFFF):POKE #4C0+N,SA:RETURN
|
||||
3500 IF PEEK(#BFFF)=11 THEN POKE #481,1
|
||||
3502 IF PEEK(#BFFF)=19 THEN POKE #481,0
|
||||
3504 IF PEEK(#BFFF)<>36 OR PEEK(#482)=1 THEN 3510
|
||||
3506 IF PEEK(#4CD)=255 THEN WAIT 100:GOSUB 4010:POKE #482,1:GOTO 3510
|
||||
I'm dead 3100 POP:WAIT 30:GOTO 18000
|
||||
O+N,SA 3200 SA=PEEK(#BFFF):POKE #4C0+N,SA:RETURN
|
||||
P+1 3500 IF PEEK(#BFFF)=11 THEN POKE #481,1
|
||||
P+1 3502 IF PEEK(#BFFF)=19 THEN POKE #481,0
|
||||
P+2 3504 IF PEEK(#BFFF)<>36 OR PEEK(#482)=1 THEN 3510
|
||||
O+D, P+2 3506 IF PEEK(#4CD)=255 THEN WAIT 100:GOSUB 4010:POKE #482,1:GOTO 3510
|
||||
3508 WAIT 100:GOTO 4020
|
||||
3510 IF PEEK(#4C4)<>255 THEN 3516
|
||||
3512 A=PEEK(#4A8)-1:POKE #4A8,A
|
||||
3514 IF PEEK(#4A8)=0 THEN 4740
|
||||
3516 IF PEEK(#4A1)=0 THEN 3534
|
||||
3518 A=PEEK(#4A1)-1:POKE #4A1,A
|
||||
O+4 3510 IF PEEK(#4C4)<>255 THEN 3516
|
||||
C+8 3512 A=PEEK(#4A8)-1:POKE #4A8,A
|
||||
C+8 3514 IF PEEK(#4A8)=0 THEN 4740
|
||||
C+1 3516 IF PEEK(#4A1)=0 THEN 3534
|
||||
C+1 3518 A=PEEK(#4A1)-1:POKE #4A1,A
|
||||
3520 IF A>0 THEN 3534
|
||||
3522 IF PEEK(#4C3)=255 THEN 4750
|
||||
3524 IF PEEK(#4C3)<>51 THEN 4760
|
||||
C+3 3522 IF PEEK(#4C3)=255 THEN 4750
|
||||
C+3 3524 IF PEEK(#4C3)<>51 THEN 4760
|
||||
3526 A=PEEK(#BFFF):IF A=51 THEN 4750
|
||||
3528 IF PEEK(#4C4)<>51 AND PEEK(#4D3)<>51 THEN 4780
|
||||
C+4 3528 IF PEEK(#4C4)<>51 AND PEEK(#4D3)<>51 THEN 4780
|
||||
3530 IF A=46 OR A=49 THEN 4770
|
||||
3532 POKE #48C,0:GOSUB 4790:POKE #490,1:GOTO 3540
|
||||
3534 IF PEEK(#48E)=0 THEN 3537
|
||||
3535 A=PEEK(#4A2)-1:POKE #4A2,A:IF A>0 THEN 3540
|
||||
3536 POKE #48E,0
|
||||
3537 IF DEEK(#48C)>0 THEN 3540
|
||||
3538 IF PEEK(#BFFF)=50 THEN 3540 ELSE 4800
|
||||
3540 IF PEEK(#490)=0 THEN 3544
|
||||
3542 A=PEEK(#4A5)-1:POKE #4A5,A:IF A=1 THEN 4810
|
||||
3544 IF PEEK(#4A6)=0 THEN 3548
|
||||
3546 A=PEEK(#4A6)-1:POKE #4A6,A:IF A=0 THEN GOSUB 4830:POKE #488,0
|
||||
3548 IF PEEK(#488)=1 THEN 3552
|
||||
3550 A=PEEK(#4A7)-1:POKE #4A7,A:IF A=0 THEN GOSUB 4580:GOTO 18E3
|
||||
3552 IF PEEK(#4A4)=0 THEN 3556
|
||||
3554 A=PEEK(#4A4)-1:POKE #4A4,A:IF A=1 THEN 4840
|
||||
P+$C, P+$10 3532 POKE #48C,0:GOSUB 4790:POKE #490,1:GOTO 3540
|
||||
P+$E 3534 IF PEEK(#48E)=0 THEN 3537
|
||||
C+2 3535 A=PEEK(#4A2)-1:POKE #4A2,A:IF A>0 THEN 3540
|
||||
P+$E 3536 POKE #48E,0
|
||||
P+$C..$D 3537 IF DEEK(#48C)>0 THEN 3540
|
||||
SALLE 3538 IF PEEK(#BFFF)=50 THEN 3540 ELSE 4800
|
||||
P+$10 3540 IF PEEK(#490)=0 THEN 3544
|
||||
C+5 3542 A=PEEK(#4A5)-1:POKE #4A5,A:IF A=1 THEN 4810
|
||||
C+6 3544 IF PEEK(#4A6)=0 THEN 3548
|
||||
C+6 3546 A=PEEK(#4A6)-1:POKE #4A6,A:IF A=0 THEN GOSUB 4830:POKE #488,0
|
||||
P+8 3548 IF PEEK(#488)=1 THEN 3552
|
||||
C+7 3550 A=PEEK(#4A7)-1:POKE #4A7,A:IF A=0 THEN GOSUB 4580:GOTO 18E3
|
||||
C+4 3552 IF PEEK(#4A4)=0 THEN 3556
|
||||
C+4 3554 A=PEEK(#4A4)-1:POKE #4A4,A:IF A=1 THEN 4840
|
||||
3556 GOTO 530
|
||||
4010 PRINT "Une boule d'acier tombee du plafond"
|
||||
4011 PRINT "vient de s'ecraser sur votre casque.":RETURN
|
||||
|
@ -192,7 +192,7 @@
|
|||
4232 PRINT "la nitroglycerine a explose.":RETURN
|
||||
4240 PRINT "Pourquoi ouvrir un robinet qui ne ferme pas!":RETURN
|
||||
4250 PRINT "Le robinet ne se ferme pas.":RETURN
|
||||
4260 POKE #BFFF,57:HIRES:INK 0:CALL #9292:POKE #BFFF,44:RETURN
|
||||
SALLE 4260 POKE #BFFF,57:HIRES:INK 0:CALL #9292:POKE #BFFF,44:RETURN
|
||||
4270 PRINT "La bibliotheque n'a pas de porte...":RETURN
|
||||
4280 PRINT "Il n'y a rien de mieux sur les autres pages.":RETURN
|
||||
4290 PRINT "...c'est toi J.R qui a pris ma femme et mon petrole , tu es infame."
|
||||
|
@ -243,8 +243,8 @@
|
|||
4590 GOSUB 5500:IF A$="N" THEN 500
|
||||
4591 PRINT "Appuyez sur 'S' quand vous etes pres.":SA=PEEK(#BFFF):POKE #4FA,SA
|
||||
4592 GET A$:IF A$<>"S" THEN 4592
|
||||
4593 CALL #96FC:POKE #400,96:POKE #4F9,S(1):DOKE#4F7,CH
|
||||
4594 FOR I=1 TO 5:POKE #479+I,ASC(MID$(MP$,I,1)):NEXT
|
||||
force 4593 CALL #96FC:POKE #400,96:POKE #4F9,S(1):DOKE#4F7,CH
|
||||
password 4594 FOR I=1 TO 5:POKE #479+I,ASC(MID$(MP$,I,1)):NEXT
|
||||
4595 CSAVE"MEMOIRE",A#400,E#4FF,AUTO
|
||||
4596 RUN
|
||||
4600 GOSUB 5500:IF A$="N" THEN 500
|
||||
|
@ -252,7 +252,7 @@
|
|||
4602 GET A$:IF A$<>"L" THEN 4602
|
||||
4603 CALL #96FC
|
||||
4604 DOKE#BFEA,DEEK(#9C):CLOAD"MEMOIRE":DOKE#9C,DEEK(#BFEA)
|
||||
4605 SA=PEEK(#4FA):POKE #BFFF,SA:CH=DEEK(#4F7):S(1)=PEEK(#4F9)
|
||||
SALLE, CH 4605 SA=PEEK(#4FA):POKE #BFFF,SA:CH=DEEK(#4F7):S(1)=PEEK(#4F9)
|
||||
4606 MP$="":FOR N=#47A TO #47E:MP$=MP$+CHR$(PEEK(N)):NEXT:CALL #90F9
|
||||
4607 GOTO 100
|
||||
4610 TEXT:PAPER 4:INK 2:PRINT "Le sas se referme derriere vous ,"
|
||||
|
|
Loading…
Reference in New Issue
Block a user