Neuen Block an das Directory anhaengen ($d48d)
Einsprung von $95F5:
93E7: 20 79 9D JSR $9D79 T&S der aktuellen Datei holen
93EA: A9 01 LDA #$01 nur eine Suchphase ausfuehren (s. $b668)
93EC: 85 40 STA $40
93EE: A5 2E LDA $2E Sektorversatz merken
93F0: 48 PHA
93F1: A9 01 LDA #$01 Sektorversatz auf 1 setzen
93F3: 85 2E STA $2E
93F5: 20 75 B6 JSR $B675 freien Block suchen
93F8: 68 PLA
93F9: 85 2E STA $2E alten Sektorversatz zurueckholen
93FB: A9 00 LDA #$00 Pufferzeiger auf Verkettungsbytes setzen
93FD: 20 22 94 JSR $9422
9400: A5 4D LDA $4D T&S des Folgeblocks im aktuellen Block
9402: 20 B1 8E JSR $8EB1 eintragen
9405: A5 4E LDA $4E
9407: 20 B1 8E JSR $8EB1
940A: 20 02 90 JSR $9002 alten Directory-Block schreiben
940D: 20 ED 94 JSR $94ED Jobausfuehrung pruefen
9410: A9 00 LDA #$00
9412: 20 22 94 JSR $9422 Pufferzeiger auf 0 setzen
Einsprung von $9418:
9415: 20 B1 8E JSR $8EB1 Puffer mit $00 fuellen
9418: D0 FB BNE $9415 (z=1: Puffer voll)
941A: 20 B1 8E JSR $8EB1 Kennzeichen fuer 'letzter Sektor'
941D: A9 FF LDA #$FF und aktuelle Blocklaenge setzen
941F: 4C B1 8E JMP $8EB1 [Die ist im Directory immer 255.]
Previous Page / Next Page