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 |