annotate level1/modules/printer.asm @ 192:04ea18f57106

Migrated OS-9 Level Two command
author boisy
date Sun, 14 Jul 2002 05:23:06 +0000
parents 6641a883d6b0
children 668388823050
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 * PRINTER - CoCo serial port printer 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 * 10 Tandy/Microware original version
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
9
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
10 nam PRINTER
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
11 ttl CoCo serial port printer driver
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
12
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
13 * Disassembled 98/08/23 17:32:06 by Disasm v1.6 (C) 1988 by RML
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
14
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
15 ifp1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
16 use defsfile
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
17 use scfdefs
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 $0A
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 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
33 u0023 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
34 u0024 rmb 2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
35 u0026 rmb 2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
36 u0028 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
37 size equ .
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
38 fcb $03
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
39
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
40 name fcs /PRINTER/
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
41 fcb edition
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
42
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
43 L0016 fcb $04
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
44 fcb $82
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
45 fcb $01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
46 fcb $A2 "
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
47 fcb $00
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
48 fcb $CD M
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
49 fcb $00
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
50 fcb $63 c
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
51 fcb $00
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
52 fcb $2D -
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
53 fcb $00
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
54 fcb $13
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
55 fcb $00
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
56 fcb $05
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
57
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
58 start lbra Init
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
59 lbra Read
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
60 lbra Write
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
61 lbra GetStat
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
62 lbra SetStat
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
63 lbra Term
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
64
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
65 * Init
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
66 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
67 * Entry:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
68 * Y = address of device descriptor
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
69 * U = address of device memory area
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
70 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
71 * Exit:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
72 * CC = carry set on error
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
73 * B = error code
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
74 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
75 Init pshs cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
76 orcc #IntMasks
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
77 ldx #PIA.U8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
78 clr $01,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
79 ldd <IT.COL,y get column size
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
80 std <u0022,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
81 lda #$FE
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
82 sta ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
83 lda #$36
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
84 sta $01,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
85 lda ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
86 ldd <IT.PAR,y get parity/baud
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
87 lbsr L0155
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
88 puls cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
89 lbsr L0104
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
90 lbcs L0100
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
91
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
92 * Term
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
93 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
94 * Entry:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
95 * U = address of device memory area
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
96 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
97 * Exit:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
98 * CC = carry set on error
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
99 * B = error code
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
100 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
101 Term rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
102
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
103 L005F pshs a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
104 lda <$35,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
105 anda #$0F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
106 cmpa #$07
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
107 bcc L0076
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
108 lsla
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
109 leax <L0016,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
110 ldd a,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
111 std <u0024,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
112 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
113 puls pc,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
114 L0076 ldb #E$BMode
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
115 puls a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
116 L007A orcc #Carry
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
117 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
118 L007D stb >PIA.U8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
119 L0080 pshs b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
120 ldd <u0024,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
121 L0085 subd #$0001
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
122 bne L0085
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
123 puls pc,b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
124
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
125 * Write
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
126 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
127 * Entry:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
128 * A = character to write
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
129 * Y = address of path descriptor
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
130 * U = address of device memory area
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
131 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
132 * Exit:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
133 * CC = carry set on error
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
134 * B = error code
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
135 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
136 Write bsr L005F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
137 bcs L007A
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
138 pshs b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
139 bsr L00CB
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
140 puls b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
141 bcs L0100
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
142 ldb #$09
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
143 pshs b,cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
144 orcc #IntMasks
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
145 tst <u001E,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
146 beq L00A5
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
147 dec $01,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
148 L00A5 andcc #^Carry
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
149 L00A7 ldb #$02
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
150 bcs L00AC
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
151 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
152 L00AC bsr L007D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
153 lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
154 dec $01,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
155 bne L00A7
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
156 ldb <u001D,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
157 beq L00BC
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
158 andb #$FE
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
159 bsr L007D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
160 L00BC ldb #$02
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
161 bsr L007D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
162 tst <u001F,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
163 beq L00C9
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
164 ldb #$02
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
165 bsr L007D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
166 L00C9 puls pc,b,cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
167 L00CB clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
168 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
169 std <u0026,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
170 L00D0 ldd #$0303
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
171 L00D3 bsr L0104
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
172 bcs L00DE
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
173 bsr L0080
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
174 decb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
175 bne L00D3
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
176 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
177 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
178 L00DE bsr L0080
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
179 deca
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
180 bne L00D3
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
181 pshs x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
182 ldx #$0001
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
183 os9 F$Sleep
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
184 puls x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
185 ldd <u0026,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
186 addd #$0001
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
187 std <u0026,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
188 ldb <u0028,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
189 beq L00D0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
190 cmpb <u0026,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
191 bhi L00D0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
192 L0100 comb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
193 ldb #E$NotRdy
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
194 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
195 L0104 pshs x,b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
196 ldb >PIA.U8+2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
197 lda >$FF69
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
198 bpl L0126
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
199 lda >PIA.U8+3
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
200 bita #$01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
201 beq L0126
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
202 bita #$80
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
203 beq L0126
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
204 orcc #Entire
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
205 leax <L0126,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
206 pshs x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
207 pshs u,y,x,dp,b,a,cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
208 jmp [D.SvcIRQ]
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
209 L0126 lsrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
210 puls pc,x,b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
211
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
212 * GetStat
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
213 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
214 * Entry:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
215 * A = function code
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
216 * Y = address of path descriptor
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
217 * U = address of device memory area
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
218 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
219 * Exit:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
220 * CC = carry set on error
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
221 * B = error code
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
222 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
223 GetStat cmpa #SS.EOF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
224 bne L012F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
225 L012D clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
226 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
227 L012F ldx PD.RGS,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
228 cmpa #SS.ScSiz
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
229 beq L0140
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
230 cmpa #SS.ComSt
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
231 bne L0190
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
232 ldd <u0020,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
233 std R$Y,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
234 bra L012D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
235 L0140 clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
236 ldb <u0022,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
237 std R$X,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
238 ldb <u0023,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
239 std R$Y,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
240 bra L012D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
241
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
242 * GetStat
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
243 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
244 * Entry:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
245 * A = function code
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
246 * Y = address of path descriptor
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
247 * U = address of device memory area
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
248 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
249 * Exit:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
250 * CC = carry set on error
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
251 * B = error code
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
252 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
253 SetStat cmpa #SS.ComSt
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
254 bne L0190
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
255 ldx PD.RGS,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
256 ldd R$Y,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
257 L0155 std <u0020,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
258 clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
259 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
260 std <u001D,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
261 sta <u001F,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
262 ldd <u0020,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
263 tstb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
264 bpl L0169
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
265 inc <u001F,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
266 L0169 bitb #$40
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
267 bne Read
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
268 bitb #$20
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
269 beq L0174
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
270 inc <u001E,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
271 L0174 bita #$20
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
272 beq L0186
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
273 bita #$80
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
274 beq Read
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
275 inc <u001D,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
276 bita #$40
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
277 bne L0186
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
278 inc <u001D,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
279 L0186 anda #$0F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
280 sta <u0028,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
281 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
282
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
283 * Read
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
284 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
285 * Entry:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
286 * Y = address of path descriptor
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
287 * U = address of device memory area
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
288 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
289 * Exit:
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
290 * A = character read
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
291 * CC = carry set on error
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
292 * B = error code
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
293 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
294 Read comb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
295 ldb <E$BMode
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
296 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
297
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
298 L0190 comb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
299 ldb #E$UnkSvc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
300 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
301
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
302 emod
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
303 eom equ *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
304 end
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
305