annotate 3rdparty/drivers/disto/cc3disk_disto.asm @ 1366:770c350f4c15

More changes
author boisy
date Fri, 26 Sep 2003 12:43:30 +0000
parents 82f525c3a789
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
928
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
1 * Disassembly by Dynamite+ of cc3disk
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
2 *
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
3
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
4 * ======================================================
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
5 * Layout of SC-II registers:
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
6 *
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
7 * $FF74 RW.Dat --- R/W Buffer data #1
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
8 * $FF75 mirror of $FF74
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
9 * $FF76 RW.Ctrl --- Write D0 = 0 FDC Write Op #2
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
10 * = 1 FDC Read Op #2
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
11 * D1 = 0 Normal Mode
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
12 * = 1 Buffered I/O Mode
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
13 * D2 = 0 Normal NMI
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
14 * = 1 Masked NMI
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
15 * D3 = 0 No FIRQ (Masked)
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
16 * = 1 Enabled FIRQ
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
17 * Read D7 = FDC INT Status (Inverted)
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
18 * $FF77 mirror of $FF76
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
19 * #1: any write to $FF76-$FF77 clears Buffer counter
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
20 * #2: in buffered mode only
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
21 * =========================================================
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
22
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
23 nam CC3Disk.irq
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
24 ttl Disto version: patched to remove F$IRQ on TERM
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
25
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
26 Level equ 2
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
27
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
28 ifp1
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
29 use defsfile
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
30 use rbfdefs
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
31 endc
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
32
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
33 TyLan equ Drivr+Objct
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
34 AttRev equ ReEnt+3
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
35 Edition set 163
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
36 ForcInt equ $d0
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
37 WrtSct equ $a0
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
38
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
39 mod dlen,dnam,TyLan,AttRev,dexec,datsiz
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
40
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
41 RG.Ctrl equ $ff40
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
42 RG.Stat equ $ff48
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
43 RG.Trk equ $ff49
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
44 RG.Sect equ $ff4a
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
45 RG.Data equ $ff4b
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
46 * I *THINK* Disto manual was backwards
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
47 * This looks better in code
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
48 RW.Dat equ $ff74
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
49 RW.Ctrl equ $ff76
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
50 MPICtrl equ $ff7f
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
51 *IRQENR equ $ff92
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
52
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
53 * OS-9 data area definitions
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
54
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
55 org DRVBEG+4*DRVMEM
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
56 tl equ .
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
57 LstDrv rmb 1
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
58 DrivMsk rmb 1
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
59 ChgFlg rmb 1
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
60 d00aa rmb 1
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
61 d00ab rmb 1
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
62 DskOfst rmb 3
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
63 DisCode rmb 2
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
64 VIRQPak rmb 5
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
65 rmb 1
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
66 Lsn rmb 3
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
67 WtrkBuf rmb 2
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
68 MPISlot rmb 1
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
69 MPISav rmb 1
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
70 datsiz equ .
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
71
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
72 fcb $ff
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
73 dnam fcs "CC3Disk"
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
74 fcb Edition
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
75
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
76 dexec lbra INIT
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
77 lbra READ
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
78 lbra WRITE
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
79 lbra GETSTA
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
80 lbra PUTSTA
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
81
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
82 TERM ldx #0
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
83 leau LstDrv,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
84 leay VIRQPak-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
85 os9 F$VIRQ
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
86 leay IRQSvc,pcr
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
87 os9 F$IRQ
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
88 leay SC2vec,pcr
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
89 os9 F$IRQ
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
90 clrb
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
91 stb RG.Ctrl
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
92 stb D.MotOn
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
93 rts
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
94
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
95 * F$IRQ arrays: Flip byte, Mask byte, priority
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
96 videfs fcb 0,Vi.IFlag,9
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
97 SC2stts fcb $80,$80,16
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
98
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
99 ********************
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
100 * INIT: entry: U= Static Mem, Y= Device Descr
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
101
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
102 INIT clr RW.Ctrl
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
103 clr D.MotOn
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
104 ldx #RG.Stat
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
105 lda #ForcInt
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
106 sta ,x Send cmd to FDC
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
107 lbsr tdelay Wait
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
108 lda ,x Clear FDC register
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
109 lda #$ff Init "last drive accessed"
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
110 sta LstDrv,u to impossible #
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
111 ldb #4
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
112 leax DRVBEG,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
113 l0067 sta ,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
114 sta DD.BT,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
115 leax DRVMEM,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
116 decb
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
117 bne l0067
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
118 leax NMIvec,pcr
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
119 stx D.NMI
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
120 pshs u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
121 leau LstDrv,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
122 leay VIRQPak+VI.Stat-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
123 tfr y,d
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
124 leay IRQSvc,pcr
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
125 leax >videfs,pcr
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
126 os9 F$IRQ
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
127 puls u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
128 bcs ret010
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
129 lda MPICtrl
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
130 sta MPISlot,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
131 ldd #RW.Ctrl
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
132 leay SC2vec,pcr
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
133 leax >SC2stts,pcr
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
134 os9 F$IRQ
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
135 bcs ret010
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
136 pshs cc
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
137 orcc #IntMasks
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
138 lda $FF23
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
139 * disable FIRQ from cart. set flag on falling edge of CART
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
140 anda #$fc
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
141 sta $FF23
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
142 lda $FF22
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
143 lda D.IRQER
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
144 ora #1 Enable CART IRQ
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
145 sta D.IRQER ..save in IRQENR shadow
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
146 sta IRQENR .. and actual register
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
147 puls cc
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
148
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
149 ***************
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
150 * GetSta : no op
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
151
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
152 GETSTA clrb
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
153 ret010 rts
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
154
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
155 *******************
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
156 * READ entry: U= device Mem Y= Path Descr
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
157 * B,X= LSN
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
158
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
159 READ lbsr trkcmput
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
160 clr d00aa-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
161 ldd Lsn-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
162 bne l0118
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
163 bsr l0118
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
164 bcs ret010
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
165 lda PD.TYP,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
166 bita #$40
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
167 lbne t0set
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
168 ldx PD.BUF,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
169 pshs x,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
170 ldy PD.DTB,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
171 ldb #$14
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
172 l00e5 lda b,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
173 sta b,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
174 decb
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
175 bpl l00e5
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
176 lda DD.FMT,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
177 ldy 2,s
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
178 ldb PD.DNS,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
179 bita #2
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
180 beq l00fd
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
181 bitb #1
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
182 beq badtyp
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
183 l00fd bita #4
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
184 beq l0105
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
185 bitb #2
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
186 beq badtyp
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
187 l0105 bita #1
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
188 beq ret025
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
189 lda PD.SID,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
190 suba #2
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
191 bcs badtyp
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
192 ret025 clrb
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
193 puls x,y,pc
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
194 badtyp comb
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
195 ldb #E$BTyp
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
196 puls x,y,pc
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
197 l0118 lbsr l02d6
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
198 bcs ret010
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
199 ldb #$80
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
200 lda #7
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
201 bsr l019c
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
202 lbcs E.Read
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
203 ldx PD.BUF,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
204 ldb #$80
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
205 tst d00aa-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
206 bne l013c
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
207 pshs b
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
208 * Move data from SC2 buffer to RBF buffer
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
209 getdat ldd RW.Dat
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
210 std ,x++
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
211 dec ,s
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
212 bne getdat
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
213 puls b
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
214 l013c andcc #^Carry
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
215 rts
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
216
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
217 * ******************
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
218 * WRITE entry: U= Device static Mem Y= Path Descr
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
219 * B,X= LSN
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
220
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
221 WRITE lbsr trkcmput
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
222 l0142 bsr l0151
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
223 bcs ret040
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
224 tst PD.VFY,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
225 bne ret030
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
226 bsr verify
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
227 bcs l0142
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
228 ret030 clrb
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
229 ret040 rts
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
230 l0151 lbsr l02d6
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
231 bcs ret040
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
232 ldx PD.BUF,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
233 lda #4
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
234 sta RW.Ctrl
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
235 ldb #$80
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
236 pshs b
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
237 putdat ldd ,x++
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
238 std RW.Dat
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
239 dec ,s
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
240 bne putdat
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
241 puls b
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
242 ldb #WrtSct
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
243 lda #6
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
244 bsr l019c
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
245 lbra l0243
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
246
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
247 verify lda d00ab-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
248 pshs a
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
249 clr d00ab-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
250 lda #$ff
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
251 sta d00aa-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
252 bsr l0118
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
253 bcs l0197
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
254 pshs b
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
255 l0185 ldd RW.Dat
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
256 cmpd ,x++
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
257 bne l0193
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
258 dec ,s
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
259 bne l0185
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
260 bra l0195
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
261 l0193 orcc #Carry
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
262 l0195 puls b
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
263 l0197 puls a
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
264 sta d00ab-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
265 rts
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
266 l019c std DisCode-tl,u Save both ctrlr cmds
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
267 l019e ldd DisCode-tl,u Load both ctrlr cmds
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
268 bsr sendcmd
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
269 lbsr l0243
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
270 bcc ret01ba
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
271 lda RG.Stat
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
272 bita #$40
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
273 bne err01b9
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
274 lsr d00ab-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
275 beq err01b9
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
276 bcc l019e
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
277 lbsr ssrset
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
278 bra l019e
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
279 err01b9 coma
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
280 ret01ba rts
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
281
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
282 * sendcmd: entry: A=No-halt buffer cmd mask
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
283 * B=WD ctrlr cmd code
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
284
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
285 sendcmd pshs a
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
286 lda D.Proc
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
287 sta V.WAKE-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
288 puls a
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
289 stb RG.Stat
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
290 ora #8
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
291 sta RW.Ctrl
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
292 ldb #$28
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
293 orb DrivMsk-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
294 stb RG.Ctrl
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
295 pshs x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
296 bra l01e8
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
297 l01d8 ldx D.Proc
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
298 lda P$State,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
299 ora #Suspend
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
300 sta P$State,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
301 andcc #^IntMasks
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
302 ldx #1
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
303 lbsr l0424
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
304 l01e8 orcc #IntMasks
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
305 lda V.WAKE-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
306 bne l01d8
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
307 clrb
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
308 ldb #4
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
309 stb RW.Ctrl
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
310 andcc #^IntMasks
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
311 puls x,pc
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
312 SC2vec lda V.WAKE,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
313 beq err0236
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
314 ldb MPICtrl
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
315 stb MPISav,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
316 ldb MPISlot,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
317 stb MPICtrl
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
318 ldb #ForcInt
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
319 stb RG.Stat
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
320 ldb #4
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
321 stb RW.Ctrl
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
322 * The Bruce Isted patch. Not needed???
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
323 ldb D.IRQS
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
324 andb #$fe
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
325 stb D.IRQS
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
326 ldb D.IRQER
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
327 andb #$fe
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
328 stb IRQENR
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
329 orb #1
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
330 stb IRQENR
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
331 * End of Bruce Isted patch *
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
332 clrb
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
333 stb V.WAKE,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
334 tfr d,x A=V.WAKE??? B=0
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
335 lda P$State,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
336 anda #^Suspend
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
337 sta P$State,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
338 clrb
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
339 bra ret0237
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
340 err0236 comb
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
341 ret0237 lda MPISav,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
342 sta MPICtrl
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
343 rts
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
344
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
345 NMIvec leas R$Size,s Pull RTI stack
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
346 puls cc,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
347 l0243 ldb RG.Stat Get error status
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
348 clr RW.Ctrl
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
349 andb #$f8 mask off non-error bits
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
350 beq done
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
351 pshs x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
352 leax <errtbl-1,pcr
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
353 l0252 leax 1,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
354 rolb
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
355 bcc l0252
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
356 ldb ,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
357 puls x,pc
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
358 done clrb
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
359 rts
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
360
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
361 errtbl fcb E$NotRdy,E$WP,E$Write,E$Seek
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
362 fcb E$CRC
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
363 E.Read comb
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
364 ldb #E$Read
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
365 rts
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
366
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
367 trkcmput leau LstDrv,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
368 clr DskOfst+2-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
369 lda #$91
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
370 sta d00ab-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
371 tstb MMsb of sector
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
372 bne E.Sect always 0 for CoCo floppies
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
373 tfr x,d
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
374 std Lsn-tl,u Save lsn
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
375 beq l02a4
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
376 ldx PD.DTB,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
377 cmpd DD.TOT+1,x Req'd lsn > max?
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
378 bcs l0288 no, continue
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
379 E.Sect comb
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
380 ldb #E$Sect
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
381 leas 2,s
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
382 rts
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
383
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
384 l0288 clr ,-s
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
385 bra l028e
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
386 l028c inc ,s
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
387 l028e subd DD.SPT,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
388 bcc l028c
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
389 addd DD.SPT,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
390 lda DD.FMT,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
391 lsra
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
392 bcc l02a2
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
393 lsr ,s
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
394 bcc l02a2
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
395 inc DskOfst+2-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
396 l02a2 puls a
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
397 l02a4 std DskOfst-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
398 clrb
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
399 rts
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
400 setdrv clr ChgFlg-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
401 lda PD.DRV,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
402 cmpa #4
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
403 bcs l02b5
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
404 comb
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
405 ldb #E$Unit
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
406 rts
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
407 l02b5 pshs a,b,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
408 cmpa LstDrv-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
409 beq l02bd
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
410 com ChgFlg-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
411 l02bd sta LstDrv-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
412 leax <drvmsks,pcr
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
413 ldb a,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
414 stb DrivMsk-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
415 lbsr mtron
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
416 puls a,b,x,pc
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
417
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
418 drvmsks fcb $01,$02,$04,$40
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
419
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
420 l02cf pshs a
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
421 ldb DD.BT,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
422 bra l030c
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
423 l02d6 bsr setdrv
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
424 bcs l032f
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
425 ldd DskOfst-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
426 pshs a
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
427 lda DskOfst+2-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
428 beq l02e8
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
429 lda DrivMsk-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
430 ora #$40
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
431 sta DrivMsk-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
432 l02e8 lda PD.TYP,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
433 bita #2
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
434 bne l02f0
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
435 incb
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
436 l02f0 stb RG.Sect
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
437 ldx PD.DTB,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
438 ldb DD.BT,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
439 lda DD.FMT,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
440 lsra
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
441 eora PD.DNS,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
442 anda #2
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
443 pshs a
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
444 lda 1,s
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
445 tst ,s+
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
446 beq l030c
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
447 asla
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
448 aslb
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
449 l030c stb RG.Trk
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
450 tst ChgFlg-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
451 bne seek
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
452 ldb ,s
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
453 cmpb DD.BT,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
454 beq l0326
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
455 seek sta RG.Data
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
456 ldb PD.STP,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
457 andb #3
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
458 eorb #$1b
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
459 bsr l0330
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
460 l0326 puls a
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
461 sta DD.BT,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
462 sta RG.Trk
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
463 clrb
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
464 l032f rts
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
465
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
466 l0330 lda #4
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
467 lbsr sendcmd
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
468 lda RG.Stat
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
469 clr RW.Ctrl
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
470 rts
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
471
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
472 tdelay clr 18,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
473 inc 18,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
474 l0342 rol 18,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
475 bpl l0342
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
476 rts
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
477
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
478 * Restore to LSN0
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
479 ssrset pshs b,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
480 lbsr setdrv
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
481 bcs l0370
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
482 ldx PD.DTB,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
483 clr DD.BT,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
484 lda #4
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
485 stepIN ldb PD.STP,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
486 andb #3
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
487 eorb #$4b Step In
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
488 pshs a
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
489 bsr l0330
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
490 puls a
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
491 deca
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
492 bne stepIN
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
493 ldb PD.STP,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
494 andb #3
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
495 eorb #$0b Restore
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
496 bsr l0330
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
497 l0370 puls b,x,pc
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
498
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
499 *********************
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
500 * PUTSTA U= Device Static Mem Y= Path Descr
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
501 * A= Status Call
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
502
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
503 PUTSTA leau LstDrv,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
504 ldx PD.RGS,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
505 ldb R$B,x SS.xx call
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
506 cmpb #SS.WTrk
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
507 beq wtrak
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
508 cmpb #SS.Reset
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
509 beq ssrset
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
510 comb
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
511 ldb #E$UnkSvc
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
512 rts
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
513
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
514 * SS.WTRK call
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
515 wtrak pshs y,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
516 * request buffer memory
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
517 ldd #$1a00
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
518 os9 F$SRqMem
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
519 bcs ret080
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
520 ldx 2,s
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
521 stu WtrkBuf-tl,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
522 ldx D.Proc
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
523 lda P$Task,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
524 ldb D.SysTsk
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
525 ldy ,s
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
526 ldx PD.RGS,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
527 ldx R$X,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
528 ldy #$1a00
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
529 os9 F$Move
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
530 bcs l03d3
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
531 puls y,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
532 pshs y,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
533 lbsr setdrv
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
534 bcs l03d3
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
535 ldx PD.RGS,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
536 ldb R$Y+1,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
537 bitb #1
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
538 beq l03c4
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
539 lda DrivMsk-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
540 ora #$40
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
541 sta DrivMsk-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
542 sta DskOfst+2-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
543 l03c4 lda R$U+1,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
544 ldx PD.DTB,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
545 lbsr l02cf
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
546 bcs l03d3
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
547 ldx WtrkBuf-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
548 bsr l03e4
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
549 l03d3 ldu 2,s Original U (Static storage)
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
550 pshs cc,b
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
551 ldu WtrkBuf-tl,u Return WTrk buffer
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
552 ldd #$1a00 ... to sys
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
553 os9 F$SRtMem
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
554 puls cc,b
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
555 ret080 puls y,u,pc
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
556
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
557 l03e4 pshs cc,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
558 orcc #IntMasks
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
559 ldb #$f0
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
560 stb RG.Stat
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
561 ldy #$ffff
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
562 ldb #$28
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
563 orb DrivMsk-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
564 stb RG.Ctrl
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
565 orb #$a8
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
566 lda #2
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
567 lbsr tdelay
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
568 l03ff bita RG.Stat
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
569 bne sctwrt
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
570 leay -1,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
571 bne l03ff
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
572 lda DrivMsk-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
573 ora #8
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
574 sta RG.Ctrl
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
575 lda #ForcInt
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
576 sta RG.Stat
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
577 puls cc,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
578 comb
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
579 ldb #E$Write
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
580 rts
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
581 * NMI-type Block mode write
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
582 sctwrt lda ,x+
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
583 sta RG.Data
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
584 stb RG.Ctrl
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
585 bra sctwrt Loop till sector written
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
586
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
587 * Pause and timeout routines
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
588 l0424 pshs a,b
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
589 ldd D.Proc
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
590 cmpd D.SysPrc
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
591 puls a,b
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
592 beq wait
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
593 os9 F$Sleep
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
594 rts
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
595 wait ldx #$a000
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
596 wait1 nop
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
597 nop
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
598 nop
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
599 leax -1,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
600 bne wait1
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
601 rts
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
602
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
603 mtron pshs a,b,x,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
604 ldd #$00f0 Reset Drive timeout
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
605 std VIRQPak-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
606 lda DrivMsk-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
607 ora #8 Motor-on
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
608 sta RG.Ctrl
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
609 ldx #$0028
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
610 lda D.MotOn Result of last motoron attempt
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
611 bmi svirq If error previously
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
612 beq l0469
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
613 tst ChgFlg-tl,u Different drive from last?
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
614 beq ret090 No, no need to wait
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
615 lda PD.TYP,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
616 bita #$10 All motors not turned on?
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
617 beq ret090 Yes, skip
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
618 bsr l0424
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
619 ldd #$00f0
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
620 std VIRQPak-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
621 bra ret090
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
622
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
623 l0469 bsr l0424
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
624 svirq bsr setVIRQ
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
625 ret090 clrb
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
626 puls a,b,x,y,pc
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
627 setVIRQ lda #1
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
628 sta D.MotOn
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
629 ldx #1
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
630 leay VIRQPak-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
631 clr Vi.Stat,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
632 ldd #$00f0
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
633 os9 F$VIRQ
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
634 bcc ret100
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
635 lda #$80
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
636 sta D.MotOn
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
637 ret100 clra
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
638 rts
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
639
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
640 * IRQ service routine. CC3Disk comes here on NMI
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
641 IRQSvc pshs a
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
642 lda V.WAKE-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
643 beq l049f
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
644 ldb #$0c
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
645 stb RW.Ctrl
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
646 lda #$d8
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
647 sta RG.Stat
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
648 clr d00ab-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
649 bra l04a3
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
650
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
651 l049f lda D.DMAReq
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
652 beq l04a7
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
653 l04a3 bsr setVIRQ
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
654 bra ret110
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
655
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
656 l04a7 sta RG.Ctrl
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
657 clr VIRQPak+Vi.Stat-tl,u
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
658 clr D.MotOn
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
659 ret110 puls a,pc
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
660
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
661 t0set ldx PD.DTB,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
662 ldb #$14
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
663 t0set1 clr b,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
664 decb
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
665 bpl t0set1
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
666 ldb PD.CYL+1,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
667 lda PD.SID,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
668 mul
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
669 subd #1
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
670 lda PD.SCT+1,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
671 sta DD.TKS,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
672 sta DD.SPT+1,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
673 mul
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
674 addd PD.T0S,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
675 std DD.TOT+1,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
676 lda #7
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
677 sta DD.ATT,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
678 lda PD.DNS,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
679 asla
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
680 pshs a
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
681 lda PD.SID,y
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
682 deca
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
683 ora ,s+
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
684 sta DD.FMT,x
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
685 clrb
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
686 rts
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
687
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
688 emod
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
689
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
690 dlen equ *
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
691
82f525c3a789 Disassembly by David Breeding
boisy
parents:
diff changeset
692 end