annotate level1/modules/scf.asm @ 519:6c626a142234

Eliminated SS disks... distribution is too large, now we only have 40DS disks
author boisy
date Thu, 10 Oct 2002 16:56:13 +0000
parents 668388823050
children 10957d54bf16
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 * SCF - OS-9 Level One V2 SCF file manager
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 * ------------------------------------------------------------------
201
668388823050 Fixed headers to be consistent
boisy
parents: 184
diff changeset
8 * 10 From Tandy OS-9 Level One VR 02.00.00
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
9
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
10 nam SCF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
11 ttl OS-9 Level One V2 SCF file manager
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
12
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
13 ifp1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
14 use defsfile
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
15 use scfdefs
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
16 endc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
17
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
18 tylg set FlMgr+Objct
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
19 atrv set ReEnt+rev
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
20 rev set $01
201
668388823050 Fixed headers to be consistent
boisy
parents: 184
diff changeset
21 edition set 10
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
22
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
23 mod eom,name,tylg,atrv,start,size
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
24
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
25 size equ .
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
26
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
27 name fcs /SCF/
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
28 fcb edition
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
29
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
30 start lbra Create
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
31 lbra Open
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
32 lbra MakDir
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
33 lbra ChgDir
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
34 lbra Delete
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
35 lbra Seek
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
36 lbra Read
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
37 lbra Write
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
38 lbra ReadLn
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
39 lbra WriteLn
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
40 lbra GetStat
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
41 lbra PutStat
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
42 lbra Term
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
43
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
44 L0038 puls y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
45
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
46
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
47 * ChgDir/MakDir entry
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
48 ChgDir
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
49 MakDir comb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
50 ldb #E$BPNam
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
51 L003D rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
52
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
53
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
54 * Open/Create entry
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
55 Open
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
56 Create ldx PD.DEV,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
57 stx <$3B,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
58 ldu PD.RGS,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
59 pshs y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
60 ldx R$X,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
61 os9 F$PrsNam
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
62 bcs L0038
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
63 lda -1,y get last char
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
64 bmi L0059 branch if hi bit set
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
65 leax ,y else point X at last char + 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
66 os9 F$PrsNam
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
67 bcc L0038
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
68 L0059 sty R$X,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
69 puls y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
70 lda #READ.
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
71 bita PD.MOD,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
72 beq L00A2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
73 ldd #$0001
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
74 os9 F$SRqMem allocate buffer
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
75 bcs L003D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
76 stu PD.BUF,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
77 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
78 bsr L0091
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
79
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
80 * cute message
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
81 cute fcb $62,$1B,$59,$6B,$65,$65,$2A,$11,$1C,$0D,$0F
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
82 fcb $42,$0C,$6C,$62,$6D,$31,$13,$0F,$0B,$49,$0C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
83 fcb $72,$7C,$6A,$2B,$08,$00,$02,$11,$00,$79
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
84
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
85 * put cute message into our newly allocated PD buffer
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
86 L0091 puls x get PC into X
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
87 clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
88 L0094 eora ,x+
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
89 sta ,u+
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
90 decb
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
91 cmpa #C$CR
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
92 bne L0094
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
93 L009D sta ,u+
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
94 decb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
95 bne L009D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
96 L00A2 ldu PD.DEV,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
97 beq MakDir
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
98 ldx V$STAT,u X = static storage ptr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
99 lda <PD.PAG,y get page len
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
100 sta V.LINE,x store in static
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
101 ldx V$DESC,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
102 ldd <PD.D2P,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
103 beq L00C6
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
104 leax d,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
105 lda PD.MOD,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
106 lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
107 rorb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
108 lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
109 rolb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
110 rola
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
111 rorb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
112 rola
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
113 os9 I$Attach attach to DEV2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
114 bcs L00FD
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
115 stu PD.DV2,y save dev entry
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
116 L00C6 ldu V$STAT,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
117 clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
118 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
119 pshs b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
120 ldx <V.PDLHd,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
121 bne L00D9
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
122 sty <V.PDLHd,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
123 bra L00E9
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
124 L00D7 tfr d,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
125 L00D9 ldb <$3F,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
126 bne L00E0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
127 inc 1,s in B on stack
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
128 L00E0 ldd <$3D,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
129 bne L00D7
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
130 sty <$3D,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
131 L00E9 lda #$29
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
132 pshs a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
133 inc 2,s inc B on stack
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
134 lbsr L01BD
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
135 lda 2,s get B on stack
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
136 leas 3,s clean up stack
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
137 deca
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
138 bne L00FC
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
139 lbra L01B2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
140 L00FC clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
141 L00FD rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
142
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
143
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
144 * term routine
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
145 Term tst PD.CNT,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
146 beq L0104 branch if count is zero
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
147
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
148
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
149 * seek/delete routine
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
150 Seek
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
151 Delete clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
152 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
153
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
154 L0104 ldu PD.DV2,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
155 beq L010B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
156 os9 I$Detach
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
157 L010B ldu PD.BUF,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
158 beq L0115
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
159 ldd #$0001
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
160 os9 F$SRtMem
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
161 L0115 ldx #$0001
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
162 lda #$2A
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
163 pshs x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
164 ldu PD.DEV,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
165 ldu V$STAT,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
166 ldx <V.PDLHd,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
167 ldd <$3D,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
168 cmpy <V.PDLHd,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
169 bne L013A
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
170 std <V.PDLHd,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
171 bne L0143
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
172 clr 2,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
173 bra L0143
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
174 L0135 ldx <$3D,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
175 beq L0147
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
176 L013A cmpy <$3D,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
177 bne L0135
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
178 std <$3D,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
179 L0143 sty <$3D,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
180 L0147 lbsr L01BD
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
181 leas 3,s fix stack
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
182 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
183
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
184
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
185 * getstat routine
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
186 GetStat lda <$3F,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
187 lbne L0404
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
188 ldx PD.RGS,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
189 lda R$B,x get status code
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
190 cmpa #SS.Opt
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
191 bne L0179 branch if not
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
192 pshs y,x,a
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
193 lda #SS.ComSt call driver's SS.ComSt
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
194 sta R$B,x
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
195 ldu R$Y,x
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
196 pshs u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
197 bsr L0179
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
198 puls u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
199 puls y,x,a
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
200 sta R$B,x
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
201 ldd R$Y,x
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
202 stu R$Y,x
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
203 bcs L0177
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
204 std <$34,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
205 L0177 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
206 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
207 L0179 ldb #$09 getstat offset
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
208 JsrDrvr pshs a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
209 clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
210 ldx PD.DEV,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
211 ldu V$STAT,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
212 ldx V$DRIV,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
213 addd M$Exec,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
214 leax d,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
215 puls a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
216 jmp ,x jump into driver
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
217
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
218
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
219 * putstat routine
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
220 PutStat lbsr L03E0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
221 L018F bsr L0198
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
222 pshs b,cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
223 lbsr L0391
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
224 puls pc,b,cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
225 L0198 lda R$B,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
226 ldb #$0C setstat offset
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
227 cmpa #SS.Opt SS.Opt?
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
228 bne JsrDrvr jsr into driver
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
229 * copy passed options to path desc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
230 pshs y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
231 ldx R$X,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
232 leay <PD.OPT,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
233 ldb #OPTCNT
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
234 L01A9 lda ,x+
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
235 sta ,y+
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
236 decb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
237 bne L01A9
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
238 puls y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
239
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
240 L01B2 ldx <$34,y
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
241 lda #SS.ComSt
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
242 pshs x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
243 bsr L01BD
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
244 puls pc,x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
245 L01BD pshs u,y,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
246 ldx PD.RGS,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
247 ldu R$Y,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
248 lda R$B,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
249 pshs u,y,x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
250 ldd <$10,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
251 std R$Y,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
252 lda $0F,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
253 sta R$B,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
254 ldb #$0C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
255 lbsr L03E5
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
256 bsr L018F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
257 puls u,y,x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
258 stu R$Y,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
259 sta R$B,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
260 bcc L01E6
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
261 cmpb #E$UnkSvc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
262 orcc #Carry
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
263 bne L01E6
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
264 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
265 L01E6 puls u,y,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
266 L01E8 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
267
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
268
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
269 * read routine
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
270 Read lbsr L03E0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
271 bcs L01E8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
272 inc PD.RAW,y
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
273 ldx R$Y,u
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
274 beq L0235
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
275 pshs x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
276 ldx #$0000
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
277 ldu R$X,u
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
278 lbsr L0348
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
279 bcs L020A
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
280 tsta
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
281 beq L0220
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
282 cmpa <PD.EOF,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
283 bne L0218
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
284 L0208 ldb #E$EOF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
285 L020A leas 2,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
286 pshs b
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
287 bsr L0231
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
288 comb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
289 puls pc,b
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
290
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
291 L0213 lbsr L0348
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
292 bcs L020A
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
293 L0218 tst <PD.EKO,y
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
294 beq L0220
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
295 lbsr L046C
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
296 L0220 leax 1,x
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
297 sta ,u+
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
298 beq L022B
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
299 cmpa <PD.EOR,y
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
300 beq L022F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
301 L022B cmpx ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
302 bcs L0213
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
303 L022F leas $02,s
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
304 L0231 ldu PD.RGS,y
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
305 stx R$Y,u
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
306 L0235 lbra L0391
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
307
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
308
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
309 * readln routine
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
310 ReadLn lbsr L03E0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
311 bcs L01E8
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
312 ldx R$Y,u
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
313 beq L0231
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
314 tst R$Y,u
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
315 beq L0248
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
316 ldx #256
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
317 L0248 pshs x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
318 ldd #$FFFF
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
319 std PD.MAX,y
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
320 lbsr L030D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
321 L0252 lbsr L0348
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
322 bcs L02C8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
323 tsta
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
324 beq L0265
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
325 ldb #$29
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
326 L025C cmpa b,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
327 beq L0285
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
328 incb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
329 cmpb #$31
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
330 bls L025C
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
331 L0265 cmpx PD.MAX,y
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
332 bls L026B
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
333 stx PD.MAX,y
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
334 L026B leax 1,x
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
335 cmpx ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
336 bcs L027B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
337 lda <$33,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
338 lbsr L046C
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
339 leax -1,x
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
340 bra L0252
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
341 L027B lbsr L0369
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
342 sta ,u+
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
343 lbsr L0379
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
344 bra L0252
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
345 L0285 pshs pc,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
346 leax >L0298,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
347 subb #$29
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
348 lslb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
349 leax b,x
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
350 stx 2,s
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
351 puls x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
352 jsr [,s++]
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
353 bra L0252
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
354 L0298 bra L0313
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
355 bra L02FD
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
356 bra L02AA
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
357 bra L02BE
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
358 bra L02D9
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
359 bra L02E3
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
360 puls pc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
361 bra L02FD
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
362 bra L02FD
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
363 L02AA leas 2,s
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
364 sta ,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
365 lbsr L0379
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
366 ldu R$Y,y
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
367 leax 1,x
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
368 stx R$Y,u
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
369 bsr L0332
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
370 leas 2,s
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
371 lbra L0391
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
372 L02BE leas 2,s
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
373 leax ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
374 lbeq L0208
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
375 bra L0265
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
376
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
377 L02C8 pshs b
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
378 lda #C$CR
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
379 sta ,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
380 bsr L02D5
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
381 puls b
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
382 lbra L020A
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
383 L02D5 lda #C$CR
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
384 bra L032F
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
385 L02D9 lda <PD.EOR,y
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
386 sta ,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
387 bsr L030D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
388 L02E0 lbsr L037E
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
389 L02E3 cmpx PD.MAX,y
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
390 beq L02FA
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
391 leax 1,x
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
392 cmpx 2,s
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
393 bcc L02F8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
394 lda ,u+
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
395 beq L02E0
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
396 cmpa <PD.EOR,y
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
397 bne L02E0
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
398 leau -1,u
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
399 L02F8 leax -1,x
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
400 L02FA rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
401 L02FB bsr L0317
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
402 L02FD leax ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
403 beq L030D
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
404 tst <PD.DLO,y
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
405 beq L02FB
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
406 tst <PD.EKO,y
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
407 beq L030D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
408 bsr L02D5
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
409 L030D ldx #$0000
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
410 ldu PD.BUF,y
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
411 L0312 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
412 L0313 leax ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
413 beq L02FA
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
414 L0317 leau -1,u
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
415 leax -1,x
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
416 tst <PD.EKO,y
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
417 beq L0312
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
418 tst <PD.BSO,y
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
419 beq L032C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
420 bsr L032C
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
421 lda #C$SPAC
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
422 lbsr L046C
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
423 L032C lda <PD.BSE,y
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
424 L032F lbra L046C
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
425 L0332 ldx R$X,u
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
426 ldu PD.BUF,y
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
427 L0336 lda ,u+
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
428 sta ,x+
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
429 cmpa <PD.EOR,y
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
430 bne L0336
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
431 rts
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
432
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
433 L0340 pshs u,y,x
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
434 ldx PD.DV2,y
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
435 ldu PD.DEV,y
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
436 bra L0350
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
437
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
438 L0348 pshs u,y,x
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
439 ldx PD.DEV,y
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
440 ldu PD.DV2,y U now points to dev table entry of device 2
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
441 beq L0357
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
442 L0350 ldu V$STAT,u U now points to static storage of device 2
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
443 ldb <PD.PAG,y
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
444 stb V.LINE,u
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
445 L0357 leax ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
446 beq L0367
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
447 tfr u,d D now holds pointer to static storage of device 2
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
448 ldu V$STAT,x U now holds ???
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
449 std V.DEV2,u
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
450 ldu #$0003
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
451 lbsr L04D3
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
452 L0367 puls pc,u,y,x
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
453
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
454 L0369 tst <PD.UPC,y
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
455 beq L0378
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
456 cmpa #'a
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
457 bcs L0378
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
458 cmpa #'z
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
459 bhi L0378
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
460 suba #32
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
461 L0378 rts
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
462 L0379 tst <PD.EKO,y
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
463 beq L0378
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
464 L037E cmpa #C$SPAC
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
465 bcc L0386
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
466 cmpa #C$CR
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
467 bne L0389
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
468 L0386 lbra L046C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
469 L0389 pshs a
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
470 lda #C$PERD
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
471 bsr L0386
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
472 puls pc,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
473
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
474 L0391 ldx <D.Proc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
475 lda P$ID,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
476 ldx PD.DEV,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
477 bsr L039B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
478 ldx PD.DV2,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
479 L039B beq L03A5
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
480 ldx V$STAT,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
481 cmpa V.BUSY,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
482 bne L03A5
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
483 clr V.BUSY,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
484 L03A5 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
485
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
486 * A = PID
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
487 * X = dev entry
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
488 * Y = path desc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
489 L03A6 pshs x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
490 ldx V$STAT,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
491 lda V.BUSY,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
492 beq L03C8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
493 cmpa ,s compare to A on stack
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
494 beq L03DD branch if same
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
495 pshs a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
496 bsr L0391
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
497 puls a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
498 os9 F$IOQu
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
499 inc PD.MIN,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
500 ldx <D.Proc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
501 ldb <P$Signal,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
502 puls x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
503 beq L03A6
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
504 coma
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
505 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
506 L03C8 lda ,s get passed PID on stack
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
507 sta V.BUSY,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
508 sta V.LPRC,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
509 lda <PD.PSC,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
510 sta V.PCHR,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
511 ldd <PD.INT,y get int/qut
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
512 std V.INTR,x save in static
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
513 ldd <PD.XON,y get xon/xoff
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
514 std V.XON,x save in static
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
515 L03DD clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
516 puls pc,x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
517
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
518 L03E0 lda <$3F,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
519 bne L0402
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
520 L03E5 ldx <D.Proc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
521 lda P$ID,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
522 clr PD.MIN,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
523 ldx PD.DEV,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
524 bsr L03A6
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
525 bcs L03FF
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
526 ldx PD.DV2,y
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
527 beq L03F9
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
528 bsr L03A6
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
529 bcs L03FF
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
530 L03F9 tst PD.MIN,y
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
531 bne L03E0
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
532 clr PD.RAW,y
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
533 L03FF ldu PD.RGS,y
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
534 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
535 L0402 leas 2,s
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
536 L0404 ldb #E$HangUp
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
537 cmpa #$02
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
538 bcs L0411
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
539 lda PD.CPR,y
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
540 ldb #S$Kill
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
541 os9 F$Send
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
542 L0411 inc <$3F,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
543 orcc #Carry
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
544 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
545
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
546
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
547 * writeln routine
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
548 WriteLn bsr L03E0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
549 bra L041F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
550
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
551
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
552 * write routine
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
553 Write bsr L03E0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
554 inc PD.RAW,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
555 L041F ldx R$Y,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
556 beq L0461
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
557 pshs x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
558 ldx #$0000
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
559 ldu R$X,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
560 L042A lda ,u+
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
561 tst PD.RAW,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
562 bne L0444
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
563 lbsr L0369
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
564 cmpa #C$LF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
565 bne L0444
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
566 lda #C$CR
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
567 tst <PD.ALF,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
568 bne L0444
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
569 bsr L047A
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
570 bcs L0464
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
571 lda #C$LF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
572 L0444 bsr L047A
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
573 bcs L0464
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
574 leax 1,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
575 cmpx ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
576 bcc L045B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
577 lda -1,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
578 beq L042A
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
579 cmpa <PD.EOR,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
580 bne L042A
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
581 tst PD.RAW,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
582 bne L042A
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
583 L045B leas 2,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
584 L045D ldu PD.RGS,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
585 stx R$Y,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
586 L0461 lbra L0391
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
587 L0464 leas 2,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
588 pshs b,cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
589 bsr L045D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
590 puls pc,b,cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
591
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
592 L046C pshs u,x,a
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
593 ldx PD.DV2,y
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
594 beq L0478
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
595 cmpa #C$CR
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
596 beq L04A9
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
597 L0476 bsr L04D0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
598 L0478 puls pc,u,x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
599
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
600 L047A pshs u,x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
601 ldx PD.DEV,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
602 cmpa #C$CR
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
603 bne L0476
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
604 ldu V$STAT,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
605 tst V.PAUS,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
606 bne L0497
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
607 tst PD.RAW,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
608 bne L04A9
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
609 tst <PD.PAU,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
610 beq L04A9
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
611 dec V.LINE,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
612 bne L04A9
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
613 bra L04A1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
614 L0497 lbsr L0340
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
615 bcs L04A1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
616 cmpa <PD.PSC,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
617 bne L0497
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
618 L04A1 lbsr L0340
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
619 cmpa <PD.PSC,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
620 beq L04A1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
621 L04A9 ldu V$STAT,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
622 clr V$USRS,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
623 lda #C$CR
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
624 bsr L04D0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
625 tst PD.RAW,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
626 bne L04CE
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
627 ldb <PD.NUL,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
628 pshs b
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
629 tst <PD.ALF,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
630 beq L04C5
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
631 lda #C$LF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
632 L04C1 bsr L04D0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
633 bcs L04CC
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
634 L04C5 lda #C$NULL
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
635 dec ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
636 bpl L04C1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
637 clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
638 L04CC leas 1,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
639 L04CE puls pc,u,x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
640
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
641 L04D0 ldu #$0006
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
642 L04D3 pshs u,y,x,a
184
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
643 ldu V$STAT,x
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
644 clr V.WAKE,u
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
645 ldx V$DRIV,x
34ecc559ccd7 Extensive comments added to scf.asm
boisy
parents: 0
diff changeset
646 ldd M$Exec,x
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
647 addd $05,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
648 leax d,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
649 lda ,s+
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
650 jsr ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
651 puls pc,u,y,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
652
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
653 emod
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
654 eom equ *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
655 end