annotate level2/modules/sio.asm @ 1099:b77631456f91

Change to makefile
author roug
date Wed, 09 Apr 2003 19:02:19 +0000
parents 5ed7f616e80b
children d13864ef3317
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 * SIO - CoCo 3 Serial 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 * 9 Original Tandy L2 distribution version
615
9c923ba45566 Added proper baud delay rates for most, but not all baud rates
boisy
parents: 372
diff changeset
9 * 10 Added baud delay table for NitrOS-9
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
10
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
11 nam SIO
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
12 ttl CoCo 3 Serial driver
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
13
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
14 * Disassembled 98/08/23 20:58:36 by Disasm v1.6 (C) 1988 by RML
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
15
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
16 ifp1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
17 use defsfile
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
18 endc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
19
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
20 tylg set Drivr+Objct
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
21 atrv set ReEnt+rev
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
22 rev set $01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
23 edition set 9
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
24
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
25 mod eom,name,tylg,atrv,start,size
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
26
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
27 u0000 rmb 29
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
28 u001D rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
29 u001E rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
30 u001F rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
31 u0020 rmb 2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
32 u0022 rmb 2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
33 u0024 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
34 u0025 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
35 size equ .
730
5ed7f616e80b Simple source change
boisy
parents: 615
diff changeset
36
5ed7f616e80b Simple source change
boisy
parents: 615
diff changeset
37 fcb READ.+WRITE.
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
38
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
39 name fcs /SIO/
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
40 fcb edition
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
41
615
9c923ba45566 Added proper baud delay rates for most, but not all baud rates
boisy
parents: 372
diff changeset
42 * Baud Rate Delay Table
9c923ba45566 Added proper baud delay rates for most, but not all baud rates
boisy
parents: 372
diff changeset
43 DelayTbl
9c923ba45566 Added proper baud delay rates for most, but not all baud rates
boisy
parents: 372
diff changeset
44 IFEQ NitrOS9
9c923ba45566 Added proper baud delay rates for most, but not all baud rates
boisy
parents: 372
diff changeset
45 * OS-9 Level Two delay values (1.89MHz)
9c923ba45566 Added proper baud delay rates for most, but not all baud rates
boisy
parents: 372
diff changeset
46 fdb $090C 110 baud
9c923ba45566 Added proper baud delay rates for most, but not all baud rates
boisy
parents: 372
diff changeset
47 fdb $034C 300 baud
9c923ba45566 Added proper baud delay rates for most, but not all baud rates
boisy
parents: 372
diff changeset
48 fdb $01A2 600 baud
9c923ba45566 Added proper baud delay rates for most, but not all baud rates
boisy
parents: 372
diff changeset
49 fdb $00CE 1200 baud
9c923ba45566 Added proper baud delay rates for most, but not all baud rates
boisy
parents: 372
diff changeset
50 fdb $0062 2400 baud
9c923ba45566 Added proper baud delay rates for most, but not all baud rates
boisy
parents: 372
diff changeset
51 fdb $002E 4800 baud
9c923ba45566 Added proper baud delay rates for most, but not all baud rates
boisy
parents: 372
diff changeset
52 fdb $0012 9600 baud
9c923ba45566 Added proper baud delay rates for most, but not all baud rates
boisy
parents: 372
diff changeset
53 fdb $0003 32000 baud
9c923ba45566 Added proper baud delay rates for most, but not all baud rates
boisy
parents: 372
diff changeset
54 ELSE
9c923ba45566 Added proper baud delay rates for most, but not all baud rates
boisy
parents: 372
diff changeset
55 * NitrOS-9 Level Two delay values (1.89MHz)
9c923ba45566 Added proper baud delay rates for most, but not all baud rates
boisy
parents: 372
diff changeset
56 fdb $090C 110 baud (Unchanged, unknown)
9c923ba45566 Added proper baud delay rates for most, but not all baud rates
boisy
parents: 372
diff changeset
57 fdb $03D0 300 baud
9c923ba45566 Added proper baud delay rates for most, but not all baud rates
boisy
parents: 372
diff changeset
58 fdb $01A2 600 baud (Unchanged, unknown)
9c923ba45566 Added proper baud delay rates for most, but not all baud rates
boisy
parents: 372
diff changeset
59 fdb $00F0 1200 baud
9c923ba45566 Added proper baud delay rates for most, but not all baud rates
boisy
parents: 372
diff changeset
60 fdb $0073 2400 baud
9c923ba45566 Added proper baud delay rates for most, but not all baud rates
boisy
parents: 372
diff changeset
61 fdb $0036 4800 baud
9c923ba45566 Added proper baud delay rates for most, but not all baud rates
boisy
parents: 372
diff changeset
62 fdb $0017 9600 baud
9c923ba45566 Added proper baud delay rates for most, but not all baud rates
boisy
parents: 372
diff changeset
63 fdb $0003 32000 baud (Unchanged, unknown)
9c923ba45566 Added proper baud delay rates for most, but not all baud rates
boisy
parents: 372
diff changeset
64 ENDC
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
65
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
66 start lbra Init
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
67 lbra Read
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
68 lbra Write
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
69 lbra GetStat
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
70 lbra SetStat
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
71 lbra Term
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
72
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
73 * Init
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
74 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
75 * Entry:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
76 * Y = address of device descriptor
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
77 * U = address of device memory area
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
78 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
79 * Exit:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
80 * CC = carry set on error
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
81 * B = error code
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
82 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
83 Init pshs cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
84 orcc #IntMasks
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
85 ldx #PIA1Base
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
86 clr $01,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
87 ldd <IT.COL,y get col/row bytes
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
88 std <u0024,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
89 lda #$FE
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
90 sta ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
91 lda #$36
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
92 sta $01,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
93 lda ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
94 ldd <IT.PAR,y get parity/baud
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
95 lbsr L0148
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
96 puls cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
97 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
98
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
99 * Term
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
100 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
101 * Entry:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
102 * U = address of device memory area
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
103 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
104 * Exit:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
105 * CC = carry set on error
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
106 * B = error code
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
107 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
108 Term rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
109
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
110 * Read
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
111 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
112 * Entry:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
113 * Y = address of path descriptor
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
114 * U = address of device memory area
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
115 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
116 * Exit:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
117 * A = character read
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
118 * CC = carry set on error
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
119 * B = error code
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
120 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
121 Read bsr L00AC
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
122 bcs L00C8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
123 ldb #$08
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
124 pshs b,cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
125 tst <u001E,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
126 beq L0066
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
127 dec $01,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
128 L0066 bra L0077
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
129 L0068 lda <PD.BAU,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
130 anda #$0F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
131 cmpa #$07
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
132 beq L0077
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
133 ldx #$0001
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
134 os9 F$Sleep
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
135 L0077 pshs y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
136 ldy #$FFFF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
137 L007D lda >PIA1Base+2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
138 leay -$01,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
139 beq L008B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
140 lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
141 bcs L007D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
142 puls y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
143 bra L0090
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
144 L008B puls y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
145 lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
146 bcs L0068
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
147 L0090 orcc #IntMasks
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
148 clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
149 bsr L00D5
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
150 L0095 bsr L00CE
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
151 ldb >PIA1Base+2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
152 lsrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
153 rora
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
154 dec $01,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
155 bne L0095
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
156 bsr L00D5
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
157 tst <u001E,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
158 beq L00A8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
159 lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
160 L00A8 puls b,cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
161 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
162 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
163 L00AC pshs a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
164 lda <PD.BAU,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
165 anda #$0F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
166 cmpa #$08
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
167 bcc L00C4
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
168 lsla
615
9c923ba45566 Added proper baud delay rates for most, but not all baud rates
boisy
parents: 372
diff changeset
169 leax >DelayTbl,pcr
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
170 ldd a,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
171 std <u0020,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
172 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
173 puls pc,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
174 L00C4 ldb #E$BMode
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
175 puls a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
176 L00C8 orcc #Carry
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
177 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
178 L00CB stb >PIA1Base
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
179 L00CE pshs b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
180 ldd <u0020,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
181 bra L00DC
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
182 L00D5 pshs b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
183 ldd <u0020,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
184 lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
185 rorb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
186 L00DC subd #$0001
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
187 bne L00DC
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
188 puls pc,b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
189
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
190 * Write
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
191 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
192 * Entry:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
193 * A = character to write
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
194 * Y = address of path descriptor
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
195 * U = address of device memory area
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
196 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
197 * Exit:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
198 * CC = carry set on error
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
199 * B = error code
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
200 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
201 Write bsr L00AC
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
202 bcs L00C8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
203 ldb #$09
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
204 pshs b,cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
205 orcc #IntMasks
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
206 tst <u001E,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
207 beq L00F4
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
208 dec $01,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
209 L00F4 andcc #^Carry
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
210 L00F6 ldb #$02
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
211 bcs L00FB
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
212 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
213 L00FB bsr L00CB
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
214 lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
215 dec $01,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
216 bne L00F6
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
217 ldb <u001D,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
218 beq L010B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
219 andb #$FE
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
220 bsr L00CB
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
221 L010B ldb #$02
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
222 bsr L00CB
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
223 tst <u001F,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
224 beq L0118
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
225 ldb #$02
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
226 bsr L00CB
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
227 L0118 puls pc,b,cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
228
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
229 * GetStat
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
230 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
231 * Entry:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
232 * A = function code
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
233 * Y = address of path descriptor
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
234 * U = address of device memory area
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
235 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
236 * Exit:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
237 * CC = carry set on error
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
238 * B = error code
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
239 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
240 GetStat cmpa #SS.EOF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
241 bne L0120
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
242 L011E clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
243 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
244 L0120 ldx PD.RGS,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
245 cmpa #SS.ScSiz
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
246 beq L0131
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
247 cmpa #SS.ComSt
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
248 bne L017E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
249 ldd <u0022,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
250 std R$Y,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
251 bra L011E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
252 L0131 ldx PD.RGS,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
253 clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
254 ldb <u0024,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
255 std R$X,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
256 ldb <u0025,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
257 std R$Y,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
258 bra L011E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
259
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
260 * SetStat
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
261 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
262 * Entry:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
263 * A = function code
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
264 * Y = address of path descriptor
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
265 * U = address of device memory area
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
266 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
267 * Exit:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
268 * CC = carry set on error
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
269 * B = error code
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
270 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
271 SetStat cmpa #SS.ComSt
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
272 bne L017E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
273 ldx PD.RGS,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
274 ldd R$Y,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
275 L0148 std <u0022,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
276 clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
277 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
278 std <u001D,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
279 sta <u001F,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
280 ldd <u0022,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
281 tstb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
282 bpl L015C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
283 inc <u001F,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
284 L015C bitb #$40
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
285 bne L017A
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
286 bitb #$20
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
287 beq L0167
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
288 inc <u001E,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
289 L0167 bita #$20
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
290 beq L0179
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
291 bita #$80
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
292 beq L017A
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
293 inc <u001D,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
294 bita #$40
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
295 bne L0179
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
296 inc <u001D,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
297 L0179 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
298 L017A comb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
299 ldb #E$BMode
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
300 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
301 L017E comb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
302 ldb #E$UnkSvc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
303 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
304
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
305 emod
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
306 eom equ *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
307 end