    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