878
|
1 00001 nam s16550
|
|
2 00002 ttl os9 device driver
|
|
3 00003
|
|
4 00004 * Disassembled 96/09/20 17:17:26 by Disasm v1.5 (C) 1988 by RML
|
|
5 00005
|
|
6 00006 ifp1
|
|
7 00007 use /dd/defs/os9defs
|
|
8 00008 endc
|
|
9 00009 00E1 tylg set Drivr+Objct
|
|
10 00010 0081 atrv set ReEnt+rev
|
|
11 00011 0001 rev set $01
|
|
12 00012 0000 87CD0799 mod eom,name,tylg,atrv,start,size
|
|
13
|
|
14 00013 D 0000 u0000 rmb 1 V.PAGE
|
|
15 00014 D 0001 u0001 rmb 2 V.PORT
|
|
16 00015 D 0003 u0003 rmb 1 V.LPRC
|
|
17 00016 D 0004 u0004 rmb 1 V.BUSY
|
|
18 00017 D 0005 u0005 rmb 1 V.WAKE
|
|
19 00018 D 0006 u0006 rmb 1 V.TYPE
|
|
20 u0007 rmb 1 V.LINE
|
|
21 00019 D 0008 u0008 rmb 1 V.PAUS
|
|
22 00020 D 0009 u0009 rmb 2 V.DEV2
|
|
23 00022 D 000B u000B rmb 1 V.INTR
|
|
24 00023 D 000C u000C rmb 1 V.QUIT
|
|
25 00024 D 000D u000D rmb 1 V.PCHR
|
|
26 00025 D 000E u000E rmb 1 V.ERR
|
|
27 00026 D 000F u000F rmb 1 V.XON
|
|
28 00027 D 0010 u0010 rmb 4 V.XOFF
|
|
29 u0011 rmb 1 V.KANJI
|
|
30 u0012 rmb 2 V.KBUF
|
|
31 00028 D 0014 u0014 rmb 2 V.MODADR
|
|
32 00029 D 0016 u0016 rmb 2 V.PDLHD
|
|
33 u0018 rmb 5 V.RSV
|
|
34 00030 D 001D u001D rmb 1
|
|
35 00031 D 001E u001E rmb 1
|
|
36 00032 D 001F u001F rmb 1
|
|
37 00033 D 0020 u0020 rmb 1
|
|
38 00034 D 0021 u0021 rmb 1
|
|
39 00035 D 0022 u0022 rmb 1
|
|
40 00036 D 0023 u0023 rmb 2
|
|
41 00037 D 0025 u0025 rmb 2
|
|
42 00038 D 0027 u0027 rmb 1 * signal code (for send)
|
|
43 00039 D 0028 u0028 rmb 1
|
|
44 00040 D 0029 u0029 rmb 1
|
|
45 00041 D 002A u002A rmb 2
|
|
46 00042 D 002C u002C rmb 2
|
|
47 00043 D 002E u002E rmb 2
|
|
48 00044 D 0030 u0030 rmb 2
|
|
49 00045 D 0032 u0032 rmb 2 V.BUFADDR
|
|
50 00046 D 0034 u0034 rmb 1
|
|
51 00047 D 0035 u0035 rmb 1
|
|
52 00048 D 0036 u0036 rmb 2 V.BUFSIZ
|
|
53 00049 D 0038 u0038 rmb 2 xmit buff addr?
|
|
54 00050 D 003A u003A rmb 1
|
|
55 00051 D 003B u003B rmb 1
|
|
56 00052 D 003C u003C rmb 2
|
|
57 00053 D 003E u003E rmb 2
|
|
58 00054 D 0040 u0040 rmb 1
|
|
59 00055 D 0041 u0041 rmb 2
|
|
60 00056 D 0043 u0043 rmb 1
|
|
61 00057 D 0044 u0044 rmb 52
|
|
62 00058 D 0078 u0078 rmb 8
|
|
63 00059 D 0080 u0080 rmb 128 * ???baud table???
|
|
64
|
|
65 00060 D 0100 size equ .
|
|
66 00061 000D 03 fcb $03
|
|
67 00062 000E name equ *
|
|
68 00063 000E 73313635 fcs /s16550/
|
|
69 00064 0014 10 fcb $10
|
|
70 00065 0015 03 L0015 fcb $03
|
|
71
|
|
72 00066 0016 start equ *
|
|
73 00067 0016 16005A lbra Iniz |SCF jump table
|
|
74 00068 0019 160160 lbra Read |
|
|
75 00069 001C 160114 lbra Write |
|
|
76 00070 001F 1601EC lbra GetSta |
|
|
77 00071 0022 160324 lbra SetSta |
|
|
78 * Term |
|
|
79
|
|
80 00072 0025 5F clrb
|
|
81 00073 0026 340D pshs dp,b,cc
|
|
82 00074 0028 1704FB lbsr UtoDP
|
|
83
|
|
84 00075 002B 1A50 orcc #$50
|
|
85 00076 002D 4F clra
|
|
86 00077 002E DD34 std <u0034
|
|
87 00078 0030 9E32 ldx <u0032
|
|
88 00079 0032 9F2C stx <u002C
|
|
89 00080 0034 9F2E stx <u002E
|
|
90 00081 0036 3416 pshs x,b,a
|
|
91 00082 0038 E664 ldb $04,s
|
|
92 00083 003A 1F9A tfr b,cc
|
|
93 00084 003C BE0050 ldx >$0050
|
|
94 00085 003F A684 lda ,x
|
|
95 00086 0041 9704 sta <V.BUSY
|
|
96 00087 0043 9703 sta <V.LPRC
|
|
97 00088 0045 0D40 L0045 tst <u0040
|
|
98 00089 0047 2608 bne L0051
|
|
99
|
|
100 00090 0049 9E01 ldx <V.PORT
|
|
101 00091 004B E605 ldb $05,x
|
|
102 00092 004D C420 andb #$20
|
|
103 00093 004F 260D bne exit *exit routine
|
|
104
|
|
105 00094 0051 1704BA L0051 lbsr L050E
|
|
106 00095 0054 EC62 ldd $02,s
|
|
107 00096 0056 DD2C std <u002C
|
|
108 00097 0058 ECE4 ldd ,s
|
|
109 00098 005A DD34 std <u0034
|
|
110 00099 005C 20E7 bra L0045
|
|
111
|
|
112 00100 005E 3264 exit leas $04,s * EXIT-----------------------
|
|
113 00101 0060 6F01 clr $01,x
|
|
114 00102 0062 6F04 clr $04,x
|
|
115 00103 0064 DC36 ldd <V.BUFSIZ |num bytes to return
|
|
116 00104 0066 DE32 ldu <V.BUFADDR |st addr ram to return
|
|
117 00105 0068 103F29 os9 F$SRtMem |return system memory
|
|
118 00106 006B 8E0000 ldx #$0000 |
|
|
119 00107 006E 103F2A os9 F$IRQ |remove from poll
|
|
120 00108 0071 358D puls pc,dp,b,cc
|
|
121
|
|
122 *** crash into init from exit? ***
|
|
123
|
|
124 00109 0073 5F Iniz clrb
|
|
125 00110 0074 340D pshs dp,b,cc
|
|
126 00111 0076 1704AD lbsr UtoDP
|
|
127
|
|
128 00112 0079 DC01 ldd <u0001 |dev. base addr
|
|
129 00113 007B C30002 addd #$0002 |status register=base+2
|
|
130 00114 007E 3420 pshs y dev.desc. addr>stack
|
|
131 00115 0080 308D06CF leax >Data,pcr |addr packet
|
|
132 00116 0084 318D04B3 leay >IRQser,pcr |addr irq service routine
|
|
133 00117 0088 103F2A os9 F$IRQ |add to poll
|
|
134 00118 008B 3520 puls y dev.desc. addr
|
|
135 00119 008D 2406 bcc checkdesc
|
|
136
|
|
137 00120 008F 3503 puls a,cc
|
|
138 00121 0091 1A01 orcc #$01
|
|
139 00122 0093 3588 puls pc,dp
|
|
140 00123 0095 A6A811 checkdesc lda <$11,y bytes in init table
|
|
141 00124 0098 811C cmpa #$1C
|
|
142 00125 009A 230E bls L00AA
|
|
143
|
|
144 00126 009C A6A82E lda <$2E,y
|
|
145 00127 009F 8410 anda #$10
|
|
146 00128 00A1 971F sta <u001F
|
|
147 00129 00A3 A6A82E lda <$2E,y
|
|
148 00130 00A6 840F anda #$0F
|
|
149 00131 00A8 2602 bne L00AC
|
|
150
|
|
151 00132 00AA 8601 L00AA lda #$01
|
|
152 00133 00AC 5F L00AC clrb
|
|
153 00134 00AD 3440 pshs u save U
|
|
154 00135 00AF 103F28 os9 F$SRqMem |Request System RAM
|
|
155 |(D=byte cnt)
|
|
156 00136 00B2 1F31 tfr u,x |start addr to x
|
|
157 00137 00B4 3540 puls u restore U
|
|
158 00138 00B6 240D bcc L00C5 |error?
|
|
159
|
|
160 00139 00B8 E761 stb $01,s
|
|
161 00140 00BA 8E0000 ldx #$0000 set remove
|
|
162 00141 00BD 103F2A os9 F$IRQ Set IRQ (remove from poll)
|
|
163 00142 00C0 350D puls dp,b,cc
|
|
164 00143 00C2 1A01 orcc #$01
|
|
165 00144 00C4 39 rts
|
|
166
|
|
167 00145 00C5 9F32 L00C5 stx <u0032
|
|
168 00146 00C7 9F2C stx <u002C
|
|
169 00147 00C9 9F2E stx <u002E
|
|
170 00148 00CB DD36 std <u0036
|
|
171 00149 00CD 308B leax d,x
|
|
172 00150 00CF 9F30 stx <u0030
|
|
173 00151 00D1 1F89 tfr a,b
|
|
174 00152 00D3 4F clra
|
|
175 00153 00D4 CB03 addb #$03
|
|
176 00154 00D6 C40C andb #$0C
|
|
177 00155 00D8 58 lslb
|
|
178 00156 00D9 58 lslb
|
|
179 00157 00DA 58 lslb
|
|
180 00158 00DB 3406 pshs b,a
|
|
181 00159 00DD DC36 ldd <u0036
|
|
182 00160 00DF A3E1 subd ,s++
|
|
183 00161 00E1 DD2A std <u002A
|
|
184 00162 00E3 30C844 leax <u0044,u
|
|
185 00163 00E6 9F3E stx <u003E
|
|
186 00164 00E8 9F38 stx <u0038
|
|
187 00165 00EA 9F3A stx <u003A
|
|
188 00166 00EC 30C90100 leax >u0100,u
|
|
189 00167 00F0 9F3C stx <u003C
|
|
190 00168 00F2 CC00BC ldd #$00BC
|
|
191 00169 00F5 DD41 std <u0041
|
|
192 00170 00F7 0F34 clr <u0034
|
|
193 00171 00F9 0F35 clr <u0035
|
|
194 00172 00FB 0F40 clr <u0040
|
|
195 00173 00FD ECA826 ldd <$26,y
|
|
196 00174 0100 DD1D std <u001D
|
|
197 00175 0102 170203 lbsr L0308
|
|
198
|
|
199 00176 0105 9E01 ldx <V.PORT
|
|
200 00177 0107 C610 ldb #$10
|
|
201 00178 0109 A605 L0109 lda $05,x
|
|
202 00179 010B A684 lda ,x
|
|
203 00180 010D 5A decb
|
|
204 00181 010E 26F9 bne L0109
|
|
205
|
|
206 00182 0110 1A50 orcc #$50
|
|
207 00183 0112 A68DFEFF lda >L0015,pcr
|
|
208 00184 0116 2B03 bmi L011B
|
|
209
|
|
210 00185 0118 B7FF7F sta >$FF7F * set mpi slot
|
|
211 00186 011B B6FF23 L011B lda >$FF23 * CART IRQ flag
|
|
212 00187 011E 84FC anda #$FC
|
|
213 00188 0120 B7FF23 sta >$FF23 * CART IRQ ctrl
|
|
214 00189 0123 B6FF22 lda >$FF22 * ???ram size???
|
|
215 00190 0126 B60092 lda >$0092
|
|
216 00191 0129 8A01 ora #$01
|
|
217 00192 012B B70092 sta >$0092
|
|
218 00193 012E B7FF92 sta >$FF92 * IRQENR irq enable
|
|
219 00194 0131 358D puls pc,dp,b,cc
|
|
220 00195 0133 5F Write clrb
|
|
221 00196 0134 340D pshs dp,b,cc
|
|
222 00197 0136 1703ED lbsr UtoDP u=dev mem area
|
|
223
|
|
224 00198 0139 9E38 ldx <u0038
|
|
225 00199 013B A780 sta ,x+ character to write
|
|
226 00200 013D 9C3C cmpx <u003C
|
|
227 00201 013F 2502 bcs L0143
|
|
228
|
|
229 00202 0141 9E3E ldx <u003E
|
|
230 00203 0143 9C3A L0143 cmpx <u003A
|
|
231 00204 0145 260A bne L0151
|
|
232
|
|
233 00205 0147 3410 pshs x
|
|
234 00206 0149 8D19 bsr L0164
|
|
235
|
|
236 00207 014B 3510 puls x
|
|
237 00208 014D 24F4 bcc L0143
|
|
238 00209 014F 2006 bra L0157
|
|
239
|
|
240 00210 0151 9F38 L0151 stx <u0038
|
|
241 00211 0153 0C40 inc <u0040
|
|
242 00212 0155 8D02 bsr L0159
|
|
243
|
|
244 00213 0157 358D L0157 puls pc,dp,b,cc
|
|
245 00214 0159 860F L0159 lda #$0F
|
|
246 00215 015B 2002 bra L015F
|
|
247
|
|
248 00216 015D 860D lda #$0D
|
|
249 00217 015F 9E01 L015F ldx <V.PORT
|
|
250 00218 0161 A701 sta $01,x
|
|
251 00219 0163 39 rts
|
|
252
|
|
253 00220 0164 1703A7 L0164 lbsr L050E
|
|
254
|
|
255 00221 0167 BE0050 ldx >$0050
|
|
256 00222 016A E68819 ldb <$19,x
|
|
257 00223 016D 2704 beq L0173
|
|
258
|
|
259 00224 016F C103 cmpb #$03
|
|
260 00225 0171 2306 bls L0179
|
|
261
|
|
262 00226 0173 E60C L0173 ldb $0C,x
|
|
263 00227 0175 C402 andb #$02
|
|
264 00228 0177 2702 beq L017B
|
|
265
|
|
266 00229 0179 1A01 L0179 orcc #$01
|
|
267 00230 017B 39 L017B rts
|
|
268 00231 017C 5F Read clrb
|
|
269 00232 017D 340D pshs dp,b,cc
|
|
270 00233 017F 1703A4 lbsr UtoDP dev.mem. to dp
|
|
271
|
|
272 00234 0182 D60E ldb <V.ERR
|
|
273 00235 0184 262C bne ReadErr
|
|
274
|
|
275 00236 0186 1A50 L0186 orcc #$50 FIRQ,IRQ mask
|
|
276 00237 0188 DC34 ldd <u0034
|
|
277 00238 018A 271B beq L01A7
|
|
278
|
|
279 00239 018C 10830010 cmpd #$0010
|
|
280 00240 0190 2602 bne L0194
|
|
281
|
|
282 00241 0192 8D33 bsr L01C7
|
|
283
|
|
284 00242 0194 830001 L0194 subd #$0001
|
|
285 00243 0197 DD34 std <u0034
|
|
286 00244 0199 9E2E ldx <u002E
|
|
287 00245 019B A680 lda ,x+
|
|
288 00246 019D 9C30 cmpx <u0030
|
|
289 00247 019F 2602 bne L01A3
|
|
290
|
|
291 00248 01A1 9E32 ldx <u0032
|
|
292 00249 01A3 9F2E L01A3 stx <u002E
|
|
293 00250 01A5 358D puls pc,dp,b,cc
|
|
294
|
|
295 00251 01A7 8DBB L01A7 bsr L0164
|
|
296
|
|
297 00252 01A9 2502 bcs L01AD
|
|
298
|
|
299 00253 01AB 20D9 bra L0186
|
|
300
|
|
301 00254 01AD 350B L01AD puls dp,a,cc
|
|
302 00255 01AF 1A01 orcc #$01
|
|
303 00256 01B1 39 rts
|
|
304
|
|
305 00257 01B2 E7A83A ReadErr stb <$3A,y b=V.ERR
|
|
306 00258 01B5 0F0E clr <V.ERR
|
|
307 00259 01B7 350B puls dp,a,cc
|
|
308 00260 01B9 C520 bitb #$20 $20=bit 5
|
|
309 00261 01BB 2705 beq L01C2
|
|
310
|
|
311 00262 01BD C6F4 ldb #$F4
|
|
312 00263 01BF 1A01 orcc #$01
|
|
313 00264 01C1 39 rts
|
|
314
|
|
315 00265 01C2 C6DC L01C2 ldb #$DC
|
|
316 00266 01C4 1A01 orcc #$01
|
|
317 00267 01C6 39 rts
|
|
318
|
|
319 00268 01C7 3407 L01C7 pshs b,a,cc
|
|
320 00269 01C9 9E01 ldx <V.PORT
|
|
321 00270 01CB D628 ldb <u0028
|
|
322 00271 01CD C570 bitb #$70
|
|
323 00272 01CF 2712 beq L01E3
|
|
324
|
|
325 00273 01D1 C520 bitb #$20
|
|
326 00274 01D3 2710 beq L01E5
|
|
327
|
|
328 00275 01D5 1A50 orcc #$50
|
|
329 00276 01D7 D628 ldb <u0028
|
|
330 00277 01D9 C4DF andb #$DF
|
|
331 00278 01DB D728 stb <u0028
|
|
332 00279 01DD A604 lda $04,x
|
|
333 00280 01DF 8A0A ora #$0A
|
|
334 00281 01E1 A704 sta $04,x
|
|
335 00282 01E3 3587 L01E3 puls pc,b,a,cc
|
|
336 00283 01E5 C510 L01E5 bitb #$10
|
|
337 00284 01E7 2710 beq L01F9
|
|
338
|
|
339 00285 01E9 1A50 orcc #$50
|
|
340 00286 01EB D628 ldb <u0028
|
|
341 00287 01ED C4EF andb #$EF
|
|
342 00288 01EF D728 stb <u0028
|
|
343 00289 01F1 A604 lda $04,x
|
|
344 00290 01F3 8A05 ora #$05
|
|
345 00291 01F5 A704 sta $04,x
|
|
346 00292 01F7 20EA bra L01E3
|
|
347
|
|
348 00293 01F9 C540 L01F9 bitb #$40
|
|
349 00294 01FB 27E6 beq L01E3
|
|
350
|
|
351 00295 01FD D60F ldb <V.XON
|
|
352 00296 01FF 1A50 orcc #$50
|
|
353 00297 0201 D743 stb <u0043
|
|
354 00298 0203 17FF53 lbsr L0159
|
|
355 00299 0206 D628 ldb <u0028
|
|
356 00300 0208 C4BF andb #$BF
|
|
357 00301 020A D728 stb <u0028
|
|
358 00302 020C 20D5 bra L01E3
|
|
359
|
|
360 00303 020E 5F GetSta clrb
|
|
361 00304 020F 340D pshs dp,b,cc
|
|
362 00305 0211 170312 lbsr UtoDP
|
|
363 00306 0214 8101 cmpa #$01
|
|
364 00307 0216 2618 bne L0230
|
|
365
|
|
366 00308 0218 DC34 ldd <u0034
|
|
367 00309 021A 270C beq L0228
|
|
368
|
|
369 00310 021C 4D tsta
|
|
370 00311 021D 2702 beq L0221
|
|
371
|
|
372 00312 021F C6FF ldb #$FF
|
|
373 00313 0221 AE26 L0221 ldx $06,y
|
|
374 00314 0223 E702 stb $02,x
|
|
375 00315 0225 1600DE lbra L0306
|
|
376
|
|
377 00316 0228 3505 L0228 puls b,cc
|
|
378 00317 022A 1A01 orcc #$01
|
|
379 00318 022C C6F6 ldb #$F6
|
|
380 00319 022E 3588 puls pc,dp
|
|
381 00320 0230 8128 L0230 cmpa #$28
|
|
382 00321 0232 2624 bne L0258
|
|
383
|
|
384 00322 0234 DC1D ldd <u001D
|
|
385 00323 0236 0D1F tst <u001F
|
|
386 00324 0238 2706 beq L0240
|
|
387
|
|
388 00325 023A C504 bitb #$04
|
|
389 00326 023C 2602 bne L0240
|
|
390
|
|
391 00327 023E C4F7 andb #$F7
|
|
392 00328 0240 AE26 L0240 ldx $06,y
|
|
393 00329 0242 ED06 std $06,x
|
|
394 00330 0244 5F clrb
|
|
395 00331 0245 9620 lda <u0020
|
|
396 00332 0247 8580 bita #$80
|
|
397 00333 0249 2602 bne L024D
|
|
398
|
|
399 00334 024B CA10 orb #$10
|
|
400 00335 024D 8520 L024D bita #$20
|
|
401 00336 024F 2602 bne L0253
|
|
402
|
|
403 00337 0251 CA40 orb #$40
|
|
404 00338 0253 E702 L0253 stb $02,x
|
|
405 00339 0255 1600AE lbra L0306
|
|
406 00340 0258 8106 L0258 cmpa #$06
|
|
407 00341 025A 2604 bne L0260
|
|
408
|
|
409 00342 025C 5F clrb
|
|
410 00343 025D 1600A6 lbra L0306
|
|
411 00344 0260 81D0 L0260 cmpa #$D0
|
|
412 00345 0262 266A bne L02CE
|
|
413
|
|
414 00346 0264 D60E ldb <V.ERR
|
|
415 00347 0266 1026FF48 lbne L01B2
|
|
416 00348 026A 1A50 orcc #$50
|
|
417 00349 026C DC30 ldd <u0030
|
|
418 00350 026E 932E subd <u002E
|
|
419 00351 0270 109334 cmpd <u0034
|
|
420 00352 0273 2504 bcs L0279
|
|
421
|
|
422 00353 0275 DC34 ldd <u0034
|
|
423 00354 0277 27AF beq L0228
|
|
424
|
|
425 00355 0279 1CAF L0279 andcc #$AF
|
|
426 00356 027B EE26 ldu $06,y
|
|
427 00357 027D 10A346 cmpd V.TYPE,u
|
|
428 00358 0280 2302 bls L0284
|
|
429
|
|
430 00359 0282 EC46 ldd V.TYPE,u
|
|
431 00360 0284 ED46 L0284 std V.TYPE,u
|
|
432 00361 0286 2744 beq L02CC
|
|
433
|
|
434 00362 0288 3406 pshs b,a
|
|
435 00363 028A 3470 pshs u,y,x
|
|
436 00364 028C ED62 std $02,s
|
|
437 00365 028E DC2E ldd <u002E
|
|
438 00366 0290 EDE4 std ,s
|
|
439 00367 0292 EC44 ldd V.BUSY,u
|
|
440 00368 0294 ED64 std $04,s
|
|
441 00369 0296 BE0050 ldx >$0050
|
|
442 00370 0299 E606 ldb $06,x * |dest task num
|
|
443 00371 029B B600D0 lda >$00D0 * |source task num
|
|
444 00372 029E 3570 puls u,y,x * |dest pt, bytes, srce pt
|
|
445 00373 02A0 103F38 os9 F$Move * |move data
|
|
446 00374 02A3 1A50 orcc #$50
|
|
447 00375 02A5 DC34 ldd <u0034
|
|
448 00376 02A7 A3E4 subd ,s
|
|
449 00377 02A9 DD34 std <u0034
|
|
450 00378 02AB 1CAF andcc #$AF
|
|
451 00379 02AD 10830010 cmpd #$0010
|
|
452 00380 02B1 240B bcc L02BE
|
|
453
|
|
454 00381 02B3 E3E4 addd ,s
|
|
455 00382 02B5 10830010 cmpd #$0010
|
|
456 00383 02B9 2503 bcs L02BE
|
|
457
|
|
458 00384 02BB 17FF09 lbsr L01C7
|
|
459
|
|
460 00385 02BE 3506 L02BE puls b,a
|
|
461 00386 02C0 9E2E ldx <u002E
|
|
462 00387 02C2 308B leax d,x
|
|
463 00388 02C4 9C30 cmpx <u0030
|
|
464 00389 02C6 2602 bne L02CA
|
|
465
|
|
466 00390 02C8 9E32 ldx <u0032
|
|
467 00391 02CA 9F2E L02CA stx <u002E
|
|
468 00392 02CC 2038 L02CC bra L0306
|
|
469
|
|
470 00393 02CE 81D2 L02CE cmpa #$D2
|
|
471 00394 02D0 2613 bne L02E5
|
|
472
|
|
473 00395 02D2 CC0B04 ldd #$0B04
|
|
474 00396 02D5 AE26 ldx $06,y
|
|
475 00397 02D7 ED01 std $01,x
|
|
476 00398 02D9 CC0707 ldd #$0707
|
|
477 00399 02DC ED04 std $04,x
|
|
478 00400 02DE CC0001 ldd #$0001
|
|
479 00401 02E1 ED06 std $06,x
|
|
480 00402 02E3 2021 bra L0306
|
|
481
|
|
482 00403 02E5 8126 L02E5 cmpa #$26
|
|
483 00404 02E7 2615 bne L02FE
|
|
484
|
|
485 00405 02E9 AE26 ldx $06,y
|
|
486 00406 02EB 10AE23 ldy $03,y
|
|
487 00407 02EE 10AE24 ldy $04,y
|
|
488 00408 02F1 4F clra
|
|
489 00409 02F2 E6A82C ldb <$2C,y
|
|
490 00410 02F5 ED04 std $04,x
|
|
491 00411 02F7 E6A82D ldb <$2D,y
|
|
492 00412 02FA ED06 std $06,x
|
|
493 00413 02FC 2008 bra L0306
|
|
494
|
|
495 00414 02FE 3505 L02FE puls b,cc
|
|
496 00415 0300 1A01 orcc #$01
|
|
497 00416 0302 C6D0 ldb #$D0
|
|
498 00417 0304 3588 puls pc,dp
|
|
499 00418 0306 358D L0306 puls pc,dp,b,cc
|
|
500 00419 0308 3440 L0308 pshs u
|
|
501 00420 030A 1F98 tfr b,a
|
|
502 00421 030C 338D0446 leau >L0756,pcr
|
|
503 00422 0310 9E01 ldx <V.PORT
|
|
504 00423 0312 C40F andb #$0F
|
|
505 00424 0314 58 lslb
|
|
506 00425 0315 58 lslb
|
|
507 00426 0316 33C5 leau b,u
|
|
508 00427 0318 44 lsra
|
|
509 00428 0319 44 lsra
|
|
510 00429 031A 44 lsra
|
|
511 00430 031B 44 lsra
|
|
512 00431 031C 44 lsra
|
|
513 00432 031D 8803 eora #$03
|
|
514 00433 031F 8403 anda #$03
|
|
515 00434 0321 3403 pshs a,cc
|
|
516 00435 0323 961D lda <u001D
|
|
517 00436 0325 44 lsra
|
|
518 00437 0326 44 lsra
|
|
519 00438 0327 8438 anda #$38
|
|
520 00439 0329 AA61 ora $01,s
|
|
521 00440 032B A761 sta $01,s
|
|
522 00441 032D 8A80 ora #$80
|
|
523 00442 032F 1A50 orcc #$50
|
|
524 00443 0331 A703 sta $03,x
|
|
525 00444 0333 ECC1 ldd ,u++
|
|
526 00445 0335 1E89 exg a,b
|
|
527 00446 0337 ED84 std ,x
|
|
528 00447 0339 A661 lda $01,s
|
|
529 00448 033B A703 sta $03,x
|
|
530 00449 033D ECC4 ldd ,u
|
|
531 00450 033F 9721 sta <u0021
|
|
532 00451 0341 8A06 ora #$06
|
|
533 00452 0343 A702 sta $02,x
|
|
534 00453 0345 D729 stb <u0029
|
|
535 00454 0347 35C3 puls pc,u,a,cc
|
|
536 00455 0349 5F SetSta clrb
|
|
537 00456 034A 340D pshs dp,b,cc
|
|
538 00457 034C 1701D7 lbsr UtoDP
|
|
539
|
|
540 00458 034F 81D1 cmpa #$D1
|
|
541 00459 0351 267F bne L03D2
|
|
542
|
|
543 00460 0353 EE26 ldu $06,y
|
|
544 00461 0355 AE44 ldx V.BUSY,u
|
|
545 00462 0357 EC46 ldd V.TYPE,u
|
|
546 00463 0359 3416 pshs x,b,a
|
|
547 00464 035B 2764 beq L03C1
|
|
548
|
|
549 00465 035D DC3A L035D ldd <u003A
|
|
550 00466 035F 10933E cmpd <u003E
|
|
551 00467 0362 2607 bne L036B
|
|
552
|
|
553 00468 0364 DC3C ldd <u003C
|
|
554 00469 0366 830001 subd #$0001
|
|
555 00470 0369 200A bra L0375
|
|
556
|
|
557 00471 036B 830001 L036B subd #$0001
|
|
558 00472 036E 109338 cmpd <u0038
|
|
559 00473 0371 2402 bcc L0375
|
|
560
|
|
561 00474 0373 DC3C ldd <u003C
|
|
562 00475 0375 9338 L0375 subd <u0038
|
|
563 00476 0377 274D beq L03C6
|
|
564
|
|
565 00477 0379 10A3E4 cmpd ,s
|
|
566 00478 037C 2302 bls L0380
|
|
567
|
|
568 00479 037E ECE4 ldd ,s
|
|
569 00480 0380 3406 L0380 pshs b,a
|
|
570 00481 0382 BE0050 ldx >$0050
|
|
571 00482 0385 A606 lda $06,x
|
|
572 00483 0387 F600D0 ldb >$00D0
|
|
573 00484 038A DE38 ldu <u0038
|
|
574 00485 038C AE64 ldx $04,s
|
|
575 00486 038E 10AEE4 ldy ,s
|
|
576 00487 0391 1A50 orcc #$50
|
|
577 00488 0393 103F38 os9 F$Move
|
|
578 00489 0396 ECE4 ldd ,s
|
|
579 00490 0398 DE38 ldu <u0038
|
|
580 00491 039A 33CB leau d,u
|
|
581 00492 039C 11933C cmpu <u003C
|
|
582 00493 039F 2502 bcs L03A3
|
|
583
|
|
584 00494 03A1 DE3E ldu <u003E
|
|
585 00495 03A3 DF38 L03A3 stu <u0038
|
|
586 00496 03A5 4F clra
|
|
587 00497 03A6 D640 ldb <u0040
|
|
588 00498 03A8 E3E4 addd ,s
|
|
589 00499 03AA D740 stb <u0040
|
|
590 00500 03AC 1CAF andcc #$AF
|
|
591 00501 03AE ECE4 ldd ,s
|
|
592 00502 03B0 AE64 ldx $04,s
|
|
593 00503 03B2 308B leax d,x
|
|
594 00504 03B4 AF64 stx $04,s
|
|
595 00505 03B6 EC62 ldd $02,s
|
|
596 00506 03B8 A3E1 subd ,s++
|
|
597 00507 03BA EDE4 std ,s
|
|
598 00508 03BC 269F bne L035D
|
|
599
|
|
600 00509 03BE 17FD98 lbsr L0159
|
|
601 00510 03C1 3264 L03C1 leas $04,s
|
|
602 00511 03C3 160146 lbra L050C
|
|
603 00512 03C6 1A50 L03C6 orcc #$50
|
|
604 00513 03C8 17FD8E lbsr L0159
|
|
605 00514 03CB 17FD96 lbsr L0164
|
|
606 00515 03CE 248D bcc L035D
|
|
607
|
|
608 00516 03D0 20EF bra L03C1
|
|
609
|
|
610 00517 03D2 8128 L03D2 cmpa #$28
|
|
611 00518 03D4 262C bne L0402
|
|
612
|
|
613 00519 03D6 AE26 ldx $06,y
|
|
614 00520 03D8 EC06 ldd $06,x
|
|
615 00521 03DA 0D1F tst <u001F
|
|
616 00522 03DC 2706 beq L03E4
|
|
617
|
|
618 00523 03DE C504 bitb #$04
|
|
619 00524 03E0 2602 bne L03E4
|
|
620
|
|
621 00525 03E2 CA08 orb #$08
|
|
622 00526 03E4 DD1D L03E4 std <u001D
|
|
623 00527 03E6 17FF1F lbsr L0308
|
|
624 00528 03E9 0F22 clr <u0022
|
|
625 00529 03EB 0D0C tst <V.QUIT
|
|
626 00530 03ED 2610 bne L03FF
|
|
627
|
|
628 00531 03EF 0D0B tst <V.INTR
|
|
629 00532 03F1 260C bne L03FF
|
|
630
|
|
631 00533 03F3 0D0D tst <V.PCHR
|
|
632 00534 03F5 2608 bne L03FF
|
|
633
|
|
634 00535 03F7 D61D ldb <u001D
|
|
635 00536 03F9 C504 bitb #$04
|
|
636 00537 03FB 2602 bne L03FF
|
|
637
|
|
638 00538 03FD 0C22 inc <u0022
|
|
639 00539 03FF 16010A L03FF lbra L050C
|
|
640 00540 0402 812B L0402 cmpa #$2B
|
|
641 00541 0404 2617 bne L041D
|
|
642
|
|
643 00542 0406 9E01 ldx <V.PORT
|
|
644 00543 0408 A604 lda $04,x
|
|
645 00544 040A 3412 pshs x,a
|
|
646 00545 040C 84FA anda #$FA
|
|
647 00546 040E A704 sta $04,x
|
|
648 00547 0410 8E001E ldx #$001E
|
|
649 00548 0413 103F0A os9 F$Sleep
|
|
650 00549 0416 3512 puls x,a
|
|
651 00550 0418 A704 sta $04,x
|
|
652 00551 041A 1600EF lbra L050C
|
|
653 00552 041D 811D L041D cmpa #$1D
|
|
654 00553 041F 2640 bne L0461
|
|
655
|
|
656 00554 0421 1A50 orcc #$50
|
|
657 00555 0423 9E01 ldx <V.PORT
|
|
658 00556 0425 9628 lda <u0028
|
|
659 00557 0427 8A08 ora #$08
|
|
660 00558 0429 9728 sta <u0028
|
|
661 00559 042B 8D50 bsr L047D
|
|
662
|
|
663 00560 042D 4F clra
|
|
664 00561 042E A784 sta ,x
|
|
665 00562 0430 1A50 L0430 orcc #$50
|
|
666 00563 0432 A605 lda $05,x
|
|
667 00564 0434 8540 bita #$40
|
|
668 00565 0436 260C bne L0444
|
|
669
|
|
670 00566 0438 1CAF andcc #$AF
|
|
671 00567 043A 8E0001 ldx #$0001
|
|
672 00568 043D 103F0A os9 F$Sleep
|
|
673 00569 0440 9E01 ldx <V.PORT
|
|
674 00570 0442 20EC bra L0430
|
|
675
|
|
676 00571 0444 8A40 L0444 ora #$40
|
|
677 00572 0446 A703 sta $03,x
|
|
678 00573 0448 8E001E ldx #$001E
|
|
679 00574 044B 103F0A os9 F$Sleep
|
|
680 00575 044E 9E01 ldx <V.PORT
|
|
681 00576 0450 1A50 orcc #$50
|
|
682 00577 0452 A603 lda $03,x
|
|
683 00578 0454 84BF anda #$BF
|
|
684 00579 0456 A703 sta $03,x
|
|
685 00580 0458 9628 lda <u0028
|
|
686 00581 045A 84F7 anda #$F7
|
|
687 00582 045C 9728 sta <u0028
|
|
688 00583 045E 1600AB lbra L050C
|
|
689 00584 0461 811A L0461 cmpa #$1A
|
|
690 00585 0463 262B bne L0490
|
|
691
|
|
692 00586 0465 A625 lda $05,y
|
|
693 00587 0467 AE26 ldx $06,y
|
|
694 00588 0469 E605 ldb $05,x
|
|
695 00589 046B 1A50 orcc #$50
|
|
696 00590 046D 9E34 ldx <u0034
|
|
697 00591 046F 2605 bne L0476
|
|
698
|
|
699 00592 0471 DD25 std <u0025
|
|
700 00593 0473 160096 lbra L050C
|
|
701 00594 0476 3501 L0476 puls cc
|
|
702 00595 0478 103F08 os9 F$Send
|
|
703 00596 047B 358C puls pc,dp,b
|
|
704 00597 047D 860D L047D lda #$0D
|
|
705 00598 047F A701 sta $01,x
|
|
706 00599 0481 0F40 clr <u0040
|
|
707 00600 0483 DC3E ldd <u003E
|
|
708 00601 0485 DD3A std <u003A
|
|
709 00602 0487 DD38 std <u0038
|
|
710 00603 0489 9621 lda <u0021
|
|
711 00604 048B 8A04 ora #$04
|
|
712 00605 048D A702 sta $02,x
|
|
713 00606 048F 39 rts
|
|
714 00607 0490 811B L0490 cmpa #$1B
|
|
715 00608 0492 260C bne L04A0
|
|
716
|
|
717 00609 0494 A625 lda $05,y
|
|
718 00610 0496 9125 cmpa <u0025
|
|
719 00611 0498 2604 bne L049E
|
|
720
|
|
721 00612 049A 4F clra
|
|
722 00613 049B 5F clrb
|
|
723 00614 049C DD25 std <u0025
|
|
724 00615 049E 206C L049E bra L050C
|
|
725
|
|
726 00616 04A0 819A L04A0 cmpa #$9A
|
|
727 00617 04A2 260A bne L04AE
|
|
728
|
|
729 00618 04A4 A625 lda $05,y
|
|
730 00619 04A6 AE26 ldx $06,y
|
|
731 00620 04A8 E605 ldb $05,x
|
|
732 00621 04AA DD23 std <u0023
|
|
733 00622 04AC 205E bra L050C
|
|
734
|
|
735 00623 04AE 819B L04AE cmpa #$9B
|
|
736 00624 04B0 260E bne L04C0
|
|
737
|
|
738 00625 04B2 1A50 orcc #$50
|
|
739 00626 04B4 A625 lda $05,y
|
|
740 00627 04B6 9123 cmpa <u0023
|
|
741 00628 04B8 2604 bne L04BE
|
|
742
|
|
743 00629 04BA 4F clra
|
|
744 00630 04BB 5F clrb
|
|
745 00631 04BC DD23 std <u0023
|
|
746 00632 04BE 204C L04BE bra L050C
|
|
747
|
|
748 00633 04C0 812A L04C0 cmpa #$2A
|
|
749 00634 04C2 2615 bne L04D9
|
|
750
|
|
751 00635 04C4 1A50 orcc #$50
|
|
752 00636 04C6 A625 lda $05,y
|
|
753 00637 04C8 8E0000 ldx #$0000
|
|
754 00638 04CB 9125 cmpa <u0025
|
|
755 00639 04CD 2602 bne L04D1
|
|
756
|
|
757 00640 04CF 9F25 stx <u0025
|
|
758 00641 04D1 9123 L04D1 cmpa <u0023
|
|
759 00642 04D3 2602 bne L04D7
|
|
760
|
|
761 00643 04D5 9F23 stx <u0023
|
|
762 00644 04D7 2033 L04D7 bra L050C
|
|
763
|
|
764 00645 04D9 8129 L04D9 cmpa #$29
|
|
765 00646 04DB 2627 bne L0504
|
|
766
|
|
767 00647 04DD 9E01 ldx <V.PORT
|
|
768 00648 04DF 1A50 orcc #$50
|
|
769 00649 04E1 0D28 tst <u0028
|
|
770 00650 04E3 2619 bne L04FE
|
|
771
|
|
772 00651 04E5 A606 lda $06,x
|
|
773 00652 04E7 84B0 anda #$B0
|
|
774 00653 04E9 9720 sta <u0020
|
|
775 00654 04EB 5F clrb
|
|
776 00655 04EC 8510 bita #$10
|
|
777 00656 04EE 2602 bne L04F2
|
|
778
|
|
779 00657 04F0 CA02 orb #$02
|
|
780 00658 04F2 8520 L04F2 bita #$20
|
|
781 00659 04F4 2602 bne L04F8
|
|
782
|
|
783 00660 04F6 CA01 orb #$01
|
|
784 00661 04F8 D728 L04F8 stb <u0028
|
|
785 00662 04FA 860F lda #$0F
|
|
786 00663 04FC A704 sta $04,x
|
|
787 00664 04FE C60F L04FE ldb #$0F
|
|
788 00665 0500 E701 stb $01,x
|
|
789 00666 0502 2008 bra L050C
|
|
790
|
|
791 00667 0504 3505 L0504 puls b,cc
|
|
792 00668 0506 1A01 orcc #$01
|
|
793 00669 0508 C6D0 ldb #$D0
|
|
794 00670 050A 3588 puls pc,dp
|
|
795 00671 050C 358D L050C puls pc,dp,b,cc
|
|
796 00672 050E 1A50 L050E orcc #$50
|
|
797 00673 0510 FC0050 ldd >$0050
|
|
798 00674 0513 9705 sta <V.WAKE
|
|
799 00675 0515 1F01 tfr d,x
|
|
800 00676 0517 A60C lda $0C,x
|
|
801 00677 0519 8A08 ora #$08
|
|
802 00678 051B A70C sta $0C,x
|
|
803 00679 051D 8E0001 ldx #$0001 * |remainer of slice
|
|
804 00680 0520 103F0A os9 F$Sleep * |sleep
|
|
805 00681 0523 1CAF andcc #$AF * |carry set on error
|
|
806 00682 0525 39 rts
|
|
807
|
|
808 00683 0526 3440 UtoDP pshs u U to DP, clean stack
|
|
809 00684 0528 3508 puls dp |
|
|
810 00685 052A 3261 leas $01,s |
|
|
811 00686 052C 39 rts |
|
|
812
|
|
813 00687 052D 01 L052D fcb $01
|
|
814 00688 052E 6F01 clr $01,x
|
|
815 00689 0530 1C00 andcc #$00
|
|
816 00690 0532 1D sex
|
|
817 00691 0533 01 fcb $01
|
|
818 00692 0534 C8FF eorb #$FF
|
|
819 00693 0536 F3FFF3 addd >$FFF3
|
|
820 00694 0539 002C neg <u002C
|
|
821 00695 053B 3408 IRQser pshs dp
|
|
822 00696 053D 8DE7 bsr UtoDP
|
|
823
|
|
824 00697 053F 0F27 clr <u0027
|
|
825 00698 0541 109E01 ldy <V.PORT
|
|
826 00699 0544 E622 ldb $02,y
|
|
827 00700 0546 C501 bitb #$01
|
|
828 00701 0548 2710 beq L055A
|
|
829
|
|
830 00702 054A 0D40 tst <u0040
|
|
831 00703 054C 2708 beq L0556
|
|
832
|
|
833 00704 054E E625 ldb $05,y
|
|
834 00705 0550 C520 bitb #$20
|
|
835 00706 0552 10260131 lbne L0687
|
|
836 00707 0556 1A01 L0556 orcc #$01
|
|
837 00708 0558 3588 puls pc,dp
|
|
838 00709 055A 308DFFCF L055A leax >L052D,pcr
|
|
839 00710 055E C40E andb #$0E
|
|
840 00711 0560 3A abx
|
|
841 00712 0561 1F50 tfr pc,d
|
|
842 00713 0563 E384 addd ,x
|
|
843 00714 0565 1F05 tfr d,pc
|
|
844 00715 0567 E622 L0567 ldb $02,y
|
|
845 00716 0569 C501 bitb #$01
|
|
846 00717 056B 27ED beq L055A
|
|
847
|
|
848 00718 056D 9605 lda <V.WAKE
|
|
849 00719 056F 270B beq L057C
|
|
850
|
|
851 00720 0571 5F clrb
|
|
852 00721 0572 D705 stb <V.WAKE
|
|
853 00722 0574 1F01 tfr d,x
|
|
854 00723 0576 A60C lda $0C,x
|
|
855 00724 0578 84F7 anda #$F7
|
|
856 00725 057A A70C sta $0C,x
|
|
857 00726 057C 1CFE L057C andcc #$FE
|
|
858 00727 057E 3588 puls pc,dp
|
|
859 00728 0580 9E2C ldx <u002C
|
|
860 00729 0582 A625 lda $05,y
|
|
861 00730 0584 2B0D bmi L0593
|
|
862
|
|
863 00731 0586 D629 ldb <u0029
|
|
864 00732 0588 8D2F L0588 bsr L05B9
|
|
865
|
|
866 00733 058A 5A decb
|
|
867 00734 058B 26FB bne L0588
|
|
868
|
|
869 00735 058D 2002 bra L0591
|
|
870
|
|
871 00736 058F 9E2C ldx <u002C
|
|
872 00737 0591 A625 L0591 lda $05,y
|
|
873 00738 0593 851E L0593 bita #$1E
|
|
874 00739 0595 2705 beq L059C
|
|
875
|
|
876 00740 0597 170198 lbsr L0732
|
|
877
|
|
878 00741 059A 20F5 bra L0591
|
|
879
|
|
880 00742 059C 8501 L059C bita #$01
|
|
881 00743 059E 2704 beq L05A4
|
|
882
|
|
883 00744 05A0 8D17 bsr L05B9
|
|
884
|
|
885 00745 05A2 20ED bra L0591
|
|
886
|
|
887 00746 05A4 0D27 L05A4 tst <u0027
|
|
888 00747 05A6 260D bne L05B5
|
|
889
|
|
890 00748 05A8 DC25 ldd <u0025
|
|
891 00749 05AA 2709 beq L05B5
|
|
892
|
|
893 00750 05AC D727 stb <u0027 * |signal code
|
|
894 00751 05AE 103F08 os9 F$Send * |send signal
|
|
895 00752 05B1 4F clra
|
|
896 00753 05B2 5F clrb
|
|
897 00754 05B3 DD25 std <u0025
|
|
898 00755 05B5 9F2C L05B5 stx <u002C
|
|
899 00756 05B7 20AE bra L0567
|
|
900
|
|
901 00757 05B9 3404 L05B9 pshs b
|
|
902 00758 05BB A6A4 lda ,y
|
|
903 00759 05BD 2736 beq L05F5
|
|
904
|
|
905 00760 05BF 0D22 tst <u0022
|
|
906 00761 05C1 2632 bne L05F5
|
|
907
|
|
908 00762 05C3 910C cmpa <V.QUIT
|
|
909 00763 05C5 2604 bne L05CB
|
|
910
|
|
911 00764 05C7 C602 ldb #$02
|
|
912 00765 05C9 2006 bra L05D1
|
|
913
|
|
914 00766 05CB 910B L05CB cmpa <V.INTR
|
|
915 00767 05CD 2611 bne L05E0
|
|
916
|
|
917 00768 05CF C603 ldb #$03
|
|
918 00769 05D1 3402 L05D1 pshs a
|
|
919 00770 05D3 0D27 tst <u0027
|
|
920 00771 05D5 2607 bne L05DE
|
|
921
|
|
922 00772 05D7 9603 lda <V.LPRC * | dest proc id
|
|
923 00773 05D9 D727 stb <u0027 * | signal code
|
|
924 00774 05DB 103F08 os9 F$Send * | send signal
|
|
925 00775 05DE 3502 L05DE puls a
|
|
926 00776 05E0 910F L05E0 cmpa <V.XON
|
|
927 00777 05E2 2773 beq L0657
|
|
928
|
|
929 00778 05E4 9110 cmpa <V.XOFF
|
|
930 00779 05E6 10270081 lbeq L066B
|
|
931
|
|
932 00780 05EA 910D cmpa <V.PCHR
|
|
933 00781 05EC 2607 bne L05F5
|
|
934
|
|
935 00782 05EE DE09 ldu <V.DEV2
|
|
936 00783 05F0 2703 beq L05F5
|
|
937
|
|
938 00784 05F2 A7C808 sta <V.PAUS,u
|
|
939 00785 05F5 A780 L05F5 sta ,x+
|
|
940 00786 05F7 9C30 cmpx <u0030
|
|
941 00787 05F9 2602 bne L05FD
|
|
942
|
|
943 00788 05FB 9E32 ldx <u0032
|
|
944 00789 05FD 9C2E L05FD cmpx <u002E
|
|
945 00790 05FF 2610 bne L0611
|
|
946
|
|
947 00791 0601 C602 ldb #$02
|
|
948 00792 0603 DA0E orb <V.ERR
|
|
949 00793 0605 D70E stb <V.ERR
|
|
950 00794 0607 9C32 cmpx <u0032
|
|
951 00795 0609 2602 bne L060D
|
|
952
|
|
953 00796 060B 9E30 ldx <u0030
|
|
954 00797 060D 301F L060D leax -$01,x
|
|
955 00798 060F 200C bra L061D
|
|
956
|
|
957 00799 0611 DC34 L0611 ldd <u0034
|
|
958 00800 0613 C30001 addd #$0001
|
|
959 00801 0616 DD34 std <u0034
|
|
960 00802 0618 10932A cmpd <u002A
|
|
961 00803 061B 2702 beq L061F
|
|
962
|
|
963 00804 061D 3584 L061D puls pc,b
|
|
964 00805 061F D628 L061F ldb <u0028
|
|
965 00806 0621 C570 bitb #$70
|
|
966 00807 0623 26F8 bne L061D
|
|
967
|
|
968 00808 0625 961D lda <u001D
|
|
969 00809 0627 8502 bita #$02
|
|
970 00810 0629 270C beq L0637
|
|
971
|
|
972 00811 062B CA20 orb #$20
|
|
973 00812 062D D728 stb <u0028
|
|
974 00813 062F A624 lda $04,y
|
|
975 00814 0631 84F5 anda #$F5
|
|
976 00815 0633 A724 sta $04,y
|
|
977 00816 0635 20E6 bra L061D
|
|
978
|
|
979 00817 0637 8501 L0637 bita #$01
|
|
980 00818 0639 270C beq L0647
|
|
981
|
|
982 00819 063B CA10 orb #$10
|
|
983 00820 063D D728 stb <u0028
|
|
984 00821 063F A624 lda $04,y
|
|
985 00822 0641 84FA anda #$FA
|
|
986 00823 0643 A724 sta $04,y
|
|
987 00824 0645 20D6 bra L061D
|
|
988
|
|
989 00825 0647 9610 L0647 lda <V.XOFF
|
|
990 00826 0649 27D2 beq L061D
|
|
991
|
|
992 00827 064B CA40 orb #$40
|
|
993 00828 064D D728 stb <u0028
|
|
994 00829 064F 9743 sta <u0043
|
|
995 00830 0651 C60F ldb #$0F
|
|
996 00831 0653 E721 stb $01,y
|
|
997 00832 0655 20C6 bra L061D
|
|
998
|
|
999 00833 0657 D61D L0657 ldb <u001D
|
|
1000 00834 0659 C504 bitb #$04
|
|
1001 00835 065B 1027FF96 lbeq L05F5
|
|
1002
|
|
1003 00836 065F 9628 lda <u0028
|
|
1004 00837 0661 84FB anda #$FB
|
|
1005 00838 0663 9728 sta <u0028
|
|
1006 00839 0665 860F lda #$0F
|
|
1007 00840 0667 A721 sta $01,y
|
|
1008 00841 0669 20B2 bra L061D
|
|
1009
|
|
1010 00842 066B D61D L066B ldb <u001D
|
|
1011 00843 066D C504 bitb #$04
|
|
1012 00844 066F 1027FF82 lbeq L05F5
|
|
1013
|
|
1014 00845 0673 9628 lda <u0028
|
|
1015 00846 0675 8A04 ora #$04
|
|
1016 00847 0677 9728 sta <u0028
|
|
1017 00848 0679 860D lda #$0D
|
|
1018 00849 067B A721 sta $01,y
|
|
1019 00850 067D 209E bra L061D
|
|
1020
|
|
1021 00851 067F A625 lda $05,y
|
|
1022 00852 0681 8520 bita #$20
|
|
1023 00853 0683 1027FEE0 lbeq L0567
|
|
1024
|
|
1025 00854 0687 9E3A L0687 ldx <u003A
|
|
1026 00855 0689 9643 lda <u0043
|
|
1027 00856 068B 2F06 ble L0693
|
|
1028
|
|
1029 00857 068D A7A4 sta ,y
|
|
1030 00858 068F 8A80 ora #$80
|
|
1031 00859 0691 9743 sta <u0043
|
|
1032 00860 0693 0D40 L0693 tst <u0040
|
|
1033 00861 0695 2734 beq L06CB
|
|
1034
|
|
1035 00862 0697 D628 ldb <u0028
|
|
1036 00863 0699 C508 bitb #$08
|
|
1037 00864 069B 262E bne L06CB
|
|
1038
|
|
1039 00865 069D C407 andb #$07
|
|
1040 00866 069F D41D andb <u001D
|
|
1041 00867 06A1 2628 bne L06CB
|
|
1042
|
|
1043 00868 06A3 D63B ldb <u003B
|
|
1044 00869 06A5 50 negb
|
|
1045 00870 06A6 C10F cmpb #$0F
|
|
1046 00871 06A8 2302 bls L06AC
|
|
1047 00872 06AA C60F ldb #$0F
|
|
1048
|
|
1049 00873 06AC D140 L06AC cmpb <u0040
|
|
1050 00874 06AE 2302 bls L06B2
|
|
1051
|
|
1052 00875 06B0 D640 ldb <u0040
|
|
1053 00876 06B2 3404 L06B2 pshs b
|
|
1054 00877 06B4 A680 L06B4 lda ,x+
|
|
1055 00878 06B6 A7A4 sta ,y
|
|
1056 00879 06B8 5A decb
|
|
1057 00880 06B9 26F9 bne L06B4
|
|
1058
|
|
1059 00881 06BB 9C3C cmpx <u003C
|
|
1060 00882 06BD 2502 bcs L06C1
|
|
1061
|
|
1062 00883 06BF 9E3E ldx <u003E
|
|
1063 00884 06C1 9F3A L06C1 stx <u003A
|
|
1064 00885 06C3 D640 ldb <u0040
|
|
1065 00886 06C5 E0E0 subb ,s+
|
|
1066 00887 06C7 D740 stb <u0040
|
|
1067 00888 06C9 2604 bne L06CF
|
|
1068
|
|
1069 00889 06CB 860D L06CB lda #$0D
|
|
1070 00890 06CD A721 sta $01,y
|
|
1071
|
|
1072 00891 06CF 16FE95 L06CF lbra L0567
|
|
1073 00892 06D2 A626 lda $06,y
|
|
1074 00893 06D4 1F89 tfr a,b
|
|
1075 00894 06D6 C4B0 andb #$B0
|
|
1076 00895 06D8 D720 stb <u0020
|
|
1077 00896 06DA D628 ldb <u0028
|
|
1078 00897 06DC C4FC andb #$FC
|
|
1079 00898 06DE 8510 bita #$10
|
|
1080 00899 06E0 2602 bne L06E4
|
|
1081
|
|
1082 00900 06E2 CA02 orb #$02
|
|
1083 00901 06E4 8520 L06E4 bita #$20
|
|
1084 00902 06E6 2602 bne L06EA
|
|
1085
|
|
1086 00903 06E8 CA01 orb #$01
|
|
1087 00904 06EA D728 L06EA stb <u0028
|
|
1088 00905 06EC 8508 bita #$08
|
|
1089 00906 06EE 2734 beq L0724
|
|
1090
|
|
1091 00907 06F0 8580 bita #$80
|
|
1092 00908 06F2 261E bne L0712
|
|
1093
|
|
1094 00909 06F4 961D lda <u001D
|
|
1095 00910 06F6 8510 bita #$10
|
|
1096 00911 06F8 270E beq L0708
|
|
1097
|
|
1098 00912 06FA 9E16 ldx <V.PDLHD
|
|
1099 00913 06FC 270A beq L0708
|
|
1100
|
|
1101 00914 06FE 8601 lda #$01
|
|
1102 00915 0700 A7883F L0700 sta <$3F,x
|
|
1103 00916 0703 AE883D ldx <$3D,x
|
|
1104 00917 0706 26F8 bne L0700
|
|
1105
|
|
1106 00918 0708 8620 L0708 lda #$20
|
|
1107 00919 070A 9A0E ora <V.ERR
|
|
1108 00920 070C 970E sta <V.ERR
|
|
1109 00921 070E C4FB andb #$FB
|
|
1110 00922 0710 D728 stb <u0028
|
|
1111 00923 0712 0D27 L0712 tst <u0027
|
|
1112 00924 0714 260E bne L0724
|
|
1113
|
|
1114 00925 0716 DC23 ldd <u0023
|
|
1115 00926 0718 5D tstb
|
|
1116 00927 0719 2709 beq L0724
|
|
1117
|
|
1118 00928 071B 103F08 os9 F$Send * |send signal
|
|
1119 00929 071E D727 stb <u0027
|
|
1120 00930 0720 4F clra
|
|
1121 00931 0721 5F clrb
|
|
1122 00932 0722 DD23 std <u0023
|
|
1123 00933 0724 860F L0724 lda #$0F
|
|
1124 00934 0726 A721 sta $01,y
|
|
1125 00935 0728 16FE3C lbra L0567
|
|
1126 00936 072B A625 lda $05,y
|
|
1127
|
|
1128 00937 072D 8D03 bsr L0732
|
|
1129
|
|
1130 00938 072F 16FE35 lbra L0567
|
|
1131
|
|
1132 00939 0732 3404 L0732 pshs b
|
|
1133 00940 0734 5F clrb
|
|
1134 00941 0735 8502 bita #$02
|
|
1135 00942 0737 2702 beq L073B
|
|
1136
|
|
1137 00943 0739 CA04 orb #$04
|
|
1138 00944 073B 8504 L073B bita #$04
|
|
1139 00945 073D 2702 beq L0741
|
|
1140
|
|
1141 00946 073F CA01 orb #$01
|
|
1142 00947 0741 8508 L0741 bita #$08
|
|
1143 00948 0743 2702 beq L0747
|
|
1144
|
|
1145 00949 0745 CA02 orb #$02
|
|
1146 00950 0747 8510 L0747 bita #$10
|
|
1147 00951 0749 2606 bne L0751
|
|
1148
|
|
1149 00952 074B CA08 orb #$08
|
|
1150 00953 074D DA0E orb <V.ERR
|
|
1151 00954 074F D70E stb <V.ERR
|
|
1152 00955 0751 3584 L0751 puls pc,b
|
|
1153
|
|
1154 *[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[
|
|
1155
|
|
1156 00956 0753 01 Data fcb $01
|
|
1157 00957 0754 01 fcb $01
|
|
1158 00958 0755 0A28 dec <u0028
|
|
1159 00959 0757 E901 adcb $01,x
|
|
1160 00960 0759 01 fcb $01
|
|
1161 00961 075A 0F00 clr <V.PAGE
|
|
1162 00962 075C 01 fcb $01
|
|
1163 00963 075D 01 fcb $01
|
|
1164 00964 075E 0780 asr <u0080
|
|
1165 00965 0760 41 fcb $41 A
|
|
1166 00966 0761 0403 lsr <V.LPRC
|
|
1167 00967 0763 C081 subb #$81
|
|
1168
|
|
1169 00968 0765 0801 lsl <V.PORT
|
|
1170 00969 0767 E0C1 subb ,u++
|
|
1171 00970 0769 0E00 jmp <V.PAGE
|
|
1172 00971 076B F0C10E subb >$C10E
|
|
1173 00972 076E 0078 neg <u0078
|
|
1174 00973 0770 C10E cmpb #$0E
|
|
1175 00974 0772 003C neg <u003C
|
|
1176 00975 0774 8108 cmpa #$08
|
|
1177 00976 0776 001E neg <u001E
|
|
1178 00977 0778 8108 cmpa #$08
|
|
1179 00978 077A 0014 neg <V.MODADR
|
|
1180 00979 077C 8108 cmpa #$08
|
|
1181 00980 077E 000F neg <V.XON
|
|
1182 00981 0780 8108 cmpa #$08
|
|
1183 00982 0782 000A neg <u000A
|
|
1184 00983 0784 8108 cmpa #$08
|
|
1185 00984 0786 000A neg <u000A
|
|
1186 00985 0788 8108 cmpa #$08
|
|
1187 00986 078A 000A neg <u000A
|
|
1188 00987 078C 8108 cmpa #$08
|
|
1189 00988 078E 000A neg <u000A
|
|
1190 00989 0790 8108 cmpa #$08
|
|
1191 00990 0792 0025 neg <u0025
|
|
1192 00991 0794 8108 cmpa #$08
|
|
1193 00992 0796 85C9D1 emod
|
|
1194 00993 0799 eom equ *
|