making it asm friendly

This commit is contained in:
Antoine Vignau 2023-11-20 19:41:18 +01:00
parent 4dccfa2997
commit d6d499960d
6 changed files with 387 additions and 1049 deletions

View File

@ -1 +1 @@
drgenius=Type(00),AuxType(0000),VersionCreate(70),MinVersion(BE),Access(E3),FolderInfo1(000000000000000000000000000000000000),FolderInfo2(000000000000000000000000000000000000)
drgenius=Type(06),AuxType(4000),VersionCreate(70),MinVersion(BE),Access(E3),FolderInfo1(000000000000000000000000000000000000),FolderInfo2(000000000000000000000000000000000000)

View File

@ -321,10 +321,6 @@ REPLAY
jsr :6000
lda MO$1
cmp #"0"
bne :900
lda MO$1+1
cmp #"0"
bne :900
@print #strJENECOMPRENDS
@ -335,8 +331,7 @@ REPLAY
* 900 - CONTROLE MVT
*-----------------------------------
:900 lda #1
sta Z
:900 ldy #0
:920 lda SALLE ; T$=MID(M$(SALLE),Z,2)
asl
@ -346,49 +341,18 @@ REPLAY
lda tblM$+1,x
sta LINNUM+1
ldy Z
lda (LINNUM),y
sta T$+1
dey
lda (LINNUM),y
sta T$
cmp #"0"
bne :940
lda T$+1
cmp #"0"
beq :980
:940 lda T$
cmp MO$1
bne :970
lda T$+1
cmp MO$1+1
bne :970
:950 iny
iny
lda (LINNUM),y
sec
sbc #"0"
tax
lda tblD2H,x
sta SALLE
iny
lda (LINNUM),y
sec
sbc #"0"
clc
adc SALLE
sta SALLE
jmp :100
:970 lda Z
clc
adc #4
sta Z
jmp :920
:970 iny
bne :920
:980 lda #0
sta T
@ -398,13 +362,10 @@ REPLAY
* 1000 - CONTROLE
*-----------------------------------
:1000 lda #0
:1000 lda #-1
sta NL
:1100 lda NL
clc
adc #1
sta NL
:1100 inc NL
lda T
cmp #0
@ -445,11 +406,8 @@ REPLAY
:1170 @print #strIMPOSSIBLE
lda MO$1
cmp #"0"
bne :1190
lda MO$1+1
cmp #"9"+1
lda MO$1 ; les directions
cmp #10+1
bcs :1190
@print #strCECHEMIN
@ -460,41 +418,16 @@ REPLAY
:1200 lda NL
asl
tax
lda tblA$,x
sta LINNUM
lda tblA$+1,x
sta LINNUM+1
ldy #1
lda (LINNUM),y
lda tblA,x
cmp MO$1
beq :1201
iny
lda (LINNUM),y
cmp MO$1+1
bne :1210
:1201 jmp :1100
:1210 iny
lda (LINNUM),y
sta Y$
iny
lda (LINNUM),y
sta Y$+1
cmp Y$
bne :1225
cmp #"0"
bne :1225
beq :1210
jmp :1100
:1225 lda Y$
:1210 lda tblA+1,x
beq :1230
cmp MO$2
beq :1227
lda Y$+1
cmp MO$2+1
bne :1230
:1227 jmp :1100
beq :1230
jmp :1100
:1230 ldy #0
lda (LINNUM),y
@ -677,11 +610,7 @@ tbl1500 da :1500,:1510,:1520,:1530,:1540
* 1700 - ACTIONS
*-----------------------------------
:1700
lda E
clc
adc #1
sta E
:1700 inc E
lda #1
sta A1
@ -768,10 +697,8 @@ tbl1800 da $bdbd
sta G
sta HH
:1810 lda G
clc
adc #1
sta G
:1810 inc G
lda G
tax
lda O,x
cmp #-1
@ -1714,11 +1641,8 @@ nbCAR = 100 ; on ne depasse pas 100 caracteres
sta X$1
sta X$2
lda #"0" ; initialise les mots
sta MO$1
sta MO$1+1
sta MO$2
sta MO$2+1
* 1. cherche l'index du premier mot
@ -2724,77 +2648,88 @@ tblV$ da $bdbd
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$70
V$1 str "01N"
V$2 str "01NORD"
V$3 str "02S"
V$4 str "02SUD"
V$5 str "03E"
V$6 str "03EST"
V$7 str "04O"
V$8 str "04OUEST"
V$9 str "05MONT"
V$10 str "05GRIM"
V$11 str "06DESC"
V$12 str "10PREN"
V$13 str "10RAMA"
V$14 str "11POSE"
V$15 str "12OUVR"
V$16 str "13FERM"
V$17 str "14ENTR"
V$18 str "14AVAN"
V$19 str "15ALLU"
V$20 str "16ETEI"
V$21 str "17REPA"
V$22 str "17DEPA"
V$23 str "18LIS"
V$24 str "19REGA"
V$25 str "20RETO"
V$26 str "21RENI"
V$27 str "21SENS"
V$28 str "22REMP"
V$29 str "23VIDE"
V$30 str "24INVE"
V$31 str "24LIST"
V$32 str "25RIEN"
V$33 str "25ATTE"
V$34 str "26POIG"
V$35 str "27COUT"
V$36 str "28TOUR"
V$37 str "29LAMP"
V$38 str "30CODE"
V$39 str "31ESCA"
V$40 str "32PIST"
V$41 str "33PLAC"
V$42 str "34TORC"
V$43 str "35TELE"
V$44 str "36MONS"
V$45 str "37PETR"
V$46 str "38POT"
V$47 str "18LIT"
V$48 str "39CLEF"
V$49 str "40PAPI"
V$50 str "41LIVR"
V$51 str "42BRIQ"
V$52 str "43COMB"
V$53 str "44COFF"
V$54 str "45ROUG"
V$55 str "46BLEU"
V$56 str "47VERT"
V$57 str "48TITR"
V$58 str "49ROBI"
V$59 str "50CISE"
V$60 str "51PORT"
V$61 str "52ACTI"
V$62 str "53JETE"
V$63 str "53LANCE"
V$64 str "54EAU"
V$65 str "55ENFI"
V$66 str "55PASS"
V$67 str "56APPU"
V$68 str "56ENFO"
V$69 str "57ENLE"
V$70 str "58RENT"
V$1 str "N"
V$2 str "NORD"
V$3 str "S"
V$4 str "SUD"
V$5 str "E"
V$6 str "EST"
V$7 str "O"
V$8 str "OUEST"
V$9 str "MONT"
V$10 str "GRIM"
V$11 str "DESC"
V$12 str "PREN"
V$13 str "RAMA"
V$14 str "POSE"
V$15 str "OUVR"
V$16 str "FERM"
V$17 str "ENTR"
V$18 str "AVAN"
V$19 str "ALLU"
V$20 str "ETEI"
V$21 str "REPA"
V$22 str "DEPA"
V$23 str "LIS"
V$24 str "REGA"
V$25 str "RETO"
V$26 str "RENI"
V$27 str "SENS"
V$28 str "REMP"
V$29 str "VIDE"
V$30 str "INVE"
V$31 str "LIST"
V$32 str "RIEN"
V$33 str "ATTE"
V$34 str "POIG"
V$35 str "COUT"
V$36 str "TOUR"
V$37 str "LAMP"
V$38 str "CODE"
V$39 str "ESCA"
V$40 str "PIST"
V$41 str "PLAC"
V$42 str "TORC"
V$43 str "TELE"
V$44 str "MONS"
V$45 str "PETR"
V$46 str "POT"
V$47 str "LIT"
V$48 str "CLEF"
V$49 str "PAPI"
V$50 str "LIVR"
V$51 str "BRIQ"
V$52 str "COMB"
V$53 str "COFF"
V$54 str "ROUG"
V$55 str "BLEU"
V$56 str "VERT"
V$57 str "TITR"
V$58 str "ROBI"
V$59 str "CISE"
V$60 str "PORT"
V$61 str "ACTI"
V$62 str "JETE"
V$63 str "LANCE"
V$64 str "EAU"
V$65 str "ENFI"
V$66 str "PASS"
V$67 str "APPU"
V$68 str "ENFO"
V$69 str "ENLE"
V$70 str "RENT"
tblV dfb $bd
dfb 01,01,02,02,03,03,04,04
dfb 05,05,06,10,10,11,12,13
dfb 14,14,15,16,17,17,18,19
dfb 20,21,21,22,23,24,24,25
dfb 25,26,27,28,29,30,31,32
dfb 33,34,35,36,37,38,18,39
dfb 40,41,42,43,44,45,46,47
dfb 48,49,50,51,52,53,53,54
dfb 55,55,56,56,57,58
*---
@ -2857,38 +2792,37 @@ tblM$ da $bdbd
da M$10,M$11,M$12,M$13,M$14,M$15,M$16,M$17,M$18,M$19
da M$20,M$21,M$22,M$23,M$24,M$25
M$1 str "00"
M$2 str "0403030400"
M$3 str "030200"
M$4 str "04020305010600"
M$5 str "04040107032000"
M$6 str "020400"
M$7 str "04080109020500"
M$8 str "030700"
M$9 str "04130207031000"
M$10 str "0409021100"
M$11 str "0110031200"
M$12 str "041100"
M$13 str "030900"
M$14 str "0209031500"
M$15 str "00"
M$16 str "00"
M$17 str "00"
M$18 str "00"
M$19 str "0122032100"
M$20 str "040500"
M$21 str "0125022200"
M$22 str "012100"
M$23 str "0124042200"
M$24 str "022300"
M$25 str "022100"
M$1 dfb 00
M$2 dfb 04,03,03,04,00
M$3 dfb 03,02,00
M$4 dfb 04,02,03,05,01,06,00
M$5 dfb 04,04,01,07,03,20,00
M$6 dfb 02,04,00
M$7 dfb 04,08,01,09,02,05,00
M$8 dfb 03,07,00
M$9 dfb 04,13,02,07,03,10,00
M$10 dfb 04,09,02,11,00
M$11 dfb 01,10,03,12,00
M$12 dfb 04,11,00
M$13 dfb 03,09,00
M$14 dfb 02,09,03,15,00
M$15 dfb 00
M$16 dfb 00
M$17 dfb 00
M$18 dfb 00
M$19 dfb 01,22,03,21,00
M$20 dfb 04,05,00
M$21 dfb 01,25,02,22,00
M$22 dfb 01,21,00
M$23 dfb 01,24,04,22,00
M$24 dfb 02,23,00
M$25 dfb 02,21,00
*---
*--- On commence <EFBFBD> index 0
AA = 128
tblA$ da $bdbd
da A$1,A$2,A$3,A$4,A$5,A$6,A$7,A$8,A$9
tblA$ da A$1,A$2,A$3,A$4,A$5,A$6,A$7,A$8,A$9
da A$10,A$11,A$12,A$13,A$14,A$15,A$16,A$17,A$18,A$19
da A$20,A$21,A$22,A$23,A$24,A$25,A$26,A$27,A$28,A$29
da A$30,A$31,A$32,A$33,A$34,A$35,A$36,A$37,A$38,A$39
@ -2902,141 +2836,269 @@ tblA$ da $bdbd
da A$110,A$111,A$112,A$113,A$114,A$115,A$116,A$117,A$118,A$119
da A$120,A$121,A$122,A$123,A$124,A$125,A$126,A$127,A$128
A$1 str "1400A01.I02D02M."
A$2 str "0500A03D08.D03N."
A$3 str "0500A03E08E09D24.D04D05I19E02M."
A$4 str "0500A03E08D24.D04D06N."
A$5 str "0500A03E07.I19M."
A$6 str "0500A03E03.I19M."
A$7 str "0500A03.I19E02M."
A$8 str "0600A19D08.D03N."
A$9 str "0600A19E08E09D24.D04D05I03M."
A$10 str "0600A19E08D24.D04D06N."
A$11 str "0600A19.I03M."
A$12 str "0100A09E07B22.D07N."
A$13 str "0100A09E03B05.D07N."
A$14 str "0100A09.I14E02M."
A$15 str "0100A14.I16E02M."
A$16 str "0200A16E07B22.D07N."
A$17 str "0200A16E03B05.D07N."
A$18 str "0200A16.I14E02M."
A$19 str "0400A15E03B05.D07N."
A$20 str "0400A15E07B22.D07N."
A$21 str "0400A15.I14E02M."
A$22 str "0100A15E03.I17M."
A$23 str "0100A15E07.I17M."
A$24 str "0100A15.I17E02M."
A$25 str "0200A17.F01I15M."
A$26 str "0300A17.D08N."
A$27 str "0400A17.D09K."
A$28 str "0300A18.D10F03E01E02I17M."
A$29 str "0400A21E03.I19M."
A$30 str "0400A21E07.I19M."
A$31 str "0400A21.I19E02M."
A$32 str "0200A22E03.I19M."
A$33 str "0200A22E07.I19M."
A$34 str "0200A22.I19E02M."
A$35 str "0200A19.D11N."
A$36 str "0400A19.D11N."
A$37 str "0300A22.D12I23M."
A$38 str "2500A01.D13."
A$39 str "2500I01.D14K."
A$40 str "1244A03.D15M."
A$41 str "1034B01.B01J."
A$42 str "1027B08.B08J."
A$43 str "1028B04.B04J."
A$44 str "1029B05.B05J."
A$45 str "1032B21.B21J."
A$46 str "1038B24.B24J."
A$47 str "1039B12.B12J."
A$48 str "1040B09.B09J."
A$49 str "1041B10.B10J."
A$50 str "1043B18.B18J."
A$51 str "1050B03.B03J."
A$52 str "1042B22.B22J."
A$53 str "1037A20B05.H11P05E05D16K."
A$54 str "1037A20.D17K."
A$55 str "1134.C01J."
A$56 str "1127.C08J."
A$57 str "1128.C04J."
A$58 str "1129.C05J."
A$59 str "1132.C21J."
A$60 str "1138.C24J."
A$61 str "1143E09.D62K."
A$62 str "1139.C12J."
A$63 str "1140.C09J."
A$64 str "1141.C10J."
A$65 str "1143.C18J."
A$66 str "1150.C03J."
A$67 str "1142.C22J."
A$68 str "2400.A00L."
A$69 str "1249A05.E04D20G0405J."
A$70 str "1349A05.F04J."
A$71 str "2238A05E04.P24E08J."
A$72 str "2338A05E08.F08P24J."
A$73 str "2338E08.D21N."
A$74 str "1848B10.D22L."
A$75 str "1841B10.D23N."
A$76 str "1840B09.D24K."
A$77 str "2040B09.D25K."
A$78 str "1951A02.D26M."
A$79 str "1951.D27K."
A$80 str "2100A14.D28K."
A$81 str "2100.D29K."
A$82 str "1542C22.D33K."
A$83 str "1542E07.D30K."
A$84 str "1542A14.D07N."
A$85 str "1542A17E01.D10K."
A$86 str "1542E02.F02E07E06P22M."
A$87 str "1542.E07P22J."
A$88 str "1529C05.D33K."
A$89 str "1529E03.D30K."
A$90 str "1529F07.D31L."
A$91 str "1529F05.D32L."
A$92 str "1529E02.F02E03E06P06P05M."
A$93 str "1529.E03P06P05J."
A$94 str "1642C22.D33K."
A$95 str "1642F07.D30K."
A$96 str "1642E06E03.D36F07P22M."
A$97 str "1642E06.E02F07F06P22M."
A$98 str "1642.F07P22M."
A$99 str "1629C05.D33K."
A$100 str "1629F03.D30K."
A$101 str "1629E07E06.D34F03P05M."
A$102 str "1629E06.E02F06F03P05M."
A$103 str "1629.F03P05M."
A$104 str "1534B01.D35N."
A$105 str "1735I16.D45K."
A$106 str "1735E02.D43K."
A$107 str "1735F03.D44K."
A$108 str "1735C04.D46K."
A$109 str "1735.P16E10J."
A$110 str "5600A16F10.D47K."
A$111 str "5646A16.D48N."
A$112 str "5647A16.D48N."
A$113 str "5645A16F09.D50D06N."
A$114 str "5645A16.D49I18M."
A$115 str "5543D18E09.D30K."
A$116 str "5543D18.P18E09J."
A$117 str "574EXPLODEAND18F09.D30K."
A$118 str "5743D18.P18F09J."
A$119 str "1233A24C12.D51K."
A$120 str "1233A24C03.D52N."
A$121 str "1233A24.G0503E11D63K."
A$122 str "2636E11.D54F11D55K."
A$123 str "5350E11.D54F11D55K."
A$124 str "5232B21.D56N."
A$125 str "5830F08.D57."
A$126 str "5830.D58D59."
A$127 str "1233A06.D61M."
A$128 str "1233A25.D64N."
A$1 str "A01.I02D02M."
A$2 str "A03D08.D03N."
A$3 str "A03E08E09D24.D04D05I19E02M."
A$4 str "A03E08D24.D04D06N."
A$5 str "A03E07.I19M."
A$6 str "A03E03.I19M."
A$7 str "A03.I19E02M."
A$8 str "A19D08.D03N."
A$9 str "A19E08E09D24.D04D05I03M."
A$10 str "A19E08D24.D04D06N."
A$11 str "A19.I03M."
A$12 str "A09E07B22.D07N."
A$13 str "A09E03B05.D07N."
A$14 str "A09.I14E02M."
A$15 str "A14.I16E02M."
A$16 str "A16E07B22.D07N."
A$17 str "A16E03B05.D07N."
A$18 str "A16.I14E02M."
A$19 str "A15E03B05.D07N."
A$20 str "A15E07B22.D07N."
A$21 str "A15.I14E02M."
A$22 str "A15E03.I17M."
A$23 str "A15E07.I17M."
A$24 str "A15.I17E02M."
A$25 str "A17.F01I15M."
A$26 str "A17.D08N."
A$27 str "A17.D09K."
A$28 str "A18.D10F03E01E02I17M."
A$29 str "A21E03.I19M."
A$30 str "A21E07.I19M."
A$31 str "A21.I19E02M."
A$32 str "A22E03.I19M."
A$33 str "A22E07.I19M."
A$34 str "A22.I19E02M."
A$35 str "A19.D11N."
A$36 str "A19.D11N."
A$37 str "A22.D12I23M."
A$38 str "A01.D13."
A$39 str "I01.D14K."
A$40 str "A03.D15M."
A$41 str "B01.B01J."
A$42 str "B08.B08J."
A$43 str "B04.B04J."
A$44 str "B05.B05J."
A$45 str "B21.B21J."
A$46 str "B24.B24J."
A$47 str "B12.B12J."
A$48 str "B09.B09J."
A$49 str "B10.B10J."
A$50 str "B18.B18J."
A$51 str "B03.B03J."
A$52 str "B22.B22J."
A$53 str "A20B05.H11P05E05D16K."
A$54 str "A20.D17K."
A$55 str ".C01J."
A$56 str ".C08J."
A$57 str ".C04J."
A$58 str ".C05J."
A$59 str ".C21J."
A$60 str ".C24J."
A$61 str "E09.D62K."
A$62 str ".C12J."
A$63 str ".C09J."
A$64 str ".C10J."
A$65 str ".C18J."
A$66 str ".C03J."
A$67 str ".C22J."
A$68 str ".A00L."
A$69 str "A05.E04D20G0405J."
A$70 str "A05.F04J."
A$71 str "A05E04.P24E08J."
A$72 str "A05E08.F08P24J."
A$73 str "E08.D21N."
A$74 str "B10.D22L."
A$75 str "B10.D23N."
A$76 str "B09.D24K."
A$77 str "B09.D25K."
A$78 str "A02.D26M."
A$79 str ".D27K."
A$80 str "A14.D28K."
A$81 str ".D29K."
A$82 str "C22.D33K."
A$83 str "E07.D30K."
A$84 str "A14.D07N."
A$85 str "A17E01.D10K."
A$86 str "E02.F02E07E06P22M."
A$87 str ".E07P22J."
A$88 str "C05.D33K."
A$89 str "E03.D30K."
A$90 str "F07.D31L."
A$91 str "F05.D32L."
A$92 str "E02.F02E03E06P06P05M."
A$93 str ".E03P06P05J."
A$94 str "C22.D33K."
A$95 str "F07.D30K."
A$96 str "E06E03.D36F07P22M."
A$97 str "E06.E02F07F06P22M."
A$98 str ".F07P22M."
A$99 str "C05.D33K."
A$100 str "F03.D30K."
A$101 str "E07E06.D34F03P05M."
A$102 str "E06.E02F06F03P05M."
A$103 str ".F03P05M."
A$104 str "B01.D35N."
A$105 str "I16.D45K."
A$106 str "E02.D43K."
A$107 str "F03.D44K."
A$108 str "C04.D46K."
A$109 str ".P16E10J."
A$110 str "A16F10.D47K."
A$111 str "A16.D48N."
A$112 str "A16.D48N."
A$113 str "A16F09.D50D06N."
A$114 str "A16.D49I18M."
A$115 str "D18E09.D30K."
A$116 str "D18.P18E09J."
A$117 str "XPLODEAND18F09.D30K."
A$118 str "D18.P18F09J."
A$119 str "A24C12.D51K."
A$120 str "A24C03.D52N."
A$121 str "A24.G0503E11D63K."
A$122 str "E11.D54F11D55K."
A$123 str "E11.D54F11D55K."
A$124 str "B21.D56N."
A$125 str "F08.D57."
A$126 str ".D58D59."
A$127 str "A06.D61M."
A$128 str "A25.D64N."
*---
tblA dfb 14,00
dfb 05,00
dfb 05,00
dfb 05,00
dfb 05,00
dfb 05,00
dfb 05,00
dfb 06,00
dfb 06,00
dfb 06,00
dfb 06,00
dfb 01,00
dfb 01,00
dfb 01,00
dfb 01,00
dfb 02,00
dfb 02,00
dfb 02,00
dfb 04,00
dfb 04,00
dfb 04,00
dfb 01,00
dfb 01,00
dfb 01,00
dfb 02,00
dfb 03,00
dfb 04,00
dfb 03,00
dfb 04,00
dfb 04,00
dfb 04,00
dfb 02,00
dfb 02,00
dfb 02,00
dfb 02,00
dfb 04,00
dfb 03,00
dfb 25,00
dfb 25,00
dfb 12,44
dfb 10,34
dfb 10,27
dfb 10,28
dfb 10,29
dfb 10,32
dfb 10,38
dfb 10,39
dfb 10,40
dfb 10,41
dfb 10,43
dfb 10,50
dfb 10,42
dfb 10,37
dfb 10,37
dfb 11,34
dfb 11,27
dfb 11,28
dfb 11,29
dfb 11,32
dfb 11,38
dfb 11,43
dfb 11,39
dfb 11,40
dfb 11,41
dfb 11,43
dfb 11,50
dfb 11,42
dfb 24,00
dfb 12,49
dfb 13,49
dfb 22,38
dfb 23,38
dfb 23,38
dfb 18,48
dfb 18,41
dfb 18,40
dfb 20,40
dfb 19,51
dfb 19,51
dfb 21,00
dfb 21,00
dfb 15,42
dfb 15,42
dfb 15,42
dfb 15,42
dfb 15,42
dfb 15,42
dfb 15,29
dfb 15,29
dfb 15,29
dfb 15,29
dfb 15,29
dfb 15,29
dfb 16,42
dfb 16,42
dfb 16,42
dfb 16,42
dfb 16,42
dfb 16,29
dfb 16,29
dfb 16,29
dfb 16,29
dfb 16,29
dfb 15,34
dfb 17,35
dfb 17,35
dfb 17,35
dfb 17,35
dfb 17,35
dfb 56,00
dfb 56,46
dfb 56,47
dfb 56,45
dfb 56,45
dfb 55,43
dfb 55,43
dfb 57,4E
dfb 57,43
dfb 12,33
dfb 12,33
dfb 12,33
dfb 26,36
dfb 53,50
dfb 52,32
dfb 58,30
dfb 58,30
dfb 12,33
dfb 12,33
*--- On commence <EFBFBD> index 0
* C = 14
tblC$ da $bdbd
da C$1,C$2,C$3,C$4,C$5,C$6,C$7,C$8,C$9
tblC$ da C$1,C$2,C$3,C$4,C$5,C$6,C$7,C$8,C$9
da C$10,C$11,C$12,C$13,C$14
C$1 str "G03E03.D00N."
@ -3070,8 +3132,8 @@ HH ds 1
L ds 1
LI ds 1
LX ds 1
MO$1 ds 2 ; "00" (une chaine raccourcie)
MO$2 ds 2 ; "00" (une chaine raccourcie)
MO$1 ds 1 ; mot 1
MO$2 ds 1 ; mot 2
N ds 1
NL ds 1
OK ds 1
@ -3081,9 +3143,7 @@ PL ds 5 ; 1111/0
S ds 2 ; pour S(1)
SALLE ds 1
T ds 1
T$ ds 2 ; "00"
W ds 1
Y$ ds 2 ; "00"
Y1 ds 1
Y2 ds 1
Z ds 1

View File

@ -1,722 +0,0 @@
20 REM CLEAR 300,-16385
30 PRINT "DISKLOAD CODE"
35 CALL -16384: POKE&"47FD",0
40 GOSUB 7600
45 INIT0,0: TX3,0,0: PRINT: PRINTSPC(10)"VEUILLEZ PATIENTER"
50 GOSUB 8000: REM CHARGEMENT VARIABLES
51 GOSUB 7500
55 MODEMN: INIT0,0: TX0,0,0
57 DIM P(12): P(11) = 0: P(12) = 0
60 SALLE = 1
70 FOR N = 1 TO 10
80 P(N) = 0: C(N) = 0
85 NEXT N
90 C(3) = 14: C(7) = 12: C(1) = 80: C(9) = 12
100 IF SALLE <> 14 AND SALLE <> 16 AND SALLE <> 17 AND SALLE <> 19 THENP(2) = 0
105 IFP(2) = 0 THEN 200
106 IFO(22) = SA AND P(7) = 1 THEN 200
107 IFO(05) = SA AND P(3) = 1 THEN 200
110 IFC(9) > 1 THEN C(9) = C(9)-1
130 MODEMC: MODEMN
140 HTAB 1: VTAB 18: PRINT "Il fait noir comme dans un four!"
145 PRINT "Il faudrait peut etre allumer."
150 GOTO 500
200 REM DESCRIPTION SALLE
210 MODEMN: MODEMC: REM cadre+zone+dessin
215 DEST = SALLE
220 GOSUB 6900
230 MODEMD
300 H = 0: N = 1
310 IF O(N) <> SALLE THEN 400
320 IF H = 1 THEN 350
330 MODEML: PRINT "Il y a dans la salle: ": MODEMW,10
340 H = 1
350 MODEML: PRINT " ";O$(N);
360 MODEMW,25
400 N = N + 1
410 IF N <= O THEN 310
415 MODEML: PRINT
500 REM ACCEPTATION COMMANDE
510 T = 1: Y$(1) = "": Y$(2) = "": N = 0
520 GOTO 1000
530 IF C(7) > 1 AND P(7) = 1 THEN C(7) = C(7) - 1
540 IF C(3) > 1 AND P(3) = 1 THEN C(3) = C(3) - 1
545 IF C(4) > 1 AND P(4) = 1 THEN C(4) = C(4) - 1
547 IF C(5) > 1 THEN C(5) = C(5)-1
550 X$ = "": INPUT "Que faites vous ";X$
560 MODEMN: PRINT ">";X$
570 GOSUB 6000
580 MODEML: IF MO(1) = 0 THEN PRINT "Je ne comprends pas...": MODEMW,50: GOTO 500
900 REM CONTROLE Mvt
905 MODEMI,SALLE
910 IF PEEK(-4) = 0 THEN 980
920 SALLE = PEEK(-4): GOTO 100
980 T = 0
990 A1 = 0
1000 REM CONTROLE
1010 NL = 0
1100 NL = NL + 1
1110 IF T = 0 THEN 1150
1120 E$ = C$(NL)
1130 GOTO 1400
1150 MODEMA: NL = PEEK(-33)
1151 IF PEEK(-32) = 0 THEN 1159
1152 AD = -32: E$ = ""
1153 IF PEEK(AD) = 255 THEN 1400
1154 E$ = E$ + CHR$(PEEK(AD)): AD = AD + 1
1155 GOTO 1153
1159 PY = 23: CO = 12
1160 IF A1 = 1 THEN 500
1170 MODEML: PRINT "Impossible ";
1180 IF MO(1) < 10 THEN PRINT "de prendre ce chemin";
1190 PRINT "!": MODEMW,100: GOTO 100
1400 REM CONDITIONS
1410 E = 1
1420 IF MID$(E$,E,1) = "." THEN 1700
1430 LI = ASC(MID$(E$,E,1))-65
1440 N = VAL(MID$(E$,E+1,2))
1450 ON (LI+1) GOSUB 1500,1510,1520,1530,1540,1550,1560,1570,1580
1460 IF OK = 0 THEN 1100
1470 E = E + 3: GOTO 1420
1500 IF N = SALLE THEN 1590
1505 GOTO 1585
1510 IF O(N) = -1 OR O(N) = SALLE THEN 1590
1515 GOTO 1585
1520 IF O(N) <> SALLE AND O(N) <> -1 THEN 1590
1525 GOTO 1585
1530 IF O(N) = -1 THEN 1590
1535 GOTO 1585
1540 IF P(N) = 1 THEN 1590
1545 GOTO 1585
1550 IF P(N) = 0 THEN 1590
1555 GOTO 1585
1560 IF C(N) = 1 THEN 1590
1565 GOTO 1585
1570 IF INT(RND(1)*99+1) < N THEN 1590
1575 GOTO 1585
1580 IF N <> SALLE THEN 1590
1585 OK = 0: RETURN
1590 OK = 1: RETURN
1700 REM ACTIONS
1705 E = E + 1: A1 = 1
1710 IF MID$(E$,E,1) = "." THEN 1100
1720 LI = ASC(MID$(E$,E,1))-65
1730 IF MID$(E$,E+1,1) <> "." THEN N = VAL(MID$(E$,E+1,2))
1740 BREAK = 0
1750 ON (LI+1) GOSUB 1800,1900,2000,2100,2200,2300,2400,2500,2600,2700,2800,2900,3000,3100,3200,3300
1760 IF BREAK > 0 THEN ON BREAK GOTO 100,300,500,530,20000
1780 E = E + 3
1790 GOTO 1710
1800 G = 0: HH = 0
1810 G = G + 1
1820 IF O(G) = -1 THEN 1840
1830 IF G < O THEN 1810
1835 GOTO 1870
1840 MODEML: IF HH = 0 THEN PRINT "Vous detenez: "
1850 HH = 1
1860 MODEML: PRINT O$(G);: PRINT " ";: MODEMW,30
1865 IF G < V THEN 1810
1870 MODEML: IF HH = 1 THEN PRINT ".": RETURN
1880 MODEML: PRINT "Vous ne detenez absolument rien!!!": RETURN
1900 IF S(1) < 5 THEN 1930
1910 MODEML: PRINT "Il parait evident que vous ne pouvez"
1915 MODEML: PRINT "porter tant de chose!!!"
1920 MODEMW,200: BREAK = 1: RETURN
1930 IF O(N) <> -1 THEN 1960
1935 REM
1940 MODEML: PRINT "Vous l'avez deja,vous etes etourdis et"
1945 MODEML: PRINT "dans cette maison ce n'est pas tres"
1950 MODEML: PRINT "conseille...": GOTO 1920
1960 O(N) = -1: S(1) = S(1) + 1: RETURN
2000 IF O(N) = -1 THEN 2030
2010 MODEML: PRINT "Comment voulez vous poser ce que vous"
2015 MODEML: PRINT "n'avez pas..."
2020 GOTO 1920
2030 O(N) = SALLE: S(1) = S(1) - 1: RETURN
2100 REM
2105 DEST = N + 1: GOSUB 3900
2110 RETURN
2200 P(N) = 1: RETURN
2300 P(N) = 0: RETURN
2400 C(N) = VAL(MID$(A$(N),E+3,2)): E = E + 2: RETURN
2500 IF O(N) = -1 THE NS(1) = S(1) - 1
2510 O(N) = 0: RETURN
2600 SALLE = N: RETURN
2700 MODEML: PRINT "D'accord..."
2710 MODEMW,20: BREAK=2: RETURN
2800 BREAK = 3
2810 RETURN
2900 BREAK = 4: RETURN
3000 BREAK = 1: RETURN
3100 BREAK = 5: RETURN
3200 O(N) = SALLE: RETURN
3300 X$=O$(N): O$(N)=O$(N+1): O$(N+1)=X$: RETURN
3900 IF DEST < 11 THEN ON DEST GOTO 4000,4010,4020,4030,4040,4050,4060,4070,4080,4090
3910 DEST = DEST - 10
3915 IF DEST < 11 THEN ON DEST GOTO 4100,4110,4120,4130,4140,4150,4160,4170,4180,4190
3920 DEST = DEST - 10
3925 IF DEST < 11 THEN ON DEST GOTO 4200,4210,4220,4230,4240,4250,4260,4270,4280,4290
3930 DEST = DEST - 10
3935 IF DEST < 11 THEN ON DEST GOTO 4300,4310,4320,4330,4340,4350,4360,4370,4380,4390
3940 DEST = DEST - 10
3945 IF DEST < 11 THEN ON DEST GOTO 4400,4410,4420,4430,4440,4450,4460,4470,4480,4490
3950 DEST = DEST - 10
3955 IF DEST < 11 THEN ON DEST GOTO 4500,4510,4520,4530,4540,4550,4560,4570,4580,4590
3960 DEST = DEST - 10
3965 IF DEST < 11 THEN ON DEST GOTO 4600,4610,4620,4630,4640
4000 MODEMC: FOR N = 1 TO 20: MODEME: MODEMW,4: NEXT N
4001 MODEMN: PRINT "Vous avez garde la lampe allumee trop"
4002 MODEML: PRINT "longtemps, elle a explose!"
4005 MODEMW,200: RETURN
4010 MODEMC
4011 MODEMN: PRINT "Vous avez oublie de fermer le robinet"
4012 MODEML: PRINT "vous mourez sous des tonnes d'eau!"
4015 MODEMW,200: RETURN
4020 MODEMC
4022 MODEMN: PRINT "La porte vient de se refermer derriere"
4023 MODEML: PRINT "vous. Vous etes prisonnier..."
4025 MODEMW,200: RETURN
4030 MODEMC
4031 MODEMN: PRINT "Vous avez trebuche dans l'escalier,vous"
4032 MODEML: PRINT "vous empallez sur le couteau!"
4035 MODEMW,200: RETURN
4040 MODEMC
4041 MODEMN: PRINT "Vous renversez l'eau dans l'escalier,"
4042 MODEML: PRINT "ce qui provoque une decharge au niveau"
4043 MODEML: PRINT "de la prise electrique."
4045 MODEMW,200: RETURN
4050 MODEMC
4051 MODEMN: PRINT "Vous etes sauf grace a la combinaison"
4052 MODEML: PRINT "que vous avez enfilee..!"
4055 MODEMW,200: RETURN
4060 MODEML: PRINT "Vous mourez electrocute..."
4065 MODEMW,200: RETURN
4070 MODEMC: FORN=1TO20: MODEMM,2,2,2,10: MODEMP,3,7,4,80: MODEMW,1: MODEME: MODEMW,6: NEXTN
4071 MODEMN: PRINT "La piece etait pleine de gaz explosif,"
4072 MODEML: PRINT "vous auriez du eteindre..."
4073 MODEMW,200: PRINT "On ramassera vos morceaux un autre"
4074 MODEML: PRINT "jour..!"
4075 MODEMW,200: RETURN
4080 MODEMC
4081 MODEMN: PRINT "Vous mourez empalle sur des lances"
4082 MODEML: PRINT "sorties du mur...!"
4085 MODEMW,200: RETURN
4090 MODEML: PRINT "La porte ne s'ouvre pas de cette piece": MODEMW,200: RETURN
4100 MODEMC
4101 MODEML: PRINT "La lampe et le briquet refusent de"
4102 MODEML: PRINT "fonctionner dans cette piece!"
4109 MODEMW,200: RETURN
4110 MODEMC
4111 MODEML: PRINT "Vous tombez dans une trappe,vous vous"
4112 MODEML: PRINT "disloquez en arrivant au sol.."
4115 MODEMW,200: RETURN
4120 MODEML: PRINT "Vous avez raison de passer,car ce"
4122 MODEML: PRINT "monstre n'etait qu'une projection"
4124 MODEML: PRINT "en 3 dimensions sur un ecran de fumee"
4125 MODEMW,250: RETURN
4130 MODEML: PRINT "Vous avez raison,la curiosite est un"
4132 MODEML: PRINT "vilain defaut!!!"
4134 MODEMW,250
4135 RUN 20040
4140 MODEML: PRINT "Vous avez raison d'attendre,mais cela"
4141 MODEML: PRINT "ne pourra pas durer eternellement.."
4142 MODEMW,200: RETURN
4150 MODEML: PRINT "Vous avez de la chance car ce coffre"
4151 MODEML: PRINT "etait ouvert.": MODEMW,100
4152 MODEML: PRINT "Un message a l'interieur dit: "
4153 MODEML: PRINTCHR$(34)+"Ne respectez pas les couleurs du code"
4154 MODEML: PRINT "de la route...?"+CHR$(34): MODEMW,200
4156 MODEML: PRINT "Tiens le coffre se referme!": MODEMW,150: RETURN
4160 MODEML: PRINT "Maintenant,vous avez une lampe pleine"
4162 MODEML: PRINT "de petrole."
4165 MODEMW,200: RETURN
4170 MODEML: PRINT "Vous n'avez rien pour transporter le"
4171 MODEML: PRINT "petrole.": MODEMW,200: RETURN
4180 FOR N = 1 TO 10: MODEME: MODEMW,6: NEXTN
4181 MODEMC: MODEMN: PRINT "Le briquet que vous aviez laisse"
4182 MODEML: PRINT "allume vient d'exploser!"
4185 MODEML: MODEMW,200: PRINT "Ca tue l'etourderie.....": MODEMW,150: RETURN
4190 MODEMC: MODEMN: PRINT "A force de marcher en long et en large"
4191 MODEML: PRINT "dans cette maison, vous sombrez dans"
4194 MODEML: PRINT "un coma des plus mortel...
4195 MODEMW,300: RETURN
4200 PRINT "L'eau coule...": RETURN
4210 MODEMC: MODEMN: PRINT "Vous avez les pieds trempes,et cela"
4211 MODEML: PRINT "vous rend tres malade..."
4215 MODEMW,100: MODEML: PRINT "Vous mourez d'une triple pneumonie...!": MODEMW,200: RETURN
4220 MODEML: PRINT "Le titre est: "
4225 MODEML: PRINTCHR$(34)+"La mort a la 1ere page."+CHR$(34): MODEMW,200: RETURN
4230 MODEMC: FOR N=1 TO 20: MODEME: NEXTN
4233 MODEMN: PRINT "Le livre a explose lorsque vous l'avez"
4235 MODEML: PRINT "ouvert...": MODEMW,200: RETURN
4240 MODEML: PRINT "Le papier indique: "+CHR$(34)+"Cherchez la clef."+CHR$(34)
4242 MODEMW,200: RETURN
4250 MODEML: PRINT "La clef vous permettra de trouver le"
4252 MODEML: PRINT "code de la porte d'entree."
4255 MODEMW,200: RETURN
4260 MODEML: PRINT "Il y a un clavier numerique permettant"
4261 MODEML: PRINT "d'entrer un code a côte de la porte.": MODEMW,200: RETURN
4270 MODEML: PRINT "Pour faire quoi..?": MODEMW,200: RETURN
4280 MODEML: PRINT "Il y a une odeur de gaz.": MODEMW,200: RETURN
4290 MODEML: PRINT "Apparemment,il n'y a aucune odeur.": MODEMW,200: RETURN
4300 MODEML: PRINT "C'est deja fait,espece de rigolo!": MODEMW,200: RETURN
4310 MODEML: PRINT "Il faudrait peut etre du feu!": MODEMW,200: RETURN
4320 MODEML: PRINT "La lampe ne contient pas de petrole!": MODEMW,200: RETURN
4330 MODEML: PRINT "Vous ne l'avez pas!": MODEMW,200: RETURN
4340 MODEML: PRINT "Le briquet est encore allume et il"
4342 MODEML: PRINT "eclaire la piece.": MODEMW,200: RETURN
4350 FOR N = 1 TO 15: MODEME: MODEMW,4: NEXT N
4355 MODEML: PRINT "La torche etait piegee,elle vous"
4356 MODEML: PRINT "a explose dans les mains.."
4357 MODEMW,200: RETURN
4360 MODEML: PRINT "La lampe est encore allumee,et elle"
4362 MODEML: PRINT "vous eclaire.": MODEMW,200: RETURN
4370 MODEML: PRINT "Un nain vient de vous lancer un"
4371 MODEML: PRINT "poignard en plein coeur.."
4375 MODEMW,200: RETURN
4380 MODEML: PRINT "Un nain vient de se precipiter sur"
4385 MODEML: PRINT "vous, il s'empalle sur votre ciseau.": MODEMW,200: RETURN
4390 MODEML: PRINT "Un nain vient de se precipiter sur"
4395 MODEML: PRINT "vous, il s'empalle sur votre couteau.": MODEMW,200: RETURN
4400 MODEML: PRINT "Vous venez de renverser le pot.": MODEMW,150: RETURN
4410 IF PEEK(-1) = 1 THEN BREAK = 3: RETURN
4411 MODEMC: MODEMS,4,4,0: MODEMP,0,1,1,5000
4412 MODEMN: PRINT "La foudre vient de tomber sur la maison": MODEMW,200
4413 MODEML: PRINT "La maison n'existe plus!": MODEMW,100
4414 MODEML: PRINT "Vous non plus!": MODEMW,100: MODEMP,0,0,0,0: RETURN
4420 MODEMC: MODEMN: PRINT "A force de marcher dans le noir,vous"
4422 MODEML: PRINT "avez trebuche.": MODEMW,100
4425 MODEML: PRINT "Vous mourez d'une fracture du crane...": MODEMW,200: RETURN
4430 MODEML: PRINT "Vous ne pouvez pas travailler dans le"
4433 MODEML: PRINT "noir...": MODEMW,200: RETURN
4440 MODEML: PRINT "La lumiere du briquet ne suffit pas"
4442 MODEML: PRINT "pour travailler...": MODEMW,200: RETURN
4450 MODEML: PRINT "Impossible !": MODEMW,100: RETURN
4460 MODEML: PRINT "Vous n'avez aucun outil...": MODEMW,200: RETURN
4470 MODEML: PRINT "Le teleporteur est en panne,donc les"
4472 MODEML: PRINT "boutons ne fonctionnent pas."
4475 MODEMW,400: RETURN
4480 FOR N = 1 TO 25: MODEME: MODEMW,5: NEXT N
4484 MODEMC: MODEMN: PRINT "Le teleporteur vient d'exploser,"
4485 MODEML: PRINT "vous etes decompose..!": MODEMW,200: RETURN
4490 MODEMN: PRINT "Le teleporteur se met en marche"
4491 MODEML: PRINT "vous disparaissez...": MODEMW,50
4492 MODEMM,2,1,5,0: MODEMP,2,1,3,1000
4493 MODEMF
4494 MODEMP,0,0,0,0
4495 FOR N = 500 TO 30 STEP -5
4497 MODEMS,2,N,12: MODEMP,2,0,0,100
4498 NEXT N
4499 MODEMP,0,0,0,0: RETURN
4500 MODEMC: MODEML: PRINT "Vous prenez du 30000 Volts dans les"
4502 MODEML: PRINT "doigts!": MODEMW,200: RETURN
4510 MODEML: PRINT "Le placard est ferme a clef!": MODEMW,200: RETURN
4520 MODEMC: MODEMN: PRINT "L'horrible monstre sorti du placard"
4522 MODEML: PRINT "vient de vous devorer!"
4525 MODEMW,200: RETURN
4530 MODEML: PRINT "Il ne fallait pas fuir!": MODEMW,200: RETURN
4540 MODEMC: MODEML: PRINT "Vous avez raison d'utiliser le ciseau,"
4542 MODEML: PRINT "le monstre est mort!"
4545 MODEMW,200: RETURN
4550 MODEMD: MODEMN: PRINT "A l'interieur du placard,le No "PL
4552 MODEML: PRINT "est inscrit": MODEMW,200
4555 MODEML: PRINT "Le placard se referme.": MODEMW,100: RETURN
4560 MODEMC: FORN=1TO30: MODEME: MODEMW,5: NEXTN
4562 MODEMN: PRINT "le pistolet a explose!": MODEMW,200
4565 RETURN
4570 IF SALLE = 2 THEN RETURN
4571 MODEML: PRINT "Impossible!": BREAK = 3: RETURN
4575 MODEMC: FOR N = 1 TO 25: MODEME: MODEMW,7: NEXTN
4576 MODEMN: PRINT "le clavier numerique a explose!": MODEMW,200: BREAK = 5: RETURN
4580 MODEMN: PRINT "Le clavier numerique prend feu.": MODEMW,200
4581 MODEML: IF O(24) <> -1 THEN 4586
4582 MODEML: PRINT "Heureusement,vous avez un pot plein"
4584 MODEML: PRINT "d'eau. Ce qui vous permet d'eteindre"
4585 MODEML: PRINT "ce feu.": MODEMW,300: RETURN
4586 MODEML: PRINT "Malheureusement vous n'avez pas d'eau"
4587 MODEML: PRINT "pour l'eteindre.": MODEMW,200
4588 GOTO 4575
4590 MODEMN: INPUT"No DE CODE ";ZC
4595 IF ZC <> PL THEN 4575
4600 MODEMW,100: MODEML: PRINT "Le code est exact...": MODEML: PRINT "La porte s'ouvre..."
4603 MODEMW,150
4605 GOTO 11000
4610 MODEML: PRINT "A l'interieur du placard,il y a un mot"
4611 MODEML: PRINT "qui parle d'un teleporteur.": MODEMW,200
4615 MODEML: PRINT "Tiens le placard se ferme tout seul...": MODEMW,100: RETURN
4620 MODEML: PRINT "Avant de la poser par terre,il faudrait"
4621 MODEML: PRINT "peut etre l'enlever."
4625 MODEMW,200: RETURN
4630 MODEMC: MODEMN: PRINT "Devant vous, il y a un horrible"
4631 MODEML: PRINT "monstre qui est sorti du placard."
4635 MODEMW,200: RETURN
4640 MODEML: PRINT "Le placard etait piege,vous n'auriez"
4641 MODEML: PRINT "pas du l'ouvrir!"
4645 FOR N = 1 TO 30: MODEME: MODEMW,7: NEXT N
4647 MODEMW,200: RETURN
6000 REM ANALYSE DU MOT
6010 N = 0: GN = 0
6020 N = N + 1: IF MID$(X$,N,1) <> " " THEN 6040
6030 GOTO 6020
6040 GN = GN + 1: XX$ = MID$(X$,N+GN,1): IF XX$ = " " OR XX$ = "" OR GN = 20 THEN 6060
6050 GOTO 6040
6060 IF GN > 4 THEN GN = 4
6070 X$(1) = MID$(X$,N,GN)
6080 N = N + 1: XX$ = MID$(X$,N,1): IF XX$ = " " OR XX$ = "" THEN 6100
6090 GOTO 6080
6100 N = N + 1: IF MID$(X$,N,1) <> " " THEN 6115
6110 GOTO 6100
6115 GN = 0
6120 GN = GN + 1: XX$ = MID$(X$,N+GN,1): IF XX$ = " " OR XX$ = "" OR GN = 20 THEN 6140
6130 GOTO 6120
6140 IF GN > 4 THEN GN = 4
6150 X$(2) = MID$(X$,N,GN)
6160 MODEMU,X$(1): MODEMV,X$(2)
6170 MO(1) = PEEK(-3)
6180 MO(2) = PEEK(-2)
6190 RETURN
6900 REM Chargement image salle
6902 MODEMC: MODEMN
6905 IF DEST < 11 THEN ON DEST GOTO 7000,7010,7020,7030,7040,7050,7060,7070,7080,7090
6910 DEST = DEST - 10
6915 IF DEST < 11 THEN ON DEST GOTO 7100,7110,7120,7130,7140,7150,7160,7170,7180,7190
6920 DEST = DEST - 10
6925 ON DEST GOTO 7200,7210,7220,7230,7240
7000 PRINT "DISKLOAD IMG_01"
7005 PRINT "Vous etes devant le manoir du defunt"
7006 PRINTSPC(14)"Dr GENIUS"
7009 RETURN
7010 PRINT "DISKLOAD IMG_02"
7015 PRINT "Vous etes dans le hall d'entree."
7019 RETURN
7020 PRINT "DISKLOAD IMG_03"
7025 PRINT "Vous etes en bas de l'escalier menant"
7026 PRINT "au 2eme etage."
7029 RETURN
7030 PRINT "DISKLOAD IMG_04"
7035 PRINT "Vous etes dans la salle a manger."
7039 RETURN
7040 PRINT "DISKLOAD IMG_05"
7045 PRINT "Vous etes dans une bibliotheque sans"
7046 PRINT "livre...!"
7049 RETURN
7050 PRINT "DISKLOAD IMG_06"
7055 PRINT "Vous etes dans une buanderie."
7059 RETURN
7060 PRINT "DISKLOAD IMG_07"
7065 PRINT "Vous etes dans le salon."
7069 RETURN
7070 PRINT "DISKLOAD IMG_08"
7075 PRINT "Vous etes dans une chambre."
7079 RETURN
7080 PRINT "DISKLOAD IMG_09"
7085 PRINT "Vous etes dans un corridor."
7089 RETURN
7090 PRINT "DISKLOAD IMG_10"
7095 PRINT "Vous etes dans une salle d'attente."
7099 RETURN
7100 PRINT "DISKLOAD IMG_11"
7105 PRINT "Vous etes dans le vestibule."
7109 RETURN
7110 PRINT "DISKLOAD IMG_12"
7115 PRINT "Vous etes dans la chambre d'amis."
7119 RETURN
7120 PRINT "DISKLOAD IMG_13"
7125 PRINT "Vous etes dans une chambre."
7129 RETURN
7130 STOP
7140 PRINT "DISKLOAD IMG_14"
7145 PRINT "Vous etes dans une petite salle."
7149 RETURN
7150 PRINT "DISKLOAD IMG_15"
7155 PRINT "Vous etes dans le laboratoire du
7156 PRINT "Dr GENIUS."
7159 RETURN
7160 PRINT "DISKLOAD IMG_16"
7165 PRINT "Vous etes dans une petite piece vide."
7169 RETURN
7170 PRINT "DISKLOAD IMG_17"
7175 PRINT "Vous ne savez pas où vous etes."
7179 RETURN
7180 PRINT "DISKLOAD IMG_18"
7185 PRINT "Vous etes en haut de l'escalier."
7189 RETURN
7190 PRINT "DISKLOAD IMG_19"
7195 PRINT "Vous etes dans la salle bain."
7199 RETURN
7200 PRINT "DISKLOAD IMG_20"
7205 PRINT "Vous etes dans le living room."
7209 RETURN
7210 PRINT "DISKLOAD IMG_21"
7215 PRINT "Vous etes dans une piece enfumee...!"
7219 RETURN
7220 PRINT "DISKLOAD IMG_22"
7225 PRINT "Vous etes dans une grande piece."
7229 RETURN
7230 PRINT "DISKLOAD IMG_23"
7235 PRINT "Vous etes dans une piece de rangement."
7239 RETURN
7240 PRINT "DISKLOAD IMG_24"
7245 PRINT "Vous etes dans le dressing."
7249 RETURN
7500 TX7,0,0: VTAB 23: PRINTSPC(8)"APPUYEZ SUR UNE TOUCHE"
7510 N = RND(1)
7511 IF KEY(0) = 0 THEN 7510
7515 RETURN
7600 REM CONFIG JEU
7602 INIT0,0: TX3,0,0
7605 POKE -34,0: POKE -1,0
7610 INPUT "Carte SON (O/N)";X$
7620 IF X$ = "O" THEN POKE -34,1: GOTO 7630
7625 IF X$ <> "N" THEN 7610
7630 INPUT "Foudre (O/N)";X$
7640 IF X$ = "O" THEN POKE -1,1: GOTO 7650
7645 IF X$ <> "N" THEN 7630
7650 RETURN
8000 REM CHARGEMENT VARIABLES
8001 RESTORE
8010 V = 70
8130 O = 25: DIMO(25)
8140 FOR N = 1 TO 25
8150 READ O(N)
8170 NEXT N
8180 DATA 06,05,05,08,08,00,00,11,11
8190 DATA 13,20,18,16,16,16,16,00,21
8200 DATA 00,22,25,12,00,25,00
8205 DIM O$(25)
8210 FOR N = 1 TO 25
8220 READ O$(N)
8240 NEXT N
8250 DATA UNE TORCHE ELECTRIQUE,UN ROBINET,UN CISEAU,UN TOURNEVIS
8260 DATA UNE LAMPE A PETROLE,UNE LAMPE PLEINE,UNE LAMPE ALLUMEE,UN COUTEAU
8270 DATA UN PAPIER,UN LIVRE,DU PETROLE DANS UN LAVABO BOUCHE
8280 DATA UNE CLEF,UN BOUTON ROUGE,UN BOUTON BLEU
8290 DATA UN BOUTON VERT,UN TELEPORTEUR,UN TELEPORTEUR REPARE
8300 DATA UNE COMBINAISON ARGENTEE,UNE COMBINAISON ENFILEE,UN MONSTRE A L'EST
8310 DATA UN PISTOLET,UN BRIQUET,UN BRIQUET ALLUME,UN POT,UN POT PLEIN D'EAU
8320 M = 25: DIM M$(25)
8330 FOR N = 1TO 25
8340 READ M$(N)
8360 NEXT N
8370 DATA 00,0403030400,030200,04020305010600,04040107032000,020400
8380 DATA 04080109020500,030700,04130207031000
8390 DATA 0409021100,0110031200,041100,030900,0209031500,00,00
8400 DATA 00,00,0122032100,040500,0125022200,012100
8410 DATA 0124042200,022300,022100
8430 A = 128: DIM A$(128)
8440 FOR N = 1 TO 128
8450 READ A$(N)
8470 NEXT N
8480 DATA 1400A01.I02D02M.,0500A03D08.D03N.,0500A03E08E09D24.D04D05I19E02M.
8485 DATA 0500A03E08D24.D04D06N.
8490 DATA 0500A03E07.I19M.,0500A03E03.I19M.,0500A03.I19E02M.,0600A19D08.D03N.
8500 DATA 0600A19E08E09D24.D04D05I03M.,0600A19E08D24.D04D06N.,0600A19.I03M.
8505 DATA 0100A09E07B22.D07N.
8510 DATA 0100A09E03B05.D07N.,0100A09.I14E02M.,0100A14.I16E02M.
8515 DATA 0200A16E07B22.D07N.,0200A16E03B05.D07N.
8520 DATA 0200A16.I14E02M.,0400A15E03B05.D07N.,0400A15E07B22.D07N.
8522 DATA 0400A15.I14E02M.,0100A15E03.I17M.,0100A15E07.I17M.,0100A15.I17E02M.
8525 DATA 0200A17.F01I15M.
8530 DATA 0300A17.D08N.,0400A17.D09K.,0300A18.D10F03E01E02I17M.
8531 DATA 0400A21E03.I19M.
8535 DATA 0400A21E07.I19M.,0400A21.I19E02M.,0200A22E03.I19M.,0200A22E07.I19M.
8540 DATA 0200A22.I19E02M.,0200A19.D11N.,0400A19.D11N.,0300A22.D12I23M.
8541 DATA 2500A01.D13.,2500I01.D14K.,1244A03.D15M.,1034B01.B01J.,1027B08.B08J.
8545 DATA 1028B04.B04J.,1029B05.B05J.,1032B21.B21J.,1038B24.B24J.
8548 DATA 1039B12.B12J.,1040B09.B09J.,1041B10.B10J.,1043B18.B18J.
8550 DATA 1050B03.B03J.,1042B22.B22J.,1037A20B05.H11P05E05D16K.,1037A20.D17K.
8553 DATA 1134.C01J.,1127.C08J.,1128.C04J.,1129.C05J.,1132.C21J.,1138.C24J.
8555 DATA 1143E09.D62K.
8556 DATA 1139.C12J.,1140.C09J.,1141.C10J.,1143.C18J.,1150.C03J.,1142.C22J.
8560 DATA 2400.A00L.,1249A05.E04D20G0405J.,1349A05.F04J.,2238A05E04.P24E08J.
8563 DATA 2338A05E08.F08P24J.,2338E08.D21N.,1848B10.D22L.,1841B10.D23N.
8566 DATA 1840B09.D24K.,2040B09.D25K.,1951A02.D26M.,1951.D27K.,2100A14.D28K.
8570 DATA 2100.D29K.,1542C22.D33K.,1542E07.D30K.,1542A14.D07N.
8575 DATA 1542A17E01.D10K.,1542E02.F02E07E06P22M.,1542.E07P22J.
8580 DATA 1529C05.D33K.,1529E03.D30K.,1529F07.D31L.,1529F05.D32L.
8590 DATA 1529E02.F02E03E06P06P05M.,1529.E03P06P05J.
8595 DATA 1642C22.D33K.,1642F07.D30K.,1642E06E03.D36F07P22M.
8597 DATA 1642E06.E02F07F06P22M.
8600 DATA 1642.F07P22M.,1629C05.D33K.,1629F03.D30K.,1629E07E06.D34F03P05M.
8605 DATA 1629E06.E02F06F03P05M.,1629.F03P05M.,1534B01.D35N.
8610 DATA 1735I16.D45K.,1735E02.D43K.,1735F03.D44K.,1735C04.D46K.
8615 DATA 1735.P16E10J.,5600A16F10.D47K.,5646A16.D48N.,5647A16.D48N.
8620 DATA 5645A16F09.D50D06N.,5645A16.D49I18M.,5543D18E09.D30K.
8625 DATA 5543D18.P18E09J.,5743D18F09.D30K.,5743D18.P18F09J.
8630 DATA 1233A24C12.D51K.,1233A24C03.D52N.,1233A24.G0503E11D63K.
8635 DATA 2636E11.D54F11D55K.,5350E11.D54F11D55K.,5232B21.D56N.
8640 DATA 5830F08.D57.,5830.D58D59.,1233A06.D61M.
8650 DATA 1233A25.D64N.
8700 PL = INT(RND(1)*9000+1000)
8800 C = 14: DIMC$(14)
8810 FOR N = 1 TO 14
8820 READ C$(N)
8840 NEXT N
8850 DATA G03E03.D00N.,G04E04.D01N.,I14I16I17I19.F02.,G07E07.D18N.,GO1.D19N.
8860 DATA H06C03C08.D37N.,H08D08.D39L.,H06D03.D38L.,G08E08B24.D40D21N.
8870 DATA H02.D41N.,G09E02.D42N.,G05E11.D52N.,I24E11.D53D52N.,.L.
8900 RETURN
9000 FOR IJ = 1 TO 100: NEXT IJ
9010 RETURN
11000 REM SUCCES
11020 PRINT "DISKLOAD IMG_01"
11030 MODEMN: MODEMC: MODEMD
11040 PRINT "Vous voila en dehors de la maison..."
11050 MODEMW,250
11055 MODEMN
11060 PRINT " Cela est exceptionnel,vous etes le"
11065 PRINT "premier a sortir vivant de cette"
11070 PRINT "maison. Mais a votre place, je me"
11075 PRINT "mettrais a courir car un nain rode"
11080 PRINT "peut-etre dans les parages..."
11085 GOSUB 11100
11090 GOTO 20040
11100 REM TEA FOR TWO
11102 REM RESTORE 11125
11105 FOR N = 1 TO 110
11110 READ A1,A2,A3
11115 MODEMM,1,A1,A2,10: MODEMP,1,0,0,100: MODEMW,A3
11120 MODEMP,0,0,0,0
11122 NEXT N
11123 RETURN
11125 DATA 4,6,45,4,3,15,4,5,45,4,3,15,4,6,45,4,3,15,4,5,45
11130 DATA 4,1,15,4,5,45,4,1,15,4,3,45,4,1,15,4,5,45,4,1,15
11135 DATA 4,3,45,4,1,15,4,6,45,4,3,15,4,5,45,4,3,15,4,6,45
11140 DATA 4,3,15,4,5,45,4,1,30,4,10,30,4,10,22,4,7,8,4,9,30,4,9,22,4,7,8
11145 DATA 4,10,30,4,10,22,4,7,8,4,9,30,4,9,22,4,5,8,4,9,30,4,7,22,4,5,8
11150 DATA 4,7,30,4,7,22,4,5,8,4,9,30,4,9,22,4,5,8,4,7,30,4,7,22,4,5,8
11155 DATA 4,10,30,4,10,22,4,7,8,4,9,30,4,9,22,4,7,8,4,10,30,4,10,22,4,7,8
11160 DATA 4,9,30,4,9,30,5,2,120,5,1,60,4,6,45,4,3,15,4,5,45,4,3,15,4,6,45
11165 DATA 4,3,15,4,5,45,4,1,15,4,5,45,4,1,15,4,3,45,4,1,15,4,5,45,4,1,15
11170 DATA 4,3,45,4,1,15,4,6,45,4,3,15,4,5,45,4,3,15,4,6,45,4,3,15,4,5,45
11175 DATA 4,1,30,5,3,45,5,3,15,5,1,45,5,1,15,4,11,45,4,11,15,4,10,45,4,10,15
11180 DATA 5,1,45,5,1,15,4,11,45,4,11,15,4,10,45,4,10,15,4,8,45,4,8,15
11185 DATA 4,6,45,4,3,15,4,5,45,4,3,15
11190 DATA 4,6,45,4,3,15,4,5,45,4,10,15,4,6,120
20000 REM TOMBE
20005 PRINT "DISKLOAD IMGTMB"
20010 MODEMC: MODEMD: MODEMN
20020 PRINT "Vous etes mort !": MODEMW,100
20030 IF PEEK(-34)=1 THEN GOSUB 21000
20040 MODEML: PRINT: MODEML: X$="": INPUT "Voulez-vous rejouer ";X$
20050 IF X$ = "O" OR X$ = "o" THEN RUN 45
20060 IF X$ = "N" OR X$ = "n" THEN 20080
20070 GOTO 20040
20080 MODEMN: PRINT " AU REVOIR"
20090 END
21000 REM SARABANDE
21005 REM RESTORE 21040
21015 FOR N = 1 TO 75
21020 READ A1,A2,A3,A4,A5
21025 READ A6,A7,A8,A9,A0
21030 MODEMM,1,A1,A2,A3: MODEMM,2,A4,A5,A6: MODEMM,3,A7,A8,A9: MODEMP,7,0,0,100: MODEMW,A0
21031 IF KEY(0) <> 0 THEN MODEMP,0,0,0,0: RETURN
21032 IF N > 70 THEN NEXT N: MODEMP,0,0,0,0: RETURN
21035 MODEMP,0,0,0,0: NEXTN
21040 DATA 3,6,8,3,3,8,2,10,8,80
21045 DATA 3,6,8,3,3,8,2,10,8,80
21050 DATA 0,1,1,0,1,1,0,1,1,40
21055 DATA 3,8,8,3,5,8,0,1,1,40
21060 DATA 3,5,8,3,2,8,2,10,8,80
21065 DATA 3,5,8,3,2,8,2,10,8,40
21070 DATA 1,11,8,0,1,1,0,1,1,40
21075 DATA 1,10,8,0,1,1,0,1,1,40
21080 DATA 1,8,8,0,1,1,0,1,1,40
21085 DATA 3,10,8,3,6,9,3,1,8,80
21090 DATA 3,10,8,3,6,9,3,1,8,80
21095 DATA 0,1,1,0,1,1,0,1,1,40
21100 DATA 3,11,8,3,8,8,0,1,1,40
21105 DATA 3,8,8,3,5,8,3,1,8,80
21110 DATA 3,8,8,3,5,8,3,1,8,40
21115 DATA 2,1,8,0,1,1,0,1,1,40
21120 DATA 1,11,8,0,1,1,0,1,1,40
21125 DATA 1,10,8,3,7,8,3,10,8,40
21130 DATA 3,11,8,3,8,8,3,3,8,80
21135 DATA 3,11,8,3,8,8,3,3,8,80
21140 DATA 1,8,8,0,1,1,0,1,1,40
21145 DATA 1,8,8,3,10,8,4,1,8,40
21150 DATA 3,10,8,3,6,8,3,3,8,80
21155 DATA 3,10,8,3,6,8,3,3,8,80
21160 DATA 0,1,1,0,1,1,0,1,1,40
21165 DATA 3,10,8,2,1,8,0,1,1,40
21170 DATA 4,3,8,3,10,8,1,11,8,80
21175 DATA 4,3,8,3,8,8,2,11,9,80
21180 DATA 0,1,1,0,1,1,0,1,1,40
21185 DATA 4,5,8,0,1,1,0,1,1,40
21190 DATA 4,2,8,3,10,8,3,5,8,80
21195 DATA 4,2,8,3,10,8,3,5,8,40
21200 DATA 2,8,8,0,1,1,0,1,1,40
21202 DATA 2,6,8,0,1,1,0,1,1,40
21203 DATA 2,5,8,0,1,1,0,1,1,40
21205 DATA 3,6,8,3,3,8,2,10,8,80
21210 DATA 3,6,8,3,3,8,2,10,8,80
21215 DATA 0,1,1,0,1,1,0,1,1,40
21220 DATA 3,8,8,3,5,8,0,1,1,40
21225 DATA 3,5,8,3,2,8,2,10,8,80
21230 DATA 3,5,8,3,2,8,2,10,8,40
21235 DATA 1,11,8,0,1,1,0,1,1,40
21240 DATA 1,10,8,0,1,1,0,1,1,40
21245 DATA 1,8,8,0,1,1,0,1,1,40
21250 DATA 3,10,8,3,6,9,3,1,8,80
21255 DATA 3,10,8,3,6,9,3,1,8,80
21260 DATA 0,1,1,0,1,1,0,1,1,40
21265 DATA 3,11,8,3,8,8,0,1,1,40
21270 DATA 3,8,8,3,5,8,3,1,8,80
21275 DATA 3,8,8,3,5,8,3,1,8,40
21280 DATA 2,1,8,0,1,1,0,1,1,40
21285 DATA 1,11,8,0,1,1,0,1,1,40
21290 DATA 1,10,8,3,7,8,3,10,8,40
21295 DATA 3,11,8,3,8,8,3,3,8,80
21300 DATA 2,8,8,0,1,1,0,1,1,40
21305 DATA 3,11,8,3,8,8,3,1,8,40
21310 DATA 2,8,8,0,1,1,0,1,1,40
21315 DATA 2,1,8,0,1,1,0,1,1,40
21320 DATA 4,1,8,2,5,8,0,1,1,40
21325 DATA 3,10,8,3,6,8,3,1,8,80
21330 DATA 3,10,8,2,3,8,0,1,1,40
21335 DATA 4,3,8,3,6,8,2,11,8,40
21340 DATA 4,2,8,0,1,1,0,1,1,40
21345 DATA 4,3,8,3,11,8,2,8,8,40
21350 DATA 4,5,8,0,1,1,0,1,1,40
21355 DATA 4,6,8,3,10,8,2,10,8,80
21360 DATA 4,5,8,3,8,8,1,10,8,40
21365 DATA 0,1,1,3,8,8,1,10,8,40
21370 DATA 4,3,8,0,1,1,0,1,1,40
21375 DATA 4,3,8,3,6,8,2,3,8,80
21380 DATA 3,3,8,3,10,8,3,6,8,40
21385 DATA 3,3,7,3,10,7,3,6,7,40
21390 DATA 3,3,6,3,10,6,3,6,6,40
21395 DATA 3,3,5,3,10,5,3,6,5,40
21400 DATA 3,3,4,3,10,4,3,6,5,40