annotate 3rdparty/drivers/sdisk3/sdisk3_dmc.asm @ 1027:72ceb9308d20

MODULES is now on disk 2
author boisy
date Fri, 07 Mar 2003 16:36:09 +0000
parents 6641a883d6b0
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1 *******************************************************************
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
2 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
3 * Sdisk3 - floopy disk controller driver by D.P. Johnson
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
4 * and Sardis Technologies for the DMC no-halt controllers.
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
5 *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
6 *******************************************************************
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
7
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
8 * Sardis DMC controller registers
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
9 fdcdrv equ $ff40
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
10 fdccmd equ $ff48
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
11 fdcsta equ $ff48
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
12 fdctrk equ $ff49
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
13 fdcsec equ $ff4A
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
14 fdcdta equ $ff4B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
15 fdwrit equ $ff44
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
16 fdread equ $ff4c
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
17 disdma equ $ff44
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
18 fdptrh equ $ff46
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
19 fdptrl equ $ff42
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
20 buffer equ $ff4e
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
21
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
22 nam SDisk3
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
23 ttl os9 device driver
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
24
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
25 ifp1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
26 use defsfile
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
27 endc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
28
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
29 rev set $01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
30
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
31 mod eom,name,Drivr+Objct,ReEnt+rev,start,size
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
32
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
33 org V.USER
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
34 u0006 rmb 9
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
35 drvtab rmb 35
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
36 u0032 rmb 24
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
37 u004A rmb 4
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
38 u004E rmb 2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
39 u0050 rmb 49
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
40 u0081 rmb 2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
41 u0083 rmb 2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
42 u0085 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
43 u0086 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
44 u0087 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
45 u0088 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
46 u0089 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
47 u008A rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
48 u008B rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
49 u008C rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
50 u008D rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
51 u008E rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
52 u008F rmb 2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
53 u0091 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
54 u0092 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
55 u0093 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
56 u0094 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
57 u0095 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
58 u0096 rmb 2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
59 u0098 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
60 u0099 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
61 virq1 rmb 4
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
62 u009E rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
63 virq2 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
64 u00A0 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
65 u00A1 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
66 u00A2 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
67 u00A3 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
68 u00A4 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
69 u00A5 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
70 u00A6 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
71 u00A7 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
72 u00A8 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
73 u00A9 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
74 u00AA rmb 2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
75 u00AC rmb 12
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
76 u00B8 rmb 60
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
77 u00F4 rmb 1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
78 u00F5 rmb 299
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
79 u0220 rmb 3
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
80 size equ .
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
81
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
82 fcb $FF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
83 name fcs /SDisk3/
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
84 fcb $01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
85
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
86 fcb $00
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
87
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
88 L0016 fdb $00f2 drive motor on time
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
89 L0018 fdb $0020 motor startup delay
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
90 L001A fdb $0003 head settle time
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
91 L001C fdb $0100 default sector size
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
92 L001E fdb $1E00 delay-after-write before deselect
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
93 L0020 fcb $23,$16,$28,$28,$00,$2b write precomp table
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
94 L0026 fcb $01,$02,$04,$40 drive select codes
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
95 L002A fdb $0836
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
96 L002C fdb $009e timeout for restore to track 0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
97 fcb $0B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
98 L002F fdb $0836
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
99 L0031 fdb $0005 timeout for step in one track
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
100 fcb $4B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
101 L0034 fdb $0836
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
102 L0036 fdb $0098 timeout value for seek
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
103 fcb $1B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
104 L0039 fdb $084e
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
105 L003B fdb $005c timeout value for read sector
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
106 fcb $80
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
107 L003E fdb $083f
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
108 L0040 fdb $005c timeout for write sector
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
109 fcb $A0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
110 L0043 fdb $083f
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
111 L0045 fdb $0020 timeout value for write track
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
112 fcb $F0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
113 L0048 fcb $03 Multipak slot
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
114 * IRQ packet #1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
115 L0049 fcb $00 IRQ flip byte
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
116 fcb $01 IRQ mask byte
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
117 L004B fcb $0A interupt priority for motor timer
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
118 * IRQ packet #2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
119 L004C fcb $00 IRQ flip byte
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
120 fcb $01 IRQ mask byte
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
121 L004E fcb $14 interupt priority code
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
122
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
123 fcc /Copyright 1984,1986 D.P.Johnson & Sardis Technologies/
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
124 fcb $0D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
125 fcc /All rights reserved/
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
126
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
127 start lbra INIT
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
128 lbra READ
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
129 lbra WRITE
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
130 lbra GETSTA
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
131 lbra SETSTA
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
132
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
133 * Terminate routine
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
134 ldx #$0000
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
135 leay >virq1,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
136 os9 F$VIRQ
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
137 leay >virq2,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
138 os9 F$VIRQ
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
139 os9 F$IRQ
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
140 leau 1,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
141 os9 F$IRQ
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
142 leau -1,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
143 clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
144 sta >$FF41
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
145 sta >u0087,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
146 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
147
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
148 * Init routine
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
149 INIT lbsr L04AB
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
150 pshs cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
151 orcc #IntMasks
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
152 ldd >L0016,pc get drive motor on time
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
153 std >u0096,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
154 clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
155 sta >u0088,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
156 sta >u0083,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
157 sta >u0087,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
158 ldb >fdwrit
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
159 sta >$FF41
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
160 sta <D.MotOn
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
161 sta >u0099,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
162 inca
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
163 sta >u0092,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
164 sta >u0093,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
165 sta >u0094,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
166 puls cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
167 bsr L014B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
168 bcs L014A
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
169 lbsr L0A55
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
170 * Setup drive tables
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
171 ldb #$03 get default # drives
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
172 stb V.NDRV,u save it
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
173 lda #$FF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
174 leax DRVBEG,u point to drive table start
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
175 L0111 sta DD.TOT+1,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
176 sta <V.TRAK,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
177 leax <DRVMEM,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
178 decb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
179 bne L0111
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
180
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
181 pshs u,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
182 leay >u009E,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
183 clr ,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
184 tfr y,d
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
185 leay >L0A2A,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
186 leax >L0049,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
187 os9 F$IRQ
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
188 bcs L0148
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
189 leay >u00A3,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
190 clr ,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
191 tfr y,d
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
192 leau 1,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
193 leay >L0869,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
194 leax >L004C,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
195 os9 F$IRQ
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
196 L0148 puls u,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
197 L014A rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
198
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
199 L014B ldb #$D0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
200 stb >fdread
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
201 nop
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
202 ldb >fdwrit
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
203 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
204 ldx #$2710
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
205 L0158 lbsr L085B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
206 ldb >fdccmd
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
207 bitb #$01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
208 beq L0169
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
209 leax -$01,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
210 bne L0158
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
211 comb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
212 ldb #E$NotRdy
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
213 L0169 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
214
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
215 * Read entry point
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
216 READ pshs y,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
217 clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
218 lbsr L0AE2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
219 pshs cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
220 bcs L01AE
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
221 bmi L017C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
222 bne L017C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
223 bsr L01D2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
224 bra L0185
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
225 L017C lbsr L034A
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
226 bcs L01AE
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
227 bsr L01B0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
228 bcs L01AE
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
229 L0185 lda ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
230 bita #$08
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
231 bne L018F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
232 ldx $01,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
233 bsr L01ED
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
234 L018F ldx $01,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
235 bne L01AD
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
236 tst >u0088,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
237 bne L01A9
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
238 ldx $08,y grabbing buffer address, PD.BUF?
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
239 ldy >u0081,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
240 ldb #$14
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
241 L01A2 lda b,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
242 sta b,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
243 decb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
244 bpl L01A2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
245 L01A9 clr >u0088,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
246 L01AD clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
247 L01AE puls pc,y,x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
248
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
249 L01B0 lda >u0095,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
250 L01B4 pshs x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
251 bsr L01D7
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
252 puls x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
253 bcc L01D2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
254 cmpb #$01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
255 beq L01CF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
256 tsta
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
257 beq L01CF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
258 lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
259 bcc L01B4
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
260 pshs x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
261 lbsr L0677
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
262 puls x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
263 bcc L01B4
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
264 L01CF orcc #$01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
265 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
266
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
267 L01D2 lbsr L0892
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
268 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
269 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
270
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
271 L01D7 lbsr L02E5
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
272 bcs L01EC
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
273 lbsr L028B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
274 lbsr L0883
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
275 leax >L0039,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
276 lbsr L0711
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
277 lbsr L0298
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
278 L01EC rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
279
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
280 L01ED pshs y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
281 ldy >u00AA,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
282 lbsr L0AB0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
283 sta $02,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
284 stx ,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
285 puls pc,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
286
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
287 WRITE pshs x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
288 lda #$01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
289 lbsr L0AE2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
290 pshs cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
291 bcs L021C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
292 lbsr L034A
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
293 bcs L021C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
294 bsr L021E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
295 bcs L021C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
296 lda ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
297 bita #$08
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
298 bne L021B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
299 ldx $01,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
300 bsr L01ED
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
301 L021B clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
302 L021C puls pc,x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
303
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
304 L021E lda >u0095,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
305 L0222 pshs x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
306 bsr L0249
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
307 puls x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
308 bcs L0233
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
309 tst <PD.VFY,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
310 bne L0248
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
311 bsr L02A8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
312 bcc L0248
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
313 L0233 cmpb #$01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
314 beq L0246
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
315 tsta
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
316 beq L0246
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
317 lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
318 bcc L0222
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
319 pshs x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
320 lbsr L0677
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
321 puls x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
322 bcc L0222
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
323 L0246 orcc #$01 Set carry
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
324 L0248 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
325
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
326 L0249 lbsr L02E5
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
327 bcs L0280
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
328 bsr L028B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
329 lbsr L08B1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
330 leax >L003E,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
331 bra L0267
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
332 L0259 lbsr L02E5
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
333 bcs L0280
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
334 bsr L028B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
335 lbsr L08E4
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
336 leax >L0043,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
337 L0267 lbsr L070D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
338 pshs b,cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
339 ldb >L001E,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
340 L0270 lbsr L085B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
341 decb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
342 bne L0270
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
343 puls b,cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
344 bsr L0298
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
345 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
346
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
347 L027B leas $01,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
348 L027D comb Bad type error
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
349 ldb #E$BTyp
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
350 L0280 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
351
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
352 L0281 comb Seek error
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
353 ldb #E$Seek
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
354 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
355
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
356 L0285 leas $01,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
357 L0287 comb Sector error
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
358 ldb #E$Sect
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
359 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
360
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
361 L028B pshs cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
362 tst >u008B,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
363 beq L02A6
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
364 lsr >fdctrk
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
365 bra L02A3
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
366 L0298 pshs cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
367 tst >u008B,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
368 beq L02A6
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
369 lsl >fdctrk
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
370 L02A3 lbsr L085B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
371 L02A6 puls pc,cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
372
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
373 L02A8 pshs y,x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
374 lbsr L01D7
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
375 bcs L02E3
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
376 lbsr L0883
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
377 ldx $08,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
378 ldd >u008F,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
379 tst >u0098,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
380 beq L02C8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
381 ora #$C0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
382 lbsr L08F6
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
383 tsta
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
384 beq L02E0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
385 bra L02DD
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
386 L02C8 tfr x,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
387 lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
388 rorb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
389 lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
390 rorb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
391 L02CE ldx >buffer
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
392 cmpx ,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
393 bne L02E0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
394 ldx >buffer
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
395 leay $04,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
396 decb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
397 bne L02CE
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
398 L02DD clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
399 bra L02E3
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
400 L02E0 comb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
401 ldb #E$Write write error
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
402 L02E3 puls pc,y,x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
403
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
404 L02E5 pshs x,cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
405 orcc #$50
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
406 nop
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
407 lda >u0087,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
408 anda #$0F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
409 tst >u0085,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
410 beq L02F8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
411 ora #$40
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
412 L02F8 tst >u0086,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
413 beq L0300
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
414 ora #$20
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
415 L0300 tst >u008C,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
416 beq L0308
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
417 ora #$10
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
418 L0308 sta >u0087,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
419 bita #$08
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
420 bne L0312
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
421 anda #$D8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
422 L0312 sta >$FF41
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
423 puls cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
424 ldx >u0081,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
425 lda ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
426 cmpa <$15,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
427 beq L033F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
428 sta <$15,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
429 sta >fdcdta
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
430 lbsr L085B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
431 leax >L0034,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
432 lbsr L0711
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
433 bcs L0348
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
434 ldx >L001A,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
435 beq L033F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
436 lbsr L06B2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
437 bcs L0348
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
438 L033F ldb $01,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
439 stb >$FF4A
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
440 lbsr L085B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
441 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
442 L0348 puls pc,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
443
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
444 L034A tstb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
445 lbne L0287
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
446 lbsr L0471
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
447 lbcs L0450
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
448 clr >u0085,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
449 clr >u0086,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
450 clr >u008B,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
451 clr >u008D,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
452 clr ,-s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
453 tfr x,d
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
454 ldx >u0081,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
455 cmpd #$0000
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
456 lbeq L03FA
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
457 inc >u008D,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
458 cmpd $01,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
459 lbcc L0285
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
460 subd <PD.T0S,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
461 bcc L038B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
462 addd <PD.T0S,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
463 bra L03FA
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
464
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
465 L038B pshs b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
466 ldd <$11,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
467 subd #$0012
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
468 stb >u0091,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
469 ldb <$10,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
470 lsrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
471 bcc L03CC
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
472 ldb <PD.SID,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
473 cmpb #$01 only one side?
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
474 puls b,a might as well clean up
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
475 lbls L027B and leave now...
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
476 tst >u0091,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
477 bne L03BD
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
478 bra L03B5
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
479 L03B0 inc ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
480 subd #$0090
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
481 L03B5 cmpa #$01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
482 bcc L03B0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
483 lsl ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
484 lsl ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
485 L03BD com >u0085,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
486 bne L03C5
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
487 inc ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
488 L03C5 subd <$11,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
489 bcc L03BD
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
490 bra L03EC
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
491 L03CC puls b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
492 tst >u0091,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
493 bne L03E5
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
494 bra L03DB
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
495 L03D6 inc ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
496 subd #$0090
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
497 L03DB cmpa #$01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
498 bcc L03D6
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
499 lsl ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
500 lsl ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
501 lsl ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
502 L03E5 inc ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
503 subd <$11,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
504 bcc L03E5
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
505 L03EC addd <$11,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
506 lda <$10,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
507 bita #$02
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
508 beq L03FA
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
509 com >u0086,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
510 L03FA lda <PD.TYP,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
511 bita #$20
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
512 beq L0405
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
513 dec >u0086,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
514 L0405 lda <PD.STOFF,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
515 anda #$0F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
516 pshs a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
517 lda <PD.STOFF,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
518 lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
519 lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
520 lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
521 lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
522 pshs a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
523 addb ,s+
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
524 puls a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
525 adda ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
526 sta ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
527 tst >u008D,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
528 beq L0442
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
529 lda <$10,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
530 lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
531 bita #$02
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
532 beq L0435
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
533 eora <PD.DNS,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
534 bita #$02
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
535 beq L0442
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
536 lbra L027B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
537 L0435 eora <PD.DNS,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
538 bita #$02
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
539 beq L0442
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
540 com >u008B,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
541 lsl ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
542 L0442 puls a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
543 cmpa <PD.CYL+1,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
544 lbcc L0281
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
545 tfr d,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
546 lbsr L0648
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
547 L0450 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
548
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
549 L0451 pshs x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
550 lda <PD.DRV,y Get the drive number
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
551 cmpa #$03 is it bigger than 3?
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
552 bcc L0468 yes - not possible...
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
553
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
554 * this would be where the 4th+ drive hardware mod patch would go.
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
555
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
556 leax drvtab,u drive table beginning
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
557 ldb #DRVMEM drive table size
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
558 mul
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
559 leax d,x compute the address
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
560 stx >u0081,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
561 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
562 puls pc,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
563
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
564 L0468 comb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
565 ldb #E$Unit
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
566 puls pc,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
567
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
568 L046D bsr L0451
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
569 bcs L0450
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
570 L0471 pshs x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
571 lbsr L09CA
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
572 bcs L04A9
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
573 pshs cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
574 orcc #$50
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
575 leax >L0026,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
576 lda <$21,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
577 ldb >u0087,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
578 andb #$F8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
579 orb a,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
580 stb >u0087,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
581 puls cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
582 ldx >u0081,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
583 cmpx >u0083,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
584 beq L04A8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
585 stx >u0083,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
586 lda <$15,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
587 sta >fdctrk
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
588 lbsr L085B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
589 L04A8 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
590 L04A9 puls pc,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
591
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
592 L04AB ldd #$0100
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
593 std >u008F,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
594 lda #$92
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
595 sta >u0095,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
596 clr >u0098,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
597 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
598
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
599 * GetStat entry point
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
600 GETSTA ldx PD.RGS,y get pointer to register stack
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
601 ldb R$B,x get callcode
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
602 clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
603 cmpb #$84 SS.SDRD system direct sector read?
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
604 beq L04F2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
605 inca
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
606 cmpb #$80 SS.DWRIT direct sector write?
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
607 beq L04F2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
608 cmpb #$86 SS.DRVCH drive cache select?
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
609 beq L04D3
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
610 comb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
611 ldb #E$UnkSvc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
612 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
613
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
614 L04D3 lda >u00A9,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
615 sta R$A,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
616 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
617 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
618
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
619 * Direct sector read entry point
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
620 L04DB bsr L0507
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
621 bcs L04FB
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
622 lda >u00A9,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
623 bmi L04ED
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
624 cmpa <PD.DRV,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
625 bne L04ED
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
626 lbsr L0A95
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
627 L04ED lbsr L021E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
628 bra L04FB
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
629
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
630 * Direct sector write
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
631 L04F2 bsr L0507
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
632 bcs L04FB
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
633 lbsr L01B0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
634 bcs L04FB
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
635 L04FB pshs b,cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
636 ldd >u0089,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
637 std PD.BUF,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
638 bsr L04AB
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
639 puls pc,b,cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
640
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
641 L0507 sta >u0098,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
642 ldd PD.BUF,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
643 std >u0089,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
644 ldd R$X,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
645 std PD.BUF,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
646 ldd R$Y,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
647 exg a,b
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
648 tsta
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
649 bpl L0522
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
650 clr >u0095,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
651 anda #$7F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
652 L0522 lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
653 lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
654 lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
655 lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
656 andb #$FC
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
657 cmpd #$0000
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
658 bne L0532
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
659 ldd >L001C,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
660 L0532 std >u008F,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
661 lbsr L0B61
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
662 lbsr L0451
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
663 bcs L0543
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
664 ldx R$U,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
665 lbsr L05F3
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
666 L0543 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
667
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
668 SETSTA ldx PD.RGS,y grab caller's register stack pointer
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
669 ldb R$B,x get the Stat call number
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
670 cmpb #SS.Reset Seek to track 0?
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
671 lbeq L0672 yes...
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
672 cmpb #SS.Wtrk direct track write?
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
673 lbeq L05B9 yes...
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
674 cmpb #SS.Frz
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
675 beq L0581
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
676 cmpb #$81 SS.UnFrz
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
677 beq L057E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
678 clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
679 cmpb #$84 SS.SDRD
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
680 beq L0564
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
681 inca
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
682 cmpb #$80 SS.DREAD
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
683 L0564 lbeq L04DB
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
684 cmpb #$83 (SS.MOTIM) change drive motor-on time?
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
685 beq L059B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
686 cmpb #$85 (SS.SLEEP) activate/deactivate sleep?
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
687 beq L0589
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
688 cmpb #$82 (SS.MOFF) shut off drive motor?
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
689 beq L05A8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
690 cmpb #$86 (SS.DRVCHG) cache select?
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
691 lbeq L0A8C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
692 comb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
693 ldb #E$UnkSvc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
694 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
695
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
696 L057E clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
697 bra L0583
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
698 L0581 lda #$FF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
699 L0583 sta >u0088,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
700 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
701 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
702
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
703 L0589 ldx R$X,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
704 bne L0591
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
705 clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
706 inca
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
707 bra L0596
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
708 L0591 clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
709 sta >u0093,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
710 L0596 sta >u0094,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
711 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
712
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
713 * Change drive motor time
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
714 L059B ldd R$X,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
715 bmi L05A2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
716 addd #$0002
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
717 L05A2 std >u0096,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
718 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
719 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
720
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
721 L05A8 pshs y,x,a,cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
722 orcc #$50
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
723 nop
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
724 ldd >virq1,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
725 beq L05B6
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
726 ldd #$0001
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
727 L05B6 lbra L09FC
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
728
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
729 L05B9 lda >u00A9,u Write track/format
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
730 lbsr L0A95
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
731 lbsr L0451
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
732 bcs L05F2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
733 ldb R$Y+1,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
734 ldx R$U,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
735 pshs x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
736 ldx >u0081,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
737 stb <$10,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
738 puls b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
739 lda #$01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
740 exg a,b
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
741 tfr d,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
742 bsr L05F3
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
743 bcs L05F2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
744 lda #$03
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
745 L05E0 pshs x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
746 lbsr L0259
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
747 puls x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
748 bcc L05F2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
749 cmpb #$01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
750 beq L05F0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
751 deca
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
752 bne L05E0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
753 L05F0 orcc #$01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
754 L05F2 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
755
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
756 L05F3 lbsr L0471
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
757 bcs L0647
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
758 pshs x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
759 ldx PD.RGS,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
760 lda R$Y+1,x grab low end of Y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
761 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
762 bita #$01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
763 beq L060C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
764 ldb <PD.SID,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
765 cmpb #$01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
766 bls L0627
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
767 ldb #$FF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
768 L060C stb >u0085,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
769 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
770 bita #$02
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
771 beq L0616
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
772 comb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
773 L0616 stb >u0086,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
774 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
775 lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
776 bita #$02
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
777 beq L062C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
778 eora <PD.DNS,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
779 bita #$02
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
780 beq L0636
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
781 L0627 leas $02,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
782 lbra L027D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
783 L062C eora <PD.DNS,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
784 bita #$02
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
785 beq L0636
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
786 comb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
787 lsl ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
788 L0636 stb >u008B,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
789 puls x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
790 tfr x,d
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
791 cmpa <PD.CYL+1,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
792 lbcc L0281
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
793 bsr L0648
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
794 L0647 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
795
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
796 L0648 pshs x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
797 clr >u008C,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
798 leax >L0020,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
799 ldb <PD.CYL+1,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
800 L0655 tst ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
801 beq L0661
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
802 cmpb ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
803 beq L0661
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
804 leax $02,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
805 bra L0655
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
806 L0661 cmpa $01,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
807 bcs L066F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
808 tst >u0086,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
809 beq L066F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
810 inc >u008C,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
811 L066F clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
812 puls pc,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
813
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
814 L0672 lbsr L046D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
815 bcs L06AE
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
816 L0677 leax >L002A,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
817 lbsr L0711
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
818 bcs L06A4
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
819 bsr L06AF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
820 bcs L06A4
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
821 lda #$05
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
822 L0686 pshs a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
823 leax >L002F,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
824 lbsr L0711
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
825 puls a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
826 bcs L06A4
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
827 deca
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
828 bne L0686
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
829 bsr L06AF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
830 bcs L06A4
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
831 leax >L002A,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
832 bsr L0711
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
833 bcs L06A4
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
834 bsr L06AF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
835 L06A4 ldx >u0081,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
836 lda >fdctrk
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
837 sta <$15,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
838 L06AE rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
839
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
840 L06AF ldx #$000E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
841 L06B2 pshs x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
842 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
843 bra L06D4
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
844 L06B7 os9 F$Sleep
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
845 L06BA stx $01,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
846 ldx <D.Proc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
847 lda P$State,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
848 bita #Condem
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
849 bne L0708
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
850 ldb <P$Signal,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
851 ldx <P$SigVec,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
852 bne L06D4
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
853 cmpb #S$Wake
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
854 bls L06D4
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
855 cmpb #S$Window
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
856 bne L0708
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
857 L06D4 ldx $01,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
858 beq L0705
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
859 pshs b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
860 ldd <D.Proc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
861 cmpd <D.SysPrc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
862 puls b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
863 beq L06F9
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
864 tst >u0093,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
865 bne L06ED
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
866 cmpb #$01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
867 bls L06B7
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
868 L06ED lda #$EA
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
869 L06EF lbsr L085B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
870 deca
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
871 bne L06EF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
872 leax -$01,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
873 bra L06BA
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
874 L06F9 lda #$EA
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
875 L06FB lbsr L085B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
876 deca
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
877 bne L06FB
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
878 leax -$01,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
879 bne L06F9
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
880 L0705 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
881 puls pc,x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
882
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
883 L0708 comb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
884 ldb #$01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
885 puls pc,x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
886 L070D lda #$01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
887 bra L0712
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
888 L0711 clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
889 L0712 pshs y,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
890 ldb >fdccmd
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
891 bitb #$81
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
892 lbne L07ED
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
893 lbsr L09CA
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
894 lbcs L081A
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
895 pshs cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
896 orcc #$50
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
897 tsta
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
898 bne L0737
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
899 ldb $04,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
900 bmi L0732
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
901 eorb <PD.STP,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
902 L0732 stb >fdread
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
903 bra L073C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
904 L0737 ldb $04,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
905 stb >fdwrit
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
906 L073C ldx $02,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
907 puls cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
908 ldd <D.Proc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
909 cmpd <D.SysPrc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
910 beq L07B2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
911 tst >u0092,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
912 bne L07B2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
913 tst >u0094,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
914 bne L07B2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
915 clr >u0099,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
916 leay >virq2,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
917 clr PD.DEV+1,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
918 tfr x,d
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
919 ldx #$0001
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
920 os9 F$VIRQ
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
921 bcc L0770
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
922 lbra L081A
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
923 L076A ldx #$0001
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
924 os9 F$Sleep
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
925 L0770 ldx <D.Proc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
926 lda P$State,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
927 ldb <P$Signal,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
928 ldx <P$SigVec,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
929 bne L0784
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
930 cmpb #S$Wake
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
931 bls L0784
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
932 cmpb #S$Window
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
933 bne L0788
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
934 L0784 bita #Condem
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
935 beq L0799
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
936 L0788 leay >virq2,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
937 ldx #$0000
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
938 os9 F$VIRQ
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
939 lbsr L081F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
940 ldb #$01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
941 bra L0818
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
942 L0799 tst >fdcdrv
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
943 bmi L07A6
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
944 tst >u0099,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
945 beq L076A
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
946 bra L07ED
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
947 L07A6 leay >virq2,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
948 ldx #$0000
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
949 os9 F$VIRQ
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
950 bra L07F3
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
951 L07B2 lda #$D2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
952 L07B4 lbsr L085B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
953 tst >fdcdrv
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
954 bmi L07F3
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
955 deca
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
956 bne L07B4
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
957 leax -$01,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
958 beq L07ED
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
959 ldd <u0050
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
960 cmpd <u004A
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
961 beq L07B2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
962 pshs x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
963 ldx <D.Proc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
964 lda P$State,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
965 ldb <P$Signal,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
966 ldx <P$SigVec,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
967 puls x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
968 bne L07E2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
969 cmpb #$01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
970 bls L07E2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
971 cmpb #$04
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
972 bne L07E6
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
973 L07E2 bita #Condem
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
974 beq L07B2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
975 L07E6 lbsr L081F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
976 ldb #$01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
977 bra L0818
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
978 L07ED bsr L081F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
979 ldb #$80
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
980 bra L07F9
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
981 L07F3 lda >fdwrit
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
982 ldb >fdccmd
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
983 L07F9 stb >u008E,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
984 lbsr L09CA
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
985 bcs L081A
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
986 leax >0,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
987 ldd [,s]
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
988 leax d,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
989 ldb >u008E,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
990 L080E tst ,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
991 beq L081C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
992 bitb ,x++
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
993 beq L080E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
994 ldb ,-x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
995 L0818 orcc #$01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
996 L081A puls pc,y,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
997 L081C clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
998 puls pc,y,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
999
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1000 L081F pshs b,cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1001 orcc #$50
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1002 lda >fdwrit
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1003 lda >u0087,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1004 anda #$DF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1005 sta >$FF41
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1006 puls cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1007 lbsr L014B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1008 puls pc,b
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1009
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1010 fdb $80f6
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1011 fdb $1017
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1012 fdb $08f3
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1013 fdb $01f6
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1014 fdb $0080
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1015 fdb $f640
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1016 fdb $f220
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1017 fdb $f510
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1018 fdb $f708
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1019 fdb $f304
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1020 fdb $f501
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1021 fdb $f600
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1022 fdb $80f6
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1023 fdb $20f4
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1024 fdb $10f7
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1025 fdb $08f3
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1026 fdb $04f4
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1027 fdb $01f6
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1028 fcb $00
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1029
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1030 L085B tst >$00A0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1031 beq L0864
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1032 bsr L0868
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1033 bsr L0864
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1034 L0864 bsr L0866
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1035 L0866 bsr L0868
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1036 L0868 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1037
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1038 L0869 pshs a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1039 lda >u00A2,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1040 bita #$01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1041 beq L0880
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1042 sta >u0098,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1043 anda #$FE
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1044 sta >u00A2,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1045 clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1046 bra L0881
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1047 L0880 coma
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1048 L0881 puls pc,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1049 L0883 ldb >u00A4,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1050 L0887 stb >fdptrl
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1051 lsrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1052 lsrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1053 lsrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1054 lsrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1055 stb >fdptrh
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1056 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1057
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1058 L0892 pshs u,dp,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1059 bsr L08D2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1060 tst >u0098,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1061 beq L08A2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1062 ora #$80
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1063 bsr L08F6
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1064 bra L08AF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1065 L08A2 bsr L08DB
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1066 L08A4 ldu <u004E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1067 stu ,x++
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1068 ldu <u004E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1069 stu ,x++
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1070 decb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1071 bne L08A4
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1072 L08AF puls pc,u,dp,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1073
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1074 L08B1 pshs u,dp,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1075 bsr L08D2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1076 tst >u0098,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1077 beq L08BF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1078 bsr L08F6
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1079 bra L08CE
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1080 L08BF bsr L08DB
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1081 L08C1 ldu ,x++
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1082 stu <u004E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1083 ldu ,x++
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1084 stu <u004E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1085 decb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1086 bne L08C1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1087 ldu $02,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1088 L08CE bsr L0883
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1089 puls pc,u,dp,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1090
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1091 L08D2 bsr L0883
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1092 ldx $08,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1093 ldd >u008F,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1094 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1095 L08DB lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1096 rorb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1097 lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1098 rorb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1099 lda #$FF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1100 tfr a,dp
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1101 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1102
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1103 L08E4 ldb #$20
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1104 bsr L0887
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1105 ldx PD.RGS,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1106 ldx R$X,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1107 ldd #$1A00
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1108 bsr L08F6
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1109 ldb #$20
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1110 bsr L0887
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1111 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1112
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1113 L08F6 pshs u,y,x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1114 leas -$0C,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1115 sta $0B,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1116 anda #$3F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1117 std $04,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1118 lda #$01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1119 sta $0C,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1120 tfr x,d
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1121 anda #$1F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1122 std $08,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1123 exg x,d
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1124 lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1125 lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1126 lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1127 lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1128 lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1129 lsla
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1130 inca
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1131 ldu <D.Proc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1132 ldb P$Task,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1133 ldu <D.TskIPt
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1134 lslb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1135 ldu b,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1136 leau a,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1137 stu $06,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1138 ldd #$2000
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1139 subd $08,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1140 std ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1141 L0927 pshs cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1142 orcc #$50
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1143 ldd [>D.SysDAT]
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1144 stb $0B,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1145 ldd $05,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1146 cmpd $01,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1147 bls L093A
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1148 ldd $01,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1149 L093A cmpd #$0040
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1150 bls L0943
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1151 ldd #$0040
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1152 L0943 std $03,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1153 lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1154 rorb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1155 tfr d,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1156 ldb [<$07,s]
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1157 stb >$FFA0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1158 lda $0C,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1159 bpl L098C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1160 bita #$40
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1161 bne L096D
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1162 bcc L0962
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1163 lda >buffer
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1164 sta ,x+
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1165 leay ,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1166 beq L09A0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1167 L0962 ldd >buffer
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1168 std ,x++
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1169 leay -$01,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1170 bne L0962
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1171 bra L09A0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1172 L096D bcc L097C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1173 lda >buffer
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1174 cmpa ,x+
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1175 beq L0978
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1176 clr $0D,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1177 L0978 leay ,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1178 beq L09A0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1179 L097C ldd >buffer
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1180 cmpd ,x++
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1181 beq L0986
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1182 clr $0D,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1183 L0986 leay -$01,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1184 bne L097C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1185 bra L09A0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1186 L098C bcc L0997
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1187 lda ,x+
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1188 sta >buffer
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1189 leay ,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1190 beq L09A0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1191 L0997 ldd ,x++
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1192 std >buffer
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1193 leay -$01,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1194 bne L0997
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1195 L09A0 ldb $0B,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1196 stb >$FFA0
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1197 puls cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1198 ldd $04,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1199 subd $02,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1200 beq L09C6
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1201 std $04,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1202 ldd ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1203 subd $02,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1204 bne L09C1
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1205 tfr d,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1206 ldd $06,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1207 addd #$0002
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1208 std $06,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1209 ldd #$2000
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1210 L09C1 std ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1211 lbra L0927
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1212 L09C6 leas $0C,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1213 puls pc,u,y,x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1214
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1215 L09CA pshs y,x,a,cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1216 orcc #$50
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1217 nop
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1218 lda >u0087,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1219 bita #$08
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1220 bne L09EF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1221 ora #$08
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1222 sta >u0087,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1223 anda #$D8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1224 sta >$FF41
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1225 bsr L0A05
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1226 puls cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1227 ldx >L0018,pcr
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1228 lbsr L06B2
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1229 bra L0A03
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1230 L09EF sta >$FF41
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1231 tst <D.MotOn
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1232 beq L09F8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1233 bsr L0A05
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1234 L09F8 ldd >u0096,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1235 L09FC std >virq1,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1236 puls cc
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1237 clrb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1238 L0A03 puls pc,y,x,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1239
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1240 L0A05 clr <D.MotOn
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1241 ldd >u0096,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1242 leay >virq1,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1243 clr $04,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1244 ldx #$0001
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1245 os9 F$VIRQ
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1246 bcc L0A1C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1247 dec <D.MotOn
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1248 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1249 L0A1C tst >u0092,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1250 beq L0A29
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1251 clr >u0092,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1252 lbsr L0591
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1253 L0A29 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1254 L0A2A pshs a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1255 coma
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1256 lda >u009E,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1257 bita #$01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1258 beq L0A53
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1259 tst <D.DMAReq
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1260 beq L0A3E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1261 bsr L0A05
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1262 clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1263 bra L0A53
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1264 L0A3E lda >u0087,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1265 anda #$F7
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1266 sta >u0087,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1267 anda #$D8
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1268 sta >$FF41
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1269 clr >u009E,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1270 clr <D.MotOn
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1271 L0A53 puls pc,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1272
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1273 L0A55 pshs x,b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1274 lda #$BE
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1275 sta >u00A8,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1276 clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1277 ldb #$3C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1278 lbsr L0887
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1279 sta >buffer
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1280 deca
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1281 ldb #$7C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1282 lbsr L0887
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1283 sta >buffer
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1284 ldb #$3C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1285 lbsr L0887
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1286 clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1287 ldb #$7C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1288 tst >buffer
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1289 beq L0A80
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1290 lda #$20
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1291 ldb #$1C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1292 L0A80 sta >u00A5,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1293 stb >u00A6,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1294 lda #$FF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1295 bra L0A9B
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1296 L0A8C lda <$21,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1297 ldx $04,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1298 bne L0A95
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1299 lda #$FF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1300 L0A95 pshs x,b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1301 ldb >u00A6,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1302 L0A9B sta >u00A9,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1303 leax >u00AC,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1304 lda #$FF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1305 L0AA5 sta ,x+
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1306 sta ,x+
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1307 clr ,x+
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1308 decb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1309 bne L0AA5
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1310 puls pc,x,b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1311 L0AB0 pshs x,b
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1312 lda >u00A8,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1313 inca
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1314 cmpa #$FF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1315 bne L0ADC
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1316 leax >u00AC,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1317 ldb >u00A6,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1318 L0AC3 lda $02,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1319 beq L0AD5
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1320 cmpa #$7F
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1321 bls L0ACF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1322 suba #$40
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1323 bra L0AD3
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1324 L0ACF lsra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1325 bne L0AD3
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1326 inca
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1327 L0AD3 sta $02,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1328 L0AD5 leax $03,x
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1329 decb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1330 bne L0AC3
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1331 lda #$BF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1332 L0ADC sta >u00A8,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1333 puls pc,x,b
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1334
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1335 L0AE2 tstb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1336 lbne L0287
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1337 cmpx #$FFFF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1338 lbeq L0287
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1339 pshs y,x,b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1340 sta >u00A7,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1341 lbsr L0451
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1342 bcs L0B37
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1343 lda >u00A9,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1344 bmi L0B63
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1345 cmpa <PD.DRV,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1346 bne L0B63
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1347 cmpx #$0003
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1348 bls L0B57
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1349 lda #$FF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1350 ldb >u00A6,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1351 subb #$04
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1352 leay >u00B8,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1353 L0B15 cmpx ,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1354 beq L0B39
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1355 cmpa $02,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1356 bls L0B21
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1357 lda $02,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1358 stb ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1359 L0B21 leay $03,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1360 decb
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1361 bne L0B15
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1362 ldb >u00A6,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1363 subb ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1364 bsr L0B7C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1365 L0B2E ldd #$FFFF
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1366 std ,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1367 L0B33 clr $02,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1368 lda #$01
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1369 L0B37 puls pc,y,x,b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1370
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1371 L0B39 sty >u00AA,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1372 stb ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1373 ldb >u00A6,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1374 subb ,s
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1375 addb >u00A5,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1376 stb >u00A4,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1377 L0B4E tst >u00A7,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1378 bne L0B2E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1379 clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1380 puls pc,y,x,b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1381
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1382 L0B57 tfr x,d
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1383 bsr L0B7C
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1384 tst $02,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1385 bne L0B4E
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1386 bra L0B33
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1387 L0B61 pshs y,x,b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1388 L0B63 lda >u00A6,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1389 adda >u00A5,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1390 sta >u00A4,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1391 leay >u0220,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1392 sty >u00AA,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1393 clra
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1394 deca
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1395 puls pc,y,x,b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1396 L0B7C tfr b,a
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1397 adda >u00A5,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1398 sta >u00A4,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1399 lda #$03
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1400 mul
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1401 leay >u00AC,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1402 leay d,y
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1403 sty >u00AA,u
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1404 rts
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1405
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1406 L0B95 fdb $0000
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1407
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1408 emod
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1409
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1410 eom equ *
6641a883d6b0 Initial revision
boisy
parents:
diff changeset
1411