    Schreiben/Lesen mit Cache-Daten

    Einsprung von $C0FC:

    CF51: A4 99     LDY $99
    CF53: B9 BC 01  LDA $01BC,Y      Befindet sich die physikalische Spur im
    CF56: C5 95     CMP $95          Cachepuffer ?
    CF58: D0 09     BNE $CF63        nein, (Ende) ==>
    CF5A: A5 96     LDA $96          Handelt es sich um die richtige Seite ?
    CF5C: C5 97     CMP $97
    CF5E: D0 03     BNE $CF63        nein, (Ende) ==>
    CF60: 4C 64 CF  JMP $CF64        Ja ==>

    Einsprung von $CF58, $CF5E:

    CF63: 60        RTS

    Einsprung von $CF60:

    CF64: A6 83     LDX $83          Jobnummer
    CF66: BD F1 01  LDA $01F1,X      Pufferadresse holen und als Copy-Zeiger
    CF69: 85 49     STA $49          merken
    CF6B: B5 9F     LDA $9F,X        Position des Blocks im Cache
    CF6D: 29 7F     AND #$7F         b7=0: Flag: 'T&S sind umgewandelt worden'
    CF6F: 18        CLC              ausblenden
    CF70: 65 8C     ADC $8C          + Cacheanfang
    CF72: 85 4B     STA $4B          Als Zeiger in den Cachepuffer merken
    CF74: A0 00     LDY #$00         Am Pufferanfang beginnen
    CF76: 84 48     STY $48
    CF78: 84 4A     STY $4A
    CF7A: A2 01     LDX #$01         256 Bytes kopieren
    CF7C: 06 86     ASL $86          b6=1: keine Daten kopierenn ?
    CF7E: B0 18     BCS $CF98        ja, ==>
    CF80: 06 86     ASL $86          b65=01: Daten in Cache schreiben
    CF82: B0 06     BCS $CF8A        ja, ==>
    CF84: 20 58 D5  JSR $D558        b65=00: Daten aus Cache in Puffer kopieren

    Einsprung von $CF96, $CF9A:

    CF87: 4C 99 C3  JMP $C399        Auftrag loeschen, alle Jobs pruefen

    Einsprung von $CF82:

    CF8A: AD FA 01  LDA $01FA        Schreibschutz an ?
    CF8D: D0 14     BNE $CFA3        Ja, ==>
    CF8F: 20 3E D0  JSR $D03E        Daten in Cache schreiben

    Einsprung von $CFA1:

    CF92: A9 80     LDA #$80         Flag fuer Cache veraendert setzen
    CF94: 85 87     STA $87
    CF96: D0 EF     BNE $CF87        immer ==>

    Einsprung von $CF7E:

    CF98: 06 86     ASL $86          b65=11: Schreibschutz abfragen
    CF9A: 90 EB     BCC $CF87        nein, ==>
    CF9C: AD FA 01  LDA $01FA        Schreibschutz an ?
    CF9F: D0 02     BNE $CFA3        ja, ==>
    CFA1: B0 EF     BCS $CF92        immer ==>

    Einsprung von $CF8D, $CF9F:

    CFA3: 4C 9B C3  JMP $C39B        Schreibschutz-Fehler
        Previous Page / Next Page