1 | *** DOSTO8 + quelques commentaires ***
|
---|
2 | *** relatifs au fichier produit par **
|
---|
3 | *** le sourcer et ce qu'il va falloir
|
---|
4 | *** corriger pour un source impeccable
|
---|
5 |
|
---|
6 |
|
---|
7 | * on placera ici un ORG $E000 (on aurait
|
---|
8 | * pu le faire sous CODEVIEW !)
|
---|
9 |
|
---|
10 | FCC #MTD:# code d'identifica-
|
---|
11 | * tion du DOS
|
---|
12 |
|
---|
13 | D0000 LBRA D0090 redirections
|
---|
14 | LBRA D0020
|
---|
15 | D0010 LBRA D1210
|
---|
16 | LBSR $ECB8 <
|
---|
17 | LBSR $ECB8 < cette adresse
|
---|
18 | LBSR $ECB8 <
|
---|
19 | LBSR $ECB8 < est fonction du
|
---|
20 | LBSR $ECB8 <
|
---|
21 | LBSR $ECB8 < modèle (TO8 ou
|
---|
22 | LBSR $ECB8 <
|
---|
23 | LBSR $ECB8 < 8D ou 9+)
|
---|
24 | D0020 BSR D0140
|
---|
25 | CLR <$49
|
---|
26 | BSR D0150
|
---|
27 | LBSR D0260
|
---|
28 | LDA #$02
|
---|
29 | D0030 PSHS A
|
---|
30 | CLR <$58
|
---|
31 | D0040 LDD #$0001
|
---|
32 | STD <$4B
|
---|
33 | LDU #$6200
|
---|
34 | STU <$4F
|
---|
35 | LBSR D0940
|
---|
36 | BSR D0170
|
---|
37 | LDU <$4F
|
---|
38 | BCC D0050
|
---|
39 | LDA <$58
|
---|
40 | BNE D0070
|
---|
41 | COM <$58
|
---|
42 | BRA D0040
|
---|
43 | D0050 LDY #$627F
|
---|
44 | PSHS Y
|
---|
45 | LDA #$55
|
---|
46 | D0060 DEC ,U
|
---|
47 | COM ,U
|
---|
48 | ADDA ,U+
|
---|
49 | CMPU ,S
|
---|
50 | BNE D0060
|
---|
51 | PULS Y
|
---|
52 | CMPA ,U
|
---|
53 | BNE D0080
|
---|
54 | JMP $6200
|
---|
55 | D0070 PULS A
|
---|
56 | DECA
|
---|
57 | BNE D0030
|
---|
58 | D0080 CLR <$80
|
---|
59 | JMP [$001E]
|
---|
60 | D0090 PSHS U,Y,X,DP,B,A,CC
|
---|
61 | BSR D0140
|
---|
62 | LDA <$48
|
---|
63 | CMPA #$01
|
---|
64 | BEQ D0100
|
---|
65 | LDA <$49
|
---|
66 | CMPA #$04
|
---|
67 | BEQ D0130
|
---|
68 | D0100 BSR D0150
|
---|
69 | BSR D0190
|
---|
70 | D0110 BSR D0170
|
---|
71 | D0120 PULS A
|
---|
72 | EXG A,CC
|
---|
73 | LSRA
|
---|
74 | PULS A,B,DP,X,Y,U,PC
|
---|
75 | D0130 LDU #D0000 #$E004
|
---|
76 | STU <$55 ^^^^^^
|
---|
77 | * cette valeur est
|
---|
78 | * une adresse qui est bonne (elle repré-
|
---|
79 | * sente le point d'entrée du DOS) on
|
---|
80 | * effacera donc #$E004
|
---|
81 |
|
---|
82 | JSR $FFA0 < cette adresse d'
|
---|
83 | BRA D0120 une entrée du
|
---|
84 | D0140 LDA #$60 moniteur diffère
|
---|
85 | TFR A,DP selon les machi-
|
---|
86 | LDX #$E7D0 nes ...
|
---|
87 | CLR <$4E
|
---|
88 | RTS
|
---|
89 | D0150 LDD <$48
|
---|
90 | CMPA #$01
|
---|
91 | BNE D0160
|
---|
92 | LDB #$01
|
---|
93 | D0160 LDU #D0180 #$E0BE
|
---|
94 | LDA B,U ^^^^^^
|
---|
95 | * cette valeur est
|
---|
96 | * une adresse qui est bonne (elle repré-
|
---|
97 | * sente le début de la table des valeurs
|
---|
98 | * pour le contrôleur de disquettes), on
|
---|
99 | * effacera donc #$E0BE
|
---|
100 |
|
---|
101 | STA 2,X
|
---|
102 | STA <$57
|
---|
103 | RTS
|
---|
104 | D0170 LDA #$40
|
---|
105 | STA 2,X
|
---|
106 | RTS
|
---|
107 |
|
---|
108 | * Table des valeurs des commandes pour
|
---|
109 | * le no de lecteur en $E7D2
|
---|
110 |
|
---|
111 | D0180 FCB $41,$01,$42,$02
|
---|
112 |
|
---|
113 | D0190 LDA #$02
|
---|
114 | PSHS A
|
---|
115 | D0200 CLRA
|
---|
116 | LDB <$48
|
---|
117 | D0210 LSRB
|
---|
118 | INCA
|
---|
119 | BCC D0210
|
---|
120 | DECA
|
---|
121 | ASLA
|
---|
122 | LDY #D0250 #$E0F0
|
---|
123 | JSR [A,Y] ^^^^^^
|
---|
124 | * cette valeur est
|
---|
125 | * une adresse qui est bonne (elle repré-
|
---|
126 | * sente le début de la table des adres-
|
---|
127 | * ses des routines des fonctions du DOS)
|
---|
128 | * on effacera donc #$E0F0
|
---|
129 |
|
---|
130 | BCC D0240
|
---|
131 | LDA <$4E
|
---|
132 | BITA #$51
|
---|
133 | BNE D0240
|
---|
134 | D0220 DEC ,S
|
---|
135 | BEQ D0230
|
---|
136 | CLR <$4E
|
---|
137 | CMPA #$08
|
---|
138 | BEQ D0200
|
---|
139 | BSR D0310
|
---|
140 | BCS D0220
|
---|
141 | BRA D0200
|
---|
142 | D0230 COMB
|
---|
143 | D0240 PULS A,PC
|
---|
144 |
|
---|
145 | * Table des adresses des routines du DOS
|
---|
146 |
|
---|
147 | D0250 FDB D0260 =$E0FE
|
---|
148 | FDB D0940 =$E3A7
|
---|
149 | FDB D0380 =$E16E
|
---|
150 | FDB D0410 =$E177
|
---|
151 | FDB D0390 =$E174
|
---|
152 | FDB D0310 =$E134
|
---|
153 | FDB D1100 =$E452
|
---|
154 |
|
---|
155 | * On effacera les anciennes valeurs à
|
---|
156 | * droite
|
---|
157 |
|
---|
158 | D0260 BSR D0310
|
---|
159 | BCS D0300
|
---|
160 | LDA #$01
|
---|
161 | STA <$4B
|
---|
162 | LBSR D1160
|
---|
163 | LDB #$44
|
---|
164 | LDA 1,X
|
---|
165 | BITA #$08
|
---|
166 | BEQ D0270
|
---|
167 | LDB #$43
|
---|
168 | D0270 STB <$4E
|
---|
169 | BSR D0310
|
---|
170 | CLR <$52
|
---|
171 | CLR <$54
|
---|
172 | CLR ,X
|
---|
173 | CLR <$58
|
---|
174 | LDD <$E9
|
---|
175 | SUBD <$ED
|
---|
176 | BGE D0280
|
---|
177 | COMA
|
---|
178 | COMB
|
---|
179 | ADDD #$0001
|
---|
180 | D0280 TSTA
|
---|
181 | BNE D0290
|
---|
182 | TSTB
|
---|
183 | BPL D0290
|
---|
184 | COM <$58
|
---|
185 | D0290 CLRA
|
---|
186 | D0300 RTS
|
---|
187 | D0310 LDB #$64
|
---|
188 | D0320 LDA 1,X
|
---|
189 | BITA #$08
|
---|
190 | BNE D0330
|
---|
191 | LDA <$57
|
---|
192 | ORA #$10
|
---|
193 | STA 2,X
|
---|
194 | ANDA #$EF
|
---|
195 | STA 2,X
|
---|
196 | BSR D0360
|
---|
197 | DECB
|
---|
198 | LBEQ D1140
|
---|
199 | BRA D0320
|
---|
200 | D0330 BSR D0350
|
---|
201 | LBSR D1200
|
---|
202 | CLR ,Y
|
---|
203 | CLR 6,X
|
---|
204 | RTS
|
---|
205 | D0340 LDY #$006C
|
---|
206 | BRA D0370
|
---|
207 | D0350 LDY #$0750
|
---|
208 | BRA D0370
|
---|
209 | D0360 LDY #$02EC
|
---|
210 | D0370 LEAY -1,Y
|
---|
211 | BNE D0370
|
---|
212 | RTS
|
---|
213 | D0380 LDA #$FF
|
---|
214 | STA <$58
|
---|
215 | CLRA
|
---|
216 | RTS
|
---|
217 | D0390 CLR <$58
|
---|
218 | D0400 RTS
|
---|
219 | D0410 LBSR D1100
|
---|
220 | BCS D0400
|
---|
221 | LDA 1,X
|
---|
222 | BITA #$04
|
---|
223 | BEQ D0420
|
---|
224 | LDA #$01
|
---|
225 | LBRA D1150
|
---|
226 | D0420 LDA <$58
|
---|
227 | LBNE D0570
|
---|
228 | LBSR D0860
|
---|
229 | LDB #$19
|
---|
230 | PSHS CC
|
---|
231 | LBSR D0930
|
---|
232 | LDY #$7500
|
---|
233 | D0430 LEAY -1,Y
|
---|
234 | LBEQ D1060
|
---|
235 | LDB ,X
|
---|
236 | BITB #$02
|
---|
237 | BEQ D0430
|
---|
238 | STA 3,X
|
---|
239 | D0440 LDB ,X
|
---|
240 | BPL D0440
|
---|
241 | STA 3,X
|
---|
242 | D0450 LDB ,X
|
---|
243 | BPL D0450
|
---|
244 | LDB #$FB
|
---|
245 | STB 3,X
|
---|
246 | CLRA
|
---|
247 | D0460 LDB ,X
|
---|
248 | BPL D0460
|
---|
249 | LDB ,U+
|
---|
250 | STB 3,X
|
---|
251 | DECA
|
---|
252 | BNE D0460
|
---|
253 | D0470 LDB ,X
|
---|
254 | BITB #$08
|
---|
255 | BEQ D0470
|
---|
256 | BSR D0340
|
---|
257 | TST <$48
|
---|
258 | BPL D0550
|
---|
259 | D0480 LBSR D1120
|
---|
260 | LDB #$1B
|
---|
261 | LBSR D0930
|
---|
262 | LDA #$04
|
---|
263 | LDY #$7500
|
---|
264 | D0490 LEAY -1,Y
|
---|
265 | LBEQ D0740
|
---|
266 | LDB ,X
|
---|
267 | BITB #$02
|
---|
268 | BEQ D0490
|
---|
269 | LDB 3,X
|
---|
270 | D0500 DECA
|
---|
271 | LBEQ D1080
|
---|
272 | D0510 LDB ,X
|
---|
273 | BPL D0510
|
---|
274 | LDB 3,X
|
---|
275 | CMPB #$FB
|
---|
276 | BNE D0500
|
---|
277 | CLRA
|
---|
278 | D0520 LDB ,X
|
---|
279 | BPL D0520
|
---|
280 | LDB 3,X
|
---|
281 | CMPB ,U+
|
---|
282 | BNE D0530
|
---|
283 | DECA
|
---|
284 | BNE D0520
|
---|
285 | D0530 LDB ,X
|
---|
286 | BITB #$08
|
---|
287 | BEQ D0530
|
---|
288 | TSTA
|
---|
289 | BNE D0540
|
---|
290 | BITB #$04
|
---|
291 | D0540 LBNE D0740
|
---|
292 | D0550 PULS CC
|
---|
293 | CLR ,X
|
---|
294 | RTS
|
---|
295 | D0560 PSHS CC
|
---|
296 | BRA D0480
|
---|
297 | D0570 LBSR D0890
|
---|
298 | LBSR D0900
|
---|
299 | PSHS CC
|
---|
300 | PSHS B,A
|
---|
301 | LBSR D0760
|
---|
302 | BCC D0580
|
---|
303 | PULS A,B
|
---|
304 | LBRA D1060
|
---|
305 | D0580 LDB #$FF
|
---|
306 | STB 4,X
|
---|
307 | LDD #$0624
|
---|
308 | STB ,X
|
---|
309 | D0590 LDB ,X
|
---|
310 | BPL D0590
|
---|
311 | CLR 3,X
|
---|
312 | DECA
|
---|
313 | BNE D0590
|
---|
314 | D0600 LDB ,X
|
---|
315 | BPL D0600
|
---|
316 | LDD #$FBC7
|
---|
317 | STD 3,X
|
---|
318 | LDB #$FF
|
---|
319 | D0610 LDA ,X
|
---|
320 | BPL D0610
|
---|
321 | LDA ,U+
|
---|
322 | STD 3,X
|
---|
323 | LDA #$7F
|
---|
324 | D0620 LDB ,X
|
---|
325 | BPL D0620
|
---|
326 | LDB ,U+
|
---|
327 | STB 3,X
|
---|
328 | DECA
|
---|
329 | BNE D0620
|
---|
330 | D0630 LDB ,X
|
---|
331 | BPL D0630
|
---|
332 | PULS B
|
---|
333 | STB 3,X
|
---|
334 | COMA
|
---|
335 | BNE D0630
|
---|
336 | D0640 LDB ,X
|
---|
337 | BPL D0640
|
---|
338 | CLR 3,X
|
---|
339 | D0650 LDB ,X
|
---|
340 | BPL D0650
|
---|
341 | LDB #$20
|
---|
342 | STB ,X
|
---|
343 | D0660 LDB ,X
|
---|
344 | BPL D0660
|
---|
345 | LDB 3,X
|
---|
346 | COMA
|
---|
347 | BNE D0660
|
---|
348 | LEAS -2,S
|
---|
349 | LBSR D0340
|
---|
350 | TST <$48
|
---|
351 | BPL D0720
|
---|
352 | D0670 LBSR D1120
|
---|
353 | BSR D0760
|
---|
354 | BCS D0730
|
---|
355 | LDB #$FB
|
---|
356 | STB 3,X
|
---|
357 | LDD #$8038
|
---|
358 | STB ,X
|
---|
359 | LDY #$0100
|
---|
360 | D0680 LEAY -1,Y
|
---|
361 | BEQ D0730
|
---|
362 | LDB ,X
|
---|
363 | BITB #$01
|
---|
364 | BEQ D0680
|
---|
365 | LDB 3,X
|
---|
366 | LDB #$28
|
---|
367 | STB ,X
|
---|
368 | D0690 LDB ,X
|
---|
369 | BPL D0690
|
---|
370 | LDB 3,X
|
---|
371 | CMPB ,U+
|
---|
372 | BNE D0730
|
---|
373 | DECA
|
---|
374 | BNE D0690
|
---|
375 | D0700 LDA ,X
|
---|
376 | BPL D0700
|
---|
377 | LDA 3,X
|
---|
378 | D0710 LDB ,X
|
---|
379 | BPL D0710
|
---|
380 | LDB 3,X
|
---|
381 | CMPD ,S
|
---|
382 | BNE D0730
|
---|
383 | D0720 PULS A,B
|
---|
384 | PULS CC
|
---|
385 | CLR ,X
|
---|
386 | RTS
|
---|
387 | D0730 PULS A,B
|
---|
388 | D0740 LDA #$20
|
---|
389 | LBRA D1090
|
---|
390 | D0750 PSHS CC
|
---|
391 | LDD #$5D30
|
---|
392 | PSHS B,A
|
---|
393 | BRA D0670
|
---|
394 | D0760 LDA #$C7
|
---|
395 | STA 4,X
|
---|
396 | LDA #$FE
|
---|
397 | STA 3,X
|
---|
398 | LDA #$30
|
---|
399 | LDU <$4F
|
---|
400 | ORCC #$50
|
---|
401 | D0770 LDB #$38
|
---|
402 | STB ,X
|
---|
403 | LDY #$1700
|
---|
404 | D0780 LEAY -1,Y
|
---|
405 | BEQ D0850
|
---|
406 | LDB ,X
|
---|
407 | BITB #$01
|
---|
408 | BEQ D0780
|
---|
409 | LDB 3,X
|
---|
410 | LDB #$28
|
---|
411 | STB ,X
|
---|
412 | D0790 LDB ,X
|
---|
413 | BPL D0790
|
---|
414 | LDB 3,X
|
---|
415 | CMPB <$4B
|
---|
416 | BNE D0840
|
---|
417 | D0800 LDB ,X
|
---|
418 | BPL D0800
|
---|
419 | LDB 3,X
|
---|
420 | BNE D0840
|
---|
421 | D0810 LDB ,X
|
---|
422 | BPL D0810
|
---|
423 | LDB 3,X
|
---|
424 | CMPB <$4C
|
---|
425 | BNE D0840
|
---|
426 | D0820 LDB ,X
|
---|
427 | BPL D0820
|
---|
428 | LDB 3,X
|
---|
429 | BNE D0840
|
---|
430 | LBSR D0340
|
---|
431 | CLRA
|
---|
432 | D0830 LDA ,X
|
---|
433 | RTS
|
---|
434 | D0840 DECA
|
---|
435 | BNE D0770
|
---|
436 | D0850 COMB
|
---|
437 | BRA D0830
|
---|
438 | D0860 LDB <$4B
|
---|
439 | CMPB #$39
|
---|
440 | BPL D0870
|
---|
441 | LDD #$9F20
|
---|
442 | BRA D0880
|
---|
443 | D0870 LDD #$1F22
|
---|
444 | D0880 STA 7,X
|
---|
445 | STB 1,X
|
---|
446 | RTS
|
---|
447 | D0890 LDA #$BF
|
---|
448 | STA 7,X
|
---|
449 | CLR 1,X
|
---|
450 | RTS
|
---|
451 | D0900 LDU <$4F
|
---|
452 | LDY #$0080
|
---|
453 | LDD #$BF84
|
---|
454 | D0910 PSHS B,A
|
---|
455 | D0920 LDA ,S
|
---|
456 | EORA ,U+
|
---|
457 | PSHS A
|
---|
458 | LSRA
|
---|
459 | LSRA
|
---|
460 | LSRA
|
---|
461 | LSRA
|
---|
462 | EORA ,S
|
---|
463 | STA ,S
|
---|
464 | TFR A,B
|
---|
465 | LSRB
|
---|
466 | LSRB
|
---|
467 | LSRB
|
---|
468 | ASLA
|
---|
469 | ASLA
|
---|
470 | ASLA
|
---|
471 | ASLA
|
---|
472 | EORB 2,S
|
---|
473 | STB 2,S
|
---|
474 | TFR A,B
|
---|
475 | EORA 2,S
|
---|
476 | STA 1,S
|
---|
477 | ASLB
|
---|
478 | EORB ,S
|
---|
479 | STB 2,S
|
---|
480 | LEAS 1,S
|
---|
481 | LEAY -1,Y
|
---|
482 | BNE D0920
|
---|
483 | PULS A,B,PC
|
---|
484 | D0930 LDA <$4C
|
---|
485 | STA 5,X
|
---|
486 | LDA #$0A
|
---|
487 | STA 4,X
|
---|
488 | LDA #$A1
|
---|
489 | STA 3,X
|
---|
490 | ORCC #$50
|
---|
491 | LDU <$4F
|
---|
492 | STB ,X
|
---|
493 | RTS
|
---|
494 | D0940 LBSR D1100
|
---|
495 | LBCS D1050
|
---|
496 | PSHS CC
|
---|
497 | LDA <$58
|
---|
498 | BNE D1000
|
---|
499 | BSR D0860
|
---|
500 | LDB #$1B
|
---|
501 | BSR D0930
|
---|
502 | LDA #$04
|
---|
503 | LDY #$7500
|
---|
504 | D0950 LEAY -1,Y
|
---|
505 | BEQ D1060
|
---|
506 | LDB ,X
|
---|
507 | BITB #$02
|
---|
508 | BEQ D0950
|
---|
509 | LDB 3,X
|
---|
510 | D0960 DECA
|
---|
511 | BEQ D1080
|
---|
512 | D0970 LDB ,X
|
---|
513 | BPL D0970
|
---|
514 | LDB 3,X
|
---|
515 | CMPB #$FB
|
---|
516 | BNE D0960
|
---|
517 | CLRA
|
---|
518 | D0980 LDB ,X
|
---|
519 | BPL D0980
|
---|
520 | LDB 3,X
|
---|
521 | STB ,U+
|
---|
522 | DECA
|
---|
523 | BNE D0980
|
---|
524 | D0990 LDB ,X
|
---|
525 | BITB #$08
|
---|
526 | BEQ D0990
|
---|
527 | BITB #$04
|
---|
528 | BNE D1070
|
---|
529 | BRA D1040
|
---|
530 | D1000 LBSR D0890
|
---|
531 | LBSR D0760
|
---|
532 | BCS D1060
|
---|
533 | LEAY 3,Y
|
---|
534 | LBSR D0370
|
---|
535 | LDB #$FB
|
---|
536 | STB 3,X
|
---|
537 | LDD #$8038
|
---|
538 | STB ,X
|
---|
539 | LDY #$0100
|
---|
540 | D1010 LEAY -1,Y
|
---|
541 | BEQ D1080
|
---|
542 | LDB ,X
|
---|
543 | BITB #$01
|
---|
544 | BEQ D1010
|
---|
545 | LDB 3,X
|
---|
546 | LDB #$28
|
---|
547 | STB ,X
|
---|
548 | D1020 LDB ,X
|
---|
549 | BPL D1020
|
---|
550 | LDB 3,X
|
---|
551 | STB ,U+
|
---|
552 | DECA
|
---|
553 | BNE D1020
|
---|
554 | D1030 LDB ,X
|
---|
555 | BPL D1030
|
---|
556 | LDB 3,X
|
---|
557 | PSHS B
|
---|
558 | COMA
|
---|
559 | BNE D1030
|
---|
560 | LBSR D0900
|
---|
561 | EXG A,B
|
---|
562 | CMPD ,S++
|
---|
563 | BNE D1070
|
---|
564 | D1040 PULS CC
|
---|
565 | CLR ,X
|
---|
566 | D1050 RTS
|
---|
567 | D1060 LDA #$04
|
---|
568 | BRA D1090
|
---|
569 | D1070 LDA #$08
|
---|
570 | BRA D1090
|
---|
571 | D1080 LDA #$02
|
---|
572 | D1090 STA <$4E
|
---|
573 | CLR ,X
|
---|
574 | PULS CC
|
---|
575 | COMA
|
---|
576 | RTS
|
---|
577 | D1100 BSR D1120
|
---|
578 | BCS D1110
|
---|
579 | BSR D1160
|
---|
580 | CLRA
|
---|
581 | D1110 RTS
|
---|
582 | D1120 LDY #$8000
|
---|
583 | D1130 LDB <$57
|
---|
584 | ORB #$04
|
---|
585 | STB 2,X
|
---|
586 | ANDB #$FB
|
---|
587 | STB 2,X
|
---|
588 | LEAY -1,Y
|
---|
589 | BEQ D1140
|
---|
590 | LDB 1,X
|
---|
591 | ANDB #$02
|
---|
592 | BEQ D1130
|
---|
593 | CLRA
|
---|
594 | RTS
|
---|
595 | D1140 LDA #$10
|
---|
596 | D1150 PSHS CC
|
---|
597 | BRA D1090
|
---|
598 | D1160 LBSR D0360
|
---|
599 | BSR D1200
|
---|
600 | LDB ,Y
|
---|
601 | LDA <$57
|
---|
602 | SUBB <$4B
|
---|
603 | BEQ D1190
|
---|
604 | BPL D1170
|
---|
605 | ORA #$20
|
---|
606 | NEGB
|
---|
607 | D1170 STA 2,X
|
---|
608 | D1180 ORA #$14
|
---|
609 | STA 2,X
|
---|
610 | ANDA #$EB
|
---|
611 | STA 2,X
|
---|
612 | LBSR D0360
|
---|
613 | DECB
|
---|
614 | BNE D1180
|
---|
615 | LBSR D0350
|
---|
616 | D1190 BSR D1200
|
---|
617 | LDB <$4B
|
---|
618 | STB 6,X
|
---|
619 | STB ,Y
|
---|
620 | RTS
|
---|
621 | D1200 LDY #$6052
|
---|
622 | LDA <$49
|
---|
623 | ANDA #$02
|
---|
624 | LEAY A,Y
|
---|
625 | RTS
|
---|
626 | D1210 PSHS U,Y,X,DP,B,A,CC
|
---|
627 | LBSR D0140
|
---|
628 | LDA <$49
|
---|
629 | CMPA #$04
|
---|
630 | BNE D1220
|
---|
631 | LDU #D0010 #$E00A
|
---|
632 | STU <$55 ^^^^^^
|
---|
633 | * cette valeur est
|
---|
634 | * une adresse qui est bonne (elle repré-
|
---|
635 | * sente l'indirection du point d'entrée
|
---|
636 | * de la routine DSKINI de formatage).On
|
---|
637 | * effacera donc #$E00A
|
---|
638 |
|
---|
639 | JSR $FFA0
|
---|
640 | BRA D1270
|
---|
641 | D1220 BSR D1310
|
---|
642 | LDA <$48
|
---|
643 | ANDA #$80
|
---|
644 | STA <$48
|
---|
645 | LBSR D0150
|
---|
646 | LBSR D1120
|
---|
647 | BCS D1270
|
---|
648 | LBSR D0310
|
---|
649 | BCS D1270
|
---|
650 | CLR <$4B
|
---|
651 | BSR D1280
|
---|
652 | BCS D1270
|
---|
653 | D1230 PSHS CC
|
---|
654 | ORCC #$50
|
---|
655 | LBSR D1380
|
---|
656 | LDA #$02
|
---|
657 | PSHS A
|
---|
658 | D1240 LBSR D1440
|
---|
659 | LDX #$E7D0
|
---|
660 | LBSR D1120
|
---|
661 | LBSR D1520
|
---|
662 | BCC D1250
|
---|
663 | DEC ,S
|
---|
664 | BNE D1240
|
---|
665 | PULS A
|
---|
666 | PULS CC
|
---|
667 | COMA
|
---|
668 | BRA D1270
|
---|
669 | D1250 PULS A
|
---|
670 | PULS CC
|
---|
671 | LDA <$4B
|
---|
672 | CMPA #$4F
|
---|
673 | BEQ D1260
|
---|
674 | BSR D1300
|
---|
675 | BRA D1230
|
---|
676 | D1260 LBSR D1960
|
---|
677 | BCS D1270
|
---|
678 | LDA #$50
|
---|
679 | STA <$4B
|
---|
680 | D1270 LBRA D0110
|
---|
681 | D1280 LDA 1,X
|
---|
682 | BITA #$04
|
---|
683 | BNE D1290
|
---|
684 | CLRA
|
---|
685 | RTS
|
---|
686 | D1290 LDA #$01
|
---|
687 | LBRA D1150
|
---|
688 | D1300 INC <$4B
|
---|
689 | LBRA D1160
|
---|
690 | D1310 PSHS X
|
---|
691 | LDU #D1370 #$E55E
|
---|
692 | D1320 LDX #$0003 ^^^^^^
|
---|
693 | * cette valeur est
|
---|
694 | * une adresse qui est bonne (elle repré-
|
---|
695 | * sente l'entrée d'une table) on efface-
|
---|
696 | * ra donc #$E55E
|
---|
697 |
|
---|
698 | LDB #$04
|
---|
699 | D1330 LDA ,X
|
---|
700 | CMPA ,U
|
---|
701 | BEQ D1340
|
---|
702 | INCB
|
---|
703 | LEAU B,U
|
---|
704 | LDA ,U
|
---|
705 | BNE D1320
|
---|
706 | BRA D1360
|
---|
707 | D1340 LEAX -1,X
|
---|
708 | BNE D1350
|
---|
709 | LDX #$001A
|
---|
710 | D1350 LEAU 1,U
|
---|
711 | DECB
|
---|
712 | BNE D1330
|
---|
713 | LDA ,U
|
---|
714 | STA <$58
|
---|
715 | D1360 PULS X,PC
|
---|
716 |
|
---|
717 | * Table pour la détection de certaines
|
---|
718 | * cartouches et alors formatage en
|
---|
719 | * simple ou double densité.
|
---|
720 |
|
---|
721 | * Après analyse de sa structure (1/d'un
|
---|
722 | * simple coup d'oeil 2/par le code s'y
|
---|
723 | * rapportant (en D1310/1360)), on mettra
|
---|
724 | * les FCB 5 par 5 (plutôt que par 4), le
|
---|
725 | * dernier FCB étant un zéro de fin.
|
---|
726 |
|
---|
727 | D1370 FCB $52,$45,$47,$6E
|
---|
728 | FCB $FF,$43,$49,$50
|
---|
729 | FCB $4A,$FF,$4C,$45
|
---|
730 | FCB $4D,$74,$FF,$4C
|
---|
731 | FCB $4F,$50,$B5,$00
|
---|
732 | FCB $53,$45,$47,$B6
|
---|
733 | FCB $00,$00
|
---|
734 |
|
---|
735 | D1380 LDX #$60D3
|
---|
736 | LDB #$10
|
---|
737 | D1390 CLR B,X
|
---|
738 | DECB
|
---|
739 | BNE D1390
|
---|
740 | LEAX $10,X
|
---|
741 | PSHS X
|
---|
742 | LDX #$60D3
|
---|
743 | LDA #$01
|
---|
744 | LDB <$4D
|
---|
745 | D1400 STA ,X
|
---|
746 | LEAX B,X
|
---|
747 | INCA
|
---|
748 | CMPA #$10
|
---|
749 | BHI D1430
|
---|
750 | D1410 CMPX ,S
|
---|
751 | BCS D1420
|
---|
752 | LEAX -16,X
|
---|
753 | D1420 TST ,X
|
---|
754 | BEQ D1400
|
---|
755 | LEAX 1,X
|
---|
756 | BRA D1410
|
---|
757 | D1430 LEAS 2,S
|
---|
758 | RTS
|
---|
759 | D1440 LDX #$60D3
|
---|
760 | LDU <$4F
|
---|
761 | D1450 LDB ,X+
|
---|
762 | BEQ D1470
|
---|
763 | LDA <$4B
|
---|
764 | STA ,U
|
---|
765 | CLR 1,U
|
---|
766 | STB 2,U
|
---|
767 | LDY #$0004
|
---|
768 | LDA <$58
|
---|
769 | INCA
|
---|
770 | STA 3,U
|
---|
771 | BEQ D1480
|
---|
772 | LDD #$B230
|
---|
773 | D1460 LBSR D0910
|
---|
774 | STD ,U++
|
---|
775 | BRA D1450
|
---|
776 | D1470 RTS
|
---|
777 | D1480 LDD #$EF21
|
---|
778 | BRA D1460
|
---|
779 | D1490 LDB 1,X
|
---|
780 | BITB #$40
|
---|
781 | BEQ D1490
|
---|
782 | D1500 LDB 3,X
|
---|
783 | LDB ,X
|
---|
784 | BPL D1500
|
---|
785 | D1510 LDB ,X
|
---|
786 | BPL D1510
|
---|
787 | RTS
|
---|
788 | D1520 LDA #$10
|
---|
789 | PSHS A
|
---|
790 | LDU <$4F
|
---|
791 | LDA <$58
|
---|
792 | LBNE D1720
|
---|
793 | LBSR D0860
|
---|
794 | BSR D1490
|
---|
795 | LDD #$4EFF
|
---|
796 | STD 3,X
|
---|
797 | LDB #$04
|
---|
798 | STB ,X
|
---|
799 | D1530 LDA #$1E
|
---|
800 | D1540 LDB ,X
|
---|
801 | BPL D1540
|
---|
802 | LDB #$4E
|
---|
803 | STB 3,X
|
---|
804 | DECA
|
---|
805 | BNE D1540
|
---|
806 | D1550 LDA #$0C
|
---|
807 | D1560 LDB ,X
|
---|
808 | BPL D1560
|
---|
809 | CLR 3,X
|
---|
810 | DECA
|
---|
811 | BNE D1560
|
---|
812 | D1570 LDB ,X
|
---|
813 | BPL D1570
|
---|
814 | LDD #$A10A
|
---|
815 | STD 3,X
|
---|
816 | D1580 LDB ,X
|
---|
817 | BPL D1580
|
---|
818 | STA 3,X
|
---|
819 | D1590 LDB ,X
|
---|
820 | BPL D1590
|
---|
821 | STA 3,X
|
---|
822 | D1600 LDB ,X
|
---|
823 | BPL D1600
|
---|
824 | LDD #$FEFF
|
---|
825 | STD 3,X
|
---|
826 | LDA #$06
|
---|
827 | D1610 LDB ,X
|
---|
828 | BPL D1610
|
---|
829 | LDB ,U+
|
---|
830 | STB 3,X
|
---|
831 | DECA
|
---|
832 | BNE D1610
|
---|
833 | LDA #$16
|
---|
834 | D1620 LDB ,X
|
---|
835 | BPL D1620
|
---|
836 | LDB #$4E
|
---|
837 | STB 3,X
|
---|
838 | DECA
|
---|
839 | BNE D1620
|
---|
840 | LDA #$0C
|
---|
841 | D1630 LDB ,X
|
---|
842 | BPL D1630
|
---|
843 | CLR 3,X
|
---|
844 | DECA
|
---|
845 | BNE D1630
|
---|
846 | D1640 LDB ,X
|
---|
847 | BPL D1640
|
---|
848 | LDD #$A10A
|
---|
849 | STD 3,X
|
---|
850 | D1650 LDB ,X
|
---|
851 | BPL D1650
|
---|
852 | STA 3,X
|
---|
853 | D1660 LDB ,X
|
---|
854 | BPL D1660
|
---|
855 | STA 3,X
|
---|
856 | D1670 LDB ,X
|
---|
857 | BPL D1670
|
---|
858 | LDD #$FBFF
|
---|
859 | STD 3,X
|
---|
860 | CLRA
|
---|
861 | D1680 LDB ,X
|
---|
862 | BPL D1680
|
---|
863 | LDB #$E5
|
---|
864 | STB 3,X
|
---|
865 | DECA
|
---|
866 | BNE D1680
|
---|
867 | D1690 LDB ,X
|
---|
868 | BPL D1690
|
---|
869 | LDB #$78
|
---|
870 | STB 3,X
|
---|
871 | D1700 LDB ,X
|
---|
872 | BPL D1700
|
---|
873 | LDB #$27
|
---|
874 | STB 3,X
|
---|
875 | LDA #$2C
|
---|
876 | D1710 LDB ,X
|
---|
877 | BPL D1710
|
---|
878 | LDB #$4E
|
---|
879 | STB 3,X
|
---|
880 | DECA
|
---|
881 | BNE D1710
|
---|
882 | DEC ,S
|
---|
883 | LBNE D1550
|
---|
884 | LBRA D1870
|
---|
885 | D1720 LBSR D0890
|
---|
886 | LBSR D1490
|
---|
887 | LDD #$FFFF
|
---|
888 | STD 3,X
|
---|
889 | LDB #$24
|
---|
890 | STB ,X
|
---|
891 | LDA #$10
|
---|
892 | D1730 LDB ,X
|
---|
893 | BPL D1730
|
---|
894 | LDB #$FF
|
---|
895 | STB 3,X
|
---|
896 | DECA
|
---|
897 | BNE D1730
|
---|
898 | D1740 LDA #$06
|
---|
899 | D1750 LDB ,X
|
---|
900 | BPL D1750
|
---|
901 | CLR 3,X
|
---|
902 | DECA
|
---|
903 | BNE D1750
|
---|
904 | D1760 LDB ,X
|
---|
905 | BPL D1760
|
---|
906 | LDD #$FEC7
|
---|
907 | STD 3,X
|
---|
908 | D1770 LDB ,X
|
---|
909 | BPL D1770
|
---|
910 | LDB #$FF
|
---|
911 | LDA ,U+
|
---|
912 | STD 3,X
|
---|
913 | LDA #$05
|
---|
914 | D1780 LDB ,X
|
---|
915 | BPL D1780
|
---|
916 | LDB ,U+
|
---|
917 | STB 3,X
|
---|
918 | DECA
|
---|
919 | BNE D1780
|
---|
920 | LDA #$0C
|
---|
921 | D1790 LDB ,X
|
---|
922 | BPL D1790
|
---|
923 | LDB #$FF
|
---|
924 | STB 3,X
|
---|
925 | DECA
|
---|
926 | BNE D1790
|
---|
927 | LDA #$06
|
---|
928 | D1800 LDB ,X
|
---|
929 | BPL D1800
|
---|
930 | CLR 3,X
|
---|
931 | DECA
|
---|
932 | BNE D1800
|
---|
933 | D1810 LDB ,X
|
---|
934 | BPL D1810
|
---|
935 | LDD #$FBC7
|
---|
936 | STD 3,X
|
---|
937 | D1820 LDB ,X
|
---|
938 | BPL D1820
|
---|
939 | LDD #D1530 #$E5FF
|
---|
940 | STD 3,X ^^^^^^
|
---|
941 | * cette valeur est
|
---|
942 | * l'ancienne valeur du LDD# .Ici elle ne
|
---|
943 | * représente pas une adresse, mais il se
|
---|
944 | * trouve que $E5FF était dans la zone à
|
---|
945 | * ressourcer.Le SOURCER a donc cherché ,
|
---|
946 | * et trouvé une occurence mais l'analyse
|
---|
947 | * logique du code montre à l'évidence
|
---|
948 | * qu'il faut restaurer l'ancienne valeur
|
---|
949 | * Donc nous remplacerons D1530 par $E5FF
|
---|
950 | * et nous chercherons si D1530 est une
|
---|
951 | * étiquette utilisée ailleurs (pour un
|
---|
952 | * saut (BNE,JSR etc...) ou une adresse
|
---|
953 | * (LDX #D1530 ...)): si cela n'est pas
|
---|
954 | * le cas nous supprimerons l'étiquette
|
---|
955 | * D1530 (sinon la garder !)
|
---|
956 |
|
---|
957 | LDA #$7F
|
---|
958 | D1830 LDB ,X
|
---|
959 | BPL D1830
|
---|
960 | LDB #$E5
|
---|
961 | STB 3,X
|
---|
962 | DECA
|
---|
963 | BNE D1830
|
---|
964 | D1840 LDB ,X
|
---|
965 | BPL D1840
|
---|
966 | LDB #$5D
|
---|
967 | STB 3,X
|
---|
968 | D1850 LDB ,X
|
---|
969 | BPL D1850
|
---|
970 | LDB #$30
|
---|
971 | STB 3,X
|
---|
972 | LDA #$16
|
---|
973 | D1860 LDB ,X
|
---|
974 | BPL D1860
|
---|
975 | LDB #$FF
|
---|
976 | STB 3,X
|
---|
977 | DECA
|
---|
978 | BNE D1860
|
---|
979 | DEC ,S
|
---|
980 | LBNE D1740
|
---|
981 | D1870 LDA 1,X
|
---|
982 | BITA #$40
|
---|
983 | BNE D1890
|
---|
984 | D1880 LDA ,X
|
---|
985 | BPL D1880
|
---|
986 | STB 3,X
|
---|
987 | BRA D1870
|
---|
988 | D1890 PULS A
|
---|
989 | CLR ,X
|
---|
990 | TST <$48
|
---|
991 | BPL D1930
|
---|
992 | LDA #$E5
|
---|
993 | BSR D1940
|
---|
994 | LDU #$60D3
|
---|
995 | LBSR D1120
|
---|
996 | D1900 LDA ,U+
|
---|
997 | BEQ D1930
|
---|
998 | STA <$4C
|
---|
999 | PSHS U
|
---|
1000 | LDA <$58
|
---|
1001 | BEQ D1910
|
---|
1002 | LBSR D0750
|
---|
1003 | BRA D1920
|
---|
1004 | D1910 LBSR D0560
|
---|
1005 | D1920 PULS U
|
---|
1006 | BCC D1900
|
---|
1007 | D1930 RTS
|
---|
1008 | D1940 LDU <$4F
|
---|
1009 | LDB <$58
|
---|
1010 | ANDB #$80
|
---|
1011 | D1950 STA ,U+
|
---|
1012 | DECB
|
---|
1013 | BNE D1950
|
---|
1014 | RTS
|
---|
1015 | D1960 LDA #$14
|
---|
1016 | STA <$4B
|
---|
1017 | LBSR D1160
|
---|
1018 | LDA #$FF
|
---|
1019 | BSR D1940
|
---|
1020 | LDA #$10
|
---|
1021 | STA <$4C
|
---|
1022 | D1970 LBSR D1120
|
---|
1023 | LBSR D0420
|
---|
1024 | BCS D1980
|
---|
1025 | DEC <$4C
|
---|
1026 | BNE D1970
|
---|
1027 | LDU <$4F
|
---|
1028 | CLR ,U
|
---|
1029 | LDD #$FEFE
|
---|
1030 | STD $29,U
|
---|
1031 | LDA #$02
|
---|
1032 | STA <$4C
|
---|
1033 | LBSR D0420
|
---|
1034 | BCS D1980
|
---|
1035 | CLRA
|
---|
1036 | D1980 RTS
|
---|
1037 |
|
---|
1038 | * nous placerons à la fin la directive
|
---|
1039 | * 'END' (nous aurions pu le faire sous
|
---|
1040 | * CODEVIEW)
|
---|