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