21
|
1 nam GRFO
|
|
2 ttl Graphics module
|
|
3
|
|
4 * Disassembled 02/04/05 23:44:21 by Disasm v1.6 (C) 1988 by RML
|
|
5
|
|
6 ifp1
|
|
7 use defsfile
|
|
8 endc
|
|
9
|
|
10 tylg set Systm+Objct
|
|
11 atrv set ReEnt+rev
|
|
12 rev set $01
|
|
13
|
|
14 mod eom,name,tylg,atrv,start,size
|
|
15
|
|
16 u0000 rmb 0
|
|
17 size equ .
|
|
18
|
|
19 fcb $07
|
|
20 name fcs /GRFO/
|
|
21 fcb $01
|
|
22
|
|
23 start lbra L006A
|
|
24 lbra L002C
|
|
25 lbra L0026
|
|
26 lbra L0026
|
|
27 lbra L006A
|
|
28
|
|
29 L0022 fdb $0055
|
|
30 L0024 fdb $aaff
|
|
31 L0026 fdb $53c6
|
|
32 L002A fdb $d039
|
|
33 L002C fdb $8015,$308c,$0548
|
|
34 fdb $ec86,$6e8b,$0029,$005f,$005c,$003b,$0038,$0121
|
|
35 fdb $0036,$011e,$0204,$0036
|
|
36 fdb $0036
|
|
37 L004A fdb $ecc8,$28c1,$c025
|
|
38 fdb $02c6
|
|
39 fcb $bf
|
|
40 L0053 tst <$24,u
|
|
41 bmi L0059
|
|
42 lsra
|
|
43 L0059 std <$28,u
|
|
44 rts
|
|
45 leax <L0065,pcr
|
|
46 L0060 ldb #$02
|
|
47 lbra L015A
|
|
48 L0065 bsr L004A
|
|
49 std <$45,u
|
|
50 L006A clrb
|
|
51 rts
|
|
52 clr <$47,u
|
|
53 leax <L0074,pcr
|
|
54 bra L0060
|
|
55 L0074 bsr L004A
|
|
56 std <$45,u
|
|
57 bsr L007E
|
|
58 lbra L014A
|
|
59 L007E jsr [<$5D,u]
|
|
60 L0081 tfr a,b
|
|
61 comb
|
|
62 andb ,x
|
|
63 stb ,x
|
|
64 anda <$47,u
|
|
65 ora ,x
|
|
66 sta ,x
|
|
67 rts
|
|
68 clr <$47,u
|
|
69 leax <L0098,pcr
|
|
70 bra L0060
|
|
71 L0098 bsr L004A
|
|
72 leas -$0E,s
|
|
73 std $0C,s
|
|
74 jsr [<$5D,u]
|
|
75 stx $02,s
|
|
76 sta $01,s
|
|
77 ldd <$45,u
|
|
78 jsr [<$5D,u]
|
|
79 sta ,s
|
|
80 clra
|
|
81 clrb
|
|
82 std $04,s
|
|
83 lda #$BF
|
|
84 suba <$46,u
|
|
85 sta <$46,u
|
|
86 lda #$BF
|
|
87 suba <$29,u
|
|
88 sta <$29,u
|
|
89 lda #$FF
|
|
90 sta $06,s
|
|
91 clra
|
|
92 ldb <$45,u
|
|
93 subb <$28,u
|
|
94 sbca #$00
|
|
95 bpl L00D6
|
|
96 nega
|
|
97 negb
|
|
98 sbca #$00
|
|
99 neg $06,s
|
|
100 L00D6 std $08,s
|
|
101 bne L00DF
|
|
102 ldd #$FFFF
|
|
103 std $04,s
|
|
104 L00DF lda #$E0
|
|
105 sta $07,s
|
|
106 clra
|
|
107 ldb <$46,u
|
|
108 subb <$29,u
|
|
109 sbca #$00
|
|
110 bpl L00F4
|
|
111 nega
|
|
112 negb
|
|
113 sbca #$00
|
|
114 neg $07,s
|
|
115 L00F4 std $0A,s
|
|
116 bra L0100
|
|
117 L00F8 sta ,s
|
|
118 ldd $04,s
|
|
119 subd $0A,s
|
|
120 std $04,s
|
|
121 L0100 lda ,s
|
|
122 lbsr L0081
|
|
123 cmpx $02,s
|
|
124 bne L010F
|
|
125 lda ,s
|
|
126 cmpa $01,s
|
|
127 beq L0143
|
|
128 L010F ldd $04,s
|
|
129 bpl L011D
|
|
130 addd $08,s
|
|
131 std $04,s
|
|
132 lda $07,s
|
|
133 leax a,x
|
|
134 bra L0100
|
|
135 L011D lda ,s
|
|
136 ldb $06,s
|
|
137 bpl L0133
|
|
138 lsla
|
|
139 ldb <$24,u
|
|
140 bmi L012A
|
|
141 lsla
|
|
142 L012A bcc L00F8
|
|
143 lda <$4A,u
|
|
144 leax -$01,x
|
|
145 bra L00F8
|
|
146 L0133 lsra
|
|
147 ldb <$24,u
|
|
148 bmi L013A
|
|
149 lsra
|
|
150 L013A bcc L00F8
|
|
151 lda <$49,u
|
|
152 leax $01,x
|
|
153 bra L00F8
|
|
154 L0143 ldd $0C,s
|
|
155 std <$45,u
|
|
156 leas $0E,s
|
|
157 L014A lda <$48,u
|
|
158 sta <$47,u
|
|
159 clrb
|
|
160 rts
|
|
161 clr <$47,u
|
|
162 leax <L0162,pcr
|
|
163 ldb #$01
|
|
164 L015A stb <$25,u
|
|
165 stx <$26,u
|
|
166 clrb
|
|
167 rts
|
|
168 L0162 leas -$04,s
|
|
169 ldb <$29,u
|
|
170 stb $01,s
|
|
171 clra
|
|
172 sta ,s
|
|
173 addb $01,s
|
|
174 adca #$00
|
|
175 nega
|
|
176 negb
|
|
177 sbca #$00
|
|
178 addd #$0003
|
|
179 std $02,s
|
|
180 L0179 lda ,s
|
|
181 cmpa $01,s
|
|
182 bcc L01AB
|
|
183 ldb $01,s
|
|
184 bsr L01B9
|
|
185 clra
|
|
186 ldb $02,s
|
|
187 bpl L0193
|
|
188 ldb ,s
|
|
189 lslb
|
|
190 rola
|
|
191 lslb
|
|
192 rola
|
|
193 addd #$0006
|
|
194 bra L01A3
|
|
195 L0193 dec $01,s
|
|
196 clra
|
|
197 ldb ,s
|
|
198 subb $01,s
|
|
199 sbca #$00
|
|
200 lslb
|
|
201 rola
|
|
202 lslb
|
|
203 rola
|
|
204 addd #$000A
|
|
205 L01A3 addd $02,s
|
|
206 std $02,s
|
|
207 inc ,s
|
|
208 bra L0179
|
|
209 L01AB lda ,s
|
|
210 cmpa $01,s
|
|
211 bne L01B5
|
|
212 ldb $01,s
|
|
213 bsr L01B9
|
|
214 L01B5 leas $04,s
|
|
215 bra L014A
|
|
216 L01B9 leas -$08,s
|
|
217 sta ,s
|
|
218 clra
|
|
219 std $02,s
|
|
220 nega
|
|
221 negb
|
|
222 sbca #$00
|
|
223 std $06,s
|
|
224 ldb ,s
|
|
225 clra
|
|
226 std ,s
|
|
227 nega
|
|
228 negb
|
|
229 sbca #$00
|
|
230 std $04,s
|
|
231 ldx $06,s
|
|
232 bsr L0202
|
|
233 ldd $04,s
|
|
234 ldx $02,s
|
|
235 bsr L0202
|
|
236 ldd ,s
|
|
237 ldx $02,s
|
|
238 bsr L0202
|
|
239 ldd ,s
|
|
240 ldx $06,s
|
|
241 bsr L0202
|
|
242 ldd $02,s
|
|
243 ldx ,s
|
|
244 bsr L0202
|
|
245 ldd $02,s
|
|
246 ldx $04,s
|
|
247 bsr L0202
|
|
248 ldd $06,s
|
|
249 ldx $04,s
|
|
250 bsr L0202
|
|
251 ldd $06,s
|
|
252 ldx ,s
|
|
253 bsr L0202
|
|
254 leas $08,s
|
|
255 rts
|
|
256 L0202 pshs b,a
|
|
257 ldb <$46,u
|
|
258 clra
|
|
259 leax d,x
|
|
260 cmpx #$0000
|
|
261 bmi L0214
|
|
262 cmpx #$00BF
|
|
263 ble L0216
|
|
264 L0214 puls pc,b,a
|
|
265 L0216 ldb <$45,u
|
|
266 clra
|
|
267 tst <$24,u
|
|
268 bmi L0221
|
|
269 lslb
|
|
270 rola
|
|
271 L0221 addd ,s++
|
|
272 tsta
|
|
273 beq L0227
|
|
274 rts
|
|
275 L0227 pshs b
|
|
276 tfr x,d
|
|
277 puls a
|
|
278 tst <$24,u
|
|
279 lbmi L007E
|
|
280 lsra
|
|
281 lbra L007E
|
|
282 clr <$41,u
|
|
283 leas -$07,s
|
|
284 lbsr L03AB
|
|
285 lbcs L0346
|
|
286 lda #$FF
|
|
287 sta <$4F,u
|
|
288 ldd <$45,u
|
|
289 lbsr L0351
|
|
290 lda <$4C,u
|
|
291 sta <$4D,u
|
|
292 tst <$24,u
|
|
293 bpl L0261
|
|
294 tsta
|
|
295 beq L0267
|
|
296 lda #$FF
|
|
297 bra L0267
|
|
298 L0261 leax >L0022,pcr
|
|
299 lda a,x
|
|
300 L0267 sta <$4E,u
|
|
301 cmpa <$47,u
|
|
302 lbeq L0346
|
|
303 ldd <$45,u
|
|
304 L0274 suba #$01
|
|
305 bcs L027F
|
|
306 lbsr L0351
|
|
307 bcs L027F
|
|
308 beq L0274
|
|
309 L027F inca
|
|
310 std $01,s
|
|
311 L0282 lbsr L0384
|
|
312 adda #$01
|
|
313 bcs L0290
|
|
314 lbsr L0351
|
|
315 bcs L0290
|
|
316 beq L0282
|
|
317 L0290 deca
|
|
318 ldx $01,s
|
|
319 lbsr L03D3
|
|
320 neg <$4F,u
|
|
321 lbsr L03D3
|
|
322 L029C lbsr L03F9
|
|
323 lbcs L0346
|
|
324 tst <$4F,u
|
|
325 bpl L02B3
|
|
326 subb #$01
|
|
327 bcs L029C
|
|
328 std $03,s
|
|
329 tfr x,d
|
|
330 decb
|
|
331 bra L02BD
|
|
332 L02B3 incb
|
|
333 cmpb #$BF
|
|
334 bhi L029C
|
|
335 std $03,s
|
|
336 tfr x,d
|
|
337 incb
|
|
338 L02BD std $01,s
|
|
339 lbsr L0351
|
|
340 bcs L029C
|
|
341 L02C4 bne L02D2
|
|
342 suba #$01
|
|
343 bcc L02CD
|
|
344 inca
|
|
345 bra L02D6
|
|
346 L02CD lbsr L0351
|
|
347 bcc L02C4
|
|
348 L02D2 adda #$01
|
|
349 bcs L029C
|
|
350 L02D6 cmpd $03,s
|
|
351 bhi L029C
|
|
352 bsr L0351
|
|
353 bcs L029C
|
|
354 bne L02D2
|
|
355 std $05,s
|
|
356 cmpd $01,s
|
|
357 bcc L02FB
|
|
358 ldd $01,s
|
|
359 decb
|
|
360 cmpd $05,s
|
|
361 beq L02FB
|
|
362 neg <$4F,u
|
|
363 ldx $05,s
|
|
364 lbsr L03D3
|
|
365 neg <$4F,u
|
|
366 L02FB ldd $05,s
|
|
367 L02FD std $01,s
|
|
368 L02FF bsr L0351
|
|
369 bcs L030B
|
|
370 bne L030B
|
|
371 bsr L0384
|
|
372 adda #$01
|
|
373 bcc L02FF
|
|
374 L030B deca
|
|
375 ldx $01,s
|
|
376 lbsr L03D3
|
|
377 std $05,s
|
|
378 adda #$01
|
|
379 bcs L0326
|
|
380 L0317 cmpd $03,s
|
|
381 bcc L0326
|
|
382 adda #$01
|
|
383 bsr L0351
|
|
384 bcs L0326
|
|
385 bne L0317
|
|
386 bra L02FD
|
|
387 L0326 inc $03,s
|
|
388 inc $03,s
|
|
389 ldd $03,s
|
|
390 cmpa #$02
|
|
391 lbcs L029C
|
|
392 ldd $05,s
|
|
393 cmpd $03,s
|
|
394 lbcs L029C
|
|
395 neg <$4F,u
|
|
396 ldx $03,s
|
|
397 lbsr L03D3
|
|
398 lbra L029C
|
|
399 L0346 leas $07,s
|
|
400 clrb
|
|
401 ldb <$41,u
|
|
402 beq L0350
|
|
403 L034E orcc #$01
|
|
404 L0350 rts
|
|
405 L0351 pshs b,a
|
|
406 cmpb #$BF
|
|
407 bhi L0380
|
|
408 tst <$24,u
|
|
409 bmi L0360
|
|
410 cmpa #$7F
|
|
411 bhi L0380
|
|
412 L0360 jsr [<$5D,u]
|
|
413 tfr a,b
|
|
414 andb ,x
|
|
415 L0367 bita #$01
|
|
416 bne L0376
|
|
417 lsra
|
|
418 lsrb
|
|
419 tst <$24,u
|
|
420 bmi L0367
|
|
421 lsra
|
|
422 lsrb
|
|
423 bra L0367
|
|
424 L0376 stb <$4C,u
|
|
425 cmpb <$4D,u
|
|
426 andcc #$FE
|
|
427 puls pc,b,a
|
|
428 L0380 orcc #$01
|
|
429 puls pc,b,a
|
|
430 L0384 pshs b,a
|
|
431 jsr [<$5D,u]
|
|
432 bita #$80
|
|
433 beq L03A6
|
|
434 ldb <$4E,u
|
|
435 cmpb ,x
|
|
436 bne L03A6
|
|
437 ldb <$47,u
|
|
438 stb ,x
|
|
439 puls b,a
|
|
440 tst <$24,u
|
|
441 bmi L03A3
|
|
442 adda #$03
|
|
443 rts
|
|
444 L03A3 adda #$07
|
|
445 rts
|
|
446 L03A6 lbsr L0081
|
|
447 puls pc,b,a
|
|
448 L03AB ldx <$3F,u
|
|
449 beq L03B5
|
|
450 stx <$3D,u
|
|
451 L03B3 clrb
|
|
452 rts
|
|
453 L03B5 pshs u
|
|
454 ldd #$0200
|
|
455 os9 F$SRqMem
|
|
456 bcc L03C1
|
|
457 puls pc,u
|
|
458 L03C1 tfr u,d
|
|
459 puls u
|
|
460 std <$3B,u
|
|
461 addd #$0200
|
|
462 std <$3F,u
|
|
463 std <$3D,u
|
|
464 bra L03B3
|
|
465 L03D3 pshs b,a
|
|
466 ldd <$3D,u
|
|
467 subd #$0004
|
|
468 cmpd <$3B,u
|
|
469 bcs L03F2
|
|
470 std <$3D,u
|
|
471 tfr d,y
|
|
472 lda <$4F,u
|
|
473 sta ,y
|
|
474 stx $01,y
|
|
475 puls b,a
|
|
476 sta $03,y
|
|
477 rts
|
|
478 L03F2 ldb #$F5
|
|
479 stb <$41,u
|
|
480 puls pc,b,a
|
|
481 L03F9 ldd <$3D,u
|
|
482 cmpd <$3F,u
|
|
483 lbcc L034E
|
|
484 tfr d,y
|
|
485 addd #$0004
|
|
486 std <$3D,u
|
|
487 lda ,y
|
|
488 sta <$4F,u
|
|
489 ldd $01,y
|
|
490 tfr d,x
|
|
491 lda $03,y
|
|
492 andcc #$FE
|
|
493 rts
|
|
494
|
|
495 emod
|
|
496 eom equ *
|
|
497 end
|
|
498
|