annotate level2/modules/modpak.asm @ 1332:80f15c027ebb

Improved ngu somewhat
author boisy
date Sun, 07 Sep 2003 19:29:52 +0000
parents d13864ef3317
children 8e804211cb25
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1 ********************************************************************
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
2 * ModPak - Tandy RS-232/DCM Modem Pak driver
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
3 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
4 * $Id$
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
5 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
6 * Ed. Comments Who YY/MM/DD
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
7 * ------------------------------------------------------------------
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
8 * 12 Original Tandy distribution version
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
9 * 14 Obtained from L2 Upgrade archive BGP 98/10/12
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
10
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
11 nam ModPak
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
12 ttl Tandy RS-232/DCM Modem Pak driver
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
13
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
14 * Disassembled 98/08/24 23:06:22 by Disasm v1.6 (C) 1988 by RML
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
15
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
16 ifp1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
17 use defsfile
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
18 endc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
19
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
20 tylg set Drivr+Objct
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
21 atrv set ReEnt+rev
1289
d13864ef3317 Changed to rev 0
boisy
parents: 372
diff changeset
22 rev set $00
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
23 edition set 14
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
24
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
25 mod eom,name,tylg,atrv,start,size
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
26
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
27 u0000 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
28 u0001 rmb 2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
29 u0003 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
30 u0004 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
31 u0005 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
32 u0006 rmb 3
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
33 u0009 rmb 2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
34 u000B rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
35 u000C rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
36 u000D rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
37 u000E rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
38 u000F rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
39 u0010 rmb 6
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
40 u0016 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
41 u0017 rmb 6
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
42 u001D rmb 2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
43 u001F rmb 2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
44 u0021 rmb 2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
45 u0023 rmb 2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
46 u0025 rmb 2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
47 u0027 rmb 2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
48 u0029 rmb 2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
49 u002B rmb 2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
50 u002D rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
51 u002E rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
52 u002F rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
53 u0030 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
54 u0031 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
55 u0032 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
56 u0033 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
57 u0034 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
58 u0035 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
59 u0036 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
60 u0037 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
61 u0038 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
62 u0039 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
63 u003A rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
64 u003B rmb 2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
65 u003D rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
66 u003E rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
67 u003F rmb 5
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
68 u0044 rmb 60
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
69 u0080 rmb 20
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
70 u0094 rmb 108
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
71 size equ .
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
72 fcb $03
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
73
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
74 name fcs /MODPAK/
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
75 fcb edition
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
76
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
77 start equ *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
78 lbra Init
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
79 lbra Read
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
80 lbra Write
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
81 lbra GetStat
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
82 lbra SetStat
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
83 lbra Term
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
84 L0027 fcb $00,$80,$0a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
85
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
86 * Init
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
87 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
88 * Entry:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
89 * Y = address of device descriptor
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
90 * U = address of device memory area
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
91 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
92 * Exit:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
93 * CC = carry set on error
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
94 * B = error code
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
95 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
96 Init pshs dp
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
97 lbsr L0330
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
98 ldd <IT.COL,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
99 std <u0039
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
100 ldd <IT.PAR,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
101 std <u0036
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
102 clr <u0038
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
103 lda <IT.XTYP,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
104 ldb <M$Opt,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
105 cmpb #$1C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
106 bls L005D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
107 sta <u0038
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
108 anda #$0F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
109 beq L005D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
110 ldb #$BB
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
111 stb <u002F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
112 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
113 pshs u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
114 os9 F$SRqMem
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
115 tfr u,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
116 puls u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
117 bcs L00C0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
118 bra L0068
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
119 L005D ldb #$4F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
120 stb <u002F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
121 clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
122 ldb #$6C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
123 leax >u0094,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
124 L0068 std <u0025
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
125 stx <u0023
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
126 leax d,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
127 stx <u0027
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
128 subd #$0020
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
129 std <u002B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
130 clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
131 ldb #$20
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
132 std <u0029
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
133 ldx <u0001
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
134 ldb #$0A
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
135 lda <u0038
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
136 bita #$40
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
137 beq L0086
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
138 orb #$01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
139 L0086 stb $01,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
140 stb $02,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
141 ldd #$2040
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
142 tst <u0038
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
143 bpl L0093
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
144 exg a,b
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
145 L0093 std <u003D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
146 ldd <u0036
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
147 lbsr L0271
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
148 ldd <u0001
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
149 addd #$0001
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
150 leax >L0027,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
151 leay >L0337,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
152 os9 F$IRQ
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
153 bcs L00C0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
154 leay <u003F,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
155 lda #$80
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
156 sta $04,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
157 ldd #$0001
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
158 std $02,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
159 tfr d,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
160 os9 F$VIRQ
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
161 bcs L00C0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
162 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
163 L00C0 puls pc,dp
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
164 L00C2 bsr L0110
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
165 bra L00CB
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
166
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
167 * Read
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
168 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
169 * Entry:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
170 * Y = address of path descriptor
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
171 * U = address of device memory area
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
172 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
173 * Exit:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
174 * A = character read
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
175 * CC = carry set on error
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
176 * B = error code
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
177 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
178 Read pshs dp
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
179 lbsr L0330
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
180 L00CB lda <u0031
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
181 bita #$10
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
182 beq L00E0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
183 ldx <u0021
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
184 cmpx <u0029
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
185 bhi L00E0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
186 lda #$A0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
187 ldb #$05
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
188 lbsr L040D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
189 sta <u0031
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
190 L00E0 tst <u0033
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
191 bne L015F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
192 ldx <u001F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
193 orcc #IntMasks
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
194 cmpx <u001D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
195 beq L00C2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
196 lda ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
197 leax $01,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
198 cmpx <u0027
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
199 bcs L00F6
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
200 ldx <u0023
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
201 L00F6 stx <u001F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
202 ldx <u0021
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
203 leax -$01,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
204 stx <u0021
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
205 ldb <u000E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
206 lbeq L020F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
207 clr <u000E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
208 stb <$3A,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
209 andcc #^IntMasks
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
210 comb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
211 ldb #E$Read
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
212 puls pc,dp
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
213
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
214 L0110 pshs x,b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
215 lda >D.Proc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
216 sta <u0005
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
217 L0117 ldx >D.Proc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
218 lda P$State,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
219 ora #Suspend
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
220 sta P$State,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
221 andcc #^IntMasks
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
222 ldx #$0001
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
223 os9 F$Sleep
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
224 orcc #IntMasks
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
225 ldx >D.Proc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
226 lda <P$Signal,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
227 beq L013C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
228 cmpa #C$INTR
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
229 bls L0158
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
230 lda P$State,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
231 bita #Condem
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
232 bne L0158
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
233 L013C lda <u0005
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
234 bne L0117
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
235 andcc #^IntMasks
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
236 clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
237 lda P$State,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
238 bita #Condem
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
239 bne L0158
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
240 ldb #$DC
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
241 lda <u000E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
242 bita #$20
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
243 bne L0153
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
244 puls pc,x,b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
245
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
246 L0153 inc <$3F,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
247 clr <u000E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
248 L0158 andcc #^IntMasks
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
249 leas $06,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
250 coma
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
251 puls pc,dp
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
252 L015F comb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
253 ldb #$F6
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
254 puls pc,dp
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
255 L0164 bsr L0110
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
256 bra L016D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
257
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
258 * Write
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
259 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
260 * Entry:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
261 * A = character to write
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
262 * Y = address of path descriptor
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
263 * U = address of device memory area
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
264 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
265 * Exit:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
266 * CC = carry set on error
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
267 * B = error code
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
268 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
269 Write pshs dp
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
270 lbsr L0330
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
271 L016D leax <u0044,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
272 ldb <u002E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
273 abx
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
274 sta ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
275 incb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
276 cmpb <u002F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
277 bls L017B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
278 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
279 L017B orcc #IntMasks
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
280 cmpb <u002D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
281 beq L0164
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
282 stb <u002E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
283 lda <u0030
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
284 beq L0192
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
285 anda #$FD
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
286 sta <u0030
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
287 bne L0192
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
288 ldb #$05
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
289 lbsr L040D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
290 L0192 bra L020F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
291
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
292 * GetStat
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
293 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
294 * Entry:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
295 * A = function code
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
296 * Y = address of path descriptor
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
297 * U = address of device memory area
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
298 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
299 * Exit:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
300 * CC = carry set on error
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
301 * B = error code
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
302 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
303 GetStat pshs dp
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
304 lbsr L0330
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
305 ldx PD.RGS,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
306 cmpa #SS.Ready
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
307 bne L01AD
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
308 ldd <u0021
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
309 beq L015F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
310 tsta
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
311 beq L01A8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
312 ldb #$FF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
313 L01A8 stb R$B,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
314 L01AA clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
315 puls pc,dp
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
316 L01AD cmpa #SS.EOF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
317 beq L01AA
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
318 cmpa #SS.ScSiz
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
319 beq L01D6
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
320 cmpa #SS.ComSt
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
321 beq L01D0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
322 cmpa #SS.CDSta
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
323 bne L0214
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
324 lda <u0032
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
325 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
326 bita <u003D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
327 beq L01C6
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
328 orb #$20
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
329 L01C6 bita <u003E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
330 beq L01CC
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
331 orb #$40
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
332 L01CC stb $02,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
333 bra L01AA
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
334 L01D0 ldd <u0036
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
335 std R$Y,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
336 bra L01AA
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
337 L01D6 clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
338 ldb <u0039
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
339 std R$X,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
340 ldb <u003A
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
341 std R$Y,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
342 bra L01AA
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
343 L01E1 lda $05,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
344 ldb $05,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
345 orcc #IntMasks
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
346 std <u003B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
347 bra L020F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
348 L01EB leax <u003B,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
349 L01EE lda $05,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
350 cmpa ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
351 bne L01AA
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
352 clr ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
353 puls pc,dp
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
354
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
355 * SetStat
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
356 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
357 * Entry:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
358 * A = function code
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
359 * Y = address of path descriptor
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
360 * U = address of device memory area
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
361 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
362 * Exit:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
363 * CC = carry set on error
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
364 * B = error code
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
365 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
366 SetStat pshs dp
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
367 lbsr L0330
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
368 ldx PD.RGS,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
369 cmpa #SS.SSig
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
370 bne L0220
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
371 lda PD.CPR,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
372 ldb R$X+1,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
373 orcc #IntMasks
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
374 ldx <u0021
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
375 bne L0219
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
376 std <u0033
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
377 L020F clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
378 andcc #^IntMasks
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
379 puls pc,dp
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
380 L0214 comb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
381 ldb #E$UnkSvc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
382 puls pc,dp
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
383 L0219 andcc #^IntMasks
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
384 os9 F$Send
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
385 bra L024D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
386 L0220 cmpa #SS.HngUp
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
387 beq L025A
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
388 cmpa #SS.Relea
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
389 bne L022D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
390 leax <u0033,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
391 bra L01EE
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
392 L022D cmpa #SS.CDSig
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
393 beq L01E1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
394 cmpa #SS.CDRel
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
395 beq L01EB
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
396 cmpa #SS.ComSt
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
397 beq L026B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
398 cmpa #SS.Break
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
399 bne L0250
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
400 ldx <u0001
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
401 lda $02,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
402 pshs x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
403 ora #$0C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
404 sta $02,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
405 bsr L0291
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
406 puls x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
407 sta $02,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
408 L024D clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
409 L024E puls pc,dp
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
410 L0250 cmpa #SS.Open
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
411 beq L0298
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
412 cmpa #SS.Close
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
413 beq L02CF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
414 bra L0214
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
415 L025A lbsr L02DF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
416 bcs L024E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
417 bsr L0291
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
418 bra L029E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
419 L0263 fcb $13,$16,$17,$18,$1a,$1c,$1e,$1f
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
420 L026B ldd $06,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
421 bsr L0271
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
422 L026F bra L024D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
423 L0271 std <u0036
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
424 andb #$E0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
425 pshs b
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
426 ldb <u0037
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
427 andb #$0F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
428 leax <L0263,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
429 ldb b,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
430 orb ,s+
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
431 anda #$E0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
432 sta <u0006
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
433 ldx <u0001
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
434 lda $02,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
435 anda #$1F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
436 ora <u0006
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
437 std $02,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
438 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
439 L0291 ldx #$0010
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
440 os9 F$Sleep
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
441 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
442 L0298 lda $07,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
443 cmpa #$01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
444 bne L024D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
445 L029E ldb #$09
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
446 orcc #IntMasks
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
447 lbsr L040D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
448 lda ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
449 lda ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
450 lda $01,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
451 ldb $01,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
452 ldb $01,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
453 bmi L02CA
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
454 lda #$02
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
455 sta <u0030
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
456 clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
457 andb #$60
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
458 std <u0031
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
459 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
460 std <u002D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
461 std <u0021
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
462 std <u0033
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
463 ldx <u0023
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
464 stx <u001F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
465 stx <u001D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
466 lbra L020F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
467 L02CA andcc #^IntMasks
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
468 lbra L015F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
469 L02CF lda $07,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
470 bne L026F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
471 bsr L02D7
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
472 puls pc,dp
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
473 L02D7 ldb #$0B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
474 lda <u0038
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
475 bita #$40
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
476 bne L02E0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
477 L02DF clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
478 L02E0 bsr L02F0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
479 bcs L02E0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
480 bsr L02E8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
481 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
482 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
483 L02E8 orcc #IntMasks
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
484 lbsr L040D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
485 andcc #^IntMasks
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
486 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
487 L02F0 pshs dp
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
488 bra L02F7
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
489 L02F4 lbsr L0110
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
490 L02F7 lda <u002E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
491 orcc #IntMasks
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
492 cmpa <u002D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
493 bne L02F4
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
494 puls pc,dp
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
495
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
496 * Term
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
497 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
498 * Entry:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
499 * Y = address of device descriptor
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
500 * U = address of device memory area
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
501 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
502 * Exit:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
503 * CC = carry set on error
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
504 * B = error code
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
505 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
506 Term pshs dp
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
507 bsr L0330
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
508 ldx >D.Proc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
509 lda P$ID,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
510 sta <u0004
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
511 sta <u0003
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
512 bsr L02D7
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
513 ldx #$0000
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
514 leay <u003F,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
515 os9 F$VIRQ
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
516 ldx #$0000
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
517 os9 F$IRQ
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
518 ldd <u0025
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
519 tsta
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
520 beq L032D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
521 pshs u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
522 ldu <u0023
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
523 os9 F$SRtMem
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
524 puls u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
525 L032D clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
526 puls pc,dp
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
527 L0330 pshs u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
528 puls dp
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
529 leas $01,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
530 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
531
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
532 L0337 pshs dp
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
533 bsr L0330
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
534 ldx <u0001
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
535 sta <u0035
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
536 tfr a,b
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
537 andb #$60
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
538 cmpb <u0032
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
539 beq L0392
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
540 tfr b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
541 eorb <u0032
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
542 sta <u0032
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
543 lda <u0035
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
544 bitb <u003D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
545 beq L037F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
546 tst <u003B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
547 beq L0362
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
548 pshs b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
549 ldd <u003B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
550 clr <u003B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
551 os9 F$Send
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
552 puls b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
553 L0362 bita <u003D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
554 beq L037F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
555 lda <u0036
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
556 bita #$10
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
557 beq L03B2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
558 ldx <u0016
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
559 beq L0378
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
560 L0370 inc <$3F,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
561 ldx <$3D,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
562 bne L0370
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
563 L0378 lda #$20
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
564 lbsr L0415
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
565 bra L03E8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
566 L037F bitb <u003E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
567 beq L03DC
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
568 ldb <u0036
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
569 bitb #$01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
570 beq L03DC
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
571 bita <u003E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
572 lbeq L041A
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
573 lbra L0428
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
574 L0392 bita #$08
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
575 bne L03FB
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
576 bita #$10
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
577 beq L03DC
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
578 lda <u0031
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
579 bpl L03B4
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
580 ldb <u000F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
581 bita #$20
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
582 bne L03A8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
583 lda #$10
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
584 ldb <u0010
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
585 L03A8 stb ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
586 anda #$10
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
587 sta <u0031
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
588 lda <u0030
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
589 bne L03D6
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
590 L03B2 bra L03DC
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
591 L03B4 ldb <u002D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
592 cmpb <u002E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
593 beq L03D0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
594 leax <u0044,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
595 abx
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
596 lda ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
597 ldx <u0001
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
598 incb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
599 cmpb <u002F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
600 bls L03C8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
601 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
602 L03C8 stb <u002D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
603 sta ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
604 cmpb <u002E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
605 bne L03E8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
606 L03D0 lda <u0030
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
607 ora #$02
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
608 sta <u0030
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
609 L03D6 ldb #$09
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
610 bsr L040F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
611 bra L03E8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
612 L03DC ldx <u0001
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
613 puls dp
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
614 lda $01,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
615 lbmi L0337
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
616 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
617 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
618 L03E8 tst <u0005
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
619 beq L03DC
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
620 lda <u0005
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
621 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
622 stb <u0005
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
623 tfr d,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
624 lda $0C,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
625 anda #$F7
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
626 sta $0C,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
627 bra L03DC
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
628 L03FB bita #$07
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
629 beq L0436
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
630 tst ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
631 anda #$07
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
632 bsr L0415
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
633 ldd $02,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
634 sta $01,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
635 std $02,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
636 bra L03DC
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
637 L040D ldx <u0001
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
638 L040F orb <u0006
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
639 stb $02,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
640 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
641 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
642 L0415 ora <u000E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
643 sta <u000E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
644 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
645 L041A lda <u0030
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
646 anda #$FE
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
647 sta <u0030
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
648 bne L03DC
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
649 ldb #$05
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
650 bsr L040F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
651 bra L03DC
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
652 L0428 lda <u0030
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
653 bne L0430
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
654 ldb #$09
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
655 bsr L040F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
656 L0430 ora #$01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
657 sta <u0030
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
658 L0434 bra L03DC
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
659 L0436 lda ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
660 beq L0454
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
661 cmpa <u000B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
662 beq L04A1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
663 cmpa <u000C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
664 beq L04A5
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
665 cmpa <u000D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
666 beq L0499
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
667 ldb <u0036
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
668 bitb #$08
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
669 beq L0454
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
670 cmpa <u000F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
671 beq L041A
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
672 cmpa <u0010
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
673 beq L0428
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
674 L0454 ldx <u001D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
675 sta ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
676 leax $01,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
677 cmpx <u0027
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
678 bcs L0460
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
679 ldx <u0023
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
680 L0460 cmpx <u001F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
681 bne L046B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
682 lda #$04
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
683 bsr L0415
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
684 L0468 lbra L03E8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
685 L046B stx <u001D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
686 ldx <u0021
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
687 leax $01,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
688 stx <u0021
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
689 cmpx <u002B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
690 bcs L048C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
691 tst <u0031
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
692 bne L048C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
693 bita #$04
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
694 beq L048C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
695 lda <u0010
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
696 beq L048C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
697 lda #$C0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
698 sta <u0031
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
699 ldb #$05
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
700 lbsr L040D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
701 L048C tst <u0033
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
702 beq L0468
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
703 ldd <u0033
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
704 clr <u0033
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
705 os9 F$Send
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
706 bra L0434
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
707 L0499 ldx <u0009
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
708 beq L0454
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
709 sta $08,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
710 bra L0454
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
711 L04A1 ldb #$03
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
712 bra L04A7
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
713 L04A5 ldb #$02
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
714 L04A7 pshs a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
715 lda <u0003
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
716 os9 F$Send
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
717 puls a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
718 bra L0454
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
719
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
720 emod
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
721 eom equ *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
722 end