mirror of
https://github.com/antoinevignau/source.git
synced 2024-06-01 00:41:39 +00:00
Done
This commit is contained in:
parent
16e22a74a1
commit
676623fb69
Binary file not shown.
|
@ -9,19 +9,6 @@
|
||||||
org $4000
|
org $4000
|
||||||
lst off
|
lst off
|
||||||
|
|
||||||
*-----------------------------------
|
|
||||||
* SOLUTION
|
|
||||||
*
|
|
||||||
* ENTRE
|
|
||||||
* O MONT E PREN COMBI, O DESC E E E PREN CISEAU, N O PREN TOUR,
|
|
||||||
* PREN LAMP E N E S E PREN BRIQ, O N O S S E PREN PETRO,
|
|
||||||
* O N N N N ALLU BRIQ, ALLU LAMP, ETEI BRIQ, ENFI COMBI
|
|
||||||
* REPARE TELE POSE TOURN , APPUI ROUG, PREN CLEF,
|
|
||||||
* E S O S S S O O O O MONT N E N OUVR PLAC,
|
|
||||||
* LANC CISE, (Code 5943) S O S DESC E E
|
|
||||||
* RENTR CODE
|
|
||||||
*-----------------------------------
|
|
||||||
|
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
* SOFTSWITCHES AND FRIENDS
|
* SOFTSWITCHES AND FRIENDS
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
|
@ -41,9 +28,6 @@ HPAG = $e6
|
||||||
|
|
||||||
maxY = 191 ; 0 to 191 = 192
|
maxY = 191 ; 0 to 191 = 192
|
||||||
|
|
||||||
dpFROM = $fc
|
|
||||||
dpTO = $fe
|
|
||||||
|
|
||||||
chrRET = $0d
|
chrRET = $0d
|
||||||
chrSPC = $20
|
chrSPC = $20
|
||||||
chrRET2 = $8d
|
chrRET2 = $8d
|
||||||
|
@ -51,6 +35,8 @@ chrSPC2 = $a0
|
||||||
cursorCHAR = ">"
|
cursorCHAR = ">"
|
||||||
TEXTBUFFER = $200
|
TEXTBUFFER = $200
|
||||||
|
|
||||||
|
PRODOS = $bf00
|
||||||
|
|
||||||
KBD = $c000
|
KBD = $c000
|
||||||
CLR80COL = $c000
|
CLR80COL = $c000
|
||||||
SET80COL = $c001
|
SET80COL = $c001
|
||||||
|
@ -77,28 +63,20 @@ CLRAN3 = $c05f
|
||||||
|
|
||||||
*--- The firmware routines
|
*--- The firmware routines
|
||||||
|
|
||||||
AUXMOVE = $C311
|
|
||||||
HGR = $F3E2 ; HGR
|
HGR = $F3E2 ; HGR
|
||||||
HPLOT = $F457 ; HPLOT
|
HPLOT = $F457 ; HPLOT
|
||||||
HILIN = $F53A ; HPLOT TO
|
HILIN = $F53A ; HPLOT TO
|
||||||
HCOLOR = $F6E9 ; HCOLOR= (call+3)
|
HCOLOR = $F6E9 ; HCOLOR= (call+3)
|
||||||
INIT = $FB2F
|
INIT = $FB2F
|
||||||
TABV = $FB5B
|
TABV = $FB5B
|
||||||
BS = $FC10
|
|
||||||
HOME = $FC58
|
HOME = $FC58
|
||||||
CLREOL = $FC9C
|
|
||||||
WAIT = $FCA8
|
WAIT = $FCA8
|
||||||
RDKEY = $FD0C
|
RDKEY = $FD0C
|
||||||
KEYIN = $FD1B
|
|
||||||
GETLN1 = $FD6F
|
GETLN1 = $FD6F
|
||||||
CROUT = $FD8E
|
|
||||||
PRBYTE = $FDDA
|
|
||||||
COUT = $FDED
|
COUT = $FDED
|
||||||
IDROUTINE = $FE1F
|
IDROUTINE = $FE1F
|
||||||
SETNORM = $FE84
|
SETNORM = $FE84
|
||||||
SETKBD = $FE89
|
SETKBD = $FE89
|
||||||
BEEP = $FF3A
|
|
||||||
MONZ = $FF69
|
|
||||||
|
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
* MACROS
|
* MACROS
|
||||||
|
@ -114,10 +92,6 @@ MONZ = $FF69
|
||||||
jsr EXPLODE
|
jsr EXPLODE
|
||||||
eom
|
eom
|
||||||
|
|
||||||
@key$ mac
|
|
||||||
jsr KEY$
|
|
||||||
eom
|
|
||||||
|
|
||||||
@play mac
|
@play mac
|
||||||
ldx #>]1
|
ldx #>]1
|
||||||
ldy #<]1
|
ldy #<]1
|
||||||
|
@ -140,23 +114,37 @@ MONZ = $FF69
|
||||||
* CODE BASIC EN ASM :-)
|
* CODE BASIC EN ASM :-)
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
|
|
||||||
|
ldx #>PL
|
||||||
|
ldy #<PL
|
||||||
|
|
||||||
sec ; 1 MHz vaincra!
|
sec ; 1 MHz vaincra!
|
||||||
jsr IDROUTINE
|
jsr IDROUTINE
|
||||||
bcs notiigs
|
bcs notiigs
|
||||||
|
|
||||||
lda CYAREG
|
lda CYAREG
|
||||||
|
sta sauveCYA
|
||||||
and #%0111_1111
|
and #%0111_1111
|
||||||
sta CYAREG
|
sta CYAREG
|
||||||
notiigs
|
notiigs
|
||||||
jsr introPIC ; la picture GR
|
jsr introPIC ; la picture GR
|
||||||
jsr :51000 ; le disclaimer
|
jsr :51000 ; le disclaimer
|
||||||
jsr :40000 ; les instructions
|
jsr :40000 ; les instructions
|
||||||
|
|
||||||
REPLAY
|
REPLAY
|
||||||
jsr initALL
|
jsr initALL
|
||||||
jsr HGR
|
jsr HGR
|
||||||
* jsr setHGR
|
* jsr setHGR
|
||||||
|
|
||||||
|
* jsr HOME
|
||||||
|
* lda #20
|
||||||
|
* jsr TABV
|
||||||
|
|
||||||
|
lda #20 ; et c'est fen<65>trŽ en plus !
|
||||||
|
sta WNDTOP
|
||||||
|
lda #24
|
||||||
|
sta WNDBTM
|
||||||
|
jsr HOME
|
||||||
|
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
* DU BASIC A L'ASSEMBLEUR (BEURK)
|
* DU BASIC A L'ASSEMBLEUR (BEURK)
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
|
@ -217,12 +205,6 @@ REPLAY
|
||||||
|
|
||||||
:200 jsr setHGR
|
:200 jsr setHGR
|
||||||
|
|
||||||
lda #20 ; et c'est fen<65>trŽ en plus !
|
|
||||||
sta WNDTOP
|
|
||||||
lda #24
|
|
||||||
sta WNDBTM
|
|
||||||
jsr HOME
|
|
||||||
|
|
||||||
@print #strVOUS ; always output "VOUS ETES "
|
@print #strVOUS ; always output "VOUS ETES "
|
||||||
|
|
||||||
lda SALLE
|
lda SALLE
|
||||||
|
@ -341,7 +323,8 @@ REPLAY
|
||||||
jmp :550
|
jmp :550
|
||||||
|
|
||||||
:570 stx lenSTRING ; longueur de la chaine saisie
|
:570 stx lenSTRING ; longueur de la chaine saisie
|
||||||
jsr :6000
|
jsr rewriteSTRING ; from lower to upper
|
||||||
|
jsr :6000 ; cherche les mots
|
||||||
|
|
||||||
lda MO$1
|
lda MO$1
|
||||||
bne :900
|
bne :900
|
||||||
|
@ -351,15 +334,23 @@ REPLAY
|
||||||
jmp :100
|
jmp :100
|
||||||
|
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
* 900 - CONTROLE MVT
|
* 900 - CONTROLES APPLE II
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
|
|
||||||
:900 cmp #59 ; switch wait to de/accelerate the game
|
:900 cmp #59 ; switch wait to de/accelerate the game
|
||||||
bne :910
|
bne :905
|
||||||
|
|
||||||
jsr switchWAIT
|
jsr switchWAIT
|
||||||
jmp :100
|
jmp :100
|
||||||
|
|
||||||
|
:905 cmp #60 ; quitter
|
||||||
|
bne :910
|
||||||
|
jmp :20050
|
||||||
|
|
||||||
|
*-----------------------------------
|
||||||
|
* 910 - CONTROLE MVT
|
||||||
|
*-----------------------------------
|
||||||
|
|
||||||
:910 ldy #0
|
:910 ldy #0
|
||||||
|
|
||||||
:920 lda SALLE ; T$=MID(M$(SALLE),Z,2)
|
:920 lda SALLE ; T$=MID(M$(SALLE),Z,2)
|
||||||
|
@ -799,7 +790,7 @@ strVOUSLAVEZ
|
||||||
asc 8D"VOUS L"A7"AVEZ DEJA. VOUS ETES ETOURDI"8D
|
asc 8D"VOUS L"A7"AVEZ DEJA. VOUS ETES ETOURDI"8D
|
||||||
asc "ET DANS CETTE MAISON, CE N"A7"EST PAS"00
|
asc "ET DANS CETTE MAISON, CE N"A7"EST PAS"00
|
||||||
strCONSEILLE
|
strCONSEILLE
|
||||||
asc "TRES CONSEILLE"00
|
asc 8D"TRES CONSEILLE"00
|
||||||
|
|
||||||
*--------
|
*--------
|
||||||
|
|
||||||
|
@ -825,7 +816,8 @@ strNOTOWNED
|
||||||
* 2100
|
* 2100
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
|
|
||||||
:2100 jsr HOME
|
:2100
|
||||||
|
* jsr HOME
|
||||||
|
|
||||||
lda N
|
lda N
|
||||||
asl
|
asl
|
||||||
|
@ -1116,11 +1108,12 @@ str4124 asc 8D"EN 3 DIMENSIONS SUR UN ECRAN DE FUMEE"00
|
||||||
|
|
||||||
@print #str4133
|
@print #str4133
|
||||||
@wait #200
|
@wait #200
|
||||||
jmp :20100
|
jmp :20050
|
||||||
|
|
||||||
str4130 asc "VOUS AVEZ RAISON, LA CURIOSITE EST UN"8D
|
str4130 asc "VOUS AVEZ RAISON, LA CURIOSITE EST UN"8D
|
||||||
asc "VILAIN DEFAUT"00
|
asc "VILAIN DEFAUT"00
|
||||||
str4133 asc " AU REVOIR"00
|
str4133 asc 8D" AU REVOIR"00
|
||||||
|
|
||||||
*--------
|
*--------
|
||||||
|
|
||||||
:4140 @print #str4140
|
:4140 @print #str4140
|
||||||
|
@ -1145,7 +1138,7 @@ str4150 asc "VOUS AVEZ DE LA CHANCE CAR CE COFFRE"8D
|
||||||
str4152 asc 8D"UN MESSAGE A L"A7"INTERIEUR DIT : NE"8D
|
str4152 asc 8D"UN MESSAGE A L"A7"INTERIEUR DIT : NE"8D
|
||||||
asc "RESPECTEZ PAS LES COULEURS DU CODE DE LA"8D
|
asc "RESPECTEZ PAS LES COULEURS DU CODE DE LA"8D
|
||||||
asc "ROUTE...?"00
|
asc "ROUTE...?"00
|
||||||
str4156 asc "TIENS LE COFFRE SE REFERME"00
|
str4156 asc 8D"TIENS LE COFFRE SE REFERME"00
|
||||||
|
|
||||||
*--------
|
*--------
|
||||||
|
|
||||||
|
@ -1188,7 +1181,7 @@ str4185 asc 8D"CA TUE L"A7"ETOURDIE..."00
|
||||||
|
|
||||||
str4190 asc "A FORCE DE MARCHER EN LONG ET EN LARGE"8D
|
str4190 asc "A FORCE DE MARCHER EN LONG ET EN LARGE"8D
|
||||||
asc "DANS CETTE MAISON,"00
|
asc "DANS CETTE MAISON,"00
|
||||||
str4195 asc "VOUS SOMBREZ DANS UN COMA DES PLUS"8D
|
str4195 asc 8D"VOUS SOMBREZ DANS UN COMA DES PLUS"8D
|
||||||
asc "MORTELS..."00
|
asc "MORTELS..."00
|
||||||
|
|
||||||
*--------
|
*--------
|
||||||
|
@ -1536,9 +1529,6 @@ str4560 asc "LE PISTOLET A EXPLOSE"00
|
||||||
:4570 @explode
|
:4570 @explode
|
||||||
@print #str4570
|
@print #str4570
|
||||||
@wait #250
|
@wait #250
|
||||||
|
|
||||||
lda #5
|
|
||||||
sta BREAK
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
str4570 asc "LE CLAVIER NUMERIQUE A EXPLOSE"00
|
str4570 asc "LE CLAVIER NUMERIQUE A EXPLOSE"00
|
||||||
|
@ -1562,8 +1552,8 @@ str4585 asc 8D"D"A7"EAU QUI VOUS PERMET D"A7"ETEINDRE LE FEU"00
|
||||||
|
|
||||||
:4590 @print #str4590
|
:4590 @print #str4590
|
||||||
jsr GETLN1
|
jsr GETLN1
|
||||||
cpx #4
|
* cpx #4
|
||||||
bne :4595
|
* bne :4595
|
||||||
|
|
||||||
ldx #4-1
|
ldx #4-1
|
||||||
]lp lda TEXTBUFFER,x
|
]lp lda TEXTBUFFER,x
|
||||||
|
@ -1571,10 +1561,10 @@ str4585 asc 8D"D"A7"EAU QUI VOUS PERMET D"A7"ETEINDRE LE FEU"00
|
||||||
bne :4595
|
bne :4595
|
||||||
dex
|
dex
|
||||||
bpl ]lp
|
bpl ]lp
|
||||||
jmp :4600 ; t'as gagnŽ
|
bmi :4600 ; t'as gagnŽ
|
||||||
:4595 jmp :4570 ; t'as perdu
|
:4595 jmp :4570 ; t'as perdu
|
||||||
|
|
||||||
str4590 asc "NO DE CODE "00
|
str4590 asc 8D"NO DE CODE : "00
|
||||||
|
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
* 4600
|
* 4600
|
||||||
|
@ -1591,7 +1581,7 @@ str4590 asc "NO DE CODE "00
|
||||||
strCODEEXACT
|
strCODEEXACT
|
||||||
asc "LE CODE EST EXACT... LA PORTE S"A7"OUVRE..."00
|
asc "LE CODE EST EXACT... LA PORTE S"A7"OUVRE..."00
|
||||||
strENDEHORS
|
strENDEHORS
|
||||||
asc "VOUS VOILA EN DEHORS DE LA MAISON..."
|
asc 8D"VOUS VOILA EN DEHORS DE LA MAISON..."
|
||||||
|
|
||||||
*--------
|
*--------
|
||||||
|
|
||||||
|
@ -1604,7 +1594,7 @@ strENDEHORS
|
||||||
|
|
||||||
str4610 asc "A L"A7"INTERIEUR DU PLACARD, IL Y A UN MOT"8D
|
str4610 asc "A L"A7"INTERIEUR DU PLACARD, IL Y A UN MOT"8D
|
||||||
asc "PARLE D"A7"UN TELEPORTEUR"00
|
asc "PARLE D"A7"UN TELEPORTEUR"00
|
||||||
str4615 asc "TIENS LE PLACARD SE FERME TOUT SEUL..."00
|
str4615 asc 8D"TIENS LE PLACARD SE FERME TOUT SEUL..."00
|
||||||
|
|
||||||
*--------
|
*--------
|
||||||
|
|
||||||
|
@ -1640,8 +1630,6 @@ str4640 asc "LE PLACARD ETAIT PIEGE, VOUS N"A7"AURIEZ"8D
|
||||||
* 6000 - ANALYSE DU MOT
|
* 6000 - ANALYSE DU MOT
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
|
|
||||||
nbCAR = 100 ; on ne depasse pas 100 caracteres
|
|
||||||
|
|
||||||
:6000 lda #0
|
:6000 lda #0
|
||||||
sta N
|
sta N
|
||||||
sta X$1
|
sta X$1
|
||||||
|
@ -1654,26 +1642,30 @@ nbCAR = 100 ; on ne depasse pas 100 caracteres
|
||||||
|
|
||||||
ldx #0 ; cherche le premier caractere
|
ldx #0 ; cherche le premier caractere
|
||||||
]lp lda TEXTBUFFER,x
|
]lp lda TEXTBUFFER,x
|
||||||
cmp #chrRET2
|
* cmp #chrRET2
|
||||||
beq :6021
|
* beq :6021
|
||||||
cmp #chrSPC2
|
cmp #chrSPC2
|
||||||
bne :6022 ; on a trouvŽ un caract<63>re
|
bne :6022 ; on a trouvŽ un caract<63>re
|
||||||
inx
|
inx
|
||||||
cpx lenSTRING
|
cpx lenSTRING
|
||||||
bcs :6021
|
* bcs :6021
|
||||||
cpx #nbCAR
|
* cpx #nbCAR
|
||||||
bcc ]lp
|
bcc ]lp
|
||||||
:6021 rts ; retourne sans avoir trouve
|
:6021 rts ; retourne sans avoir trouve
|
||||||
|
|
||||||
* 2. recopie le mot
|
* 2. recopie le mot
|
||||||
|
|
||||||
|
* 0123456789A
|
||||||
|
* 123456789
|
||||||
|
* PREN COMBI\
|
||||||
|
|
||||||
:6022 ldy #1
|
:6022 ldy #1
|
||||||
]lp lda TEXTBUFFER,x
|
]lp lda TEXTBUFFER,x
|
||||||
cmp #chrRET2
|
cmp #chrRET2
|
||||||
beq :6023
|
beq :6023
|
||||||
cmp #chrSPC2
|
cmp #chrSPC2
|
||||||
beq :6023
|
beq :6023
|
||||||
sta X$1,y
|
sta X$1,y ; 0P1R2E3N4
|
||||||
inx
|
inx
|
||||||
cpx lenSTRING
|
cpx lenSTRING
|
||||||
bcs :6023
|
bcs :6023
|
||||||
|
@ -1681,24 +1673,24 @@ nbCAR = 100 ; on ne depasse pas 100 caracteres
|
||||||
cpy #4
|
cpy #4
|
||||||
bcc ]lp
|
bcc ]lp
|
||||||
beq ]lp
|
beq ]lp
|
||||||
:6023 dey
|
dey
|
||||||
sty X$1 ; sauve la longueur
|
:6023 sty X$1 ; sauve la longueur
|
||||||
|
|
||||||
* 3. cherche un espace
|
* 3. cherche un espace
|
||||||
|
|
||||||
inx
|
* inx
|
||||||
]lp lda TEXTBUFFER,x
|
]lp lda TEXTBUFFER,x
|
||||||
cmp #chrRET2
|
* cmp #chrRET2
|
||||||
beq :6032
|
* beq :6032
|
||||||
cmp #chrSPC2
|
cmp #chrSPC2
|
||||||
beq :6032
|
beq :6032
|
||||||
inx
|
inx ; 5
|
||||||
cpx lenSTRING
|
cpx lenSTRING
|
||||||
bcs :6100
|
* bcs :6100
|
||||||
cpx #nbCAR
|
* cpx #nbCAR
|
||||||
bcc ]lp
|
bcc ]lp
|
||||||
bcs :6100
|
bcs :6100
|
||||||
|
|
||||||
* 4. recopie le mot
|
* 4. recopie le mot
|
||||||
|
|
||||||
:6032 inx
|
:6032 inx
|
||||||
|
@ -1716,8 +1708,8 @@ nbCAR = 100 ; on ne depasse pas 100 caracteres
|
||||||
cpy #4
|
cpy #4
|
||||||
bcc ]lp
|
bcc ]lp
|
||||||
beq ]lp
|
beq ]lp
|
||||||
:6033 dey
|
dey
|
||||||
sty X$2 ; sauve la longueur
|
:6033 sty X$2 ; sauve la longueur
|
||||||
|
|
||||||
* 5. cherche le mot dans les options
|
* 5. cherche le mot dans les options
|
||||||
* X$1 4 PREN
|
* X$1 4 PREN
|
||||||
|
@ -1725,65 +1717,71 @@ nbCAR = 100 ; on ne depasse pas 100 caracteres
|
||||||
* V$x 6 04PREN
|
* V$x 6 04PREN
|
||||||
* 0 123456
|
* 0 123456
|
||||||
|
|
||||||
:6100 lda #0
|
:6100 lda X$1
|
||||||
sta W
|
bne :6110
|
||||||
|
rts
|
||||||
|
|
||||||
:6180 lda #1
|
:6110 ldy #1
|
||||||
sta N
|
]lp tya
|
||||||
|
|
||||||
:6200 lda N
|
|
||||||
asl
|
asl
|
||||||
tax
|
tax
|
||||||
lda tblV$,x
|
lda tblV$,x
|
||||||
sta LINNUM
|
sta :6225+1
|
||||||
lda tblV$+1,x
|
lda tblV$+1,x
|
||||||
sta LINNUM+1
|
sta :6225+2
|
||||||
|
|
||||||
ldy #1
|
|
||||||
ldx #1
|
ldx #1
|
||||||
]lp lda (LINNUM),y
|
:6225 lda $bdbd,x
|
||||||
cmp X$1,x
|
cmp X$1,x
|
||||||
bne :6250
|
bne :6250
|
||||||
iny
|
|
||||||
inx
|
inx
|
||||||
cpx X$1
|
cpx X$1
|
||||||
|
bcc :6225
|
||||||
|
beq :6225
|
||||||
|
|
||||||
|
lda tblV,y
|
||||||
|
sta MO$1
|
||||||
|
bne :6300
|
||||||
|
|
||||||
|
:6250 iny
|
||||||
|
cpy #V
|
||||||
bcc ]lp
|
bcc ]lp
|
||||||
beq ]lp
|
beq ]lp
|
||||||
|
|
||||||
ldx W ; recopie l'index du mot
|
|
||||||
ldy N
|
|
||||||
lda tblV,y
|
|
||||||
sta MO$1,x
|
|
||||||
jmp :6300
|
|
||||||
|
|
||||||
:6250 inc N
|
|
||||||
lda N
|
|
||||||
cmp #V
|
|
||||||
bcc :6200
|
|
||||||
beq :6200
|
|
||||||
|
|
||||||
* 6. on change de mot
|
* 6. on change de mot
|
||||||
|
|
||||||
:6300 lda X$2 ; on n'a pas de second mot
|
:6300 lda X$2
|
||||||
beq :6350
|
bne :6310
|
||||||
|
rts
|
||||||
ldx #5-1
|
|
||||||
]lp lda X$2,x
|
|
||||||
sta X$1,x
|
|
||||||
dex
|
|
||||||
bpl ]lp
|
|
||||||
|
|
||||||
inc W
|
:6310 ldy #1
|
||||||
lda W
|
]lp tya
|
||||||
cmp #2
|
asl
|
||||||
bcc :6180
|
tax
|
||||||
|
lda tblV$,x
|
||||||
|
sta :6325+1
|
||||||
|
lda tblV$+1,x
|
||||||
|
sta :6325+2
|
||||||
|
|
||||||
:6350 rts
|
ldx #1
|
||||||
|
:6325 lda $bdbd,x
|
||||||
*--------
|
cmp X$2,x
|
||||||
|
bne :6350
|
||||||
|
inx
|
||||||
|
cpx X$1
|
||||||
|
bcc :6325
|
||||||
|
beq :6325
|
||||||
|
|
||||||
X$1 ds 4+1 ; premier mot saisi
|
lda tblV,y
|
||||||
X$2 ds 4+1 ; second mot saisi
|
sta MO$2
|
||||||
|
bne :6400
|
||||||
|
|
||||||
|
:6350 iny
|
||||||
|
cpy #V
|
||||||
|
bcc ]lp
|
||||||
|
beq ]lp
|
||||||
|
|
||||||
|
:6400 rts
|
||||||
|
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
* 7000 - DESCRIPTION DES PIECES
|
* 7000 - DESCRIPTION DES PIECES
|
||||||
|
@ -1953,7 +1951,7 @@ tbl7000
|
||||||
* "0123456789012345678901234567890123456789"
|
* "0123456789012345678901234567890123456789"
|
||||||
* "----------------------------------------"
|
* "----------------------------------------"
|
||||||
|
|
||||||
strVOUS asc "VOUS ETES "00
|
strVOUS asc 8D"VOUS ETES "00
|
||||||
str7000 asc "DEVANT LE MANOIR DU DEFUNT"00
|
str7000 asc "DEVANT LE MANOIR DU DEFUNT"00
|
||||||
str7001 asc 8D" DR GENIUS"00
|
str7001 asc 8D" DR GENIUS"00
|
||||||
str7010 asc "DANS LE HALL D"A7"ENTREE"00
|
str7010 asc "DANS LE HALL D"A7"ENTREE"00
|
||||||
|
@ -1988,20 +1986,28 @@ str7240 asc "DANS LE DRESSING"00
|
||||||
hex bdbdbdbd
|
hex bdbdbdbd
|
||||||
|
|
||||||
initALL
|
initALL
|
||||||
|
ldx #FIN_DATA-DEBUT_DATA-1
|
||||||
|
lda #0
|
||||||
|
]lp sta A1,x
|
||||||
|
dex
|
||||||
|
bpl ]lp
|
||||||
|
|
||||||
|
*---
|
||||||
|
|
||||||
lda #1
|
lda #1
|
||||||
sta SALLE
|
sta SALLE
|
||||||
|
|
||||||
ldx #10
|
* ldx #10
|
||||||
lda #0
|
* lda #0
|
||||||
]lp sta P,x
|
*]lp sta P,x
|
||||||
sta C,x
|
* sta C,x
|
||||||
dex
|
* dex
|
||||||
bne ]lp
|
* bne ]lp
|
||||||
|
|
||||||
lda #0
|
|
||||||
sta P+11
|
|
||||||
sta P+12
|
|
||||||
|
|
||||||
|
* lda #0
|
||||||
|
* sta P+11
|
||||||
|
* sta P+12
|
||||||
|
|
||||||
lda #14
|
lda #14
|
||||||
sta C+3
|
sta C+3
|
||||||
lda #12
|
lda #12
|
||||||
|
@ -2026,6 +2032,8 @@ initALL
|
||||||
cpx #4
|
cpx #4
|
||||||
bcc ]lp
|
bcc ]lp
|
||||||
|
|
||||||
|
*---
|
||||||
|
|
||||||
ldx #nbO ; reset object table
|
ldx #nbO ; reset object table
|
||||||
]lp lda refO,x
|
]lp lda refO,x
|
||||||
sta O,x
|
sta O,x
|
||||||
|
@ -2037,7 +2045,6 @@ initALL
|
||||||
sta tblO$,x
|
sta tblO$,x
|
||||||
dex
|
dex
|
||||||
bpl ]lp
|
bpl ]lp
|
||||||
|
|
||||||
rts
|
rts
|
||||||
|
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
|
@ -2166,7 +2173,7 @@ initALL
|
||||||
:12400
|
:12400
|
||||||
@draw #data12400
|
@draw #data12400
|
||||||
rts
|
rts
|
||||||
|
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
* 20000 - PERDU
|
* 20000 - PERDU
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
|
@ -2174,18 +2181,36 @@ initALL
|
||||||
:20000
|
:20000
|
||||||
@draw #data13000
|
@draw #data13000
|
||||||
@play #zikPERDU
|
@play #zikPERDU
|
||||||
jsr setTEXTFULL
|
|
||||||
|
|
||||||
:20100
|
:20050 ; commun avec gagne
|
||||||
|
jsr setTEXTFULL
|
||||||
]lp @print #strREPLAY
|
]lp @print #strREPLAY
|
||||||
jsr RDKEY
|
jsr translateKEY
|
||||||
cmp #"N"
|
cmp #"N"
|
||||||
beq :20001
|
beq :20001
|
||||||
cmp #"O"
|
cmp #"O"
|
||||||
bne ]lp
|
bne ]lp
|
||||||
jmp REPLAY
|
jmp REPLAY
|
||||||
:20001 jmp MONZ
|
|
||||||
|
|
||||||
|
:20001
|
||||||
|
lda sauveCYA
|
||||||
|
sta CYAREG
|
||||||
|
|
||||||
|
jsr PRODOS ; exit
|
||||||
|
dfb $65
|
||||||
|
da proQUIT
|
||||||
|
brk $bd ; on ne se refait pas ;-)
|
||||||
|
|
||||||
|
*--- Data
|
||||||
|
|
||||||
|
proQUIT dfb 4
|
||||||
|
ds 1
|
||||||
|
ds 2
|
||||||
|
ds 1
|
||||||
|
ds 2
|
||||||
|
|
||||||
|
sauveCYA ds 1
|
||||||
|
|
||||||
*--------
|
*--------
|
||||||
|
|
||||||
strREPLAY asc 8D"VOULEZ-VOUS REJOUER ? "00
|
strREPLAY asc 8D"VOULEZ-VOUS REJOUER ? "00
|
||||||
|
@ -2195,10 +2220,14 @@ strREPLAY asc 8D"VOULEZ-VOUS REJOUER ? "00
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
|
|
||||||
:32000
|
:32000
|
||||||
|
@play #zikGAGNE
|
||||||
jsr setTEXTFULL
|
jsr setTEXTFULL
|
||||||
@print #strGAGNE
|
@print #strGAGNE
|
||||||
@play #zikGAGNE
|
jmp :20050
|
||||||
jmp :20100
|
|
||||||
|
* o
|
||||||
|
* O
|
||||||
|
* / \
|
||||||
|
|
||||||
*--------
|
*--------
|
||||||
|
|
||||||
|
@ -2215,14 +2244,14 @@ strGAGNE asc "CELA EST EXCEPTIONNEL. VOUS ETES LE"8D8D
|
||||||
:40000
|
:40000
|
||||||
jsr setTEXTFULL
|
jsr setTEXTFULL
|
||||||
]lp @print #strINSTR
|
]lp @print #strINSTR
|
||||||
jsr RDKEY
|
jsr translateKEY
|
||||||
cmp #"N"
|
cmp #"N"
|
||||||
beq :40001
|
beq :40001
|
||||||
cmp #"O"
|
cmp #"O"
|
||||||
bne ]lp
|
bne ]lp
|
||||||
|
|
||||||
@print #strINSTR2
|
@print #strINSTR2
|
||||||
jsr RDKEY
|
jsr translateKEY
|
||||||
|
|
||||||
:40001 rts
|
:40001 rts
|
||||||
|
|
||||||
|
@ -2256,7 +2285,7 @@ strINSTR2 asc 8D8D
|
||||||
:51000
|
:51000
|
||||||
jsr setTEXTFULL
|
jsr setTEXTFULL
|
||||||
@print #strDISCLAIMER
|
@print #strDISCLAIMER
|
||||||
jmp RDKEY
|
jmp translateKEY
|
||||||
|
|
||||||
*--------
|
*--------
|
||||||
|
|
||||||
|
@ -2390,17 +2419,16 @@ setHGR ; HGR
|
||||||
*----------------------
|
*----------------------
|
||||||
|
|
||||||
switchVIDEO
|
switchVIDEO
|
||||||
lda #0
|
* lda #0
|
||||||
sta CH
|
* sta CH
|
||||||
lda CV
|
* lda CV
|
||||||
sec
|
* sec
|
||||||
sbc #1
|
* sbc #1
|
||||||
sta CV
|
* jsr TABV
|
||||||
jsr TABV
|
|
||||||
|
swVI lda #0
|
||||||
lda #0
|
|
||||||
eor #1
|
eor #1
|
||||||
sta switchVIDEO+1
|
sta swVI+1
|
||||||
bne setMIXEDOFF
|
bne setMIXEDOFF
|
||||||
|
|
||||||
*----------------------
|
*----------------------
|
||||||
|
@ -2448,8 +2476,7 @@ switchWAIT
|
||||||
sta waitMS+1
|
sta waitMS+1
|
||||||
rts
|
rts
|
||||||
|
|
||||||
waitMS
|
waitMS lda #0 ; skip if not zero
|
||||||
lda #0 ; skip if not zero
|
|
||||||
bne waitMS9
|
bne waitMS9
|
||||||
|
|
||||||
sty LINNUM
|
sty LINNUM
|
||||||
|
@ -2653,11 +2680,53 @@ thePAPER ds 1
|
||||||
|
|
||||||
oric2hgr hex 0705010602030400
|
oric2hgr hex 0705010602030400
|
||||||
|
|
||||||
|
*-----------------------------------
|
||||||
|
* rewriteSTRING (lower -> upper)
|
||||||
|
*-----------------------------------
|
||||||
|
|
||||||
|
rewriteSTRING
|
||||||
|
ldx #0
|
||||||
|
]lp ldy TEXTBUFFER,x
|
||||||
|
lda tblKEY,y
|
||||||
|
sta TEXTBUFFER,x
|
||||||
|
inx
|
||||||
|
cpx lenSTRING
|
||||||
|
bcc ]lp
|
||||||
|
rts
|
||||||
|
|
||||||
|
*-----------------------------------
|
||||||
|
* translateKEY (lower -> upper)
|
||||||
|
*-----------------------------------
|
||||||
|
|
||||||
|
translateKEY
|
||||||
|
jsr RDKEY
|
||||||
|
tax
|
||||||
|
lda tblKEY,x
|
||||||
|
rts
|
||||||
|
|
||||||
|
tblKEY
|
||||||
|
hex 00,01,02,03,04,05,06,07,08,09,0A,0B,0C,0D,0E,0F
|
||||||
|
hex 10,11,12,13,14,15,16,17,18,19,1A,1B,1C,1D,1E,1F
|
||||||
|
hex 20,21,22,23,24,25,26,27,28,29,2A,2B,2C,2D,2E,2F
|
||||||
|
hex 30,31,32,33,34,35,36,37,38,39,3A,3B,3C,3D,3E,3F
|
||||||
|
hex 40,41,42,43,44,45,46,47,48,49,4A,4B,4C,4D,4E,4F
|
||||||
|
hex 50,51,52,53,54,55,56,57,58,59,5A,5B,5C,5D,5E,5F
|
||||||
|
hex 60,61,62,63,64,65,66,67,68,69,6A,6B,6C,6D,6E,6F
|
||||||
|
hex 70,71,72,73,74,75,76,77,78,79,7A,7B,7C,7D,7E,7F
|
||||||
|
hex 80,81,82,83,84,85,86,87,88,89,8A,8B,8C,8D,8E,8F
|
||||||
|
hex 90,91,92,93,94,95,96,97,98,99,9A,9B,9C,9D,9E,9F
|
||||||
|
hex A0,A1,A2,A3,A4,A5,A6,A7,A8,A9,AA,AB,AC,AD,AE,AF
|
||||||
|
hex B0,B1,B2,B3,B4,B5,B6,B7,B8,B9,BA,BB,BC,BD,BE,BF
|
||||||
|
hex C0,C1,C2,C3,C4,C5,C6,C7,C8,C9,CA,CB,CC,CD,CE,CF
|
||||||
|
hex D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,DA,DB,DC,DD,DE,DF
|
||||||
|
hex E0,C1,C2,C3,C4,C5,C6,C7,C8,C9,CA,CB,CC,CD,CE,CF
|
||||||
|
hex D0,D1,D2,D3,D4,D5,D6,D7,D8,D9,DA,FB,FC,FD,FE,FF
|
||||||
|
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
* VARIABLES
|
* VARIABLES
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
|
|
||||||
V = 71
|
V = 72
|
||||||
|
|
||||||
tblV$ da $bdbd
|
tblV$ da $bdbd
|
||||||
da V$1,V$2,V$3,V$4,V$5,V$6,V$7,V$8,V$9
|
da V$1,V$2,V$3,V$4,V$5,V$6,V$7,V$8,V$9
|
||||||
|
@ -2667,7 +2736,7 @@ tblV$ da $bdbd
|
||||||
da V$40,V$41,V$42,V$43,V$44,V$45,V$46,V$47,V$48,V$49
|
da V$40,V$41,V$42,V$43,V$44,V$45,V$46,V$47,V$48,V$49
|
||||||
da V$50,V$51,V$52,V$53,V$54,V$55,V$56,V$57,V$58,V$59
|
da V$50,V$51,V$52,V$53,V$54,V$55,V$56,V$57,V$58,V$59
|
||||||
da V$60,V$61,V$62,V$63,V$64,V$65,V$66,V$67,V$68,V$69
|
da V$60,V$61,V$62,V$63,V$64,V$65,V$66,V$67,V$68,V$69
|
||||||
da V$70,V$71
|
da V$70,V$71,V$72
|
||||||
|
|
||||||
V$1 str "N"
|
V$1 str "N"
|
||||||
V$2 str "NORD"
|
V$2 str "NORD"
|
||||||
|
@ -2740,6 +2809,7 @@ V$68 str "ENFO"
|
||||||
V$69 str "ENLE"
|
V$69 str "ENLE"
|
||||||
V$70 str "RENT"
|
V$70 str "RENT"
|
||||||
V$71 str "TEMPO"
|
V$71 str "TEMPO"
|
||||||
|
V$72 str "QUITTER"
|
||||||
|
|
||||||
tblV dfb $bd
|
tblV dfb $bd
|
||||||
dfb 01,01,02,02,03,03,04,04,05,05
|
dfb 01,01,02,02,03,03,04,04,05,05
|
||||||
|
@ -2749,7 +2819,7 @@ tblV dfb $bd
|
||||||
dfb 33,34,35,36,37,38,18,39,40,41
|
dfb 33,34,35,36,37,38,18,39,40,41
|
||||||
dfb 42,43,44,45,46,47,48,49,50,51
|
dfb 42,43,44,45,46,47,48,49,50,51
|
||||||
dfb 52,53,53,54,55,55,56,56,57,58
|
dfb 52,53,53,54,55,55,56,56,57,58
|
||||||
dfb 59
|
dfb 59,60
|
||||||
|
|
||||||
*---
|
*---
|
||||||
|
|
||||||
|
@ -2796,7 +2866,7 @@ O$16 asc "UN TELEPORTEUR"00
|
||||||
O$17 asc "UN TELEPORTEUR REPARE"00
|
O$17 asc "UN TELEPORTEUR REPARE"00
|
||||||
O$18 asc "UNE COMBINAISON ARGENTEE"00
|
O$18 asc "UNE COMBINAISON ARGENTEE"00
|
||||||
O$19 asc "UNE COMBINAISON ENFILEE"00
|
O$19 asc "UNE COMBINAISON ENFILEE"00
|
||||||
O$20 asc "UN MONSTRE ALL"A7"EST"00
|
O$20 asc "UN MONSTRE A L"A7"EST"00
|
||||||
O$21 asc "UN PISTOLET"00
|
O$21 asc "UN PISTOLET"00
|
||||||
O$22 asc "UN BRIQUET"00
|
O$22 asc "UN BRIQUET"00
|
||||||
O$23 asc "UN BRIQUET ALLUME"00
|
O$23 asc "UN BRIQUET ALLUME"00
|
||||||
|
@ -2972,7 +3042,7 @@ A$113 str "A16F09.D50D06N."
|
||||||
A$114 str "A16.D49I18M."
|
A$114 str "A16.D49I18M."
|
||||||
A$115 str "D18E09.D30K."
|
A$115 str "D18E09.D30K."
|
||||||
A$116 str "D18.P18E09J."
|
A$116 str "D18.P18E09J."
|
||||||
A$117 str "5743D18F09.D30K."
|
A$117 str "D18F09.D30K."
|
||||||
A$118 str "D18.P18F09J."
|
A$118 str "D18.P18F09J."
|
||||||
A$119 str "A24C12.D51K."
|
A$119 str "A24C12.D51K."
|
||||||
A$120 str "A24C03.D52N."
|
A$120 str "A24C03.D52N."
|
||||||
|
@ -3139,6 +3209,8 @@ C$14 str ".L."
|
||||||
|
|
||||||
*-----------------------------------
|
*-----------------------------------
|
||||||
|
|
||||||
|
DEBUT_DATA
|
||||||
|
|
||||||
A1 ds 1
|
A1 ds 1
|
||||||
BREAK ds 1
|
BREAK ds 1
|
||||||
E ds 1
|
E ds 1
|
||||||
|
@ -3164,6 +3236,10 @@ C ds 10+1
|
||||||
E$ ds 32 ; the longest string
|
E$ ds 32 ; the longest string
|
||||||
P ds 13+1
|
P ds 13+1
|
||||||
PL ds 5 ; 1111/0
|
PL ds 5 ; 1111/0
|
||||||
|
X$1 ds 4+1 ; premier mot saisi
|
||||||
|
X$2 ds 4+1 ; second mot saisi
|
||||||
|
|
||||||
|
FIN_DATA
|
||||||
|
|
||||||
*--- The lazy decimal to hexadecimal conversion
|
*--- The lazy decimal to hexadecimal conversion
|
||||||
|
|
||||||
|
|
File diff suppressed because it is too large
Load Diff
106
lemanoirdudocteurgenius/apple2/manuel
Normal file
106
lemanoirdudocteurgenius/apple2/manuel
Normal file
|
@ -0,0 +1,106 @@
|
||||||
|
ACTIONNE
|
||||||
|
ALLUME
|
||||||
|
APPUIE
|
||||||
|
ATTENDS
|
||||||
|
AVANCE
|
||||||
|
BLEU
|
||||||
|
BRIQUET
|
||||||
|
CISEAU
|
||||||
|
CLEF
|
||||||
|
CODE
|
||||||
|
COFFRE
|
||||||
|
COMBINAISON
|
||||||
|
COUTEAU
|
||||||
|
DEPANNE
|
||||||
|
DESCENDS
|
||||||
|
EAU
|
||||||
|
ENFILE
|
||||||
|
ENFONCE
|
||||||
|
ENLEVE
|
||||||
|
ENTRE
|
||||||
|
ESCALIER
|
||||||
|
EST (E)
|
||||||
|
ETEINS
|
||||||
|
FERME
|
||||||
|
GRIMPE
|
||||||
|
INVENTAIRE
|
||||||
|
JETTE
|
||||||
|
LAMPE
|
||||||
|
LANCE
|
||||||
|
LIS
|
||||||
|
LISTE
|
||||||
|
LIT
|
||||||
|
LIVRE
|
||||||
|
MONSTRE
|
||||||
|
MONTE
|
||||||
|
NORD (N)
|
||||||
|
OUEST (O)
|
||||||
|
OUVRE
|
||||||
|
PAPIER
|
||||||
|
PASSE
|
||||||
|
PETROLE
|
||||||
|
PISTOLET
|
||||||
|
PLACARD
|
||||||
|
POIGNARDE
|
||||||
|
PORTE
|
||||||
|
POSE
|
||||||
|
POT
|
||||||
|
PRENDS
|
||||||
|
RAMASSE
|
||||||
|
REGARDE
|
||||||
|
REMPLIS
|
||||||
|
RENIFLE
|
||||||
|
RENTRE
|
||||||
|
REPARE
|
||||||
|
RETOURNE
|
||||||
|
RIEN
|
||||||
|
ROBINET
|
||||||
|
ROUGE
|
||||||
|
SENS
|
||||||
|
SUD (S)
|
||||||
|
TELEPORTEUR
|
||||||
|
TEMPO
|
||||||
|
TITRE
|
||||||
|
TORCHE
|
||||||
|
TOURNE
|
||||||
|
VERT
|
||||||
|
VIDE
|
||||||
|
|
||||||
|
*-----------------------------------
|
||||||
|
* SOLUTION
|
||||||
|
*
|
||||||
|
* ENTRE
|
||||||
|
* O MONT E PREN COMBI, O DESC E E E PREN CISEAU, N O PREN TOUR,
|
||||||
|
* PREN LAMP E N E S E PREN BRIQ, O N O S S E PREN PETRO,
|
||||||
|
* O N N N N ALLU BRIQ, ALLU LAMP, ETEI BRIQ, ENFI COMBI
|
||||||
|
* REPARE TELE POSE TOURN , APPUI ROUG, PREN CLEF,
|
||||||
|
* E S O S S S O O O MONT N E N OUVR PLAC,
|
||||||
|
* LANC CISE, (Code 5943) S O S DESC E E
|
||||||
|
* RENTR CODE
|
||||||
|
*-----------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user