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