    Letzten Datenblock einer REL-Datei
    und dessen Eintrag im Side-Sektor ermitteln ($e1cb)

    Einsprung von $8895, $99CE, $9E46, $A438:

    A15C: 20 6E A5  JSR $A56E        Super-Side-Sektor aktiv ?
    A15F: D0 03     BNE $A164        nein, ==>
    A161: 20 A9 A5  JSR $A5A9        letzte existierende Gruppe holen

    Einsprung von $A15F:

    A164: 20 0B 9E  JSR $9E0B        Nummer des aktuellen Side-Sektors setzen
    A167: 85 69     STA $69

    Letzten Side-Sektor laden

    A169: A9 04     LDA #$04         Zeiger auf Side-Sektor-Tabelle setzen
    A16B: 85 64     STA $64
    A16D: A0 0A     LDY #$0A         mit letztem Tabelleneintrag anfangen
    A16F: D0 04     BNE $A175        immer ==>

    Einsprung von $A177:

    A171: 88        DEY              vorhergehenden Eintrag testen
    A172: 88        DEY
    A173: 30 27     BMI $A19C        kein Side-Sektor benutzt ?, ==>

    Einsprung von $A16F:

    A175: B1 64     LDA ($64),Y      existiert Side-Sektor ?
    A177: F0 F8     BEQ $A171        nein, ==>
    A179: 98        TYA              so ermittelte Side-Sektor-Nummer
    A17A: 4A        LSR              (es war eine 2-Byte-Tabelle)
    A17B: C5 69     CMP $69          mit aktueller Nummer vergleichen
    A17D: F0 0A     BEQ $A189        gleich, ==>
    A17F: 85 69     STA $69          neue Side-Sektor-Nummer merken
    A181: A6 50     LDX $50
    A183: BD 65 02  LDA $0265,X      Side-Sektor-Puffer holen
    A186: 20 56 9E  JSR $9E56        Side-Sektor laden

    Einsprung von $A17D:

    A189: A0 00     LDY #$00         hat letzter Side-Sektor einen Folgeblock ?
    A18B: 84 64     STY $64
    A18D: B1 64     LDA ($64),Y
    A18F: D0 0B     BNE $A19C        ja, (Fehler) ==>
    A191: C8        INY
    A192: B1 64     LDA ($64),Y      Blocklaenge holen
    A194: A8        TAY              Zeiger auf letzten Eintrag setzen
    A195: 88        DEY              (-1: ein Eintrag ist 2 Byte lang)
    A196: 84 6A     STY $6A          Zeiger auf T&S des Datenblocks merken
    A198: 98        TYA              Side-Sektor-Pufferzeiger auf letzten
    A199: 4C 23 9E  JMP $9E23        Eintrag setzen

    Einsprung von $A173, $A18F, $A21F:

    A19C: A9 67     LDA #$67         67, Illegal Track or Sector
    A19E: 20 3F FF  JSR $FF3F        CMDERR

        Previous Page / Next Page