0
|
1 ********************************************************************
|
|
2 * CO32 - Hardware VDG co-driver for CCIO
|
|
3 *
|
|
4 * $Id$
|
|
5 *
|
|
6 * Ed. Comments Who YY/MM/DD
|
|
7 * ------------------------------------------------------------------
|
201
|
8 * 1 From Tandy OS-9 Level One VR 02.00.00
|
0
|
9
|
|
10 nam CO32
|
|
11 ttl Hardware VDG co-driver for CCIO
|
|
12
|
|
13 * Disassembled 98/08/23 17:47:40 by Disasm v1.6 (C) 1988 by RML
|
|
14
|
|
15 ifp1
|
|
16 use defsfile
|
|
17 endc
|
|
18
|
|
19 tylg set Systm+Objct
|
|
20 atrv set ReEnt+rev
|
|
21 rev set $01
|
201
|
22 edition set 1
|
0
|
23
|
|
24 mod eom,name,tylg,atrv,start,size
|
|
25
|
|
26 u0000 rmb 0
|
|
27 size equ .
|
|
28 fcb $07
|
|
29
|
|
30 name fcs /CO32/
|
|
31 fcb edition
|
|
32
|
|
33 start lbra L0035
|
|
34 lbra L008C
|
|
35 lbra L0246
|
|
36 lbra L0250
|
|
37 pshs y,x
|
|
38 pshs u
|
|
39 ldd #$0200
|
|
40 ldu <$1D,u
|
|
41 os9 F$SRtMem
|
|
42 puls u
|
|
43 ldb <$70,u
|
|
44 andb #$FD
|
|
45 bra L0086
|
|
46 L0035 pshs y,x
|
|
47 lda #$AF
|
|
48 sta <$2C,u
|
|
49 pshs u
|
|
50 ldd #$0300
|
|
51 os9 F$SRqMem
|
|
52 tfr u,d
|
|
53 tfr u,x
|
|
54 bita #$01
|
|
55 beq L0052
|
|
56 leax >$0100,x
|
|
57 bra L0056
|
|
58 L0052 leau >$0200,u
|
|
59 L0056 ldd #$0100
|
|
60 os9 F$SRtMem
|
|
61 puls u
|
|
62 stx <$1D,u
|
|
63 pshs y
|
|
64 leay -$0E,y
|
|
65 clra
|
|
66 clrb
|
|
67 jsr [<$5B,u]
|
|
68 puls y
|
|
69 stx <$21,u
|
|
70 leax >$0200,x
|
|
71 stx <$1F,u
|
|
72 lda #$60
|
|
73 sta <$23,u
|
|
74 sta <$2B,u
|
|
75 lbsr L0187
|
|
76 ldb <$70,u
|
|
77 orb #$02
|
|
78 L0086 stb <$70,u
|
|
79 clrb
|
|
80 puls pc,y,x
|
|
81 L008C tsta
|
|
82 bmi L00D0
|
|
83 cmpa #$1F
|
|
84 bls L0103
|
|
85 ldb <$71,u
|
|
86 beq L00B0
|
|
87 cmpa #$5E
|
|
88 bne L00A0
|
|
89 lda #$00
|
|
90 bra L00D0
|
|
91 L00A0 cmpa #$5F
|
|
92 bne L00A8
|
|
93 lda #$1F
|
|
94 bra L00D0
|
|
95 L00A8 cmpa #$60
|
|
96 bne L00C0
|
|
97 lda #$67
|
|
98 bra L00D0
|
|
99 L00B0 cmpa #$7C
|
|
100 bne L00B8
|
|
101 lda #$21
|
|
102 bra L00D0
|
|
103 L00B8 cmpa #$7E
|
|
104 bne L00C0
|
|
105 lda #$2D
|
|
106 bra L00D0
|
|
107 L00C0 cmpa #$60
|
|
108 bcs L00C8
|
|
109 suba #$60
|
|
110 bra L00D0
|
|
111 L00C8 cmpa #$40
|
|
112 bcs L00CE
|
|
113 suba #$40
|
|
114 L00CE eora #$40
|
|
115 L00D0 ldx <$21,u
|
|
116 sta ,x+
|
|
117 stx <$21,u
|
|
118 cmpx <$1F,u
|
|
119 bcs L00DF
|
|
120 bsr L00E3
|
|
121 L00DF bsr L013E
|
|
122 clrb
|
|
123 rts
|
|
124 L00E3 ldx <$1D,u
|
|
125 leax <$20,x
|
|
126 L00E9 ldd ,x++
|
|
127 std <-$22,x
|
|
128 cmpx <$1F,u
|
|
129 bcs L00E9
|
|
130 leax <-$20,x
|
|
131 stx <$21,u
|
|
132 lda #$20
|
|
133 ldb #$60
|
|
134 L00FD stb ,x+
|
|
135 deca
|
|
136 bne L00FD
|
|
137 L0102 rts
|
|
138 L0103 cmpa #$1B
|
|
139 bcc L0113
|
|
140 cmpa #$0E
|
|
141 bhi L0102
|
|
142 leax <L0117,pcr
|
|
143 lsla
|
|
144 ldd a,x
|
|
145 jmp d,x
|
|
146 L0113 comb
|
|
147 ldb #E$Write
|
|
148 rts
|
|
149 L0117 fcb $ff,$ca,$00,$7d,$00,$c9,$01,$07,$00,$f9,$00,$91,$00
|
|
150 fcb $5e,$ff,$ca,$00,$50,$01,$19,$00,$38,$00,$6c,$00,$70
|
|
151 fcb $00,$1e,$01,$2a
|
|
152 L0135 bsr L019E
|
|
153 tfr x,d
|
|
154 andb #$E0
|
|
155 stb <$22,u
|
|
156 L013E ldx <$21,u
|
|
157 lda ,x
|
|
158 sta <$23,u
|
|
159 lda <$2C,u
|
|
160 beq L014D
|
|
161 L014B sta ,x
|
|
162 L014D clrb
|
|
163 rts
|
|
164 bsr L019E
|
|
165 leax <$20,x
|
|
166 cmpx <$1F,u
|
|
167 bcs L0162
|
|
168 leax <-$20,x
|
|
169 pshs x
|
|
170 bsr L00E3
|
|
171 puls x
|
|
172 L0162 stx <$21,u
|
|
173 bra L013E
|
|
174 bsr L019E
|
|
175 cmpx <$1D,u
|
|
176 bls L0173
|
|
177 leax -$01,x
|
|
178 stx <$21,u
|
|
179 L0173 bra L013E
|
|
180 bsr L019E
|
|
181 leax $01,x
|
|
182 cmpx <$1F,u
|
|
183 bcc L0181
|
|
184 stx <$21,u
|
|
185 L0181 bra L013E
|
|
186 bsr L019E
|
|
187 bra L0189
|
|
188 L0187 bsr L0194
|
|
189 L0189 lda #$60
|
|
190 L018B sta ,x+
|
|
191 cmpx <$1F,u
|
|
192 bcs L018B
|
|
193 bra L013E
|
|
194 L0194 bsr L019E
|
|
195 ldx <$1D,u
|
|
196 stx <$21,u
|
|
197 bra L013E
|
|
198 L019E ldx <$21,u
|
|
199 lda <$23,u
|
|
200 sta ,x
|
|
201 clrb
|
|
202 rts
|
|
203 ldb #$01
|
|
204 leax <L01AF,pcr
|
|
205 bra L01E5
|
|
206 L01AF lda <$29,u
|
|
207 suba #$20
|
|
208 bne L01BB
|
|
209 sta <$2C,u
|
|
210 bra L019E
|
|
211 L01BB cmpa #$0B
|
|
212 bge L014D
|
|
213 cmpa #$01
|
|
214 bgt L01C7
|
|
215 lda #$AF
|
|
216 bra L01D7
|
|
217 L01C7 cmpa #$02
|
|
218 bgt L01CF
|
|
219 lda #$A0
|
|
220 bra L01D7
|
|
221 L01CF subb #$03
|
|
222 lsla
|
|
223 lsla
|
|
224 lsla
|
|
225 lsla
|
|
226 ora #$8F
|
|
227 L01D7 sta <$2C,u
|
|
228 ldx <$21,u
|
|
229 lbra L014B
|
|
230 ldb #$02
|
|
231 leax <L01ED,pcr
|
|
232 L01E5 stx <$26,u
|
|
233 stb <$25,u
|
|
234 clrb
|
|
235 rts
|
|
236 L01ED bsr L019E
|
|
237 ldb <$29,u
|
|
238 subb #$20
|
|
239 lda #$20
|
|
240 mul
|
|
241 addb <$28,u
|
|
242 adca #$00
|
|
243 subd #$0020
|
|
244 addd <$1D,u
|
|
245 cmpd <$1F,u
|
|
246 lbcc L014D
|
|
247 std <$21,u
|
|
248 lbra L013E
|
|
249 bsr L019E
|
|
250 tfr x,d
|
|
251 andb #$1F
|
|
252 pshs b
|
|
253 ldb #$20
|
|
254 subb ,s+
|
|
255 bra L0223
|
|
256 lbsr L0135
|
|
257 ldb #$20
|
|
258 L0223 lda #$60
|
|
259 ldx <$21,u
|
|
260 L0228 sta ,x+
|
|
261 decb
|
|
262 bne L0228
|
|
263 lbra L013E
|
|
264 lbsr L019E
|
|
265 leax <-$20,x
|
|
266 cmpx <$1D,u
|
|
267 bcs L023E
|
|
268 stx <$21,u
|
|
269 L023E lbra L013E
|
|
270 clra
|
|
271 clrb
|
|
272 jmp [<$5B,u]
|
|
273 L0246 ldx $06,y
|
|
274 cmpa #$1C
|
|
275 beq L0254
|
|
276 cmpa #$25
|
|
277 beq L0263
|
|
278 L0250 comb
|
|
279 ldb #E$UnkSvc
|
|
280 rts
|
|
281 L0254 ldd <$1D,u
|
|
282 std $04,x
|
|
283 ldd <$21,u
|
|
284 std $06,x
|
|
285 lda <$50,u
|
|
286 bra L02BA
|
|
287 L0263 ldd <$21,u
|
|
288 subd <$1D,u
|
|
289 pshs b,a
|
|
290 clra
|
|
291 andb #$1F
|
|
292 addb #$20
|
|
293 std $04,x
|
|
294 puls b,a
|
|
295 lsra
|
|
296 rolb
|
|
297 rolb
|
|
298 rolb
|
|
299 rolb
|
|
300 clra
|
|
301 andb #$0F
|
|
302 addb #$20
|
|
303 std $06,x
|
|
304 ldb <$71,u
|
|
305 lda <$23,u
|
|
306 bmi L02BA
|
|
307 cmpa #$60
|
|
308 bcc L02A5
|
|
309 cmpa #$20
|
|
310 bcc L02A9
|
|
311 tstb
|
|
312 beq L02A3
|
|
313 cmpa #$00
|
|
314 bne L029B
|
|
315 lda #$5E
|
|
316 bra L02BA
|
|
317 L029B cmpa #$1F
|
|
318 bne L02A3
|
|
319 lda #$5F
|
|
320 bra L02BA
|
|
321 L02A3 ora #$20
|
|
322 L02A5 eora #$40
|
|
323 bra L02BA
|
|
324 L02A9 tstb
|
|
325 bne L02BA
|
|
326 cmpa #$21
|
|
327 bne L02B4
|
|
328 lda #$7C
|
|
329 bra L02BA
|
|
330 L02B4 cmpa #$2D
|
|
331 bne L02BA
|
|
332 lda #$7E
|
|
333 L02BA sta $01,x
|
|
334 clrb
|
|
335 rts
|
|
336
|
|
337 emod
|
|
338 eom equ *
|
|
339 end
|
|
340
|