25
|
1 ********************************************************************
|
|
2 * progname - program module
|
|
3 *
|
|
4 * $Id$
|
|
5 *
|
|
6 * Ed. Comments Who YY/MM/DD
|
|
7 * ------------------------------------------------------------------
|
|
8 * - Original Basic09 from Dragon Data distribution version
|
|
9 *
|
|
10 * $Log$
|
|
11 * Revision 1.1 2002/04/06 14:47:31 roug
|
|
12 * Prego; The basic09 interpreter.
|
|
13 *
|
|
14 *
|
|
15
|
|
16 nam GFX
|
|
17 ttl subroutine module
|
|
18
|
|
19 * Disassembled 02/04/06 16:39:17 by Disasm v1.6 (C) 1988 by RML
|
|
20
|
|
21 ifp1
|
|
22 use /dd/defs/os9defs
|
|
23 endc
|
|
24 tylg set Sbrtn+Objct
|
|
25 atrv set ReEnt+rev
|
|
26 rev set $01
|
|
27 mod eom,name,tylg,atrv,start,size
|
|
28 u0000 rmb 0
|
|
29 size equ .
|
|
30 name equ *
|
|
31 fcs /GFX/
|
|
32 fcb $01
|
|
33 L0011 fcb $01
|
|
34 fcb $2B +
|
|
35 fcb $41 A
|
|
36 fcb $6C l
|
|
37 fcb $70 p
|
|
38 fcb $68 h
|
|
39 fcb $61 a
|
|
40 fcb $FF
|
|
41 fcb $01
|
|
42 fcb $02
|
|
43 fcb $43 C
|
|
44 fcb $69 i
|
|
45 fcb $72 r
|
|
46 fcb $63 c
|
|
47 fcb $6C l
|
|
48 fcb $65 e
|
|
49 fcb $FF
|
|
50 fcb $00
|
|
51 fcb $C7 G
|
|
52 fcb $43 C
|
|
53 fcb $6C l
|
|
54 fcb $65 e
|
|
55 fcb $61 a
|
|
56 fcb $72 r
|
|
57 fcb $FF
|
|
58 fcb $00
|
|
59 fcb $AE .
|
|
60 fcb $43 C
|
|
61 fcb $6F o
|
|
62 fcb $6C l
|
|
63 fcb $6F o
|
|
64 fcb $72 r
|
|
65 fcb $FF
|
|
66 fcb $01
|
|
67 fcb $8E
|
|
68 fcb $47 G
|
|
69 fcb $43 C
|
|
70 fcb $6F o
|
|
71 fcb $6C l
|
|
72 fcb $72 r
|
|
73 fcb $FF
|
|
74 fcb $01
|
|
75 fcb $74 t
|
|
76 fcb $47 G
|
|
77 fcb $4C L
|
|
78 fcb $6F o
|
|
79 fcb $63 c
|
|
80 fcb $FF
|
|
81 fcb $01
|
|
82 fcb $BF ?
|
|
83 fcb $4A J
|
|
84 fcb $6F o
|
|
85 fcb $79 y
|
|
86 fcb $53 S
|
|
87 fcb $74 t
|
|
88 fcb $6B k
|
|
89 fcb $FF
|
|
90 fcb $00
|
|
91 fcb $D7 W
|
|
92 fcb $4C L
|
|
93 fcb $69 i
|
|
94 fcb $6E n
|
|
95 fcb $65 e
|
|
96 fcb $FF
|
|
97 fcb $00
|
|
98 fcb $A2 "
|
|
99 fcb $4D M
|
|
100 fcb $6F o
|
|
101 fcb $64 d
|
|
102 fcb $65 e
|
|
103 fcb $FF
|
|
104 fcb $00
|
|
105 fcb $A6 &
|
|
106 fcb $4D M
|
|
107 fcb $6F o
|
|
108 fcb $76 v
|
|
109 fcb $65 e
|
|
110 fcb $FF
|
|
111 fcb $00
|
|
112 fcb $B2 2
|
|
113 fcb $50 P
|
|
114 fcb $6F o
|
|
115 fcb $69 i
|
|
116 fcb $6E n
|
|
117 fcb $74 t
|
|
118 fcb $FF
|
|
119 fcb $01
|
|
120 fcb $2F /
|
|
121 fcb $51 Q
|
|
122 fcb $75 u
|
|
123 fcb $69 i
|
|
124 fcb $74 t
|
|
125 fcb $FF
|
|
126 fcb $00
|
|
127 fcb $00
|
|
128 start equ *
|
|
129 leas -$09,s
|
|
130 ldd $0B,s
|
|
131 beq L00AD
|
|
132 tsta
|
|
133 bne L00AD
|
|
134 leau >L0011,pcr
|
|
135 L007D ldy ,u++
|
|
136 beq L00A9
|
|
137 ldx $0D,s
|
|
138 L0084 lda ,x+
|
|
139 eora ,u+
|
|
140 anda #$DF
|
|
141 beq L0094
|
|
142 leau -$01,u
|
|
143 L008E tst ,u+
|
|
144 bpl L008E
|
|
145 bra L007D
|
|
146 L0094 tst -$01,u
|
|
147 bpl L0084
|
|
148 tfr y,d
|
|
149 leay >L0011,pcr
|
|
150 leay d,y
|
|
151 leax ,s
|
|
152 leau <$11,s
|
|
153 ldd $0B,s
|
|
154 jmp ,y
|
|
155 L00A9 ldb #$30
|
|
156 bra L00AF
|
|
157 L00AD ldb #$38
|
|
158 L00AF coma
|
|
159 leas $09,s
|
|
160 rts
|
|
161 lda #$0F
|
|
162 bra L00B9
|
|
163 lda #$15
|
|
164 L00B9 cmpb #$03
|
|
165 bne L00AD
|
|
166 bra L010B
|
|
167 lda #$11
|
|
168 bra L00DE
|
|
169 cmpb #$03
|
|
170 beq L00D4
|
|
171 cmpb #$04
|
|
172 bne L00AD
|
|
173 leau <$19,s
|
|
174 lbsr L015E
|
|
175 leau <$11,s
|
|
176 L00D4 lda #$18
|
|
177 bra L010B
|
|
178 cmpb #$01
|
|
179 beq L00E4
|
|
180 lda #$10
|
|
181 L00DE cmpb #$02
|
|
182 bne L00AD
|
|
183 bra L0136
|
|
184 L00E4 lda #$13
|
|
185 bra L0142
|
|
186 cmpb #$06
|
|
187 bhi L00AD
|
|
188 cmpb #$03
|
|
189 bcs L015B
|
|
190 bitb #$01
|
|
191 bne L0103
|
|
192 leau <$19,s
|
|
193 cmpb #$04
|
|
194 beq L00FE
|
|
195 leau <$21,s
|
|
196 L00FE bsr L015E
|
|
197 leau <$11,s
|
|
198 L0103 cmpb #$04
|
|
199 bls L0109
|
|
200 bsr L0164
|
|
201 L0109 lda #$16
|
|
202 L010B sta ,x+
|
|
203 bsr L016E
|
|
204 bsr L016E
|
|
205 bra L0144
|
|
206 cmpb #$05
|
|
207 bhi L015B
|
|
208 cmpb #$02
|
|
209 bcs L015B
|
|
210 bitb #$01
|
|
211 beq L012E
|
|
212 leau <$15,s
|
|
213 cmpb #$03
|
|
214 beq L0129
|
|
215 leau <$1D,s
|
|
216 L0129 bsr L015E
|
|
217 leau <$11,s
|
|
218 L012E cmpb #$03
|
|
219 bls L0134
|
|
220 bsr L0164
|
|
221 L0134 lda #$1A
|
|
222 L0136 sta ,x+
|
|
223 bsr L016E
|
|
224 bra L0144
|
|
225 lda #$0E
|
|
226 bra L0142
|
|
227 lda #$12
|
|
228 L0142 sta ,x+
|
|
229 L0144 bsr L0149
|
|
230 leas $09,s
|
|
231 rts
|
|
232 L0149 tfr x,d
|
|
233 leax $02,s
|
|
234 pshs x
|
|
235 subd ,s++
|
|
236 tfr d,y
|
|
237 lda #$01
|
|
238 os9 I$Write
|
|
239 rts
|
|
240 L0159 leas $06,s
|
|
241 L015B lbra L00AD
|
|
242 L015E lda #$11
|
|
243 sta ,x+
|
|
244 bra L016E
|
|
245 L0164 puls y
|
|
246 lda #$15
|
|
247 sta ,x+
|
|
248 bsr L016E
|
|
249 pshs y
|
|
250 L016E pshs y,b,a
|
|
251 ldd [,u++]
|
|
252 sta ,x+
|
|
253 pulu y
|
|
254 leay -$01,y
|
|
255 beq L0183
|
|
256 leay -$01,y
|
|
257 bne L0159
|
|
258 tsta
|
|
259 bne L0159
|
|
260 stb -$01,x
|
|
261 L0183 puls pc,y,b,a
|
|
262 cmpb #$02
|
|
263 bne L015B
|
|
264 ldx <$13,s
|
|
265 leax -$02,x
|
|
266 bne L015B
|
|
267 lda #$01
|
|
268 ldb #$12
|
|
269 os9 I$GetStt
|
|
270 bcs L019C
|
|
271 stx [<$11,s]
|
|
272 L019C leas $09,s
|
|
273 rts
|
|
274 cmpb #$02
|
|
275 beq L01AD
|
|
276 cmpb #$04
|
|
277 bne L015B
|
|
278 bsr L0164
|
|
279 bsr L0149
|
|
280 bcs L019C
|
|
281 L01AD lda #$01
|
|
282 ldb #$12
|
|
283 os9 I$GetStt
|
|
284 bcs L019C
|
|
285 tfr a,b
|
|
286 bra L01ED
|
|
287 L01BA leau $04,u
|
|
288 pshs u,x
|
|
289 ldx -$02,u
|
|
290 ldu -$04,u
|
|
291 leax -$01,x
|
|
292 beq L01CC
|
|
293 leax -$01,x
|
|
294 bne L0159
|
|
295 clr ,u+
|
|
296 L01CC stb ,u+
|
|
297 puls pc,u,x
|
|
298 cmpb #$05
|
|
299 bne L015B
|
|
300 clr ,x+
|
|
301 bsr L016E
|
|
302 ldx -$02,x
|
|
303 lda #$01
|
|
304 ldb #$13
|
|
305 os9 I$GetStt
|
|
306 bcs L019C
|
|
307 tfr a,b
|
|
308 bsr L01BA
|
|
309 tfr x,d
|
|
310 bsr L01BA
|
|
311 tfr y,d
|
|
312 L01ED bsr L01BA
|
|
313 leas $09,s
|
|
314 rts
|
|
315 emod
|
|
316 eom equ *
|