Verzeichnis-Header und BAM anlegen ($ee56)
Verzeichnis-Header anlegen
Einsprung von $B37D, $B38B:
B390: A5 6C LDA $6C letzte Jobnummer
B392: A8 TAY
B393: 0A ASL *2
B394: AA TAX
B395: AD 77 DB LDA $DB77 Position des Verzeichnisnamens
B398: 95 BB STA $BB,X Pufferzeiger setzen
B39A: AE 91 02 LDX $0291
B39D: A9 1B LDA #$1B
B39F: 20 EE 84 JSR $84EE Diskettennamen kopieren
B3A2: A0 00 LDY #$00
B3A4: 84 64 STY $64 Pufferzeiger auf 0 setzen
B3A6: AD 2B 02 LDA $022B Verzeichnis-Track
B3A9: 91 64 STA ($64),Y als Zeiger auf naechsten Block
B3AB: C8 INY
B3AC: A9 03 LDA #$03 1. Verzeichnis-Sektor
B3AE: 8D E5 01 STA $01E5
B3B1: 91 64 STA ($64),Y als Zeiger auf naechsten Block
B3B3: C8 INY
B3B4: AD EB 01 LDA $01EB Formatkennzeichen
B3B7: 85 6F STA $6F = aktuelles Formatkennzeichen
B3B9: 91 64 STA ($64),Y im Block merken
B3BB: C8 INY
B3BC: A9 00 LDA #$00 $00
B3BE: 91 64 STA ($64),Y
B3C0: A0 16 LDY #$16 Weiter bei Position 22
B3C2: A5 1D LDA $1D ID1
B3C4: 91 64 STA ($64),Y
B3C6: C8 INY
B3C7: A5 1E LDA $1E ID2
B3C9: 91 64 STA ($64),Y
B3CB: C8 INY
B3CC: A9 A0 LDA #$A0 $a0
B3CE: 91 64 STA ($64),Y
B3D0: C8 INY
B3D1: AD EC 01 LDA $01EC DOS-Versionsnummer
B3D4: 91 64 STA ($64),Y
B3D6: C8 INY
B3D7: A5 6F LDA $6F Diskettenversionsnummer
B3D9: 91 64 STA ($64),Y
B3DB: C8 INY
B3DC: A9 A0 LDA #$A0 $a0
B3DE: 91 64 STA ($64),Y
B3E0: C8 INY
B3E1: 91 64 STA ($64),Y $a0
B3E3: C8 INY
B3E4: A9 00 LDA #$00 Rest vom Block mit $00 fuellen
Einsprung von $B3E9:
B3E6: 91 64 STA ($64),Y
B3E8: C8 INY
B3E9: D0 FB BNE $B3E6
B3EB: A9 00 LDA #$00 Sektornummer = 0
B3ED: 20 35 B4 JSR $B435 T&S des 1. Directory-Sektors setzen
B3F0: 20 C1 93 JSR $93C1 Puffer schreiben
1. Directory-Sektor anlegen
B3F3: A9 00 LDA #$00
B3F5: 85 64 STA $64 Pufferzeiger auf 0
B3F7: A8 TAY
Einsprung von $B3FB:
B3F8: 91 64 STA ($64),Y Puffer mit $00 fuellen
B3FA: C8 INY
B3FB: D0 FB BNE $B3F8
B3FD: C8 INY y=1
B3FE: A9 FF LDA #$FF $00, $ff an Blockanfang schreiben
B400: 91 64 STA ($64),Y (Zeichen fuer letzten Dir-Block)
B402: AD E5 01 LDA $01E5 Nummer des 1. Dir-Sektors holen
B405: 20 35 B4 JSR $B435 und als aktuelle T&S setzen
B408: 20 C1 93 JSR $93C1 Puffer schreiben
BAM anlegen
B40B: 20 4A B4 JSR $B44A neue BAM anlegen
B40E: AD 2B 02 LDA $022B
B411: 85 4D STA $4D Verzeichnis-Header in BAM belegen
B413: A9 00 LDA #$00
B415: 85 4E STA $4E
B417: 20 72 B5 JSR $B572 Block belegen
B41A: E6 4E INC $4E
B41C: 20 72 B5 JSR $B572 1. BAM-Block belegen
B41F: E6 4E INC $4E
B421: 20 72 B5 JSR $B572 2. BAM-Block belegen
B424: AD E5 01 LDA $01E5
B427: 85 4E STA $4E 1. Verzeichnis-Block belegen
B429: 20 72 B5 JSR $B572
B42C: 20 12 B6 JSR $B612 BAM auf Diskette schreiben
B42F: 20 03 8F JSR $8F03 Partition initialisieren
B432: 4C 4C 80 JMP $804C Ok. Ende
T&S eines Blocks des Verzeichnisses setzen
Einsprung von $B3ED, $B405:
B435: 85 4E STA $4E Sektornummer in a
B437: AD 2B 02 LDA $022B Directory-Track
B43A: 85 4D STA $4D
B43C: 60 RTS
Previous Page / Next Page