Burst-Memory-Read/Write
Einsprung von $AA5F:
AAA8: 78 SEI
AAA9: A5 76 LDA $76 b2=0: Burst-Clock initialisieren
AAAB: 29 FB AND #$FB
AAAD: 85 76 STA $76
AAAF: A0 00 LDY #$00 Memory-Adresse setzen
AAB1: 84 46 STY $46
AAB3: AD 05 02 LDA $0205 ($xx00)
AAB6: 85 47 STA $47
AAB8: AD 04 02 LDA $0204 Befehl
AABB: C9 57 CMP #$57
AABD: F0 18 BEQ $AAD7 U0>MW, ==>
AABF: C9 52 CMP #$52 U0>MR ?
AAC1: D0 3D BNE $AB00 nicht R/W ==> 31, Syntax Error
Memory-Read
AAC3: 20 D4 AC JSR $ACD4 FSM-vorbereiten (auf Ausgabe schalten)
Einsprung von $AACC, $AAD3:
AAC6: B1 46 LDA ($46),Y Byte aus Memory holen
AAC8: 20 86 BF JSR $BF86 und auf FSM-Bus ausgeben
AACB: C8 INY naechste Adresse
AACC: D0 F8 BNE $AAC6 ganze Speicherseite ausgeben, ==>
AACE: E6 47 INC $47 naechste Seite auswaehlen
AAD0: CE 06 02 DEC $0206 noch eine Seite ausgeben ?
AAD3: D0 F1 BNE $AAC6 ja, ==>
AAD5: F0 26 BEQ $AAFD nein ==>
Memory-Write
Einsprung von $AABD, $AAF4, $AAFB:
AAD7: AD 01 40 LDA $4001 'Naechstes Byte bitte'
AADA: 49 08 EOR #$08 (Clock-Ausgang kippen)
AADC: 2C 0D 40 BIT $400D Schieberegister vorbereiten
AADF: 8D 01 40 STA $4001
AAE2: A9 08 LDA #$08
Einsprung von $AAEC, $AB06:
AAE4: 2C 01 40 BIT $4001 ATN aufgetreten?
AAE7: 30 1A BMI $AB03 Ja, ==>
AAE9: 2C 0D 40 BIT $400D b3=1: ist das Byte uebertragen ?
AAEC: F0 F6 BEQ $AAE4 nein, ==>
AAEE: AD 0C 40 LDA $400C ja, Byte holen
AAF1: 91 46 STA ($46),Y und abspeichern
AAF3: C8 INY
AAF4: D0 E1 BNE $AAD7 ganze Seite einlesen
AAF6: E6 47 INC $47
AAF8: CE 06 02 DEC $0206 ($0206) Seiten uebertragen
AAFB: D0 DA BNE $AAD7 noch nicht fertig, ==>
Einsprung von $AAD5:
AAFD: 4C 4C 80 JMP $804C Ende ==>
Einsprung von $AAC1:
AB00: 4C 83 AA JMP $AA83 31, Syntax Error
Einsprung von $AAE7:
AB03: 20 15 AD JSR $AD15 ATN testen und bearbeiten ==>
AB06: 4C E4 AA JMP $AAE4
Previous Page / Next Page