Mercurial > hg > Members > kono > nitros9-code
comparison 3rdparty/drivers/sdisk/bootfix.asm @ 207:347828fbd427
Added additional programs that came with SDisk + Bootfix
author | boisy |
---|---|
date | Mon, 15 Jul 2002 12:28:44 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
206:a4bb7f96b6b7 | 207:347828fbd427 |
---|---|
1 ******************************************************************** | |
2 * BootFix - D.P. Johnson boot track fix | |
3 * | |
4 * $Id$ | |
5 * | |
6 * Ed. Comments Who YY/MM/DD | |
7 * ------------------------------------------------------------------ | |
8 * 4 D.P. Johnson original version | |
9 | |
10 nam bootfix | |
11 ttl D.P. Johnson boot track fix | |
12 | |
13 * Disassembled 02/07/15 07:16:24 by Disasm v1.6 (C) 1988 by RML | |
14 | |
15 ifp1 | |
16 use defsfile | |
17 endc | |
18 | |
19 tylg set Prgrm+Objct | |
20 atrv set ReEnt+rev | |
21 rev set $01 | |
22 edition set 4 | |
23 | |
24 mod eom,name,tylg,atrv,start,size | |
25 | |
26 u0000 rmb 2 | |
27 u0002 rmb 1 | |
28 u0003 rmb 2 | |
29 u0005 rmb 2 | |
30 u0007 rmb 2 | |
31 u0009 rmb 2 | |
32 u000B rmb 2 | |
33 u000D rmb 32 | |
34 u002D rmb 4 | |
35 u0031 rmb 18 | |
36 u0043 rmb 1 | |
37 u0044 rmb 1 | |
38 u0045 rmb 232 | |
39 u012D rmb 512 | |
40 u032D rmb 16 | |
41 u033D rmb 240 | |
42 u042D rmb 24826 | |
43 size equ . | |
44 | |
45 name fcs /bootfix/ | |
46 fcb edition | |
47 | |
48 fcc "(c) Copyright 1983 D.P.Johnson" | |
49 | |
50 start stu <u0000 | |
51 leay u000D,u | |
52 L0037 lda ,x+ | |
53 cmpa #C$SPAC | |
54 beq L0037 | |
55 cmpa #PDELIM | |
56 beq L0046 | |
57 ldb #E$BPNam | |
58 os9 F$Exit | |
59 L0046 sta ,y+ | |
60 lda ,x+ | |
61 cmpa #C$CR | |
62 beq L0052 | |
63 cmpa #C$SPAC | |
64 bne L0046 | |
65 L0052 lda #PENTIR | |
66 ldb #C$SPAC | |
67 std ,y | |
68 leax u000D,u | |
69 lda #UPDAT. | |
70 os9 I$Open | |
71 bcc L0064 | |
72 L0061 os9 F$Exit | |
73 L0064 sta <u0002 | |
74 leax <u002D,u | |
75 ldy #256 | |
76 os9 I$Read | |
77 bcs L0061 | |
78 lda <DD.FMT,x | |
79 anda #$03 | |
80 cmpa #$03 | |
81 bne L0089 | |
82 ldd DD.BIT,x | |
83 cmpd #$0001 | |
84 bne L0089 | |
85 lda DD.TKS,x | |
86 cmpa #18 | |
87 beq L008F | |
88 L0089 comb | |
89 ldb #E$BTyp | |
90 os9 F$Exit | |
91 L008F lda DD.MAP,x | |
92 leax >u012D,u | |
93 inca | |
94 clrb | |
95 tfr d,y | |
96 lda <u0002 | |
97 os9 I$Read | |
98 bcs L0061 | |
99 lda <u0002 | |
100 ldx #$0002 | |
101 ldu #(34*18*256) | |
102 os9 I$Seek | |
103 ldu <u0000 | |
104 bcs L0061 | |
105 leax >u042D,u | |
106 ldy #$0F00 | |
107 os9 I$Read | |
108 bcs L0061 | |
109 leax >u012D,u | |
110 ldd #34*18 | |
111 ldy #$000F | |
112 os9 F$DelBit | |
113 bcs L0061 | |
114 ldd #$04C8 | |
115 os9 F$AllBit | |
116 bcs L0061 | |
117 lda <u0002 | |
118 ldx #$0004 | |
119 ldu #$C800 | |
120 os9 I$Seek | |
121 ldu <u0000 | |
122 bcs L0115 | |
123 leax >u042D,u | |
124 ldy #$0F00 | |
125 os9 I$Write | |
126 bcs L0115 | |
127 leax <u002D,u | |
128 lda <$17,x | |
129 deca | |
130 clrb | |
131 tfr d,u | |
132 ldx #$0000 | |
133 lda <u0002 | |
134 os9 I$Seek | |
135 ldu <u0000 | |
136 bcs L0115 | |
137 ldd <u0045,u | |
138 addd #$00FF | |
139 clrb | |
140 cmpd #$6000 | |
141 bls L0118 | |
142 ldb #E$MemFul | |
143 L0115 os9 F$Exit | |
144 L0118 addd #$0100 | |
145 leax >u032D,u | |
146 tfr d,y | |
147 lda <u0002 | |
148 os9 I$Read | |
149 bcs L0115 | |
150 ldd <u0043,u | |
151 std <u0005 | |
152 ldd <u0045,u | |
153 std <u0007 | |
154 inc <u0007 | |
155 ldd #18 | |
156 std <u0009 | |
157 leay >u033D,u | |
158 L013D sty <u000B | |
159 ldd <u0005 | |
160 clr ,y | |
161 std $01,y | |
162 ldd <u0009 | |
163 subd <u0005 | |
164 cmpb <u0007 | |
165 bls L0150 | |
166 ldb <u0007 | |
167 L0150 std $03,y | |
168 pshs b,a | |
169 ldb <u0007 | |
170 subd $01,s | |
171 puls y | |
172 ldd <u0005 | |
173 leax >u012D,u | |
174 os9 F$AllBit | |
175 pshs y | |
176 addd ,s++ | |
177 ldy #18 | |
178 os9 F$DelBit | |
179 ldy <u000B | |
180 ldd $03,y | |
181 addd <u0005 | |
182 addd #18 | |
183 std <u0005 | |
184 ldb <u0007 | |
185 subb $04,y | |
186 stb <u0007 | |
187 beq L018D | |
188 ldd <u0009 | |
189 addd #$0024 | |
190 std <u0009 | |
191 leay $05,y | |
192 bra L013D | |
193 L018D lda <u0002 | |
194 ldx #$0000 | |
195 ldu #$0100 | |
196 os9 I$Seek | |
197 ldu <u0000 | |
198 bcc L019F | |
199 L019C os9 F$Exit | |
200 L019F lda <u0031,u | |
201 inca | |
202 clrb | |
203 tfr d,y | |
204 leax >u012D,u | |
205 lda <u0002 | |
206 os9 I$Write | |
207 bcs L019C | |
208 lda <u0044,u | |
209 deca | |
210 clrb | |
211 tfr d,u | |
212 ldx #$0000 | |
213 lda <u0002 | |
214 os9 I$Seek | |
215 ldu <u0000 | |
216 bcs L019C | |
217 ldy #$0100 | |
218 leax >u032D,u | |
219 os9 I$Write | |
220 bcs L019C | |
221 leax >u042D,u | |
222 stx <u0003 | |
223 leay >u033D,u | |
224 L01DB lda $02,y | |
225 clrb | |
226 tfr d,u | |
227 ldx #$0000 | |
228 lda <u0002 | |
229 os9 I$Seek | |
230 ldu <u0000 | |
231 bcs L019C | |
232 ldx <u0003 | |
233 lda $04,y | |
234 clrb | |
235 pshs y,x,b,a | |
236 tfr d,y | |
237 lda <u0002 | |
238 os9 I$Write | |
239 bcs L019C | |
240 puls y,x,b,a | |
241 leax d,x | |
242 stx <u0003 | |
243 leay $05,y | |
244 tst $04,y | |
245 bne L01DB | |
246 clrb | |
247 os9 F$Exit | |
248 fcb $01 | |
249 fcb $E9 i | |
250 | |
251 emod | |
252 eom equ * | |
253 end |