Mercurial > hg > Members > kono > nitros9-code
comparison 3rdparty/drivers/s16550/s16550.asm @ 878:b2983d97e218
Added for later use
author | boisy |
---|---|
date | Fri, 17 Jan 2003 04:12:47 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
877:c684d4897a63 | 878:b2983d97e218 |
---|---|
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 * |