$ED40/60736:   Send Data On Serial Bus

Jump from $ED19, $EDE7:

ED40: 78        SEI
ED41: 20 97 EE  JSR $EE97     ; Serial Output 1
ED44: 20 A9 EE  JSR $EEA9     ; Get Serial Data And Clock In
ED47: B0 64     BCS $EDAD     ; Flag Errors: Status #80 - DEVICE NOT PRESENT
ED49: 20 85 EE  JSR $EE85     ; Serial Clock On
ED4C: 24 A3     BIT $A3       ; Serial Bus EOI (End Of Input) Flag
ED4E: 10 0A     BPL $ED5A

Jump from $ED53:

ED50: 20 A9 EE  JSR $EEA9     ; Get Serial Data And Clock In
ED53: 90 FB     BCC $ED50

Jump from $ED58:

ED55: 20 A9 EE  JSR $EEA9     ; Get Serial Data And Clock In
ED58: B0 FB     BCS $ED55

Jump from $ED4E, $ED5D:

ED5A: 20 A9 EE  JSR $EEA9     ; Get Serial Data And Clock In
ED5D: 90 FB     BCC $ED5A
ED5F: 20 8E EE  JSR $EE8E     ; Serial Clock Off
ED62: A9 08     LDA #$08
ED64: 85 A5     STA $A5       ; Tape Synchronising count down

Jump from $ED6C, $ED90:

ED66: AD 00 DD  LDA $DD00     ; CIA2: Data Port A (Serial Bus, RS232, VIC Base Mem.)
ED69: CD 00 DD  CMP $DD00     ; CIA2: Data Port A (Serial Bus, RS232, VIC Base Mem.)
ED6C: D0 F8     BNE $ED66
ED6E: 0A        ASL
ED6F: 90 3F     BCC $EDB0     ; Flag Errors: Status #03 - WRITE TIMEOUT
ED71: 66 95     ROR $95       ; Buffered Character for Serial Bus
ED73: B0 05     BCS $ED7A
ED75: 20 A0 EE  JSR $EEA0     ; Serial Output 0
ED78: D0 03     BNE $ED7D

Jump from $ED73:

ED7A: 20 97 EE  JSR $EE97     ; Serial Output 1

Jump from $ED78:

ED7D: 20 85 EE  JSR $EE85     ; Serial Clock On
ED80: EA        NOP
ED81: EA        NOP
ED82: EA        NOP
ED83: EA        NOP
ED84: AD 00 DD  LDA $DD00     ; CIA2: Data Port A (Serial Bus, RS232, VIC Base Mem.)
ED87: 29 DF     AND #$DF
ED89: 09 10     ORA #$10
ED8B: 8D 00 DD  STA $DD00     ; CIA2: Data Port A (Serial Bus, RS232, VIC Base Mem.)
ED8E: C6 A5     DEC $A5       ; Tape Synchronising count down
ED90: D0 D4     BNE $ED66
ED92: A9 04     LDA #$04
ED94: 8D 07 DC  STA $DC07     ; CIA1: Timer B High-Byte (Tape, Serial Port)
ED97: A9 19     LDA #$19
ED99: 8D 0F DC  STA $DC0F     ; CIA1: Control Register B
ED9C: AD 0D DC  LDA $DC0D     ; CIA1: Interrupt (IRQ) Control Register

Jump from $EDA9:

ED9F: AD 0D DC  LDA $DC0D     ; CIA1: Interrupt (IRQ) Control Register
EDA2: 29 02     AND #$02
EDA4: D0 0A     BNE $EDB0     ; Flag Errors: Status #03 - WRITE TIMEOUT
EDA6: 20 A9 EE  JSR $EEA9     ; Get Serial Data And Clock In
EDA9: B0 F4     BCS $ED9F
EDAB: 58        CLI
EDAC: 60        RTS

    Previous Page / Next Page