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