This commit is contained in:
Antoine Vignau 2023-11-22 20:24:48 +01:00
parent 16e22a74a1
commit 676623fb69
4 changed files with 7241 additions and 6931 deletions

View File

@ -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

View 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
*-----------------------------------