Partition-Befehl
B781: 20 AE 84 JSR $84AE testet auf Diskettenwechsel
B784: A5 29 LDA $29 Laenge der Befehlszeile
B786: C9 02 CMP #$02 < 2 ('/') ?
B788: 90 6D BCC $B7F7 ja, ==>
B78A: A9 01 LDA #$01 Position der moeglichen Drivenummer setzen
B78C: 8D 91 02 STA $0291
B78F: 20 FD 81 JSR $81FD Drivenummer holen
B792: 20 B9 82 JSR $82B9 Datei im Directory suchen
B795: AD 97 02 LDA $0297 gefunden ?
B798: F0 13 BEQ $B7AD nein ==>
B79A: 20 51 B8 JSR $B851 Partition-Namen holen
B79D: 90 20 BCC $B7BF Partition erstellen ? nein, ==>
B79F: A9 63 LDA #$63 63, File exists
B7A1: 2C B $2C
Einsprung von $B7B0, $B7C5:
B7A2: A9 62 LDA #$62 62, File not found
B7A4: 2C B $2C
Einsprung von $B7BA:
B7A5: A9 30 LDA #$30 30, Syntax error
B7A7: 2C B $2C
Einsprung von $B7D2, $B7D8, $B7E2, $B7E4:
B7A8: A9 77 LDA #$77 77, Selected Partition illegal
B7AA: 20 7C 80 JSR $807C Fehlermeldung (T&S=0) ausgeben
Testen, ob die nicht vorhandene Partition erstellt werden soll
Einsprung von $B798:
B7AD: 20 51 B8 JSR $B851 Partition-Namen holen
B7B0: 90 F0 BCC $B7A2 Partition erstellen ? nein, ==>
B7B2: AE 90 02 LDX $0290 Ende des Partition-Namens ('/xxx,abcdC')
B7B5: BD 06 02 LDA $0206,X +6: ist Befehl zum Erstellen der Partition
B7B8: C9 43 CMP #$43 (Create) vorhanden ?
B7BA: D0 E9 BNE $B7A5 nein, ==>
B7BC: 4C 8D B8 JMP $B88D Parameter holen, Partition erstellen
Partition anwaehlen
Einsprung von $B79D:
B7BF: A5 F4 LDA $F4 Dateityp feststellen
B7C1: 29 07 AND #$07
B7C3: C9 05 CMP #$05 CBM-Datei ?
B7C5: D0 DB BNE $B7A2 nein, ==>
B7C7: 20 23 B3 JSR $B323 Partition-Parameter holen
Einsprung von $B7D0:
B7CA: 20 B5 94 JSR $94B5 Auf gueltigen Block testen
B7CD: 20 EF B2 JSR $B2EF Naechten Block der Partition holen
B7D0: D0 F8 BNE $B7CA gehoert Block noch zur Partition, ==>
B7D2: 90 D4 BCC $B7A8 Trackwechsel erfolgt ? nein, ==>
B7D4: A0 02 LDY #$02 Startsektor holen
B7D6: B1 64 LDA ($64),Y
B7D8: D0 CE BNE $B7A8 <>0, (P. muss am Trackanfang beginnen) ==>
B7DA: 88 DEY
B7DB: A5 4D LDA $4D aktuelle Tracknummer (1. Track nach der P.)
B7DD: AA TAX
B7DE: F1 64 SBC ($64),Y - Starttrack (= Anzahl Tracks der P.))
B7E0: C9 02 CMP #$02 muss > 2 sein (entspricht >=120 Blocks)
B7E2: F0 C4 BEQ $B7A8 Partition zu klein, ==>
B7E4: 90 C2 BCC $B7A8 ja, ==>
B7E6: B1 64 LDA ($64),Y Starttrack
B7E8: 8D 2B 02 STA $022B = Track des Directorys
B7EB: 85 90 STA $90 = Start der Partition
B7ED: 8E 2C 02 STX $022C Ende der Partition +1 merken
B7F0: CA DEX -1 = Ende der Partition
B7F1: CA DEX -1 = physikalische Spurnummer
B7F2: 86 8F STX $8F letzte physikalische Spurnummer merken
B7F4: 4C FA B7 JMP $B7FA P. initialisieren, Meldung ausgeben
Wurzelverzeichnis anwaehlen
Einsprung von $B788:
B7F7: 20 B3 B0 JSR $B0B3 ganze Diskette als Partition
Einsprung von $B7F4:
B7FA: 20 62 92 JSR $9262 Kanaele der SA 1-14 freigeben
B7FD: 20 03 8F JSR $8F03 Partition initialisieren
B800: A5 90 LDA $90 Partitionanfang
B802: 85 4D STA $4D = Track (fuer Meldung)
B804: AC 2C 02 LDY $022C Partitionende+1
B807: 88 DEY - 1
B808: 84 4E STY $4E = 'Sektor'
B80A: A9 02 LDA #$02 02, Selected Partition, $4d, $4e
B80C: A0 00 LDY #$00 Zeiger in INPUT-Puffer = 0
B80E: 4C 5F 80 JMP $805F Meldung ausgeben
Previous Page / Next Page