    Feststellen, ob Record existiert und ggf. richtige Gruppe anwaehlen ($df66)
    A: n=0, v=0: Record und Side-Sektor sind O.k.
       n=0, v=1: Ein falscher Side-Sektor ist geladen. Record kann existieren.
       n=1, v=0: Der richtige Side-Sektor ist geladen. Record existiert nicht.
       n=1, v=1: Der Side-Sektor (oder sogar die ganze Gruppe) existiert noch
                 nicht. Der gesuchte Record kann also noch nicht existieren.

    Einsprung von $9E32, $9E41:

    9ED3: 20 6E A5  JSR $A56E        Ist Super-Side-Sektor aktiv ?
    9ED6: D0 0C     BNE $9EE4        nein, ==>
    9ED8: AD 00 01  LDA $0100        gewuenschte Gruppennummer holen
    9EDB: 20 C0 A5  JSR $A5C0        richtige Gruppe anwaehlen
    9EDE: F0 04     BEQ $9EE4        gefunden ? ja, ==>
    9EE0: 2C C1 DB  BIT $DBC1        n- und v-Flag setzen
    9EE3: 60        RTS              (Gruppe existiert nicht)

    Einsprung von $9ED6, $9EDE:

    9EE4: 20 0B 9E  JSR $9E0B        Nummer des Side-Sektors holen
    9EE7: C5 69     CMP $69          = gesuchter Nummer ?
    9EE9: D0 0E     BNE $9EF9        nein, ==>
    9EEB: A4 6A     LDY $6A          Zeiger auf T&S des Datenblocks holen
    9EED: B1 64     LDA ($64),Y      Track = 0 (Block nicht vorhanden) ?
    9EEF: F0 04     BEQ $9EF5        ja, ==>
    9EF1: 2C BE DB  BIT $DBBE        n- und v-Flag loeschen (O.k.)
    9EF4: 60        RTS              (O.k.)

    Einsprung von $9EEF:

    9EF5: 2C C0 DB  BIT $DBC0        n-Flag setzen
    9EF8: 60        RTS              (Record existiert nicht)

    Einsprung von $9EE9:

    9EF9: A5 69     LDA $69          gesuchte Nummer
    9EFB: C9 06     CMP #$06         >= 6
    9EFD: B0 0A     BCS $9F09        ja, ==>
    9EFF: 0A        ASL
    9F00: A8        TAY
    9F01: A9 04     LDA #$04         Zeiger auf T&S des gesuchten Side-Sektors
    9F03: 85 64     STA $64          setzen
    9F05: B1 64     LDA ($64),Y      Side-Sektor vorhanden (Track>0) ?
    9F07: D0 04     BNE $9F0D        ja, ==>

    Einsprung von $9EFD:

    9F09: 2C C1 DB  BIT $DBC1        n- und v-Flag setzen
    9F0C: 60        RTS              (der Side-Sektor existiert nicht)

    Einsprung von $9F07:

    9F0D: 2C BF DB  BIT $DBBF        v-Flag setzen
    9F10: 60        RTS              (falscher Side-Sektor geladen)

        Previous Page / Next Page