0
|
1 ********************************************************************
|
|
2 * CO80 - WordPak 80-RS co-driver for CCIO
|
|
3 *
|
|
4 * $Id$
|
|
5 *
|
|
6 * Ed. Comments Who YY/MM/DD
|
|
7 * ------------------------------------------------------------------
|
201
|
8 * 2 From Tandy OS-9 Level One VR 02.00.00
|
0
|
9
|
|
10 nam CO80
|
|
11 ttl WordPak 80-RS co-driver for CCIO
|
|
12
|
|
13 * Disassembled 98/08/23 17:58:20 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 2
|
0
|
23
|
|
24 mod eom,name,tylg,atrv,start,size
|
|
25
|
|
26 u0000 rmb 0
|
|
27 size equ .
|
|
28 fcb $06
|
|
29
|
|
30 name fcs /CO80/
|
|
31 fcb edition
|
|
32
|
|
33 start lbra L0022
|
|
34 lbra L0083
|
|
35 lbra L0054
|
|
36 lbra L007F
|
|
37 lbra L004A
|
|
38 L0022 ldx #$FF78
|
|
39 lda #$06
|
|
40 sta $01,x
|
|
41 sta ,x
|
|
42 lda #$08
|
|
43 sta $01,x
|
|
44 clr ,x
|
|
45 lda #$0E
|
|
46 sta $01,x
|
|
47 clr ,x
|
|
48 lbsr L0152
|
|
49 lbsr L0229
|
|
50 ldd #$07D0
|
|
51 lbsr L0189
|
|
52 ldb <$70,u
|
|
53 orb #$04
|
|
54 bra L004F
|
|
55 L004A ldb <$70,u
|
|
56 andb #$FB
|
|
57 L004F stb <$70,u
|
|
58 clrb
|
|
59 rts
|
|
60 L0054 cmpa #$25
|
|
61 bne L007F
|
|
62 ldy $06,y
|
|
63 clra
|
|
64 ldb <$58,u
|
|
65 addb #$20
|
|
66 std $06,y
|
|
67 ldb <$59,u
|
|
68 addb #$20
|
|
69 std $04,y
|
|
70 ldx #$FF78
|
|
71 lda #$0D
|
|
72 sta $01,x
|
|
73 lbsr L0174
|
|
74 lda ,x
|
|
75 lbsr L0174
|
|
76 lda ,x
|
|
77 sta $01,y
|
|
78 L007D clrb
|
|
79 rts
|
|
80 L007F ldb #E$UnkSvc
|
|
81 coma
|
|
82 rts
|
|
83 L0083 ldx #$FF78
|
|
84 cmpa #$0E
|
|
85 bcs L00B6
|
|
86 cmpa #$1E
|
|
87 bcs L007D
|
|
88 cmpa #$20
|
|
89 lbcs L01F2
|
|
90 cmpa #$7F
|
|
91 bcs L0106
|
|
92 cmpa #$C0
|
|
93 bls L00A6
|
|
94 anda #$1F
|
|
95 suba #$01
|
|
96 cmpa #$19
|
|
97 bhi L00B2
|
|
98 bra L0106
|
|
99 L00A6 cmpa #$AA
|
|
100 bcs L00B2
|
|
101 ora #$10
|
|
102 anda #$1F
|
|
103 cmpa #$1A
|
|
104 bcc L0106
|
|
105 L00B2 lda #$7F
|
|
106 bra L0106
|
|
107 L00B6 leax >L00C5,pcr
|
|
108 lsla
|
|
109 ldd a,x
|
|
110 leax d,x
|
|
111 pshs x
|
|
112 ldx #$FF78
|
|
113 rts
|
|
114 L00C5 fcb $ff,$b8,$00,$8d,$00,$dd,$00,$b4,$00,$b6,$01
|
|
115 fcb $4c,$00,$50,$ff,$b8,$00,$1c,$00,$2e,$00,$5c
|
|
116 fcb $00,$c1,$00,$bf,$00
|
|
117 fcb $3c,$ec,$c8,$58,$26,$02,$5f,$39
|
|
118 L00E8 decb
|
|
119 bge L00EE
|
|
120 ldb #$4F
|
|
121 deca
|
|
122 L00EE std <$58,u
|
|
123 bra L014F
|
|
124 lda <$58,u
|
|
125 beq L00FF
|
|
126 deca
|
|
127 sta <$58,u
|
|
128 lbra L01CC
|
|
129 L00FF clrb
|
|
130 rts
|
|
131 L0101 clr <$59,u
|
|
132 bra L014C
|
|
133 L0106 ora <$5A,u
|
|
134 pshs a
|
|
135 bsr L0174
|
|
136 puls a
|
|
137 ldb #$0D
|
|
138 stb $01,x
|
|
139 sta ,x
|
|
140 inc <$59,u
|
|
141 lda <$59,u
|
|
142 cmpa #$4F
|
|
143 ble L014C
|
|
144 bsr L0101
|
|
145 lda <$58,u
|
|
146 cmpa #$17
|
|
147 bge L012E
|
|
148 inca
|
|
149 sta <$58,u
|
|
150 bra L014F
|
|
151 L012E ldd <$54,u
|
|
152 lbsr L01DC
|
|
153 ldd <$54,u
|
|
154 addd #$0050
|
|
155 bsr L0161
|
|
156 std <$54,u
|
|
157 bsr L018E
|
|
158 ldd <$54,u
|
|
159 bsr L016B
|
|
160 lda #$08
|
|
161 sta $01,x
|
|
162 stb ,x
|
|
163 L014C lda <$58,u
|
|
164 L014F lbra L01CC
|
|
165 L0152 clr <$58,u
|
|
166 clr <$59,u
|
|
167 ldd <$54,u
|
|
168 std <$56,u
|
|
169 lbra L01DC
|
|
170 L0161 cmpd #$07D0
|
|
171 blt L016A
|
|
172 subd #$07D0
|
|
173 L016A rts
|
|
174 L016B lsra
|
|
175 rorb
|
|
176 lsra
|
|
177 rorb
|
|
178 lsra
|
|
179 rorb
|
|
180 lsra
|
|
181 rorb
|
|
182 rts
|
|
183 L0174 lda $01,x
|
|
184 bpl L0174
|
|
185 rts
|
|
186 bsr L0101
|
|
187 lda <$58,u
|
|
188 inca
|
|
189 ldb #$50
|
|
190 mul
|
|
191 bra L0189
|
|
192 bsr L0152
|
|
193 ldd #$0780
|
|
194 L0189 addd <$54,u
|
|
195 bsr L0161
|
|
196 L018E bsr L016B
|
|
197 bsr L0174
|
|
198 lda #$0B
|
|
199 sta $01,x
|
|
200 stb ,x
|
|
201 lda #$0D
|
|
202 sta $01,x
|
|
203 lda #$20
|
|
204 sta ,x
|
|
205 L01A0 clrb
|
|
206 rts
|
|
207 leax >L01B0,pcr
|
|
208 ldb #$02
|
|
209 L01A8 stx <$26,u
|
|
210 stb <$25,u
|
|
211 clrb
|
|
212 rts
|
|
213 L01B0 ldx #$FF78
|
|
214 lda <$29,u
|
|
215 ldb <$28,u
|
|
216 subb #$20
|
|
217 blt L01A0
|
|
218 cmpb #$4F
|
|
219 bgt L01A0
|
|
220 suba #$20
|
|
221 blt L01A0
|
|
222 cmpa #$17
|
|
223 bgt L01A0
|
|
224 std <$58,u
|
|
225 L01CC ldb #$50
|
|
226 mul
|
|
227 addb <$59,u
|
|
228 adca #$00
|
|
229 addd <$54,u
|
|
230 bsr L0161
|
|
231 std <$56,u
|
|
232 L01DC pshs b,a
|
|
233 bsr L0174
|
|
234 lda #$0A
|
|
235 sta $01,x
|
|
236 lda ,s+
|
|
237 sta ,x
|
|
238 lda #$09
|
|
239 sta $01,x
|
|
240 lda ,s+
|
|
241 sta ,x
|
|
242 clrb
|
|
243 rts
|
|
244 L01F2 cmpa #$1F
|
|
245 bne L0201
|
|
246 lda <$29,u
|
|
247 cmpa #$21
|
|
248 beq L0205
|
|
249 cmpa #$20
|
|
250 beq L020C
|
|
251 L0201 comb
|
|
252 ldb #E$Write
|
|
253 rts
|
|
254 L0205 lda #$80
|
|
255 sta <$5A,u
|
|
256 clrb
|
|
257 rts
|
|
258 L020C clr <$5A,u
|
|
259 L020F clrb
|
|
260 rts
|
|
261 leax >L0219,pcr
|
|
262 ldb #$01
|
|
263 bra L01A8
|
|
264 L0219 ldx #$FF78
|
|
265 lda <$29,u
|
|
266 cmpa #$20
|
|
267 blt L0201
|
|
268 beq L022D
|
|
269 cmpa #$2A
|
|
270 bgt L020F
|
|
271 L0229 lda #$05
|
|
272 bra L022F
|
|
273 L022D lda #$45
|
|
274 L022F ldb #$0C
|
|
275 stb $01,x
|
|
276 sta ,x
|
|
277 clrb
|
|
278 rts
|
|
279
|
|
280 emod
|
|
281 eom equ *
|
|
282 end
|
|
283
|