From d6d499960dde941b1e48494b1561d5dcdac7bf3a Mon Sep 17 00:00:00 2001 From: Antoine Vignau <34219772+antoinevignau@users.noreply.github.com> Date: Mon, 20 Nov 2023 19:41:18 +0100 Subject: [PATCH] making it asm friendly --- .../apple2/_FileInformation.txt | 2 +- lemanoirdudocteurgenius/apple2/drgenius.s | 712 +++++++++-------- .../{ => apple2/old}/vg2apple/jeu.bas | 0 .../old}/vg2apple/presentation.bas | 0 .../oric/code_oric copie.bas | 0 .../vg2apple/jeu copie.bas | 722 ------------------ 6 files changed, 387 insertions(+), 1049 deletions(-) rename lemanoirdudocteurgenius/{ => apple2/old}/vg2apple/jeu.bas (100%) rename lemanoirdudocteurgenius/{ => apple2/old}/vg2apple/presentation.bas (100%) delete mode 100644 lemanoirdudocteurgenius/oric/code_oric copie.bas delete mode 100644 lemanoirdudocteurgenius/vg2apple/jeu copie.bas diff --git a/lemanoirdudocteurgenius/apple2/_FileInformation.txt b/lemanoirdudocteurgenius/apple2/_FileInformation.txt index 01baa23..0112c9c 100644 --- a/lemanoirdudocteurgenius/apple2/_FileInformation.txt +++ b/lemanoirdudocteurgenius/apple2/_FileInformation.txt @@ -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) diff --git a/lemanoirdudocteurgenius/apple2/drgenius.s b/lemanoirdudocteurgenius/apple2/drgenius.s index 63fbc7a..e970191 100644 --- a/lemanoirdudocteurgenius/apple2/drgenius.s +++ b/lemanoirdudocteurgenius/apple2/drgenius.s @@ -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 ˆ 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 ˆ 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 diff --git a/lemanoirdudocteurgenius/vg2apple/jeu.bas b/lemanoirdudocteurgenius/apple2/old/vg2apple/jeu.bas similarity index 100% rename from lemanoirdudocteurgenius/vg2apple/jeu.bas rename to lemanoirdudocteurgenius/apple2/old/vg2apple/jeu.bas diff --git a/lemanoirdudocteurgenius/vg2apple/presentation.bas b/lemanoirdudocteurgenius/apple2/old/vg2apple/presentation.bas similarity index 100% rename from lemanoirdudocteurgenius/vg2apple/presentation.bas rename to lemanoirdudocteurgenius/apple2/old/vg2apple/presentation.bas diff --git a/lemanoirdudocteurgenius/oric/code_oric copie.bas b/lemanoirdudocteurgenius/oric/code_oric copie.bas deleted file mode 100644 index e69de29..0000000 diff --git a/lemanoirdudocteurgenius/vg2apple/jeu copie.bas b/lemanoirdudocteurgenius/vg2apple/jeu copie.bas deleted file mode 100644 index a12b009..0000000 --- a/lemanoirdudocteurgenius/vg2apple/jeu copie.bas +++ /dev/null @@ -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 - -