Position des Records berechnen ($ce0e)
Einsprung von $A1ED, $A2D9, $A420:
8C89: 20 C1 8C JSR $8CC1 Bytes bis zum gesuchten Record berechnen
8C8C: 20 06 8D JSR $8D06 x/254
8C8F: A5 60 LDA $60 Rest merken
8C91: 85 6B STA $6B = gesuchte Position im Datenblock
8C93: 20 09 8D JSR $8D09 x/120 = Side-Sektor-Nummer
8C96: E6 6B INC $6B Datenbereich faengt bei Byte 2 an
8C98: E6 6B INC $6B
8C9A: 20 6E A5 JSR $A56E wird Super-Side-Sektor verwendet?
8C9D: F0 0D BEQ $8CAC ja, ==>
1541-kompatible REL-Datei
8C9F: A5 5B LDA $5B Side-Sektor-Nummer merken
8CA1: 85 69 STA $69
8CA3: A5 60 LDA $60 Rest: Nummer des Datenblocks im Side-Sektor
8CA5: 0A ASL * 2 (2-Byte Tabelle: T&S)
8CA6: 18 CLC Die Tabelle mit den T&S der Datenblocks
8CA7: 69 10 ADC #$10 faengt an der Position 16 im Side-Sektor an
8CA9: 85 6A STA $6A Zeiger auf T&S des Datenblocks
8CAB: 60 RTS
1581-REL-Datei mit Super-Side-Sektor
Einsprung von $8C9D:
8CAC: A5 60 LDA $60 Rest: Nummer des Datenblocks im Side-Sektor
8CAE: 0A ASL
8CAF: 18 CLC Die 2-Byte Tabelle
8CB0: 69 10 ADC #$10 faengt an Position 16 an
8CB2: 85 6A STA $6A Zeiger auf T&S des Datenblocks
8CB4: 20 0C 8D JSR $8D0C x/6 = Gruppe des Side-Sektors
8CB7: A5 60 LDA $60 Rest merken (Nummer des Side-Sektors)
8CB9: 85 69 STA $69
8CBB: A5 5B LDA $5B Gruppennummer merken
8CBD: 8D 00 01 STA $0100
8CC0: 60 RTS
Previous Page / Next Page