annotate level2/modules/modpak.asm @ 1364:638e8b6421c1

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