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 |