    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