annotate level2/modules/modpak.asm @ 305:1ecde21f77f7

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