Reorg du code

This commit is contained in:
Antoine Vignau 2023-10-25 22:22:33 +02:00
parent 1646cd0bb8
commit 421d4f1fcc
36 changed files with 2869 additions and 0 deletions

View File

@ -0,0 +1 @@
ampersand=Type(06),AuxType(1800),VersionCreate(70),MinVersion(BE),Access(E3),FolderInfo1(000000000000000000000000000000000000),FolderInfo2(000000000000000000000000000000000000)

Binary file not shown.

View File

@ -0,0 +1,384 @@
*
* Le manoir du Dr Genius
*
mx %11
org $1800
lst off
*-----------------------------------
GOSUBTKN = $b0 ; the GOSUB token
WNDLFT = $20 ; left edge of text window
WNDWDTH = $21 ; width of text window
WNDTOP = $22 ; top of text window
WNDBTM = $23 ; bottom+1 of text window
CH = $24 ; cursor horizontal position
CV = $25 ; cursor vertical position
LINNUM = $50 ; result from GETADR
CURLIN = $75 ; current line number
DATPTR = $7d ; DATA statement pointer
FORPNT = $85 ; temp pointer
LOWTR = $9b ; FNDLIN puts link ptr here
CHRGET = $b1 ; get next program token
TXTPTR = $b8 ; current token address
X0L = $e0 ; X-coord
X0H = $e1
Y0 = $e2 ; Y-coord
HPAG = $e6
AMPERV = $3f5
GETSTK = $d3d6 ; check stack space
FNDLIN = $d61a ; find line in memory
NEWSTT = $d7d2 ; execute statements
GOTO = $d93e ; go to new line number
FRMNUM = $dd67 ; Evaluate a numeric expression
CHKCOM = $debe ; syntax error if no comma
SYNERR = $dec9 ; syntax error
GETADR = $e752 ; convert num to 2-byte int
HGR = $f3e2 ; HGR
HPLOT = $f457 ; HPLOT
HCOLOR = $f6e9 ; HCOLOR= (call+3)
HILIN = $f53a ; HPLOT TO
HOME = $fc58 ; HOME routine
WAIT = $fca8 ; WAIT routine
*-----------------------------------
* Useful info @ https://llx.com/Neil/a2/as.addons.html
* Les routines & qu'on fait :
* CURMOV M
* CURSET S
* INK I
* PAPER P
* HIRES H
* WAIT W
* DRAW D
* RESTORE R to a line number
* GOSUB G to an expression
*
* On ne fait pas :
* CIRCLE C
* EXPLODE E
*
* On des/installe par CALL 6144
*-----------------------------------
myENTRY lda #0
bne doUNINSTALL
inc myENTRY+1 ; on dit qu'on installe
lda AMPERV ; on sauve
sta myPTR
lda AMPERV+1
sta myPTR+1
lda AMPERV+2
sta myPTR+2
lda #$4c ; on installe le vecteur
sta AMPERV
lda #<myVECTOR
sta AMPERV+1
lda #>myVECTOR
sta AMPERV+2
rts
doUNINSTALL dec myENTRY+1
lda myPTR
sta AMPERV
lda myPTR+1
sta AMPERV+1
lda myPTR+2
sta AMPERV+2
rts
myPTR ds 3 ; 4C xx yy
*-----------------------------------
myVECTOR ldx #myADRS-myCMDS-1
]lp cmp myCMDS,x
beq doVECTOR
dex
bpl ]lp
jmp SYNERR
doVECTOR txa
asl
tax
lda myADRS+1,x
pha
lda myADRS,x
pha
rts
myCMDS asc 'SMDCIPHWERG'
myADRS da doS-1
da doM-1
da doD-1
da doC-1
da doI-1
da doP-1
da doH-1
da doW-1
da doE-1
da doR-1
da doG-1
*----------------------------------- Data
theX dw 140 ; milieu de l'Žcran par dŽfaut
theY ds 96
theX2 ds 2
theY2 ds 2
theRADIUS ds 1
theFB ds 1
theINK ds 1
thePAPER ds 1
* APPLE ORIC
* 0 black1 black
* 1 green red
* 2 blue green
* 3 white1 yellow
* 4 black2 blue
* 5 - magenta
* 6 - cyan
* 7 white2 white
oric2hgr hex 0705010602030400
*----------------------------------- CURSET x,y,fb
doS
jsr CHRGET ; get next token
jsr FRMNUM ; eval expression
jsr GETADR ; convert to int
lda LINNUM
sta theX
lda LINNUM+1
sta theX+1 ; new X-coord
jsr CHKCOM ; check for comma
jsr FRMNUM ; eval expression
jsr GETADR ; convert to int
lda LINNUM
sta theY
lda LINNUM+1
sta theY+1 ; new Y-coord
jsr CHKCOM ; check for comma
jsr FRMNUM ; eval expression
jsr GETADR ; convert to int
lda LINNUM
sta theFB
rts
*----------------------------------- CURMOV x,y,fb
doM
jsr CHRGET ; get next token
jsr FRMNUM ; eval expression
jsr GETADR ; convert to int
lda LINNUM
clc
adc theX
sta theX
lda LINNUM+1
adc theX+1
sta theX+1 ; new X-coord
jsr CHKCOM ; check for comma
jsr FRMNUM ; eval expression
jsr GETADR ; convert to int
lda LINNUM
clc
adc theY
sta theY
lda LINNUM+1
adc theY+1
sta theY+1 ; new Y-coord
jsr CHKCOM ; check for comma
jsr FRMNUM ; eval expression
jsr GETADR ; convert to int
lda LINNUM
sta theFB
rts
*----------------------------------- DRAW x,y,fb
doD
jsr CHRGET ; get next token
jsr FRMNUM ; eval expression
jsr GETADR ; convert to int
lda LINNUM
clc
adc theX
sta theX2
lda LINNUM+1
adc theX+1
sta theX2+1 ; new X-coord
jsr CHKCOM ; check for comma
jsr FRMNUM ; eval expression
jsr GETADR ; convert to int
lda LINNUM
clc
adc theY
sta theY2
lda LINNUM+1
adc theY
sta theY2+1 ; new Y-coord
jsr CHKCOM ; check for comma
jsr FRMNUM ; eval expression
jsr GETADR ; convert to int
lda LINNUM
sta theFB
*---------- It is now time to draw as we have all variables
ldy theINK ; the ink color
ldx oric2hgr,y ; from the Oric to the Apple II
jsr HCOLOR+3 ; to skip CHRGET
ldx theX ; HPLOT x,y
ldy theX+1
lda theY
jsr HPLOT
lda theX2 ; TO x2,Y2
ldx theX2+1
ldy theY2
jsr HILIN ; draw the line
lda X0L ; save the updated coords
sta theX
lda X0H
sta theX+1
lda Y0
sta theY
rts
*----------------------------------- CIRCLE n,fb
doC
jsr CHRGET ; get next token
jsr FRMNUM ; eval expression
jsr GETADR ; convert to int
lda LINNUM
sta theRADIUS ; the radius
jsr CHKCOM ; check for comma
jsr FRMNUM ; eval expression
jsr GETADR ; convert to int
lda LINNUM
sta theFB ; the foreground color
rts
*----------------------------------- INK fb
doI
jsr CHRGET ; get next token
jsr FRMNUM ; eval expression
jsr GETADR ; convert to int
lda LINNUM
sta theINK
rts
*----------------------------------- PAPER fb
doP
jsr CHRGET ; get next token
jsr FRMNUM ; eval expression
jsr GETADR ; convert to int
lda LINNUM
sta thePAPER
rts
*----------------------------------- HIRES
doH
jsr CHRGET ; get next token
lda #0
sta WNDLFT
lda #40
sta WNDWDTH
lda #20
sta WNDTOP
lda #24
sta WNDBTM
jsr HOME
jsr HGR
rts
*----------------------------------- WAIT x
doW
jsr CHRGET ; get next token
jsr FRMNUM ; eval expression
jsr GETADR ; convert to int
lsr LINNUM+1
ror LINNUM
lda LINNUM
jmp WAIT
*----------------------------------- EXPLODE
doE
jsr CHRGET
rts
*----------------------------------- RESTORE address
doR
jsr CHRGET ; get next token
jsr FRMNUM ; eval expression
jsr GETADR ; convert to int
jsr FNDLIN ; find chosen line no.
ldy LOWTR+1 ; point DATPTR at byte before it
ldx LOWTR
bne dx
dey
dx dex
sty DATPTR+1
stx DATPTR
rts
*----------------------------------- GOSUB address
doG
lda #3 ; make sure there's enough stack
jsr GETSTK
lda TXTPTR+1 ; push marker for RETURN
pha
lda TXTPTR
pha
lda CURLIN+1
pha
lda CURLIN
pha
lda #GOSUBTKN
pha
jsr CHRGET ; get next token
jsr FRMNUM ; parse numeric expr
jsr GETADR ; convert it to int
jsr GOTO+3 ; point at chosen statement
jmp NEWSTT ; start running it
*--- End of code
asc "(c) 2023, Antoine Vignau & Olivier Zardini"

View File

@ -0,0 +1,425 @@
------+-----------------------+-------------+----+---------+------+-----------------------+-------------------------------------------------------------------
Line | # File Line | Line Type | MX | Reloc | Size | Address Object Code | Source Code
------+-----------------------+-------------+----+---------+------+-----------------------+-------------------------------------------------------------------
1 | 1 ampersand.s 1 | Comment | 11 | | 0 | 00/8000 | *
2 | 1 ampersand.s 2 | Comment | 11 | | 0 | 00/8000 | * Le manoir du Dr Genius
3 | 1 ampersand.s 3 | Comment | 11 | | 0 | 00/8000 | *
4 | 1 ampersand.s 4 | Empty | 11 | | 0 | 00/8000 |
5 | 1 ampersand.s 5 | Directive | 11 | | 0 | 00/8000 | mx %11
6 | 1 ampersand.s 6 | Directive | 11 | | 0 | 00/8000 | org $1800
7 | 1 ampersand.s 7 | Directive | 11 | | 0 | 00/1800 | lst off
8 | 1 ampersand.s 8 | Empty | 11 | | 0 | 00/1800 |
9 | 1 ampersand.s 9 | Comment | 11 | | 0 | 00/1800 | *-----------------------------------
10 | 1 ampersand.s 10 | Empty | 11 | | 0 | 00/1800 |
11 | 1 ampersand.s 11 | Equivalence | 11 | | 0 | 00/1800 | GOSUBTKN = $b0 ; the GOSUB token
12 | 1 ampersand.s 12 | Empty | 11 | | 0 | 00/1800 |
13 | 1 ampersand.s 13 | Equivalence | 11 | | 0 | 00/1800 | WNDLFT = $20 ; left edge of text window
14 | 1 ampersand.s 14 | Equivalence | 11 | | 0 | 00/1800 | WNDWDTH = $21 ; width of text window
15 | 1 ampersand.s 15 | Equivalence | 11 | | 0 | 00/1800 | WNDTOP = $22 ; top of text window
16 | 1 ampersand.s 16 | Equivalence | 11 | | 0 | 00/1800 | WNDBTM = $23 ; bottom+1 of text window
17 | 1 ampersand.s 17 | Equivalence | 11 | | 0 | 00/1800 | CH = $24 ; cursor horizontal position
18 | 1 ampersand.s 18 | Equivalence | 11 | | 0 | 00/1800 | CV = $25 ; cursor vertical position
19 | 1 ampersand.s 19 | Equivalence | 11 | | 0 | 00/1800 | LINNUM = $50 ; result from GETADR
20 | 1 ampersand.s 20 | Equivalence | 11 | | 0 | 00/1800 | CURLIN = $75 ; current line number
21 | 1 ampersand.s 21 | Equivalence | 11 | | 0 | 00/1800 | DATPTR = $7d ; DATA statement pointer
22 | 1 ampersand.s 22 | Equivalence | 11 | | 0 | 00/1800 | FORPNT = $85 ; temp pointer
23 | 1 ampersand.s 23 | Equivalence | 11 | | 0 | 00/1800 | LOWTR = $9b ; FNDLIN puts link ptr here
24 | 1 ampersand.s 24 | Equivalence | 11 | | 0 | 00/1800 | CHRGET = $b1 ; get next program token
25 | 1 ampersand.s 25 | Equivalence | 11 | | 0 | 00/1800 | TXTPTR = $b8 ; current token address
26 | 1 ampersand.s 26 | Equivalence | 11 | | 0 | 00/1800 | X0L = $e0 ; X-coord
27 | 1 ampersand.s 27 | Equivalence | 11 | | 0 | 00/1800 | X0H = $e1
28 | 1 ampersand.s 28 | Equivalence | 11 | | 0 | 00/1800 | Y0 = $e2 ; Y-coord
29 | 1 ampersand.s 29 | Equivalence | 11 | | 0 | 00/1800 | HPAG = $e6
30 | 1 ampersand.s 30 | Equivalence | 11 | | 0 | 00/1800 | AMPERV = $3f5
31 | 1 ampersand.s 31 | Empty | 11 | | 0 | 00/1800 |
32 | 1 ampersand.s 32 | Equivalence | 11 | | 0 | 00/1800 | GETSTK = $d3d6 ; check stack space
33 | 1 ampersand.s 33 | Equivalence | 11 | | 0 | 00/1800 | FNDLIN = $d61a ; find line in memory
34 | 1 ampersand.s 34 | Equivalence | 11 | | 0 | 00/1800 | NEWSTT = $d7d2 ; execute statements
35 | 1 ampersand.s 35 | Equivalence | 11 | | 0 | 00/1800 | GOTO = $d93e ; go to new line number
36 | 1 ampersand.s 36 | Equivalence | 11 | | 0 | 00/1800 | FRMNUM = $dd67 ; Evaluate a numeric expression
37 | 1 ampersand.s 37 | Equivalence | 11 | | 0 | 00/1800 | CHKCOM = $debe ; syntax error if no comma
38 | 1 ampersand.s 38 | Equivalence | 11 | | 0 | 00/1800 | SYNERR = $dec9 ; syntax error
39 | 1 ampersand.s 39 | Equivalence | 11 | | 0 | 00/1800 | GETADR = $e752 ; convert num to 2-byte int
40 | 1 ampersand.s 40 | Equivalence | 11 | | 0 | 00/1800 | HGR = $f3e2 ; HGR
41 | 1 ampersand.s 41 | Equivalence | 11 | | 0 | 00/1800 | HPLOT = $f457 ; HPLOT
42 | 1 ampersand.s 42 | Equivalence | 11 | | 0 | 00/1800 | HCOLOR = $f6e9 ; HCOLOR= (call+3)
43 | 1 ampersand.s 43 | Equivalence | 11 | | 0 | 00/1800 | HILIN = $f53a ; HPLOT TO
44 | 1 ampersand.s 44 | Equivalence | 11 | | 0 | 00/1800 | HOME = $fc58 ; HOME routine
45 | 1 ampersand.s 45 | Equivalence | 11 | | 0 | 00/1800 | WAIT = $fca8 ; WAIT routine
46 | 1 ampersand.s 46 | Empty | 11 | | 0 | 00/1800 |
47 | 1 ampersand.s 47 | Comment | 11 | | 0 | 00/1800 | *-----------------------------------
48 | 1 ampersand.s 48 | Comment | 11 | | 0 | 00/1800 | * Useful info @ https://llx.com/Neil/a2/as.addons.html
49 | 1 ampersand.s 49 | Empty | 11 | | 0 | 00/1800 |
50 | 1 ampersand.s 50 | Comment | 11 | | 0 | 00/1800 | * Les routines & qu'on fait :
51 | 1 ampersand.s 51 | Comment | 11 | | 0 | 00/1800 | * CURMOV M
52 | 1 ampersand.s 52 | Comment | 11 | | 0 | 00/1800 | * CURSET S
53 | 1 ampersand.s 53 | Comment | 11 | | 0 | 00/1800 | * INK I
54 | 1 ampersand.s 54 | Comment | 11 | | 0 | 00/1800 | * PAPER P
55 | 1 ampersand.s 55 | Comment | 11 | | 0 | 00/1800 | * HIRES H
56 | 1 ampersand.s 56 | Comment | 11 | | 0 | 00/1800 | * WAIT W
57 | 1 ampersand.s 57 | Comment | 11 | | 0 | 00/1800 | * DRAW D
58 | 1 ampersand.s 58 | Comment | 11 | | 0 | 00/1800 | * RESTORE R to a line number
59 | 1 ampersand.s 59 | Comment | 11 | | 0 | 00/1800 | * GOSUB G to an expression
60 | 1 ampersand.s 60 | Empty | 11 | | 0 | 00/1800 |
61 | 1 ampersand.s 61 | Comment | 11 | | 0 | 00/1800 | *
62 | 1 ampersand.s 62 | Comment | 11 | | 0 | 00/1800 | * On ne fait pas :
63 | 1 ampersand.s 63 | Comment | 11 | | 0 | 00/1800 | * CIRCLE C
64 | 1 ampersand.s 64 | Comment | 11 | | 0 | 00/1800 | * EXPLODE E
65 | 1 ampersand.s 65 | Comment | 11 | | 0 | 00/1800 | *
66 | 1 ampersand.s 66 | Comment | 11 | | 0 | 00/1800 | * On des/installe par CALL 6144
67 | 1 ampersand.s 67 | Empty | 11 | | 0 | 00/1800 |
68 | 1 ampersand.s 68 | Comment | 11 | | 0 | 00/1800 | *-----------------------------------
69 | 1 ampersand.s 69 | Empty | 11 | | 0 | 00/1800 |
70 | 1 ampersand.s 70 | Code | 11 | | 2 | 00/1800 : A9 00 | myENTRY lda #0
71 | 1 ampersand.s 71 | Code | 11 | | 2 | 00/1802 : D0 25 | bne doUNINSTALL
72 | 1 ampersand.s 72 | Empty | 11 | | 0 | 00/1804 |
73 | 1 ampersand.s 73 | Code | 11 | | 3 | 00/1804 : EE 01 18 | inc myENTRY+1 ; on dit qu'on installe
74 | 1 ampersand.s 74 | Empty | 11 | | 0 | 00/1807 |
75 | 1 ampersand.s 75 | Code | 11 | | 3 | 00/1807 : AD F5 03 | lda {$3f5} ; on sauve
76 | 1 ampersand.s 76 | Code | 11 | | 3 | 00/180A : 8D 3F 18 | sta myPTR
77 | 1 ampersand.s 77 | Code | 11 | | 3 | 00/180D : AD F6 03 | lda {$3f5}+1
78 | 1 ampersand.s 78 | Code | 11 | | 3 | 00/1810 : 8D 40 18 | sta myPTR+1
79 | 1 ampersand.s 79 | Code | 11 | | 3 | 00/1813 : AD F7 03 | lda {$3f5}+2
80 | 1 ampersand.s 80 | Code | 11 | | 3 | 00/1816 : 8D 41 18 | sta myPTR+2
81 | 1 ampersand.s 81 | Empty | 11 | | 0 | 00/1819 |
82 | 1 ampersand.s 82 | Code | 11 | | 2 | 00/1819 : A9 4C | lda #$4c ; on installe le vecteur
83 | 1 ampersand.s 83 | Code | 11 | | 3 | 00/181B : 8D F5 03 | sta {$3f5}
84 | 1 ampersand.s 84 | Code | 11 | | 2 | 00/181E : A9 42 | lda #<myVECTOR
85 | 1 ampersand.s 85 | Code | 11 | | 3 | 00/1820 : 8D F6 03 | sta {$3f5}+1
86 | 1 ampersand.s 86 | Code | 11 | | 2 | 00/1823 : A9 18 | lda #>myVECTOR
87 | 1 ampersand.s 87 | Code | 11 | | 3 | 00/1825 : 8D F7 03 | sta {$3f5}+2
88 | 1 ampersand.s 88 | Code | 11 | | 1 | 00/1828 : 60 | rts
89 | 1 ampersand.s 89 | Empty | 11 | | 0 | 00/1829 |
90 | 1 ampersand.s 90 | Code | 11 | | 3 | 00/1829 : CE 01 18 | doUNINSTALL dec myENTRY+1
91 | 1 ampersand.s 91 | Empty | 11 | | 0 | 00/182C |
92 | 1 ampersand.s 92 | Code | 11 | | 3 | 00/182C : AD 3F 18 | lda myPTR
93 | 1 ampersand.s 93 | Code | 11 | | 3 | 00/182F : 8D F5 03 | sta {$3f5}
94 | 1 ampersand.s 94 | Code | 11 | | 3 | 00/1832 : AD 40 18 | lda myPTR+1
95 | 1 ampersand.s 95 | Code | 11 | | 3 | 00/1835 : 8D F6 03 | sta {$3f5}+1
96 | 1 ampersand.s 96 | Code | 11 | | 3 | 00/1838 : AD 41 18 | lda myPTR+2
97 | 1 ampersand.s 97 | Code | 11 | | 3 | 00/183B : 8D F7 03 | sta {$3f5}+2
98 | 1 ampersand.s 98 | Code | 11 | | 1 | 00/183E : 60 | rts
99 | 1 ampersand.s 99 | Empty | 11 | | 0 | 00/183F |
100 | 1 ampersand.s 100 | Data | 11 | | 3 | 00/183F : 00 00 00 | myPTR ds 3 ; 4C xx yy
101 | 1 ampersand.s 101 | Empty | 11 | | 0 | 00/1842 |
102 | 1 ampersand.s 102 | Comment | 11 | | 0 | 00/1842 | *-----------------------------------
103 | 1 ampersand.s 103 | Empty | 11 | | 0 | 00/1842 |
104 | 1 ampersand.s 104 | Code | 11 | | 2 | 00/1842 : A2 0A | myVECTOR ldx #myADRS-myCMDS-1
105 | 1 ampersand.s 105 | Code | 11 | | 3 | 00/1844 : DD 5B 18 | ozunid_1 cmp myCMDS,x
106 | 1 ampersand.s 106 | Code | 11 | | 2 | 00/1847 : F0 06 | beq doVECTOR
107 | 1 ampersand.s 107 | Code | 11 | | 1 | 00/1849 : CA | dex
108 | 1 ampersand.s 108 | Code | 11 | | 2 | 00/184A : 10 F8 | bpl ozunid_1
109 | 1 ampersand.s 109 | Code | 11 | | 3 | 00/184C : 4C C9 DE | jmp {$dec9}
110 | 1 ampersand.s 110 | Empty | 11 | | 0 | 00/184F |
111 | 1 ampersand.s 111 | Code | 11 | | 1 | 00/184F : 8A | doVECTOR txa
112 | 1 ampersand.s 112 | Code | 11 | | 1 | 00/1850 : 0A | asl
113 | 1 ampersand.s 113 | Code | 11 | | 1 | 00/1851 : AA | tax
114 | 1 ampersand.s 114 | Code | 11 | | 3 | 00/1852 : BD 67 18 | lda myADRS+1,x
115 | 1 ampersand.s 115 | Code | 11 | | 1 | 00/1855 : 48 | pha
116 | 1 ampersand.s 116 | Code | 11 | | 3 | 00/1856 : BD 66 18 | lda myADRS,x
117 | 1 ampersand.s 117 | Code | 11 | | 1 | 00/1859 : 48 | pha
118 | 1 ampersand.s 118 | Code | 11 | | 1 | 00/185A : 60 | rts
119 | 1 ampersand.s 119 | Empty | 11 | | 0 | 00/185B |
120 | 1 ampersand.s 120 | Data | 11 | | 11 | 00/185B : 53 4D 44 43 | myCMDS asc 'SMDCIPHWERG'
| | | | | | 49 50 48 57 |
| | | | | | 45 52 47 |
121 | 1 ampersand.s 121 | Empty | 11 | | 0 | 00/1866 |
122 | 1 ampersand.s 122 | Data | 11 | | 2 | 00/1866 : ED 18 | myADRS da doS-1
123 | 1 ampersand.s 123 | Data | 11 | | 2 | 00/1868 : 22 19 | da doM-1
124 | 1 ampersand.s 124 | Data | 11 | | 2 | 00/186A : 65 19 | da doD-1
125 | 1 ampersand.s 125 | Data | 11 | | 2 | 00/186C : D8 19 | da doC-1
126 | 1 ampersand.s 126 | Data | 11 | | 2 | 00/186E : F5 19 | da doI-1
127 | 1 ampersand.s 127 | Data | 11 | | 2 | 00/1870 : 04 1A | da doP-1
128 | 1 ampersand.s 128 | Data | 11 | | 2 | 00/1872 : 13 1A | da doH-1
129 | 1 ampersand.s 129 | Data | 11 | | 2 | 00/1874 : 2D 1A | da doW-1
130 | 1 ampersand.s 130 | Data | 11 | | 2 | 00/1876 : 3F 1A | da doE-1
131 | 1 ampersand.s 131 | Data | 11 | | 2 | 00/1878 : 43 1A | da doR-1
132 | 1 ampersand.s 132 | Data | 11 | | 2 | 00/187A : 5C 1A | da doG-1
133 | 1 ampersand.s 133 | Empty | 11 | | 0 | 00/187C |
134 | 1 ampersand.s 134 | Comment | 11 | | 0 | 00/187C | *----------------------------------- Data
135 | 1 ampersand.s 135 | Empty | 11 | | 0 | 00/187C |
136 | 1 ampersand.s 136 | Data | 11 | | 2 | 00/187C : 8C 00 | theX dw 140 ; milieu de l'Žcran par dŽfaut
137 | 1 ampersand.s 137 | Data | 11 | | 96 | 00/187E : 00 00 00 00 | theY ds 96
| | | | | | 00 00 00 00 |
| | | | | | 00 00 00 00 |
| | | | | | 00 00 00 00 |
| | | | | | 00 00 00 00 |
| | | | | | 00 00 00 00 |
| | | | | | 00 00 00 00 |
| | | | | | 00 00 00 00 |
| | | | | | 00 00 00 00 |
| | | | | | 00 00 00 00 |
| | | | | | 00 00 00 00 |
| | | | | | 00 00 00 00 |
| | | | | | 00 00 00 00 |
| | | | | | 00 00 00 00 |
| | | | | | 00 00 00 00 |
| | | | | | 00 00 00 00 |
| | | | | | 00 00 00 00 |
| | | | | | 00 00 00 00 |
| | | | | | 00 00 00 00 |
| | | | | | 00 00 00 00 |
| | | | | | 00 00 00 00 |
| | | | | | 00 00 00 00 |
| | | | | | 00 00 00 00 |
| | | | | | 00 00 00 00 |
138 | 1 ampersand.s 138 | Data | 11 | | 2 | 00/18DE : 00 00 | theX2 ds 2
139 | 1 ampersand.s 139 | Data | 11 | | 2 | 00/18E0 : 00 00 | theY2 ds 2
140 | 1 ampersand.s 140 | Data | 11 | | 1 | 00/18E2 : 00 | theRADIUS ds 1
141 | 1 ampersand.s 141 | Data | 11 | | 1 | 00/18E3 : 00 | theFB ds 1
142 | 1 ampersand.s 142 | Data | 11 | | 1 | 00/18E4 : 00 | theINK ds 1
143 | 1 ampersand.s 143 | Data | 11 | | 1 | 00/18E5 : 00 | thePAPER ds 1
144 | 1 ampersand.s 144 | Empty | 11 | | 0 | 00/18E6 |
145 | 1 ampersand.s 145 | Comment | 11 | | 0 | 00/18E6 | * APPLE ORIC
146 | 1 ampersand.s 146 | Comment | 11 | | 0 | 00/18E6 | * 0 black1 black
147 | 1 ampersand.s 147 | Comment | 11 | | 0 | 00/18E6 | * 1 green red
148 | 1 ampersand.s 148 | Comment | 11 | | 0 | 00/18E6 | * 2 blue green
149 | 1 ampersand.s 149 | Comment | 11 | | 0 | 00/18E6 | * 3 white1 yellow
150 | 1 ampersand.s 150 | Comment | 11 | | 0 | 00/18E6 | * 4 black2 blue
151 | 1 ampersand.s 151 | Comment | 11 | | 0 | 00/18E6 | * 5 - magenta
152 | 1 ampersand.s 152 | Comment | 11 | | 0 | 00/18E6 | * 6 - cyan
153 | 1 ampersand.s 153 | Comment | 11 | | 0 | 00/18E6 | * 7 white2 white
154 | 1 ampersand.s 154 | Empty | 11 | | 0 | 00/18E6 |
155 | 1 ampersand.s 155 | Data | 11 | | 8 | 00/18E6 : 07 05 01 06 | oric2hgr hex 0705010602030400
| | | | | | 02 03 04 00 |
156 | 1 ampersand.s 156 | Empty | 11 | | 0 | 00/18EE |
157 | 1 ampersand.s 157 | Comment | 11 | | 0 | 00/18EE | *----------------------------------- CURSET x,y,fb
158 | 1 ampersand.s 158 | Empty | 11 | | 0 | 00/18EE |
159 | 1 ampersand.s 159 | Empty | 11 | | 0 | 00/18EE | doS
160 | 1 ampersand.s 160 | Code | 11 | | 3 | 00/18EE : 20 B1 00 | jsr {$b1} ; get next token
161 | 1 ampersand.s 161 | Code | 11 | | 3 | 00/18F1 : 20 67 DD | jsr {$dd67} ; eval expression
162 | 1 ampersand.s 162 | Code | 11 | | 3 | 00/18F4 : 20 52 E7 | jsr {$e752} ; convert to int
163 | 1 ampersand.s 163 | Code | 11 | | 2 | 00/18F7 : A5 50 | lda {$50}
164 | 1 ampersand.s 164 | Code | 11 | | 3 | 00/18F9 : 8D 7C 18 | sta theX
165 | 1 ampersand.s 165 | Code | 11 | | 2 | 00/18FC : A5 51 | lda {$50}+1
166 | 1 ampersand.s 166 | Code | 11 | | 3 | 00/18FE : 8D 7D 18 | sta theX+1 ; new X-coord
167 | 1 ampersand.s 167 | Empty | 11 | | 0 | 00/1901 |
168 | 1 ampersand.s 168 | Code | 11 | | 3 | 00/1901 : 20 BE DE | jsr {$debe} ; check for comma
169 | 1 ampersand.s 169 | Code | 11 | | 3 | 00/1904 : 20 67 DD | jsr {$dd67} ; eval expression
170 | 1 ampersand.s 170 | Code | 11 | | 3 | 00/1907 : 20 52 E7 | jsr {$e752} ; convert to int
171 | 1 ampersand.s 171 | Code | 11 | | 2 | 00/190A : A5 50 | lda {$50}
172 | 1 ampersand.s 172 | Code | 11 | | 3 | 00/190C : 8D 7E 18 | sta theY
173 | 1 ampersand.s 173 | Code | 11 | | 2 | 00/190F : A5 51 | lda {$50}+1
174 | 1 ampersand.s 174 | Code | 11 | | 3 | 00/1911 : 8D 7F 18 | sta theY+1 ; new Y-coord
175 | 1 ampersand.s 175 | Empty | 11 | | 0 | 00/1914 |
176 | 1 ampersand.s 176 | Code | 11 | | 3 | 00/1914 : 20 BE DE | jsr {$debe} ; check for comma
177 | 1 ampersand.s 177 | Code | 11 | | 3 | 00/1917 : 20 67 DD | jsr {$dd67} ; eval expression
178 | 1 ampersand.s 178 | Code | 11 | | 3 | 00/191A : 20 52 E7 | jsr {$e752} ; convert to int
179 | 1 ampersand.s 179 | Code | 11 | | 2 | 00/191D : A5 50 | lda {$50}
180 | 1 ampersand.s 180 | Code | 11 | | 3 | 00/191F : 8D E3 18 | sta theFB
181 | 1 ampersand.s 181 | Code | 11 | | 1 | 00/1922 : 60 | rts
182 | 1 ampersand.s 182 | Empty | 11 | | 0 | 00/1923 |
183 | 1 ampersand.s 183 | Comment | 11 | | 0 | 00/1923 | *----------------------------------- CURMOV x,y,fb
184 | 1 ampersand.s 184 | Empty | 11 | | 0 | 00/1923 |
185 | 1 ampersand.s 185 | Empty | 11 | | 0 | 00/1923 | doM
186 | 1 ampersand.s 186 | Code | 11 | | 3 | 00/1923 : 20 B1 00 | jsr {$b1} ; get next token
187 | 1 ampersand.s 187 | Code | 11 | | 3 | 00/1926 : 20 67 DD | jsr {$dd67} ; eval expression
188 | 1 ampersand.s 188 | Code | 11 | | 3 | 00/1929 : 20 52 E7 | jsr {$e752} ; convert to int
189 | 1 ampersand.s 189 | Code | 11 | | 2 | 00/192C : A5 50 | lda {$50}
190 | 1 ampersand.s 190 | Code | 11 | | 1 | 00/192E : 18 | clc
191 | 1 ampersand.s 191 | Code | 11 | | 3 | 00/192F : 6D 7C 18 | adc theX
192 | 1 ampersand.s 192 | Code | 11 | | 3 | 00/1932 : 8D 7C 18 | sta theX
193 | 1 ampersand.s 193 | Code | 11 | | 2 | 00/1935 : A5 51 | lda {$50}+1
194 | 1 ampersand.s 194 | Code | 11 | | 3 | 00/1937 : 6D 7D 18 | adc theX+1
195 | 1 ampersand.s 195 | Code | 11 | | 3 | 00/193A : 8D 7D 18 | sta theX+1 ; new X-coord
196 | 1 ampersand.s 196 | Empty | 11 | | 0 | 00/193D |
197 | 1 ampersand.s 197 | Code | 11 | | 3 | 00/193D : 20 BE DE | jsr {$debe} ; check for comma
198 | 1 ampersand.s 198 | Code | 11 | | 3 | 00/1940 : 20 67 DD | jsr {$dd67} ; eval expression
199 | 1 ampersand.s 199 | Code | 11 | | 3 | 00/1943 : 20 52 E7 | jsr {$e752} ; convert to int
200 | 1 ampersand.s 200 | Code | 11 | | 2 | 00/1946 : A5 50 | lda {$50}
201 | 1 ampersand.s 201 | Code | 11 | | 1 | 00/1948 : 18 | clc
202 | 1 ampersand.s 202 | Code | 11 | | 3 | 00/1949 : 6D 7E 18 | adc theY
203 | 1 ampersand.s 203 | Code | 11 | | 3 | 00/194C : 8D 7E 18 | sta theY
204 | 1 ampersand.s 204 | Code | 11 | | 2 | 00/194F : A5 51 | lda {$50}+1
205 | 1 ampersand.s 205 | Code | 11 | | 3 | 00/1951 : 6D 7F 18 | adc theY+1
206 | 1 ampersand.s 206 | Code | 11 | | 3 | 00/1954 : 8D 7F 18 | sta theY+1 ; new Y-coord
207 | 1 ampersand.s 207 | Empty | 11 | | 0 | 00/1957 |
208 | 1 ampersand.s 208 | Code | 11 | | 3 | 00/1957 : 20 BE DE | jsr {$debe} ; check for comma
209 | 1 ampersand.s 209 | Code | 11 | | 3 | 00/195A : 20 67 DD | jsr {$dd67} ; eval expression
210 | 1 ampersand.s 210 | Code | 11 | | 3 | 00/195D : 20 52 E7 | jsr {$e752} ; convert to int
211 | 1 ampersand.s 211 | Code | 11 | | 2 | 00/1960 : A5 50 | lda {$50}
212 | 1 ampersand.s 212 | Code | 11 | | 3 | 00/1962 : 8D E3 18 | sta theFB
213 | 1 ampersand.s 213 | Code | 11 | | 1 | 00/1965 : 60 | rts
214 | 1 ampersand.s 214 | Empty | 11 | | 0 | 00/1966 |
215 | 1 ampersand.s 215 | Comment | 11 | | 0 | 00/1966 | *----------------------------------- DRAW x,y,fb
216 | 1 ampersand.s 216 | Empty | 11 | | 0 | 00/1966 |
217 | 1 ampersand.s 217 | Empty | 11 | | 0 | 00/1966 | doD
218 | 1 ampersand.s 218 | Code | 11 | | 3 | 00/1966 : 20 B1 00 | jsr {$b1} ; get next token
219 | 1 ampersand.s 219 | Code | 11 | | 3 | 00/1969 : 20 67 DD | jsr {$dd67} ; eval expression
220 | 1 ampersand.s 220 | Code | 11 | | 3 | 00/196C : 20 52 E7 | jsr {$e752} ; convert to int
221 | 1 ampersand.s 221 | Code | 11 | | 2 | 00/196F : A5 50 | lda {$50}
222 | 1 ampersand.s 222 | Code | 11 | | 1 | 00/1971 : 18 | clc
223 | 1 ampersand.s 223 | Code | 11 | | 3 | 00/1972 : 6D 7C 18 | adc theX
224 | 1 ampersand.s 224 | Code | 11 | | 3 | 00/1975 : 8D DE 18 | sta theX2
225 | 1 ampersand.s 225 | Code | 11 | | 2 | 00/1978 : A5 51 | lda {$50}+1
226 | 1 ampersand.s 226 | Code | 11 | | 3 | 00/197A : 6D 7D 18 | adc theX+1
227 | 1 ampersand.s 227 | Code | 11 | | 3 | 00/197D : 8D DF 18 | sta theX2+1 ; new X-coord
228 | 1 ampersand.s 228 | Empty | 11 | | 0 | 00/1980 |
229 | 1 ampersand.s 229 | Code | 11 | | 3 | 00/1980 : 20 BE DE | jsr {$debe} ; check for comma
230 | 1 ampersand.s 230 | Code | 11 | | 3 | 00/1983 : 20 67 DD | jsr {$dd67} ; eval expression
231 | 1 ampersand.s 231 | Code | 11 | | 3 | 00/1986 : 20 52 E7 | jsr {$e752} ; convert to int
232 | 1 ampersand.s 232 | Code | 11 | | 2 | 00/1989 : A5 50 | lda {$50}
233 | 1 ampersand.s 233 | Code | 11 | | 1 | 00/198B : 18 | clc
234 | 1 ampersand.s 234 | Code | 11 | | 3 | 00/198C : 6D 7E 18 | adc theY
235 | 1 ampersand.s 235 | Code | 11 | | 3 | 00/198F : 8D E0 18 | sta theY2
236 | 1 ampersand.s 236 | Code | 11 | | 2 | 00/1992 : A5 51 | lda {$50}+1
237 | 1 ampersand.s 237 | Code | 11 | | 3 | 00/1994 : 6D 7E 18 | adc theY
238 | 1 ampersand.s 238 | Code | 11 | | 3 | 00/1997 : 8D E1 18 | sta theY2+1 ; new Y-coord
239 | 1 ampersand.s 239 | Empty | 11 | | 0 | 00/199A |
240 | 1 ampersand.s 240 | Code | 11 | | 3 | 00/199A : 20 BE DE | jsr {$debe} ; check for comma
241 | 1 ampersand.s 241 | Code | 11 | | 3 | 00/199D : 20 67 DD | jsr {$dd67} ; eval expression
242 | 1 ampersand.s 242 | Code | 11 | | 3 | 00/19A0 : 20 52 E7 | jsr {$e752} ; convert to int
243 | 1 ampersand.s 243 | Code | 11 | | 2 | 00/19A3 : A5 50 | lda {$50}
244 | 1 ampersand.s 244 | Code | 11 | | 3 | 00/19A5 : 8D E3 18 | sta theFB
245 | 1 ampersand.s 245 | Empty | 11 | | 0 | 00/19A8 |
246 | 1 ampersand.s 246 | Comment | 11 | | 0 | 00/19A8 | *---------- It is now time to draw as we have all variables
247 | 1 ampersand.s 247 | Empty | 11 | | 0 | 00/19A8 |
248 | 1 ampersand.s 248 | Code | 11 | | 3 | 00/19A8 : AC E4 18 | ldy theINK ; the ink color
249 | 1 ampersand.s 249 | Code | 11 | | 3 | 00/19AB : BE E6 18 | ldx oric2hgr,y ; from the Oric to the Apple II
250 | 1 ampersand.s 250 | Code | 11 | | 3 | 00/19AE : 20 EC F6 | jsr {$f6e9}+3 ; to skip CHRGET
251 | 1 ampersand.s 251 | Empty | 11 | | 0 | 00/19B1 |
252 | 1 ampersand.s 252 | Code | 11 | | 3 | 00/19B1 : AE 7C 18 | ldx theX ; HPLOT x,y
253 | 1 ampersand.s 253 | Code | 11 | | 3 | 00/19B4 : AC 7D 18 | ldy theX+1
254 | 1 ampersand.s 254 | Code | 11 | | 3 | 00/19B7 : AD 7E 18 | lda theY
255 | 1 ampersand.s 255 | Code | 11 | | 3 | 00/19BA : 20 57 F4 | jsr {$f457}
256 | 1 ampersand.s 256 | Empty | 11 | | 0 | 00/19BD |
257 | 1 ampersand.s 257 | Code | 11 | | 3 | 00/19BD : AD DE 18 | lda theX2 ; TO x2,Y2
258 | 1 ampersand.s 258 | Code | 11 | | 3 | 00/19C0 : AE DF 18 | ldx theX2+1
259 | 1 ampersand.s 259 | Code | 11 | | 3 | 00/19C3 : AC E0 18 | ldy theY2
260 | 1 ampersand.s 260 | Code | 11 | | 3 | 00/19C6 : 20 3A F5 | jsr {$f53a} ; draw the line
261 | 1 ampersand.s 261 | Empty | 11 | | 0 | 00/19C9 |
262 | 1 ampersand.s 262 | Code | 11 | | 2 | 00/19C9 : A5 E0 | lda {$e0} ; save the updated coords
263 | 1 ampersand.s 263 | Code | 11 | | 3 | 00/19CB : 8D 7C 18 | sta theX
264 | 1 ampersand.s 264 | Code | 11 | | 2 | 00/19CE : A5 E1 | lda {$e1}
265 | 1 ampersand.s 265 | Code | 11 | | 3 | 00/19D0 : 8D 7D 18 | sta theX+1
266 | 1 ampersand.s 266 | Code | 11 | | 2 | 00/19D3 : A5 E2 | lda {$e2}
267 | 1 ampersand.s 267 | Code | 11 | | 3 | 00/19D5 : 8D 7E 18 | sta theY
268 | 1 ampersand.s 268 | Code | 11 | | 1 | 00/19D8 : 60 | rts
269 | 1 ampersand.s 269 | Empty | 11 | | 0 | 00/19D9 |
270 | 1 ampersand.s 270 | Comment | 11 | | 0 | 00/19D9 | *----------------------------------- CIRCLE n,fb
271 | 1 ampersand.s 271 | Empty | 11 | | 0 | 00/19D9 |
272 | 1 ampersand.s 272 | Empty | 11 | | 0 | 00/19D9 | doC
273 | 1 ampersand.s 273 | Code | 11 | | 3 | 00/19D9 : 20 B1 00 | jsr {$b1} ; get next token
274 | 1 ampersand.s 274 | Code | 11 | | 3 | 00/19DC : 20 67 DD | jsr {$dd67} ; eval expression
275 | 1 ampersand.s 275 | Code | 11 | | 3 | 00/19DF : 20 52 E7 | jsr {$e752} ; convert to int
276 | 1 ampersand.s 276 | Code | 11 | | 2 | 00/19E2 : A5 50 | lda {$50}
277 | 1 ampersand.s 277 | Code | 11 | | 3 | 00/19E4 : 8D E2 18 | sta theRADIUS ; the radius
278 | 1 ampersand.s 278 | Empty | 11 | | 0 | 00/19E7 |
279 | 1 ampersand.s 279 | Code | 11 | | 3 | 00/19E7 : 20 BE DE | jsr {$debe} ; check for comma
280 | 1 ampersand.s 280 | Code | 11 | | 3 | 00/19EA : 20 67 DD | jsr {$dd67} ; eval expression
281 | 1 ampersand.s 281 | Code | 11 | | 3 | 00/19ED : 20 52 E7 | jsr {$e752} ; convert to int
282 | 1 ampersand.s 282 | Code | 11 | | 2 | 00/19F0 : A5 50 | lda {$50}
283 | 1 ampersand.s 283 | Code | 11 | | 3 | 00/19F2 : 8D E3 18 | sta theFB ; the foreground color
284 | 1 ampersand.s 284 | Code | 11 | | 1 | 00/19F5 : 60 | rts
285 | 1 ampersand.s 285 | Empty | 11 | | 0 | 00/19F6 |
286 | 1 ampersand.s 286 | Comment | 11 | | 0 | 00/19F6 | *----------------------------------- INK fb
287 | 1 ampersand.s 287 | Empty | 11 | | 0 | 00/19F6 |
288 | 1 ampersand.s 288 | Empty | 11 | | 0 | 00/19F6 | doI
289 | 1 ampersand.s 289 | Code | 11 | | 3 | 00/19F6 : 20 B1 00 | jsr {$b1} ; get next token
290 | 1 ampersand.s 290 | Code | 11 | | 3 | 00/19F9 : 20 67 DD | jsr {$dd67} ; eval expression
291 | 1 ampersand.s 291 | Code | 11 | | 3 | 00/19FC : 20 52 E7 | jsr {$e752} ; convert to int
292 | 1 ampersand.s 292 | Code | 11 | | 2 | 00/19FF : A5 50 | lda {$50}
293 | 1 ampersand.s 293 | Code | 11 | | 3 | 00/1A01 : 8D E4 18 | sta theINK
294 | 1 ampersand.s 294 | Code | 11 | | 1 | 00/1A04 : 60 | rts
295 | 1 ampersand.s 295 | Empty | 11 | | 0 | 00/1A05 |
296 | 1 ampersand.s 296 | Comment | 11 | | 0 | 00/1A05 | *----------------------------------- PAPER fb
297 | 1 ampersand.s 297 | Empty | 11 | | 0 | 00/1A05 |
298 | 1 ampersand.s 298 | Empty | 11 | | 0 | 00/1A05 | doP
299 | 1 ampersand.s 299 | Code | 11 | | 3 | 00/1A05 : 20 B1 00 | jsr {$b1} ; get next token
300 | 1 ampersand.s 300 | Code | 11 | | 3 | 00/1A08 : 20 67 DD | jsr {$dd67} ; eval expression
301 | 1 ampersand.s 301 | Code | 11 | | 3 | 00/1A0B : 20 52 E7 | jsr {$e752} ; convert to int
302 | 1 ampersand.s 302 | Code | 11 | | 2 | 00/1A0E : A5 50 | lda {$50}
303 | 1 ampersand.s 303 | Code | 11 | | 3 | 00/1A10 : 8D E5 18 | sta thePAPER
304 | 1 ampersand.s 304 | Code | 11 | | 1 | 00/1A13 : 60 | rts
305 | 1 ampersand.s 305 | Empty | 11 | | 0 | 00/1A14 |
306 | 1 ampersand.s 306 | Comment | 11 | | 0 | 00/1A14 | *----------------------------------- HIRES
307 | 1 ampersand.s 307 | Empty | 11 | | 0 | 00/1A14 |
308 | 1 ampersand.s 308 | Empty | 11 | | 0 | 00/1A14 | doH
309 | 1 ampersand.s 309 | Code | 11 | | 3 | 00/1A14 : 20 B1 00 | jsr {$b1} ; get next token
310 | 1 ampersand.s 310 | Empty | 11 | | 0 | 00/1A17 |
311 | 1 ampersand.s 311 | Code | 11 | | 2 | 00/1A17 : A9 00 | lda #0
312 | 1 ampersand.s 312 | Code | 11 | | 2 | 00/1A19 : 85 20 | sta {$20}
313 | 1 ampersand.s 313 | Code | 11 | | 2 | 00/1A1B : A9 28 | lda #40
314 | 1 ampersand.s 314 | Code | 11 | | 2 | 00/1A1D : 85 21 | sta {$21}
315 | 1 ampersand.s 315 | Code | 11 | | 2 | 00/1A1F : A9 14 | lda #20
316 | 1 ampersand.s 316 | Code | 11 | | 2 | 00/1A21 : 85 22 | sta {$22}
317 | 1 ampersand.s 317 | Code | 11 | | 2 | 00/1A23 : A9 18 | lda #24
318 | 1 ampersand.s 318 | Code | 11 | | 2 | 00/1A25 : 85 23 | sta {$23}
319 | 1 ampersand.s 319 | Code | 11 | | 3 | 00/1A27 : 20 58 FC | jsr {$fc58}
320 | 1 ampersand.s 320 | Empty | 11 | | 0 | 00/1A2A |
321 | 1 ampersand.s 321 | Code | 11 | | 3 | 00/1A2A : 20 E2 F3 | jsr {$f3e2}
322 | 1 ampersand.s 322 | Code | 11 | | 1 | 00/1A2D : 60 | rts
323 | 1 ampersand.s 323 | Empty | 11 | | 0 | 00/1A2E |
324 | 1 ampersand.s 324 | Comment | 11 | | 0 | 00/1A2E | *----------------------------------- WAIT x
325 | 1 ampersand.s 325 | Empty | 11 | | 0 | 00/1A2E |
326 | 1 ampersand.s 326 | Empty | 11 | | 0 | 00/1A2E | doW
327 | 1 ampersand.s 327 | Code | 11 | | 3 | 00/1A2E : 20 B1 00 | jsr {$b1} ; get next token
328 | 1 ampersand.s 328 | Code | 11 | | 3 | 00/1A31 : 20 67 DD | jsr {$dd67} ; eval expression
329 | 1 ampersand.s 329 | Code | 11 | | 3 | 00/1A34 : 20 52 E7 | jsr {$e752} ; convert to int
330 | 1 ampersand.s 330 | Empty | 11 | | 0 | 00/1A37 |
331 | 1 ampersand.s 331 | Code | 11 | | 2 | 00/1A37 : 46 51 | lsr {$50}+1
332 | 1 ampersand.s 332 | Code | 11 | | 2 | 00/1A39 : 66 50 | ror {$50}
333 | 1 ampersand.s 333 | Code | 11 | | 2 | 00/1A3B : A5 50 | lda {$50}
334 | 1 ampersand.s 334 | Code | 11 | | 3 | 00/1A3D : 4C A8 FC | jmp {$fca8}
335 | 1 ampersand.s 335 | Empty | 11 | | 0 | 00/1A40 |
336 | 1 ampersand.s 336 | Comment | 11 | | 0 | 00/1A40 | *----------------------------------- EXPLODE
337 | 1 ampersand.s 337 | Empty | 11 | | 0 | 00/1A40 |
338 | 1 ampersand.s 338 | Empty | 11 | | 0 | 00/1A40 | doE
339 | 1 ampersand.s 339 | Code | 11 | | 3 | 00/1A40 : 20 B1 00 | jsr {$b1}
340 | 1 ampersand.s 340 | Code | 11 | | 1 | 00/1A43 : 60 | rts
341 | 1 ampersand.s 341 | Empty | 11 | | 0 | 00/1A44 |
342 | 1 ampersand.s 342 | Comment | 11 | | 0 | 00/1A44 | *----------------------------------- RESTORE address
343 | 1 ampersand.s 343 | Empty | 11 | | 0 | 00/1A44 |
344 | 1 ampersand.s 344 | Empty | 11 | | 0 | 00/1A44 | doR
345 | 1 ampersand.s 345 | Code | 11 | | 3 | 00/1A44 : 20 B1 00 | jsr {$b1} ; get next token
346 | 1 ampersand.s 346 | Code | 11 | | 3 | 00/1A47 : 20 67 DD | jsr {$dd67} ; eval expression
347 | 1 ampersand.s 347 | Code | 11 | | 3 | 00/1A4A : 20 52 E7 | jsr {$e752} ; convert to int
348 | 1 ampersand.s 348 | Code | 11 | | 3 | 00/1A4D : 20 1A D6 | jsr {$d61a} ; find chosen line no.
349 | 1 ampersand.s 349 | Empty | 11 | | 0 | 00/1A50 |
350 | 1 ampersand.s 350 | Code | 11 | | 2 | 00/1A50 : A4 9C | ldy {$9b}+1 ; point DATPTR at byte before it
351 | 1 ampersand.s 351 | Code | 11 | | 2 | 00/1A52 : A6 9B | ldx {$9b}
352 | 1 ampersand.s 352 | Code | 11 | | 2 | 00/1A54 : D0 01 | bne dx
353 | 1 ampersand.s 353 | Code | 11 | | 1 | 00/1A56 : 88 | dey
354 | 1 ampersand.s 354 | Code | 11 | | 1 | 00/1A57 : CA | dx dex
355 | 1 ampersand.s 355 | Code | 11 | | 2 | 00/1A58 : 84 7E | sty {$7d}+1
356 | 1 ampersand.s 356 | Code | 11 | | 2 | 00/1A5A : 86 7D | stx {$7d}
357 | 1 ampersand.s 357 | Code | 11 | | 1 | 00/1A5C : 60 | rts
358 | 1 ampersand.s 358 | Empty | 11 | | 0 | 00/1A5D |
359 | 1 ampersand.s 359 | Comment | 11 | | 0 | 00/1A5D | *----------------------------------- GOSUB address
360 | 1 ampersand.s 360 | Empty | 11 | | 0 | 00/1A5D |
361 | 1 ampersand.s 361 | Empty | 11 | | 0 | 00/1A5D | doG
362 | 1 ampersand.s 362 | Code | 11 | | 2 | 00/1A5D : A9 03 | lda #3 ; make sure there's enough stack
363 | 1 ampersand.s 363 | Code | 11 | | 3 | 00/1A5F : 20 D6 D3 | jsr {$d3d6}
364 | 1 ampersand.s 364 | Empty | 11 | | 0 | 00/1A62 |
365 | 1 ampersand.s 365 | Code | 11 | | 2 | 00/1A62 : A5 B9 | lda {$b8}+1 ; push marker for RETURN
366 | 1 ampersand.s 366 | Code | 11 | | 1 | 00/1A64 : 48 | pha
367 | 1 ampersand.s 367 | Code | 11 | | 2 | 00/1A65 : A5 B8 | lda {$b8}
368 | 1 ampersand.s 368 | Code | 11 | | 1 | 00/1A67 : 48 | pha
369 | 1 ampersand.s 369 | Code | 11 | | 2 | 00/1A68 : A5 76 | lda {$75}+1
370 | 1 ampersand.s 370 | Code | 11 | | 1 | 00/1A6A : 48 | pha
371 | 1 ampersand.s 371 | Code | 11 | | 2 | 00/1A6B : A5 75 | lda {$75}
372 | 1 ampersand.s 372 | Code | 11 | | 1 | 00/1A6D : 48 | pha
373 | 1 ampersand.s 373 | Code | 11 | | 2 | 00/1A6E : A9 B0 | lda #{$b0}
374 | 1 ampersand.s 374 | Code | 11 | | 1 | 00/1A70 : 48 | pha
375 | 1 ampersand.s 375 | Empty | 11 | | 0 | 00/1A71 |
376 | 1 ampersand.s 376 | Code | 11 | | 3 | 00/1A71 : 20 B1 00 | jsr {$b1} ; get next token
377 | 1 ampersand.s 377 | Code | 11 | | 3 | 00/1A74 : 20 67 DD | jsr {$dd67} ; parse numeric expr
378 | 1 ampersand.s 378 | Code | 11 | | 3 | 00/1A77 : 20 52 E7 | jsr {$e752} ; convert it to int
379 | 1 ampersand.s 379 | Code | 11 | | 3 | 00/1A7A : 20 41 D9 | jsr {$d93e}+3 ; point at chosen statement
380 | 1 ampersand.s 380 | Code | 11 | | 3 | 00/1A7D : 4C D2 D7 | jmp {$d7d2} ; start running it
381 | 1 ampersand.s 381 | Empty | 11 | | 0 | 00/1A80 |
382 | 1 ampersand.s 382 | Comment | 11 | | 0 | 00/1A80 | *--- End of code
383 | 1 ampersand.s 383 | Empty | 11 | | 0 | 00/1A80 |
384 | 1 ampersand.s 384 | Data | 11 | | 42 | 00/1A80 : A8 E3 A9 A0 | asc "(c) 2023, Antoine Vignau & Olivier Zardini"
| | | | | | B2 B0 B2 B3 |
| | | | | | AC A0 C1 EE |
| | | | | | F4 EF E9 EE |
| | | | | | E5 A0 D6 E9 |
| | | | | | E7 EE E1 F5 |
| | | | | | A0 A6 A0 CF |
| | | | | | EC E9 F6 E9 |
| | | | | | E5 F2 A0 DA |
| | | | | | E1 F2 E4 E9 |
| | | | | | EE E9 |
385 | 1 ampersand.s 385 | Empty | 11 | | 0 | 00/1AAA |
------+-----------------------+-------------+----+---------+------+-----------------------+-------------------------------------------------------------------

View File

@ -0,0 +1,883 @@
1 REM
2 REM COPYRIGHT LORICIELS 83 L.BENES
3 REM LE MANOIR DU DOCTEUR GENIUS
4 REM
5 REM VERSION APPLE II REALISEE EN 2023
6 REM PAR BRUTAL DELUXE SOFTWARE : ANTOINE VIGNAU & OLIVIER ZARDINI
7 REM
9 REM ... COPYRIGHT LORICIELS TOUT DROIT DE REPRODUCTION INTERDIT .....
45 HOME: PRINT: PRINT " VEUILLEZ PATIENTER"
50 GOSUB 8000 'CHARGEMENT VARIABLES
55 & H: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
90 C(3)=14:C(7)=12:C(1)=80:C(9)=12
100 IFSALLE<>14ANDSALLE<>16ANDSALLE<>17ANDSALLE<>19 THEN P(2)=0
105 IF P(2)=0 THEN 200
106 IF O(22)=SA AND P(7)=1 THEN 200
107 IF O(05)=SA AND P(3)=1 THEN 200
110 IF C(9)>1 THEN C(9)=C(9)-1
130 & H
140 PRINT "Il fait noir comme dans un four,il faudrait peut etre allumer"
145 IF KEY$<>"" THEN & W 500 ELSE & W 300
150 GOTO 500
200 REM DESCRIPTION SALLE
210 PRINT
220 GOSUB(7000+SALLE*10)-10
300 H=0:N=1
310 IF O(N)<>SALLE THEN 400
320 IF H=1 THEN GOTO 350
330 PRINT "Il y a dans la salle:": & W 100
340 H=1
350 PRINT " ";O$(N);
360 & W 150
400 N=N+1
410 IF N<=O THEN 310
420 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 INPUT"Que faites vous";X$
560 HOME:PRINTX$
570 GOSUB 6000
580 IF MO$(1)="00" THEN PRINT "Je ne comprends pas...": & W 200:GOTO100
900 REM CONTROLE Mvt
910 Z=1
920 T$=MID$(M$(SALLE),Z,2)
930 IF T$="00" THEN 980
940 IF T$<>MO$(1) THEN 970
950 SALLE=VAL(MID$(M$(SALLE),Z+2,2))
960 GOTO 100
970 Z=Z+4:GOTO920
980 T=0
990 A1=0
1000 REM CONTROLE
1010 NL=0
1100 NL=NL+1
1110 IF T=0 THEN GOTO 1150
1120 E$=C$(NL)
1130 GOTO 1400
1150 IF NL<=A THEN 1200
1159 PY=23:CO=12
1160 IF A1=1 THEN GOTO 500
1170 PRINT "Impossible ";
1180 IF VAL(MO$(1))<10 THEN PRINT "de prendre ce chemin";
1190 PRINT "!":GOTO 100
1200 IF MID$(A$(NL),1,2)<>MO$(1) THEN 1100
1210 Y$=MID$(A$(NL),3,2)
1220 IF Y$<>"00" AND Y$<>MO$(2) THEN 1100
1230 E$=MID$(A$(NL),5)
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 GOSUB 1500+LI*10
1460 IF OK=0 THEN 1100
1470 E=E+3:GOTO1420
1500 IF N=SALLE THEN OK=1 ELSE OK=0
1505 RETURN
1510 IF O(N)=-1 OR O(N)=SALLE THEN OK=1 ELSE OK=0
1515 RETURN
1520 IF O(N)<>SALLE AND O(N)<>-1 THEN OK=1 ELSE OK=0
1525 RETURN
1530 IF O(N)=-1 THEN OK=1 ELSE OK=0
1535 RETURN
1540 IF P(N)=1 THEN OK=1 ELSE OK=0
1545 RETURN
1550 IF P(N)=0 THEN OK=1 ELSE OK=0
1555 RETURN
1560 IF C(N)=1 THEN OK=1 ELSE OK=0
1565 RETURN
1570 IF INT(RND(1)*99+1)<N THEN OK=1 ELSE OK=0
1575 RETURN
1580 IF N<>SALLE THEN OK=1 ELSE OK=0
1585 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 GOSUB 1800+LI*100
1760 IF BREAK<>0 THEN GOTO BREAK
1780 E=E+3
1790 GOTO 1710
1800 G=0:HH=0
1810 G=G+1
1820 IF O(G)=-1 THEN GOTO 1840
1830 IF G<O THEN GOTO 1810 ELSE GOTO1870
1840 IF HH=0 THEN PRINT "Vous detenez:": & W 100
1850 HH=1
1860 PRINTO$(G);:PRINT " ";: & W 150
1865 IF G<V THEN 1810
1870 IF HH=1 THEN PRINT ".":RETURN
1880 PRINT "Vous ne detenez absolument rien!!!": & W 200:RETURN
1900 IF S(1)<5 THEN 1930
1910 PRINT "Il parait evident que vous ne pouvez portez tant de chose!!"
1920 & W 250:BREAK=100:RETURN
1930 IF O(N)<>-1 THEN 1960
1935 REM CE PROGRAMMEEST LA PROPRIETE DE L.WEILL LORICIELS
1940 PRINT "Vous l'avez deja,vous etes etourdit etdans cette maison ce n'est pas"
1945 & W 400
1950 PRINT "tres conseille...":GOTO1920
1960 O(N)=-1:S(1)=S(1)+1:RETURN
2000 IF O(N)=-1 THEN 2030
2010 PRINT "Comment voulez vous poser ce que vous n'avez pas"
2020 GOTO 1920
2030 O(N)=SALLE:S(1)=S(1)-1:RETURN
2100 HOME: & G 4000+N*10
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 THEN S(1)=S(1)-1
2510 O(N)=0 :RETURN
2600 SALLE=N:RETURN
2700 PRINT "D'accord..."
2710 & W 150:BREAK=300:RETURN
2800 BREAK=500
2810 RETURN
2900 BREAK=530:RETURN
3000 BREAK=100:RETURN
3100 POP:GOTO20000
3200 O(N)=SALLE:RETURN
3300 X$=O$(N):O$(N)=O$(N+1):O$(N+1)=X$:RETURN
4000 & H:FORN=1TO20: & E : & W 4:NEXT
4001 PRINT "Vous avez gardez la lampe trop longtemps allumee,elle a explose"
4005 & W 400:RETURN
4010 & H
4011 PRINT "Vous avez oubliez de fermer le robinetvous mourez sous des tonnes d'eau"
4015 & W 500:RETURN
4020 & H
4022 PRINT "Lapporte vient de se refermer derrierevous,vous voila prisonnier..."
4025 & W 500:RETURN
4030 & H
4031 PRINT "Vous avez trebuche dans l'escalier,vous vous empallez sur le couteau!"
4035 & W 500:RETURN
4040 & H
4041 PRINT "Vous renversez l'eau dans l'escalier, ce qui provoque une decharge";
4042 PRINT " de la": & W 300:PRINT "prise electrique"
4045 & W 300:RETURN
4050 & H
4051 PRINT "Vous etes sauf grace a la combinaison que vous avez enfile..!"
4055 & W 500:RETURN
4060 PRINT "Vous mourrez electrocute..."
4065 & W 300:RETURN
4070 & H: REM FOR N=1 TO 20:MUSIC2,2,2,10:PLAY3,7,4,80: & W 1: & E : & W 6:NEXT
4071 PRINT "La piece etait pleine de gaz explosif,vous auriez du eteindre..."
4072 & W 500:HOME:PRINT "On ramassera vos morceaux un autre jour..!"
4075 & W 300:RETURN
4080 & H
4081 PRINT "Vous mourez empalle sur des lances sorties du mur...!"
4085 & W 400:RETURN
4090 REM
4091 PRINT "La porte ne s'ouvre pas de cette piece": & W 300:RETURN
4100 & H
4101 PRINT "La lampe et le briquet refusent de marcher dans cette piece"
4105 & W 400:RETURN
4110 & H
4111 PRINT "Vous tombez dans une trappe,vous vous disloquez en arrivant au sol.."
4115 & W 500:RETURN
4120 REM
4121 PRINT "Vous avez raison de passer,car ce monstre n'etait qu'une projection"
4124 & W 400:PRINT "en 3 dimentions sur un ecran de fumee"
4125 & W 250:RETURN
4130 REM
4131 PRINT "Vous avez raison,la curiosite est un vilain defaut!!!"
4132 & W 400
4133 POP:TEXT:PRINT:PRINT:PRINTSPC(12)"AU REVOIR"
4135 & W 200:GOTO 20100
4140 PRINT "Vous avez raison d'attendre,mais cela ne pourra pas durer";
4141 PRINT " eternellement.."
4142 & W 450:RETURN
4150 : & H:PRINT "Vous avez de la chance car ce coffre etait ouvert.": & W 400
4152 PRINT "Un message a l'interieur dit:": & W 250:PRINT "Ne respectez pas les ";
4154 PRINT "couleurs du":PRINT "code de la route...?": & W 500
4156 PRINT "Tiens le coffre se referme": & W 200:RETURN
4160 PRINT "Maintenant,vous avez une lampe pleine de petrole"
4165 & W 400:RETURN
4170 PRINT "Vous n'avez rien pour transporter le petrole": & W 400:RETURN
4180 & H:PRINT "Le briquet que vous aviez laisse allume vient d'exploser"
4181 FOR N=1 TO 10: & E : & W 6:NEXT
4185 & W 300:PRINT "Ca tue l'etourderie.....": & W 200:RETURN
4190 & H:PRINT "A force de marcher en long et en large dans cette maison,"
4195 & W 300:PRINT "vous sombrez dans un coma des plus mortel...": & W 300:RETURN
4200 PRINT "L'eau coule...":RETURN
4210 & H:PRINT "Vous avez les pieds trempes,et cela vous rend tres malade..."
4215 & W 400:PRINT "Vous mourez d'une triple pneumonie...!": & W 300:RETURN
4220 PRINT "Le titre est:": & W 200:PRINT "La mort a la premiere page.": & W 300:RETURN
4230 & H:FOR N=1 TO 20: & E :NEXT
4233 PRINT "Le livre a explose lorsque vous l'avezouvert...": & W 400:RETURN
4240 PRINT "Le papier indique: Cherchez la clef.": & W 300:RETURN
4250 PRINT "La clef vous permettera de trouver le code de la porte d'entree."
4255 & W 400:RETURN
4260 & H:PRINT "Il y a , a cote de la porte,un claviernumerique permettant ";
4265 PRINT "d'entrer un code": & W 400:RETURN
4270 PRINT "Pour faire quoi..?": & W 200:RETURN
4280 PRINT "Il y a une odeur de gaz.": & W 300:RETURN
4290 PRINT "Apparement,il n'y a occune odeur mais...": & W 300:RETURN
4300 PRINT "C'est deja fait,espece de rigolo": & W 300:RETURN
4310 PRINT "Il faudrait peut etre du feu": & W 300:RETURN
4320 PRINT "La lampe ne contient pas de petrole": & W 300:RETURN
4330 PRINT "Vous ne l'avez pas": & W 200:RETURN
4340 PRINT "Le briquet est encore allume et il eclaire la piece."& W 300:RETURN
4350 FOR N=1 TO 15: & E : & W 4:NEXT
4355 PRINT "La torche etait piegee,elle vous explose dans les mains.."
4357 & W 400:RETURN
4360 PRINT "La lampe est encore allumee,et elle vous eclaire": & W 300:RETURN
4370 & H:PRINT "Un nain vient de vous lancer un poignard en plein coeur.."
4375 & W 300:RETURN
4380 PRINT "Un nain vient de se precipiter sur vous,il s'empalle sur votre";
4385 PRINT " ciseau": & W 400:RETURN
4390 PRINT "Un nain vient de se precipiter sur vous,il s'empalle sur votre";
4395 PRINT " couteau": & W 400:RETURN
4400 & H:PRINT "Vous venez de renverser le pot": & W 150:RETURN
4410 & H:PRINT "La foudre vient de tomber sur la maison": & W 200
4412 PRINT "La maison n'existe plus,vous non plus": & W 200:RETURN
4420 & H:PRINT "A force de marcher dans le noir,vous avez trebuche": & W 200
4425 PRINT "Vous mourez d'une fracture du crane...": & W 200:RETURN
4430 PRINT "Vous ne pouvez pas travailler dans le noir...": & W 300:RETURN
4440 PRINT "La lumiere du briquet ne suffit pas pour travaillez...": & W 400:RETURN
4450 PRINT "Impossible !": & W 100:RETURN
4460 PRINT "Vous n'avez aucun outil..": & W 250:RETURN
4470 PRINT "Le teleporteur est en panne,donc les boutons ne fonctionnent pas."
4475 & W 400:RETURN
4480 FOR N=1 TO 25: & E : & W 5:NEXT
4484 PRINT "Le teleporteur vient d'exploser,vous etes decompose..!": & W 400:RETURN
4490 PRINT "Le teleporteur se met en marche,vous disparaissez"
4491 REM MUSIC2,1,5,0:PLAY2,1,3,1000
4492 FOR N=1 TO 12
4493 & P 4: & W 8: & P 1: & W 8: & P 3: & W 8: & P 4: & W 8: & P 1: & W 8
4494 NEXT: & P 0: REM PLAY0,0,0,0
4495 FOR N=500 TO 30 STEP-5
4497 NEXT: REM SOUND2,N,12:PLAY2,0,0,100:NEXT
4498 RETURN : REM PLAY0,0,0,0 : & H:RETURN
4500 & H:PRINT "Vous prenez du 30000 Volts dans les doigts,": & W 300:RETURN
4510 PRINT "Le placard est ferme a clef": & W 150:RETURN
4520 & H:PRINT "L'horrible monstre sorti du placard vient de vous devorer"
4525 & W 400:RETURN
4530 PRINT "Il ne fallait pas fuir": & W 200:RETURN
4540 & H:PRINT "Vous avez raison d'utiliser le ciseau,le monstre est mort"
4545 & W 400:RETURN
4550 PRINT "A l'interieur du placard,le No "PL" est inscrit": & W 300
4555 PRINT "Le placard se referme.": & W 150:RETURN
4560 & H:FOR N=1 TO 30: & E : & W 5:NEXT:PRINT "le pistolet a explose": & W 200
4565 RETURN
4570 & H:FOR N=1 TO 25: & E : & W 7:NEXT:
4575 PRINT "le clavier numerique a explose": & W 250:RETURN
4580 & H:PRINT "Le clavier numerique prends feu, heureusement,vous aviez ";
4582 & W 300:PRINT "un pot plein": & W 100
4585 PRINT "d'eau qui vous a permis d'eteindre ce feu"
4586 & W 400:RETURN
4590 & H:INPUT"No DE CODE";ZC
4595 IF ZC<>PL THEN GOTO 4570
4600 & W 200:PRINT "Le code est exact...":POP:PRINT "La porte s'ouvre..."
4603 & W 400
4605 GOSUB10000:PRINT "Vous voila en dehors de la maison..."
4608 GOSUB 32000:GOTO20100
4610 & H:PRINT "A l'interieur du placard,il y a un motqui parle d'un teleporteur"
4615 & W 400:PRINT "Tiens le placard se ferme tout seul...": & W 150:RETURN
4620 PRINT "Avant de la poser par terre,il faudrait peut etre l'enlever."
4625 & W 350:RETURN
4630 & H:PRINT "Il y a un horrible monstre devant vousqui est sortie du placart."
4635 & W 400:RETURN
4640 & H:PRINT "Le placard etait piege,vous n'auriez pas du l'ouvrir"
4645 FOR N=1 TO 30: & E : & W 7:NEXT
4647 & W 150:RETURN
6000 REM ANALYSE DU MOT
6010 N=0:GN=0
6020 REPEAT:N=N+1
6030 UNTIL MID$(X$,N,1)<>" "
6040 REPEAT:GN=GN+1
6050 UNTIL MID$(X$,N+GN,1)=" "OR MID$(X$,N+GN,1)="" OR GN=20
6060 IF GN>4 THEN GN=4
6070 X$(1)=MID$(X$,N,GN)
6080 REPEAT:N=N+1
6090 UNTIL MID$(X$,N,1)=" "OR MID$(X$,N,1)=""
6100 REPEAT:N=N+1
6110 UNTIL MID$(X$,N,1)<>" "
6115 GN=0
6120 REPEAT:GN=GN+1
6130 UNTIL MID$(X$,N+GN,1)=" "OR MID$(X$,N+GN,1)="" OR GN=20
6140 IF GN>4 THEN GN=4
6150 X$(2)=MID$(X$,N,GN)
6160 FOR W=1 TO 2:N=0:MO$(W)="00"
6170 N=N+1
6180 IF N>V THEN W=3:GOTO 6300
6190 IF MID$(V$(N),3,4)=X$(W) THEN GOTO 6250
6200 GOTO 6170
6250 MO$(W)=MID$(V$(N),1,2)
6300 NEXT W
6310 RETURN
7000 GOSUB10000
7005 PRINT "Vous etes devant le manoir du defunt":PRINT: & W 250
7006 PRINTSPC(12)"Dr GENIUS"
7007 IF KEY$<>"" THEN & W 400 ELSE & W 100
7008 RETURN
7010 GOSUB10100
7015 PRINT "Vous etes dans le hall d'entree."
7016 IF KEY$<>"" THEN & W 400 ELSE & W 100
7017 RETURN
7020 GOSUB10200
7024 PRINT "Vous etes en bas de l'escalier menant au 2eme etage"
7025 IF KEY$<>"" THEN & W 400 ELSE & W 100
7026 RETURN
7030 F1=0:GOSUB10300
7034 PRINT "Vous etes dans la salle a manger."
7035 IF KEY$<>"" THEN & W 400 ELSE & W 100
7036 RETURN
7040 F1=1:GOSUB10300
7043 PRINT "Vous etes dans une biblioteque sans livre...!"
7045 IF KEY$<>"" THEN & W 400 ELSE & W 100
7046 RETURN
7050 GOSUB 10500
7053 PRINT "Vous etes dans une buanderie"
7055 IF KEY$<>"" THEN & W 400 ELSE & W 100
7056 RETURN
7060 GOSUB 10600 7th
7063 PRINT "Vous etes dans le salon"
7065 IF KEY$<>"" THEN & W 400 ELSE & W 100
7066 RETURN
7070 LX=0:GOSUB 10700 8th
7073 PRINT "Vous etes dans une chambre."
7075 IF KEY$<>"" THEN & W 400 ELSE & W 100
7076 RETURN
7080 GOSUB10800 9th
7083 PRINT "Vous etes dans un corridor"
7085 IF KEY$<>"" THEN & W 400 ELSE & W 100
7086 RETURN
7090 LX=0:GOSUB10900 10th
7093 PRINT "Vous etes dans une salle d'attente."
7095 IF KEY$<>"" THEN & W 400 ELSE & W 100
7096 RETURN
7100 LX=0:GOSUB11000 11th
7103 PRINT "Vous etes dans le vestibules"
7105 IF KEY$<>"" THEN & W 400 ELSE & W 100
7106 RETURN
7110 LX=2:GOSUB10700 12th
7113 PRINT "Vous etes dans la chambre d'amis."
7115 IF KEY$<>"" THEN & W 400 ELSE & W 100
7116 RETURN
7120 LX=1:GOSUB 10700 13th
7123 PRINT "Vous etes dans une chambre."
7125 IF KEY$<>"" THEN & W 400 ELSE & W 100
7126 RETURN
7140 LX=2:GOSUB12200 14th
7143 PRINT "Vous etes dans une petite salle"
7145 IF KEY$<>"" THEN & W 400 ELSE & W 100
7146 RETURN
7150 GOSUB11500 15th
7153 PRINT "Vous etes dans le laboratoire du Dr GENIUS"
7155 IF KEY$<>"" THEN & W 400 ELSE & W 100
7156 RETURN
7160 LX=1:GOSUB10900 16th
7163 PRINT "Vous etes dans une petite piece vide."
7165 IF KEY$<>"" THEN & W 400 ELSE & W 100
7166 RETURN
7170 GOSUB 11700 17th
7173 PRINT "Vous etes...": & W 300:PRINT "Justement,vous ne savez pas ou vous etes"
7175 IF KEY$<>"" THEN & W 400 ELSE & W 100
7176 RETURN
7180 GOSUB 11800 18th
7183 PRINT "Vous etes en haut de l'escalier"
7185 IF KEY$<>"" THEN & W 400 ELSE & W 100
7186 RETURN
7190 LX=2:GOSUB10900 19th
7193 PRINT "Vous etes dans la salle bain"
7195 IF KEY$<>"" THEN & W 400 ELSE & W 100
7196 RETURN
7200 LX=1:GOSUB12200 20th
7203 PRINT "Vous etes dans le living room"
7205 IF KEY$<>"" THEN & W 400 ELSE & W 100
7206 RETURN
7210 LX=1:GOSUB11000 21th
7213 PRINT "Vous etes dans une piece enfumee...!"
7215 IF KEY$<>"" THEN & W 400 ELSE & W 100
7216 RETURN
7220 LX=0:GOSUB12200 22th
7223 PRINT "Vous etes dans une grande piece"
7225 IF KEY$<>"" THEN & W 400 ELSE & W 100
7226 RETURN
7230 GOSUB 12300 23th
7233 PRINT "Vous etes dans une piece de rangement"
7235 IF KEY$<>"" THEN & W 400 ELSE & W 100
7236 RETURN
7240 GOSUB12400 24th
7243 PRINT "Vous etes dans le dressing"
7245 IF KEY$<>"" THEN & W 400 ELSE & W 100
7246 RETURN
8000 REM CHARGEMENT VARIABLES
8001 & R 8000: REM RESTORE
8010 V=70:DIM V$(V)
8020 FOR N=1 TO V
8030 READ KO$
8040 V$(N)=KO$
8050 NEXT
8060 DATA 01N,01NORD,02S,02SUD,03E,03EST,04O,04OUEST,05MONT,05GRIM,06DESC
8070 DATA 10PREN,10RAMA,11POSE,12OUVR,13FERM,14ENTR,14AVAN,15ALLU,16ETEI
8080 DATA 17REPA,17DEPA,18LIS,19REGA,20RETO,21RENI,21SENS,22REMP,23VIDE
8090 DATA 24INVE,24LIST,25RIEN,25ATTE,26POIG,27COUT,28TOUR,29LAMP,30CODE
8100 DATA 31ESCA,32PIST,33PLAC,34TORC,35TELE,36MONS,37PETR,38POT,18LIT
8110 DATA 39CLEF,40PAPI,41LIVR,42BRIQ,43COMB,44COFF,45ROUG,46BLEU,47VERT
8120 DATA 48TITR,49ROBI,50CISE,51PORT
8124 DATA 52ACTI,53JETE,53LANCE,54EAU,55ENFI,55PASS,56APPU,56ENFO,57ENLE
8126 DATA 58RENT
8130 O=25:DIM O(O):DIM O$(O)
8140 FOR N=1 TO O
8150 READ KO
8160 O(N)=KO
8170 NEXT
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
8210 FOR N=1 TO O
8220 READ KO$
8230 O$(N)=KO$
8240 NEXT
8250 DATA UNE TORCHE ELECTRIQUE,UN ROBINET,UN CISEAU,UN TOURNEVIS
8260 DATA UNE LAMPE A PETROLE,UNE LAMPE PLEINE,UNE LAMPE ALLUME,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 ALL'EST
8310 DATA UN PISTOLET,UN BRIQUET,UN BRIQUET ALLUME,UN POT,UN POT PLEIN D'EAU
8320 M=25:DIM M$(M)
8330 FOR N=1 TO M
8340 READ KO$
8350 M$(N)=KO$
8360 NEXT
8370 DATA 00,0403030400,030200,04020305010600,04040107032000,020400
8380 DATA 04080109020500,030700,04130207031000
8390 DATA 0409021100,0110031200,041100,030900,0209031500,00,00
8400 DATA00,00,0122032100,040500,0125022200,012100
8410 DATA 0124042200,022300,022100
8430 A=128:DIM A$(A)
8440 FOR N=1 TO A
8450 READ KO$
8460 A$(N)=KO$
8470 NEXT
8480 DATA 1400A01.I02D02M.,0500A03D08.D03N.,0500A03E08E09D24.D04D05I19E02M.
8485 DATA 0500A03E08D24.D04D06N.
8490 DATA 0500A03E07.I19M.,0500A03E03.I19M.,0500A03.I19E02M.,0600A19D08.D03N.
8500 DATA0600A19E08E09D24.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 DATA1840B09.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.,574& E AND18F09.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$(C)
8810 FOR N=1 TO C
8820 READ KO$
8830 C$(N)=KO$
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
10000 & H: & I 0: & S 100,190,1
10005 & D 0,-60,1: & D 97,0,1: & D 7,10,1: & D -97,0,1: & D -7,-10,1: & D 15,-20,1
10010 & D -30,-50,1: & D -15,20,1: & D 30,50,1: & S 100,190,1: & D -30,-50,1
10015 & D 0,-60,1: & S 100,190,1: & D 22,0,1: & D 0,-30,1: & D 15,0,1: & D 0,30,1
10020 & D 60,0,1: & D 0,-50,1: & M 0,-10,1: & D 0,-30,1: & D -67,-40,1
10025 & D -23,30,1: & D -30,-50,1: & D 23,-30,1: & D 30,50,1: & S 197,100,1
10030 & D -45,-60,1: & D -52,-30,1: & S 85,60,1: & D 0,-6,1: & S 115,110,1
10035 & D 0,-30,1: & M 7,0,1: & D 7,-10,1: & D 7,10,1: & D 0,20,1: & D -15,0,1
10040 & D 0,-20,1: & M 7,-10,1: & D 0,30,1: & S 182,100,1: & D -30,0,1
10045 & D 0,20,1: & D 30,0,1: & D 0,-20,1: & M -7,0,1: & D 0,20,1: & M -16,0,1
10050 & D 0,-20,1: & S 122,190,1: & D 13,7,1: & D 0,-30,1: & D -13,-7,1
10055 & S 133,182,1: & S 182,150,1: & D -30,0,1: & D 0,20,1: & D 30,0,1
10060 & D 0,-20,1: & M -7,0,1: & D 0,20,1: & M -16,0,1: & D 0,-20,1
10065 & S 78,130,1: & D 15,25,1: & D 0,-20,1: & D -15,-25,1: & D 0,20,1
10070 & M 3,5,1: & D 0,-20,1: & M 9,15,1: & D 0,20,1: & I 3:RETURN
10100 & H: & I 0: & S 15,190,1: & D 0,-160,1: & D 75,-20,1: & D 0,40,1
10110 & D 0,-40,1: & D 60,0,1: & D 0,20,1: & D 10,10,1: & D -40,0,1: & D 40,0,1
10120 & D 0,3,1: & D -40,0,1: & D 0,-3,1: & D 0,-10,1: & D 30,0,1: & D 0,-20,1
10130 & D 82,20,1: & D 0,160,1: & D -73,-126,1: & D 73,126,3: & D -30,-50,3
10140 & D 0,-80,1: & D -22,-16,1: & D 0,58,1: & M 19,-9,1: & C 1,1
10145 & S 15,190,1: & D 37,-68,1: & D 0,-70,1: & D 18,-13,1: & D 0,50,1
10150 & D -18,33,3: & D 38,-71,1: & D 31,0,1: & D 0,-8,3: & D 0,23,1: & D 3,0,1
10155 & D 0,-23,1: & D 0,8,1: & D 21,0,1: & D 0,-8,1: & D 0,8,1: & D 1,2,1
10157 & D 0,-10,1: & D 0,10,1
10160 & D 2,0,1: & D 0,-10,1: & D 0,8,1: & D 2,0,1: & D 0,-8,1: & D 0,8,1
10165 & D 3,5,1: & D 0,-12,1: & D 0,20,1: & D 2,3,1: & D 0,-23,1: & D 0,23,1
10170 & D 3,0,1: & D 0,-23,1: & S 67,68,1: & C 1,1: & I 3:RETURN
10200 & H: & I 0: & S 15,190,1: & D 0,-120,1: & D 105,-50,1: & D 60,0,1
10205 & D 45,50,1: & D 0,110,1: & D -45,-100,1: & M 0,-60,1: & D 0,60,1
10210 & D -60,0,1: & M 0,-60,1: & D 0,60,1: & D -52,54,1: & S 15,190,1
10215 & D 24,-26,1: & D 0,-104,1: & D 0,60,1: & D 27,14,1: & D 0,-10,1
10220 & D 53,-50,1: & D -6,-2,1: & D -54,47,1: & M 7,3,1: & D -7,-3,1
10225 & D 0,-10,1: & D 53,-44,1: & D 0,8,1: & D 0,-8,1: & D -5,-2,1: & D -56,40,1
10230 & D 9,4,1: & D -9,-4,1: & D 0,-10,1: & D 55,-36,1: & D 0,7,1: & D 0,-7,1
10235 & D -5,-2,1: & D -56,33,1: & D 7,3,1: & D -7,-3,1: & D 0,-10,1
10240 & D -5,-2,1: & D 5,2,1: & D 57,-30,1: & D 0,8,1: & D 0,-8,1: & D -5,-2,1
10245 & D -57,25,1: & D 57,-25,1: & D 0,-7,1: & D -57,24,1: & D 57,-24,1
10250 & D -5,-2,1: & D -16,5,1: & D 16,-5,1: & D 0,-4,1
10255 & S 211,146,1: & D 0,-64,1: & D -15,-20,1: & D 0,52,1: & S 207,108,1
10260 & C 1,1: & S 156,80,1: & D 24,0,0: & D 6,12,0: & D -6,-12,0: & D 0,-40,0
10265 & D -26,0,1: & D 0,40,1: & D 5,12,1: & D 27,0,1: & D 0,-42,1: & D -6,-10,1
10270 & D 6,10,1: & D -27,0,1: & D -4,-10,1: & D 4,10,1: & D 0,42,1
10275 & S 169,70,0: & C 4,1: & S 169,66,1: & D 0,-3,1: & S 169,74,1
10280 & D 0,2,1: & S 165,70,1: & D -2,0,1: & S 173,70,1: & D 2,0,1
10285 & S 165,58,1: & C 1,1: & S 170,58,1: & C 1,1: & S 175,58,1
10290 & C 1,1: & I 3:RETURN
10300 & H: & I 0: & S 15,190,1: & D 67,-110,1: & D 68,0,1: & D 82,110,1
10305 & D 0,-140,1: & D -82,-40,1: & D 0,70,0: & D 0,-70,1: & D -68,0,1
10310 & D 0,70,0: & D 0,-70,1: & D -67,40,1: & D 0,140,1: & S 90,80,1
10315 & D 0,-50,1: & D 24,0,1: & D 0,50,1: & D -24,0,0: & D 18,10,1: & D 0,-50,1
10320 & D -18,-10,1: & S 105,64,1
10325 & S 210,160,1: & D 0,-90,1: & D -23,-14,1: & D 0,74,1: & S 205,110,1
10330 & S 45,140,1: & D 0,-74,1: & D 18,-14,1: & D 0,60,1: & S 60,86,1
10335 IF F1=0 THEN & I 3:RETURN
10400 & I 0: & S 124,80,1: & D 26,0,0: & D 0,-70,0: & D 0,70,0
10401 & S 149,80,0: & D 12,14,0
10402 & S 150,80,0: & D 10,14,0
10405 & S 168,18,1: & D 0,86,1: & D -38,0,1: & D 0,-86,1: & D 38,0,1
10410 & D -38,0,1: & D -6,-8,1: & D 0,70,1: & D 6,24,1
10415 & S 168,94,1: & D -38,0,1: & S 168,94,1: & D -8,-10,1: & S 168,84,1
10420 & D -38,0,1: & S 168,84,1: & D -8,-10,1: & S 168,74,1: & D -38,0,1
10430 & S 168,74,1: & D -9,-10,1: & S 168,64,1: & D -38,0,1: & S 168,64,1
10435 & D -9,-10,1: & S 168,54,1: & D -38,0,1: & S 168,54,1: & D -18,-18,1
10440 & D -18,0,1: & D 18,0,1: & D 0,-16,1
10445 & I 3:RETURN
10500 & H: & I 0: & S 13,180,1: & D 0,-132,1: & D 63,-28,1: & D 83,0,1
10505 & D 67,30,1: & D 0,130,1: & D -11,-14,1: & D -4,-4,0: & D -17,-25,1
10510 & D -24,-36,0: & D -12,-20,1: & D 0,-61,1: & D 0,61,1: & D -83,0,1
10515 & D 0,-60,1: & D 0,60,1: & D -63,100,1: & S 22,90,1: & D 19,0,1
10520 & D 0,-30,3: & D -19,0,1: & D 0,30,1: & D 0,-30,1: & D 33,-20,1
10525 & D 13,0,1: & D 0,20,1: & D -28,30,1: & D 0,-30,1: & D 27,-20,1
10530 & D -11,9,1: & D 0,23,1: & S 52,64,1: & S 60,58,1: & S 157,100,1
10535 & D 30,0,1: & D 29,34,1: & D -40,0,1: & D 0,2,1: & D 40,0,1: & D 0,-2,1
10540 & D 0,2,3: & D -2,0,3: & D 0,34,1: & D -3,0,1: & D 0,-34,1: & D -30,0,1
10545 & D 0,34,1: & D -3,0,1: & D 0,-34,1: & D -2,0,3: & D -20,-34,1: & D 0,-2,1
10550 & D 20,34,1: & S 159,104,1: & D 0,24,1: & D 3,0,1: & D 0,-18,1
10555 & I 3:RETURN
10600 & H: & I 0: & S 15,190,1: & D 0,-130,1: & D 75,-50,1
10605 & D 52,0,1: & D 90,50,1: & D 0,130,1: & D -22,-32,1: & D 0,-52,1
10610 & D -3,-5,1: & D -42,-43,1: & D -6,0,1: & D -2,4,1: & D 0,10,1: & D -12,0,1
10613 & D 5,0,1: & D -7,-10,1: & D 0,-50,1: & D 0,50,1
10615 & D -22,0,1: & D 0,-30,1: & D -15,0,1: & D 13,3,1: & D 0,30,1
10620 & D -13,-3,1: & D 0,-30,1: & D 0,30,1: & D -15,0,1: & D 0,-50,1: & D 0,50,1
10625 & D -23,40,1: & D -22,0,1: & D 22,0,1: & D 0,-52,1: & D -22,22,1: & D 0,70,1
10630 & D -30,50,1: & S 116,49,1: & S 210,158,1: & D -45,0,1: & D 0,-18,1
10633 & D 0,18,1
10635 & D -26,-60,0: & D 0,-10,1: & D 6,-16,1: & D 12,0,3: & D 4,4,1: & D -12,0,1
10640 & D -4,-4,1: & D 4,4,1: & D -6,14,1: & D 10,-2,1: & D 9,0,1: & D 0,-11,1
10645 & D 0,11,1: & D 19,25,1: & S 165,140,1: & D 10,-20,1: & D 21,0,1
10650 & D -5,-7,1: & D -21,0,1:: & D 5,7,1: & D -5,-7,1: & D -7,14,1
10655 & D -20,-37,1: & S 165,140,1: & D -26,-50,1: & S 165,158,1
10660 & D -26,-59,1: & D 0,-1,1: & S 196,120,1: & D 0,-14,1: & D 2,-5,1
10665 & D 9,0,1: & D -9,0,1: & D -39,-43,1
10670 & I 3:RETURN
10700 & H: & I 0: & S 15,190,1: & D 57,-106,1: & D -57,106,1: & D 0,-150,1
10705 & D 67,-30,1: & D 0,32,1: & D 0,-32,1: & D 75,0,1: & D 0,50,1: & D 0,-50,1
10710 & D 75,30,1: & D 0,150,1: & D -75,-130,1: & S 202,138,1: & D 0,-78,1
10715 & D -22,-18,1: & D 0,56,1: & S 157,60,1: & D -9,0,1: & D 2,3,3
10720 & D -78,0,1: & D 0,8,1: & D 78,0,2: & D 0,-8,1: & D 0,20,1
10725 & D -78,0,1: & D 0,-38,1: & D 10,-12,1: & S 82,42,1: & D -10,13,1
10730 & D 6,1,1: & D 9,-13,1: & D -4,-1,1: & D 4,1,1: & D 0,6,1: & D -9,13,1
10735 & D 0,1,1: & D 0,-7,1: & D 0,6,1: & D 9,-13,1: & D 55,0,1: & D 8,15,1
10738 IF LX=2 THEN GOTO 10745
10740 & S 197,93,1: & C 1,1
10745 IF LX=0 THEN & I 3:RETURN
10750 IF LX=1 THEN GOTO 10780
10755 & S 202,137,0: & D 0,-77,0: & D -22,-18,0: & D 0,55,0
10760 & S 30,162,1: & D 26,-49,0: & D 0,1,0: & D -26,49,0
10765 & S 30,162,1: & D 0,-80,1: & D 22,-22,1: & D 0,9,1: & D 0,-9,1
10770 & D -22,22,1: & D 27,-15,1: & D 0,77,1: & D -25,18,1: & S 51,111,1
10775 & C 1,1: & I 3:RETURN
10780 & S 30,50,1: & D 0,40,1: & D 22,-24,1: & D 0,-29,1: & D -22,14,1
10785 & D 12,-8,3: & D 0,33,1
10790 & I 3:RETURN
10800 & H: & I 0: & S 15,190,1: & D 0,-140,1: & D 82,-40,1: & D 53,0,1
10805 & D 75,40,1: & D 0,140,1: & D -30,-50,1: & D 0,-80,1: & D -26,-22,1
10810 & D 0,60,1: & D 26,0,1: & D -26,0,1: & D -19,-30,1: & D 0,-58,1
10812 & D 0,58,1: & D -22,0,1
10815 & D 0,-40,1: & D -15,0,1: & D 13,4,1: & D 0,40,1: & D -13,-4,1: & D 0,-40,1
10820 & D 0,40,1: & D -15,0,1: & D 0,-58,1: & D 0,58,1: & D -30,42,1: & D -22,0,1
10825 & D 22,0,1: & D 0,-68,1: & D -22,16,1: & D 0,86,1: & D -30,43,1
10830 & S 123,52,1: & I 3:RETURN
10900 & H: & I 0: & S 232,190,1: & D 0,-150,1: & D -82,-30,1: & D 0,50,1
10905 & D 0,-50,1: & D -60,0,1: & D 0,50,1: & D 0,-50,1: & D -75,30,1: & D 0,150,1
10910 IF LX=0 THEN & D 75,-130,1: & D -23,40,3:GOTO10920
10915 & D 30,-52,1: & D -30,52,1: & D 75,-130,3: & D -23,40,1: & D -22,0,1
10918 & D 22,0,1
10920 & D 0,-58,1: & D -22,16,1: & D 0,80,1
10925 & S 90,60,1: & D 60,0,1: & D 82,130,1
10930 IF LX=0 THEN & S 63,78,1: & C 1,1: & I 3:RETURN
10935 IF LX=1 THEN & I 3:RETURN
10940 & S 210,100,1: & D -15,0,1: & D -3,-10,1: & D 18,0,1: & D 0,10,1
10945 & D 0,-10,1: & D -27,-25,1: & D 0,5,1: & D 20,20,1: & D -20,-20,1
10950 & D -8,0,1: & D 8,0,1: & D 0,-5,1: & D -12,0,1: & D 21,25,1: & D -21,-25,1
10955 & D -1,0,1: & D 2,8,1: & D 21,26,1
10960 & I 3:RETURN
11000 & H: & I 0: & S 15,190,1: & D 0,-150,1: & D 82,-30,1: & D 0,40,1
11005 & D 0,-40,1: & D 60,0,1: & D 0,40,1: & D 0,-40,1: & D 75,30,1: & D 0,150,1
11010 & D -22,-42,1: & D 0,-75,1: & D -23,-21,1: & D 0,52,1: & D 23,0,1
11015 & D -23,0,1: & D -30,-54,1: & D -60,0,1: & D -82,140,0: & D 82,-140,1
11020 & D 15,0,1: & D 0,-24,1: & D 12,0,1: & D 0,24,1: & M -3,-12,1
11025 IF LX=0 THEN & I 3:RETURN
11030 & S 187,104,1: & D 22,0,0: & M -22,0,1: & D 23,44,1: & M -5,-45,1
11035 & C 1,1: & S 30,50,1: & D 0,40,1: & D 37,-34,1: & D 0,-25,1: & D -37,20,1
11040 & D 21,-10,3: & D 0,31,1: & I 3:RETURN
11500 & H: & I 0: & S 15,180,1: & D 0,-140,1: & D 67,-30,1: & D 75,0,1
11505 & D 67,30,1: & D 0,150,1: & D -42,-70,1: & D 0,-70,1: & D -24,-20,1
11510 & D 0,-20,1: & D 0,20,1: & D -45,0,1: & D -15,20,1: & D 85,0,1: & D -33,0,1
11515 & D 0,70,1: & D 33,0,1: & D -34,0,1: & D -14,-40,1: & D 0,-30,1: & D 0,30,1
11520 & D -22,0,1: & D 0,-30,1: & D 0,30,1: & D -15,40,1: & D 0,-70,1: & D 0,30,1
11525 & D -15,0,1: & D 0,-70,1: & D 0,70,1: & D -67,100,1
11530 & S 167,60,1: & C 1,1: & M 0,10,1: & C 1,1: & M 0,10,1: & C 1,1
11540 & M 0,20,1: & D 6,2,1: & D -6,-2,1: & C 8,1
11545 REM POKE 43346,1:POKE 43348,3:POKE 43386,1:POKE 43388,3
11550 REM POKE 43746,4:POKE 43748,3:POKE 43786,4:POKE 43788,3
11555 REM POKE 44146,2:POKE 44148,3:POKE 44186,2:POKE 44188,3
11560 & I 3:RETURN
11700 & H: & I 0: & S 15,190,1: & D 0,-140,1: & D 60,-40,1: & D 75,00,1
11705 & D 82,40,1: & D 0,140,1: & D -45,-72,3: & D 0,-54,1: & D -15,-14,1
11710 & D 0,44,1: & S 232,190,1: & D -82,-130,1: & D 0,-50,1: & D 0,50,1
11715 & D -75,0,1: & D 0,-50,1: & D 0,50,1: & D -4,10,1: & D 9,0,1: & D -23,0,1
11720 & D -34,50,1: & D 39,0,1: & D 18,-50,1: & D 0,4,1: & D -18,52,1
11725 & D 0,-6,1: & D 0,6,1: & D -39,0,1: & D 0,-6,1
11730 & S 15,190,1: & D 15,-33,1: & D 0,-30,1
11735 & D 4,0,3: & D 0,37,1: & D -4,0,1: & D 0,-7,1: & D 0,7,1: & D 4,0,1
11740 : & D 3,-8,1: & D 0,-29,1: & D 15,0,3: & D 0,37,1: & D 4,0,1: & D 0,-37,1
11745 & D 0,37,1: & D 3,-8,1: & D 0,-29,1: & D -14,0,3: & D -7,16,1
11750 & S 74,93,1: & D 0,12,1: & D 3,0,1: & D 0,-19,1: & D 0,19,1
11755 & D 2,-7,1: & D 0,-18,1
11760 & S 184,86,1: & I 3:RETURN
11800 & H: & I 0: & S 15,199,1: & D 0,-160,1: & D 75,-30,1: & D 52,0,1
11805 & D 90,30,1: & D 0,160,1: & S 15,199,1: & D 75,-140,1: & D 0,-50,1
11810 & D 0,50,1: & D 15,0,1: & D 0,-30,1: & D 12,4,1: & D 0,30,1: & D -12,-4,1
11815 & D 0,-30,1: & D 15,0,1: & D 0,30,1: & D 22,0,1: & D 0,-50,1: & D 0,50,1
11820 & D 36,55,1: & D 21,0,1: & D -21,0,1: & D 0,-60,1: & D 21,15,1: & D 0,74,1
11825 & D 6,8,1: & D -106,0,1: & D -15,46,1: & D 15,-46,1: & D 0,10,1: & D 106,0,1
11830 & D 0,-10,1: & D 0,10,1: & D 4,5,1: & D -112,0,1: & D 2,-5,1: & D -2,5,1
11835 & D 0,10,1: & D 112,0,1: & D 0,-10,1: & D 0,10,1: & D 4,6,1: & D -119,0,1
11840 & D 3,-6,1: & D -3,6,1: & D 0,10,1: & D 119,0,1: & D 0,-10,1: & D 0,10,1
11845 & D 4,6,1: & D -126,0,1: & D 3,-6,1: & S 115,49,1
11850 & I 3:RETURN
12200 & H: & I 0: & S 15,190,1: & D 0,-150,1: & D 75,-30,1: & D 0,50,1
12205 & D 0,-50,1: & D 60,0,1: & D 0,50,1: & D 0,-50,1: & D 82,30,1: & D 0,150,1
12210 & D -82,-130,1: & D -45,0,1: & D 0,-30,1: & D 15,0,1: & D 0,30,1: & D -30,0,1
12215 & D -30,53,1:IF LX=2 THEN & D -23,0,1: & D 23,0,1
12220 & D 0,-60,1: & D -23,17,1: & D 0,80,1
12225 IF LX<>2 THEN & D 23,-37,1: & D -23,37,1
12230 & D -22,40,1:IF LX<>2 THEN & S 57,88,1: & C 1,1
12235 IF LX<>0 THEN & S 117,45,1: & C 1,1: & I 3:RETURN
12240 & S 105,60,1: & D 15,0,0: & M -15,0,1: & D 0,-30,1: & D 12,3,1
12245 & D 0,30,1: & D -12,-4,1: & S 115,48,1: & I 3:RETURN
12299 GOTO14000
12300 & H: & I 0: & S 15,190,1: & D 0,-150,1: & D 67,-30,1: & D 67,0,1
12310 & D 82,30,1: & D 0,150,1: & D -65,-104,1: & D 0,-54,1: & D -16,-10,1
12315 & D 0,-10,1: & D 0,10,1: & D -37,0,1: & D -3,10,1: & D 0,54,1: & D 56,0,1
12320 & D 0,-54,1: & D -28,0,1: & D 0,54,1: & D 0,-54,1: & D -28,0,1: & D 0,30,1
12325 & D -27,0,1: & D 0,-50,1: & D 0,50,1: & D -67,130,1
12330 & S 133,60,1: & C 1,1: & M 11,0,1: & C 1,1
12340 & I 3:RETURN
12400 & H: & I 0: & S 30,164,1: & D -15,26,1: & D 0,-143,1: & D 15,-7,1
12405 & D 0,124,1: & D 15,0,1: & D 0,-124,1: & D -15,0,1: & D 15,0,1: & D 45,-30,1
12410 & D 0,13,1: & D 0,-13,1: & D 60,0,1: & D 0,50,1: & D 0,-50,1: & D 82,30,1
12415 & D 0,150,1: & D -82,-130,1: & D -50,0,1: & D -32,104,1: & D -22,0,1
12420 & D 22,0,1: & D 0,-92,1: & D -22,0,1: & D 44,-48,1: & D 10,0,1: & D -32,48,1
12425 & D 32,-48,1: & D 0,35,1: & D -14,46,3: & D 0,-61,1
12430 & S 81,88,1: & C 1,1: & M 11,-21,1: & C 1,1: & I 3:RETURN
12499 GOTO14000
13000 & H: & I 0: & S 75,62,1: & D -5,0,1: & D -55,108,1: & D 37,-10,1
13005 & D 30,-90,1: & D -19,5,1: & D 19,-5,1: & D 20,5,1: & D -12,94,1
13007 & D -38,-10,1: & D 38,10,1: & D 0,20,1: & D -75,0,1: & D 0,-20,1
13010 & D 0,20,1: & D 75,0,1: & D 15,-112,1: & D 0,-15,1
13012 & D -3,14,1: & D 3,-14,1: & D -13,0,1
13015 & D 0,-12,1: & D 0,12,1: & D -4,10,1: & D 0,-22,1: & D 12,0,1
13020 & D 4,-7,1: & D 0,-15,1: & D -4,6,1: & D 0,16,1: & D 0,-16,1: & D -12,0,1
13025 & D 4,-6,1: & D 12,0,1: & D -12,0,1: & D 0,-16,1: & D -4,6,1: & D 0,16,1
13030 & D 0,-16,1: & D -12,0,1: & D 4,-6,1: & D 12,0,1: & D -12,0,1: & D -4,6,1
13035 & D 0,16,1: & D -12,0,1: & D 4,-6,1: & D 7,0,1: & D -7,0,1: & D -4,6,1
13040 & D 0,16,1: & D 12,0,1: & D 0,22,1
13045 & I 3:RETURN
20000 GOSUB 13000 'TOMBE
20010 GOSUB 30000 'SARABANDE
20100 TEXT: PRINT: PRINT: PRINT: PRINT: PRINT "Voulez-vous rejouer ?":GET X$
20105 IF X$="O" THEN RUN 45
20110 IF X$="N" THEN GOTO 20200
20120 GOTO 20100
20200 HOME: PRINT: PRINT: PRINT: PRINT " AU REVOIR"
20210 END
30000 REM SARABANDE
30001 RETURN
30005 & R 30000: REM RESTORE
30010 FOR N=1 TO 41:READ Y$,Y$,Y$,Y$,Y$,Y$,Y$:NEXT
30015 FOR N=1 TO 75
30020 READ A1,A2,A3,A4,A5
30025 READ A6,A7,A8,A9,A0
30030 REM MUSIC1,A1,A2,A3:MUSIC2,A4,A5,A6:MUSIC3,A7,A8,A9:PLAY7,0,0,100: & W A0
30032 REM IF N>70 THEN NEXT:PLAY0,0,0,0:RETURN
30035 REM PLAY0,0,0,0:NEXT
30040 DATA 3,6,8,3,3,8,2,10,8,80
30045 DATA 3,6,8,3,3,8,2,10,8,80
30050 DATA 0,1,1,0,1,1,0,1,1,40
30055 DATA 3,8,8,3,5,8,0,1,1,40
30060 DATA 3,5,8,3,2,8,2,10,8,80
30065 DATA 3,5,8,3,2,8,2,10,8,40
30070 DATA 1,11,8,0,1,1,0,1,1,40
30075 DATA 1,10,8,0,1,1,0,1,1,40
30080 DATA 1,8,8,0,1,1,0,1,1,40
30085 DATA 3,10,8,3,6,9,3,1,8,80
30090 DATA 3,10,8,3,6,9,3,1,8,80
30095 DATA 0,1,1,0,1,1,0,1,1,40
30100 DATA 3,11,8,3,8,8,0,1,1,40
30105 DATA 3,8,8,3,5,8,3,1,8,80
30110 DATA 3,8,8,3,5,8,3,1,8,40
30115 DATA 2,1,8,0,1,1,0,1,1,40
30120 DATA 1,11,8,0,1,1,0,1,1,40
30125 DATA 1,10,8,3,7,8,3,10,8,40
30130 DATA 3,11,8,3,8,8,3,3,8,80
30135 DATA 3,11,8,3,8,8,3,3,8,80
30140 DATA 1,8,8,0,1,1,0,1,1,40
30145 DATA 1,8,8,3,10,8,4,1,8,40
30150 DATA 3,10,8,3,6,8,3,3,8,80
30155 DATA 3,10,8,3,6,8,3,3,8,80
30160 DATA 0,1,1,0,1,1,0,1,1,40
30165 DATA 3,10,8,2,1,8,0,1,1,40
30170 DATA 4,3,8,3,10,8,1,11,8,80
30175 DATA 4,3,8,3,8,8,2,11,9,80
30180 DATA 0,1,1,0,1,1,0,1,1,40
30185 DATA 4,5,8,0,1,1,0,1,1,40
30190 DATA 4,2,8,3,10,8,3,5,8,80
30195 DATA 4,2,8,3,10,8,3,5,8,40
30200 DATA 2,8,8,0,1,1,0,1,1,40
30202 DATA 2,6,8,0,1,1,0,1,1,40
30203 DATA 2,5,8,0,1,1,0,1,1,40
30205 DATA 3,6,8,3,3,8,2,10,8,80
30210 DATA 3,6,8,3,3,8,2,10,8,80
30215 DATA 0,1,1,0,1,1,0,1,1,40
30220 DATA 3,8,8,3,5,8,0,1,1,40
30225 DATA 3,5,8,3,2,8,2,10,8,80
30230 DATA 3,5,8,3,2,8,2,10,8,40
30235 DATA 1,11,8,0,1,1,0,1,1,40
30240 DATA 1,10,8,0,1,1,0,1,1,40
30245 DATA 1,8,8,0,1,1,0,1,1,40
30250 DATA 3,10,8,3,6,9,3,1,8,80
30255 DATA 3,10,8,3,6,9,3,1,8,80
30260 DATA 0,1,1,0,1,1,0,1,1,40
30265 DATA 3,11,8,3,8,8,0,1,1,40
30270 DATA 3,8,8,3,5,8,3,1,8,80
30275 DATA 3,8,8,3,5,8,3,1,8,40
30280 DATA 2,1,8,0,1,1,0,1,1,40
30285 DATA 1,11,8,0,1,1,0,1,1,40
30290 DATA 1,10,8,3,7,8,3,10,8,40
30295 DATA 3,11,8,3,8,8,3,3,8,80
30300 DATA 2,8,8,0,1,1,0,1,1,40
30305 DATA 3,11,8,3,8,8,3,1,8,40
30310 DATA 2,8,8,0,1,1,0,1,1,40
30315 DATA 2,1,8,0,1,1,0,1,1,40
30320 DATA 4,1,8,2,5,8,0,1,1,40
30325 DATA 3,10,8,3,6,8,3,1,8,80
30330 DATA 3,10,8,2,3,8,0,1,1,40
30335 DATA 4,3,8,3,6,8,2,11,8,40
30340 DATA 4,2,8,0,1,1,0,1,1,40
30345 DATA 4,3,8,3,11,8,2,8,8,40
30350 DATA 4,5,8,0,1,1,0,1,1,40
30355 DATA 4,6,8,3,10,8,2,10,8,80
30360 DATA 4,5,8,3,8,8,1,10,8,40
30365 DATA 0,1,1,3,8,8,1,10,8,40
30370 DATA 4,3,8,0,1,1,0,1,1,40
30375 DATA 4,3,8,3,6,8,2,3,8,80
30380 DATA 3,3,8,3,10,8,3,6,8,40
30385 DATA 3,3,7,3,10,7,3,6,7,40
30390 DATA 3,3,6,3,10,6,3,6,6,40
30395 DATA 3,3,5,3,10,5,3,6,5,40
30400 DATA 3,3,4,3,10,4,3,6,5,40
32000 REM TEA FOR TWO
32001 GOTO 33000
32002 & R 32000: REM RESTORE
32004 FOR N=1 TO 166:READ Y$,Y$,Y$,Y$,Y$,Y$,Y$,Y$:NEXT
32005 FOR N=1 TO 110
32010 READ A1,A2,A3
32015 REM MUSIC1,A1,A2,10:PLAY1,0,0,100: & W A3
32020 REM PLAY0,0,0,0
32022 NEXT
32025 DATA 4,6,45,4,3,15,4,5,45,4,3,15,4,6,45,4,3,15,4,5,45
32030 DATA 4,1,15,4,5,45,4,1,15,4,3,45,4,1,15,4,5,45,4,1,15
32035 DATA4,3,45,4,1,15,4,6,45,4,3,15,4,5,45,4,3,15,4,6,45
32040 DATA4,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
32045 DATA4,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
32050 DATA4,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
32055 DATA4,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
32060 DATA4,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
32065 DATA4,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
32070 DATA4,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
32075 DATA4,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
32080 DATA5,1,45,5,1,15,4,11,45,4,11,15,4,10,45,4,10,15,4,8,45,4,8,15
32085 DATA4,6,45,4,3,15,4,5,45,4,3,15
32090 DATA4,6,45,4,3,15,4,5,45,4,10,15,4,6,120
33000 TEXT:HOME:NORMAL
33002 GOSUB 50000
33003 RETURN: REM LOGO
33005 FOR N=1 TO 331:READ Y$,Y$,Y$,Y$,Y$:NEXT:READ Y$,Y$,Y$
33010 FOR N=46360 TO 46423
33020 READ GH:POKE N,GH
33030 NEXT
33040 DATA 1,2,4,4,4,2,3,1,48,32,24,16,32,16,32,32
33050 DATA 2,6,9,8,8,8,4,6,16,16,8,40,26,12,10,16
33060 DATA 7,8,8,16,16,8,28,0,48,8,8,4,4,2,3,0
33070 DATA 3,4,4,6,2,2,3,0,48,24,8,4,4,4,6,0
33100 FOR N=48802 TO 48836 STEP 2
33110 POKE N,35:POKE N+1,36:POKE N+40,37:POKE N+41,38:POKE N+80,39:POKE N+81,40
33120 REM & W 48836-N
33130 POKE N,32:POKE N+40,32:POKE N+80,32
33140 POKE N+1,35:POKE N+2,36:POKE N+41,37:POKE N+42,38:POKE N+81,41:POKE N+82,42
33150 REM & W 48836-N
33160 POKE N+1,32:POKE N+41,32:POKE N+81,32
33170 NEXT
33180 POKE N,32:POKE N+40,32:POKE N+80,32
33190 REM CALL#F89B
33200 RETURN
50000 PRINT: PRINT " Cela est exceptionnel,vous etes le premier a etre sorti vivant";
50010 PRINT " de cette": PRINT: PRINT "maison , mais je serais vous , je me ": PRINT "mettrais a ";
50020 PRINT "courrir car un nain rode": PRINT: PRINT "peut etre dans les parages"
50030 RETURN

View File

@ -0,0 +1,107 @@
1 REM
2 REM COPYRIGHT LORICIELS 83 L.BENES
3 REM LE MANOIR DU DOCTEUR GENIUS
4 REM VERSION APPLE II REALISEE EN 2023
5 REM PAR BRUTAL DELUXE SOFTWARE : ANTOINE VIGNAU & OLIVIER ZARDINI
6 HOME: TEXT: NORMAL: HTAB 4: VTAB 12: PRINT "LORICIELS EST FIER DE PRESENTER :"
7 PRINT CHR$(4)"BLOAD AMPERSAND,A$1800": CALL 6144: REM $1800
8 HOME
9 REM ... COPYRIGHT LORICIELS TOUT DROIT DE REPRODUCTION INTERDIT .....
10 HTAB 3: VTAB 1: PRINT "@ @@@ @ @ @@@ @ @ @@@ @ @@@"
11 HTAB 3: VTAB 2: PRINT "@ @ @@ @@ @ @ @@ @ @ @ @ @ @"
12 HTAB 3: VTAB 3: PRINT "@ @@ @ @ @ @@@ @@@@ @ @ @ @@@"
13 HTAB 3: VTAB 4: PRINT "@ @ @ @ @ @ @ @@ @ @ @ @@"
14 HTAB 3: VTAB 5: PRINT "@@@ @@@ @ @ @ @ @ @ @@@ @ @ @"
15 HTAB 6: VTAB 7: PRINT "@@ @ @ @@"
16 HTAB 6: VTAB 8: PRINT "@ @ @ @ @ @ @"
17 HTAB 6: VTAB 9: PRINT "@ @ @ @ @ @ @@"
18 HTAB 6: VTAB 10: PRINT "@ @ @ @ @ @ @ @"
19 HTAB 6: VTAB 11: PRINT "@@@ @@@ @@@ @"
20 HTAB 3: VTAB 14: PRINT "@@@@ @@@@ @@ @ @ @ @ @@@@"
21 HTAB 3: VTAB 15: PRINT "@ @ @ @@ @ @ @ @ @"
22 HTAB 3: VTAB 16: PRINT "@ @ @@@ @ @ @ @ @"
23 HTAB 3: VTAB 17: PRINT "@ @@@ @ @ @ @ @ @ @@@@"
24 HTAB 3: VTAB 18: PRINT "@ @@ @ @ @@@ @ @ @ @"
25 HTAB 3: VTAB 19: PRINT "@ @ @ @ @@ @ @ @ @"
26 HTAB 3: VTAB 20: PRINT "@@@@ @@@@ @ @@ @ @@@@ @@@@ @ @"
30 HTAB 6: VTAB 22: PRINT " VERSION APPLE II PAR ": & W 1000
31 HTAB 6: VTAB 22: PRINT " BRUTAL DELUXE SOFTWARE ": & W 1000
32 HTAB 6: VTAB 22: PRINT " MERCI FRED_72 ": & W 1000
33 HTAB 6: VTAB 22: PRINT "(C) 1983, L. BENES & LORICIELS"
34 GOSUB 31000: GOSUB 51000
40 HOME: PRINT: PRINT: PRINT: PRINT
41 PRINT " La liste des instructions (O/N) ?"
42 GET V$
43 IF V$="O" THEN 50
44 IF V$="N" THEN 60
45 GOTO 42
50 HOME: PRINT: PRINT "Vous voici arrive dans le manoir du Dr Genius..."
51 & W 350: PRINT: PRINT "Pour converser avec l'ordinateur,il faut rentrer les ordres"
52 & W 300: PRINT: PRINT "en 1 ou 2 mots tels que:": PRINT: & W 200: PRINT " NORD"
53 & W 200: PRINT: PRINT " PRENDS PILLULE"
54 & W 200: PRINT: PRINT "ou pour commencer:";: & W 150: PRINT "ENTRE"
55 & W 300: PRINT: PRINT: PRINT "Si vous voulez faire durer la phrase decrivant";
56 PRINT " la salle taper une touche": & W 400
57 PRINT: PRINT: PRINT: PRINT: PRINT " pressez une touche": GET X$
58 HOME: PRINT: PRINT " Un dernier conseil:";: & W 200: PRINT "Il peut parfois": PRINT
59 PRINT "y avoir une porte derriere vous.": & W 1000
60 HOME: HTAB 12: VTAB 12: FLASH: PRINT "VEUILLEZ PATIENTER": NORMAL
61 POKE 16384,0: POKE 103,1: POKE 104,64: REM $4001
62 PRINT CHR$(4);"RUN JEU"
31000 REM BADINERIE
31005 RETURN: REM RESTORE
31010 FOR N=1 TO 148:READ Y$,Y$,Y$,Y$,Y$,Y$,Y$:NEXT
31012 READ Y$
31015 FOR N=1 TO 97
31020 READ A1,A2,A3
31022 REM MUSIC1,A1,A2,10:PLAY1,0,0,100:& W A3
31025 REM PLAY 0,0,0,0:NEXT
31026 NEXT
31030 DATA 4,12,20,5,3,10,4,12,10,4,7,20
31035 DATA 4,12,10,4,7,10,4,3,20,4,7,10
31040 DATA 4,3,10,3,12,40,3,7,10,3,12,10
31045 DATA 4,3,10,3,12,10,4,2,10,3,12,10
31050 DATA 4,2,10,3,12,10,3,11,10,4,2,10
31055 DATA 4,5,10,4,2,10,4,3,20,3,12,20
31060 DATA 4,12,20,5,3,10,4,12,10,4,7,20
31065 DATA 4,12,10,4,7,10,4,3,20,4,7,10
31070 DATA 4,3,10,3,12,40,4,3,20,4,3,20
31075 DATA 4,3,20,4,3,20,4,12,20,4,3,20
31080 DATA 4,3,7,4,5,7,4,3,7
31085 DATA 4,2,20,4,7,20,4,7,20,4,7,20
31090 DATA 4,7,20,5,3,20,4,7,20,4,7,7
31100 DATA 4,8,7,4,7,7,4,6,20,4,2,10
31105 DATA 4,7,10,4,10,10,4,7,10,4,9,10
31115 DATA 4,7,10,4,6,10,4,9,10,4,12,10
31120 DATA 4,9,10,4,10,10,4,9,10,4,10,10
31125 DATA 4,9,10,4,7,10,4,10,10,4,7,10
31130 DATA 4,6,10,4,7,10,4,12,10,4,7,10
31145 DATA 4,6,10,4,7,10,5,2,10,4,7,10
31150 DATA 4,6,10,4,7,10,5,3,10,4,7,10
31155 DATA 4,6,10,4,7,10,5,3,10,5,2,10
31160 DATA 4,12,10,5,2,10,4,10,10,4,9,10
31165 DATA 4,7,10,4,10,10,4,9,7,4,10,7,4,9,7,4,7,20
31170 RETURN
51000 HOME: PRINT: PRINT: PRINT "ATTENTION .................
51005 PRINT: PRINT "L'utilisation de ce programme est"
51010 PRINT: PRINT "deconseillee aux personnes sensibles"
51020 PRINT: PRINT "aux enfants en bas age,ainsi qu'a"
51030 PRINT: PRINT "toute personne susceptible d'avoir"
51040 PRINT: PRINT "des malaises cardiaques."
51050 PRINT: PRINT "Nous ne pourrions etre tenu responsa-"
51060 PRINT: PRINT "bles,des troubles physiques ou mentaux"
51070 PRINT: PRINT "provoques par votre echec dans"
51080 PRINT: PRINT "le Manoir du Dr GENIUS ............."
51099 & W 1000
51100 RETURN

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

File diff suppressed because it is too large Load Diff