source: thomson/code/3rdparty/sources3-lambinet/DOSTO8C.ASM@ ceffc47

main
Last change on this file since ceffc47 was ceffc47, checked in by Adrien Destugues <pulkomandy@…>, 10 years ago

Add that collection of 3rdparty source I had lying on my disk for some time...

git-svn-id: svn://localhost/thomson@51 85ae3b6b-dc8f-4344-a89d-598714f2e4e5

  • Property mode set to 100644
File size: 19.7 KB
Line 
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
13D0000 LBRA D0090 redirections
14 LBRA D0020
15D0010 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+)
24D0020 BSR D0140
25 CLR <$49
26 BSR D0150
27 LBSR D0260
28 LDA #$02
29D0030 PSHS A
30 CLR <$58
31D0040 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
43D0050 LDY #$627F
44 PSHS Y
45 LDA #$55
46D0060 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
55D0070 PULS A
56 DECA
57 BNE D0030
58D0080 CLR <$80
59 JMP [$001E]
60D0090 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
68D0100 BSR D0150
69 BSR D0190
70D0110 BSR D0170
71D0120 PULS A
72 EXG A,CC
73 LSRA
74 PULS A,B,DP,X,Y,U,PC
75D0130 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
84D0140 LDA #$60 moniteur diffère
85 TFR A,DP selon les machi-
86 LDX #$E7D0 nes ...
87 CLR <$4E
88 RTS
89D0150 LDD <$48
90 CMPA #$01
91 BNE D0160
92 LDB #$01
93D0160 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
104D0170 LDA #$40
105 STA 2,X
106 RTS
107
108* Table des valeurs des commandes pour
109* le no de lecteur en $E7D2
110
111D0180 FCB $41,$01,$42,$02
112
113D0190 LDA #$02
114 PSHS A
115D0200 CLRA
116 LDB <$48
117D0210 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
134D0220 DEC ,S
135 BEQ D0230
136 CLR <$4E
137 CMPA #$08
138 BEQ D0200
139 BSR D0310
140 BCS D0220
141 BRA D0200
142D0230 COMB
143D0240 PULS A,PC
144
145* Table des adresses des routines du DOS
146
147D0250 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
158D0260 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
168D0270 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
180D0280 TSTA
181 BNE D0290
182 TSTB
183 BPL D0290
184 COM <$58
185D0290 CLRA
186D0300 RTS
187D0310 LDB #$64
188D0320 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
200D0330 BSR D0350
201 LBSR D1200
202 CLR ,Y
203 CLR 6,X
204 RTS
205D0340 LDY #$006C
206 BRA D0370
207D0350 LDY #$0750
208 BRA D0370
209D0360 LDY #$02EC
210D0370 LEAY -1,Y
211 BNE D0370
212 RTS
213D0380 LDA #$FF
214 STA <$58
215 CLRA
216 RTS
217D0390 CLR <$58
218D0400 RTS
219D0410 LBSR D1100
220 BCS D0400
221 LDA 1,X
222 BITA #$04
223 BEQ D0420
224 LDA #$01
225 LBRA D1150
226D0420 LDA <$58
227 LBNE D0570
228 LBSR D0860
229 LDB #$19
230 PSHS CC
231 LBSR D0930
232 LDY #$7500
233D0430 LEAY -1,Y
234 LBEQ D1060
235 LDB ,X
236 BITB #$02
237 BEQ D0430
238 STA 3,X
239D0440 LDB ,X
240 BPL D0440
241 STA 3,X
242D0450 LDB ,X
243 BPL D0450
244 LDB #$FB
245 STB 3,X
246 CLRA
247D0460 LDB ,X
248 BPL D0460
249 LDB ,U+
250 STB 3,X
251 DECA
252 BNE D0460
253D0470 LDB ,X
254 BITB #$08
255 BEQ D0470
256 BSR D0340
257 TST <$48
258 BPL D0550
259D0480 LBSR D1120
260 LDB #$1B
261 LBSR D0930
262 LDA #$04
263 LDY #$7500
264D0490 LEAY -1,Y
265 LBEQ D0740
266 LDB ,X
267 BITB #$02
268 BEQ D0490
269 LDB 3,X
270D0500 DECA
271 LBEQ D1080
272D0510 LDB ,X
273 BPL D0510
274 LDB 3,X
275 CMPB #$FB
276 BNE D0500
277 CLRA
278D0520 LDB ,X
279 BPL D0520
280 LDB 3,X
281 CMPB ,U+
282 BNE D0530
283 DECA
284 BNE D0520
285D0530 LDB ,X
286 BITB #$08
287 BEQ D0530
288 TSTA
289 BNE D0540
290 BITB #$04
291D0540 LBNE D0740
292D0550 PULS CC
293 CLR ,X
294 RTS
295D0560 PSHS CC
296 BRA D0480
297D0570 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
305D0580 LDB #$FF
306 STB 4,X
307 LDD #$0624
308 STB ,X
309D0590 LDB ,X
310 BPL D0590
311 CLR 3,X
312 DECA
313 BNE D0590
314D0600 LDB ,X
315 BPL D0600
316 LDD #$FBC7
317 STD 3,X
318 LDB #$FF
319D0610 LDA ,X
320 BPL D0610
321 LDA ,U+
322 STD 3,X
323 LDA #$7F
324D0620 LDB ,X
325 BPL D0620
326 LDB ,U+
327 STB 3,X
328 DECA
329 BNE D0620
330D0630 LDB ,X
331 BPL D0630
332 PULS B
333 STB 3,X
334 COMA
335 BNE D0630
336D0640 LDB ,X
337 BPL D0640
338 CLR 3,X
339D0650 LDB ,X
340 BPL D0650
341 LDB #$20
342 STB ,X
343D0660 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
352D0670 LBSR D1120
353 BSR D0760
354 BCS D0730
355 LDB #$FB
356 STB 3,X
357 LDD #$8038
358 STB ,X
359 LDY #$0100
360D0680 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
368D0690 LDB ,X
369 BPL D0690
370 LDB 3,X
371 CMPB ,U+
372 BNE D0730
373 DECA
374 BNE D0690
375D0700 LDA ,X
376 BPL D0700
377 LDA 3,X
378D0710 LDB ,X
379 BPL D0710
380 LDB 3,X
381 CMPD ,S
382 BNE D0730
383D0720 PULS A,B
384 PULS CC
385 CLR ,X
386 RTS
387D0730 PULS A,B
388D0740 LDA #$20
389 LBRA D1090
390D0750 PSHS CC
391 LDD #$5D30
392 PSHS B,A
393 BRA D0670
394D0760 LDA #$C7
395 STA 4,X
396 LDA #$FE
397 STA 3,X
398 LDA #$30
399 LDU <$4F
400 ORCC #$50
401D0770 LDB #$38
402 STB ,X
403 LDY #$1700
404D0780 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
412D0790 LDB ,X
413 BPL D0790
414 LDB 3,X
415 CMPB <$4B
416 BNE D0840
417D0800 LDB ,X
418 BPL D0800
419 LDB 3,X
420 BNE D0840
421D0810 LDB ,X
422 BPL D0810
423 LDB 3,X
424 CMPB <$4C
425 BNE D0840
426D0820 LDB ,X
427 BPL D0820
428 LDB 3,X
429 BNE D0840
430 LBSR D0340
431 CLRA
432D0830 LDA ,X
433 RTS
434D0840 DECA
435 BNE D0770
436D0850 COMB
437 BRA D0830
438D0860 LDB <$4B
439 CMPB #$39
440 BPL D0870
441 LDD #$9F20
442 BRA D0880
443D0870 LDD #$1F22
444D0880 STA 7,X
445 STB 1,X
446 RTS
447D0890 LDA #$BF
448 STA 7,X
449 CLR 1,X
450 RTS
451D0900 LDU <$4F
452 LDY #$0080
453 LDD #$BF84
454D0910 PSHS B,A
455D0920 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
484D0930 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
494D0940 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
504D0950 LEAY -1,Y
505 BEQ D1060
506 LDB ,X
507 BITB #$02
508 BEQ D0950
509 LDB 3,X
510D0960 DECA
511 BEQ D1080
512D0970 LDB ,X
513 BPL D0970
514 LDB 3,X
515 CMPB #$FB
516 BNE D0960
517 CLRA
518D0980 LDB ,X
519 BPL D0980
520 LDB 3,X
521 STB ,U+
522 DECA
523 BNE D0980
524D0990 LDB ,X
525 BITB #$08
526 BEQ D0990
527 BITB #$04
528 BNE D1070
529 BRA D1040
530D1000 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
540D1010 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
548D1020 LDB ,X
549 BPL D1020
550 LDB 3,X
551 STB ,U+
552 DECA
553 BNE D1020
554D1030 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
564D1040 PULS CC
565 CLR ,X
566D1050 RTS
567D1060 LDA #$04
568 BRA D1090
569D1070 LDA #$08
570 BRA D1090
571D1080 LDA #$02
572D1090 STA <$4E
573 CLR ,X
574 PULS CC
575 COMA
576 RTS
577D1100 BSR D1120
578 BCS D1110
579 BSR D1160
580 CLRA
581D1110 RTS
582D1120 LDY #$8000
583D1130 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
595D1140 LDA #$10
596D1150 PSHS CC
597 BRA D1090
598D1160 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
607D1170 STA 2,X
608D1180 ORA #$14
609 STA 2,X
610 ANDA #$EB
611 STA 2,X
612 LBSR D0360
613 DECB
614 BNE D1180
615 LBSR D0350
616D1190 BSR D1200
617 LDB <$4B
618 STB 6,X
619 STB ,Y
620 RTS
621D1200 LDY #$6052
622 LDA <$49
623 ANDA #$02
624 LEAY A,Y
625 RTS
626D1210 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
641D1220 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
653D1230 PSHS CC
654 ORCC #$50
655 LBSR D1380
656 LDA #$02
657 PSHS A
658D1240 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
669D1250 PULS A
670 PULS CC
671 LDA <$4B
672 CMPA #$4F
673 BEQ D1260
674 BSR D1300
675 BRA D1230
676D1260 LBSR D1960
677 BCS D1270
678 LDA #$50
679 STA <$4B
680D1270 LBRA D0110
681D1280 LDA 1,X
682 BITA #$04
683 BNE D1290
684 CLRA
685 RTS
686D1290 LDA #$01
687 LBRA D1150
688D1300 INC <$4B
689 LBRA D1160
690D1310 PSHS X
691 LDU #D1370 #$E55E
692D1320 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
699D1330 LDA ,X
700 CMPA ,U
701 BEQ D1340
702 INCB
703 LEAU B,U
704 LDA ,U
705 BNE D1320
706 BRA D1360
707D1340 LEAX -1,X
708 BNE D1350
709 LDX #$001A
710D1350 LEAU 1,U
711 DECB
712 BNE D1330
713 LDA ,U
714 STA <$58
715D1360 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
727D1370 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
735D1380 LDX #$60D3
736 LDB #$10
737D1390 CLR B,X
738 DECB
739 BNE D1390
740 LEAX $10,X
741 PSHS X
742 LDX #$60D3
743 LDA #$01
744 LDB <$4D
745D1400 STA ,X
746 LEAX B,X
747 INCA
748 CMPA #$10
749 BHI D1430
750D1410 CMPX ,S
751 BCS D1420
752 LEAX -16,X
753D1420 TST ,X
754 BEQ D1400
755 LEAX 1,X
756 BRA D1410
757D1430 LEAS 2,S
758 RTS
759D1440 LDX #$60D3
760 LDU <$4F
761D1450 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
773D1460 LBSR D0910
774 STD ,U++
775 BRA D1450
776D1470 RTS
777D1480 LDD #$EF21
778 BRA D1460
779D1490 LDB 1,X
780 BITB #$40
781 BEQ D1490
782D1500 LDB 3,X
783 LDB ,X
784 BPL D1500
785D1510 LDB ,X
786 BPL D1510
787 RTS
788D1520 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
799D1530 LDA #$1E
800D1540 LDB ,X
801 BPL D1540
802 LDB #$4E
803 STB 3,X
804 DECA
805 BNE D1540
806D1550 LDA #$0C
807D1560 LDB ,X
808 BPL D1560
809 CLR 3,X
810 DECA
811 BNE D1560
812D1570 LDB ,X
813 BPL D1570
814 LDD #$A10A
815 STD 3,X
816D1580 LDB ,X
817 BPL D1580
818 STA 3,X
819D1590 LDB ,X
820 BPL D1590
821 STA 3,X
822D1600 LDB ,X
823 BPL D1600
824 LDD #$FEFF
825 STD 3,X
826 LDA #$06
827D1610 LDB ,X
828 BPL D1610
829 LDB ,U+
830 STB 3,X
831 DECA
832 BNE D1610
833 LDA #$16
834D1620 LDB ,X
835 BPL D1620
836 LDB #$4E
837 STB 3,X
838 DECA
839 BNE D1620
840 LDA #$0C
841D1630 LDB ,X
842 BPL D1630
843 CLR 3,X
844 DECA
845 BNE D1630
846D1640 LDB ,X
847 BPL D1640
848 LDD #$A10A
849 STD 3,X
850D1650 LDB ,X
851 BPL D1650
852 STA 3,X
853D1660 LDB ,X
854 BPL D1660
855 STA 3,X
856D1670 LDB ,X
857 BPL D1670
858 LDD #$FBFF
859 STD 3,X
860 CLRA
861D1680 LDB ,X
862 BPL D1680
863 LDB #$E5
864 STB 3,X
865 DECA
866 BNE D1680
867D1690 LDB ,X
868 BPL D1690
869 LDB #$78
870 STB 3,X
871D1700 LDB ,X
872 BPL D1700
873 LDB #$27
874 STB 3,X
875 LDA #$2C
876D1710 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
885D1720 LBSR D0890
886 LBSR D1490
887 LDD #$FFFF
888 STD 3,X
889 LDB #$24
890 STB ,X
891 LDA #$10
892D1730 LDB ,X
893 BPL D1730
894 LDB #$FF
895 STB 3,X
896 DECA
897 BNE D1730
898D1740 LDA #$06
899D1750 LDB ,X
900 BPL D1750
901 CLR 3,X
902 DECA
903 BNE D1750
904D1760 LDB ,X
905 BPL D1760
906 LDD #$FEC7
907 STD 3,X
908D1770 LDB ,X
909 BPL D1770
910 LDB #$FF
911 LDA ,U+
912 STD 3,X
913 LDA #$05
914D1780 LDB ,X
915 BPL D1780
916 LDB ,U+
917 STB 3,X
918 DECA
919 BNE D1780
920 LDA #$0C
921D1790 LDB ,X
922 BPL D1790
923 LDB #$FF
924 STB 3,X
925 DECA
926 BNE D1790
927 LDA #$06
928D1800 LDB ,X
929 BPL D1800
930 CLR 3,X
931 DECA
932 BNE D1800
933D1810 LDB ,X
934 BPL D1810
935 LDD #$FBC7
936 STD 3,X
937D1820 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
958D1830 LDB ,X
959 BPL D1830
960 LDB #$E5
961 STB 3,X
962 DECA
963 BNE D1830
964D1840 LDB ,X
965 BPL D1840
966 LDB #$5D
967 STB 3,X
968D1850 LDB ,X
969 BPL D1850
970 LDB #$30
971 STB 3,X
972 LDA #$16
973D1860 LDB ,X
974 BPL D1860
975 LDB #$FF
976 STB 3,X
977 DECA
978 BNE D1860
979 DEC ,S
980 LBNE D1740
981D1870 LDA 1,X
982 BITA #$40
983 BNE D1890
984D1880 LDA ,X
985 BPL D1880
986 STB 3,X
987 BRA D1870
988D1890 PULS A
989 CLR ,X
990 TST <$48
991 BPL D1930
992 LDA #$E5
993 BSR D1940
994 LDU #$60D3
995 LBSR D1120
996D1900 LDA ,U+
997 BEQ D1930
998 STA <$4C
999 PSHS U
1000 LDA <$58
1001 BEQ D1910
1002 LBSR D0750
1003 BRA D1920
1004D1910 LBSR D0560
1005D1920 PULS U
1006 BCC D1900
1007D1930 RTS
1008D1940 LDU <$4F
1009 LDB <$58
1010 ANDB #$80
1011D1950 STA ,U+
1012 DECB
1013 BNE D1950
1014 RTS
1015D1960 LDA #$14
1016 STA <$4B
1017 LBSR D1160
1018 LDA #$FF
1019 BSR D1940
1020 LDA #$10
1021 STA <$4C
1022D1970 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
1036D1980 RTS
1037
1038* nous placerons à la fin la directive
1039* 'END' (nous aurions pu le faire sous
1040* CODEVIEW)
Note: See TracBrowser for help on using the repository browser.