$E909/59657: Send data
Jump from $E8F7:
E909: 78 SEI
E90A: 20 EB D0 JSR $D0EB ; open channel for read
E90D: B0 06 BCS $E915 ; channel active
Jump from $E996:
E90F: A6 82 LDX $82 ; channel number
E911: B5 F2 LDA $F2,X ; set READ flag?
E913: 30 01 BMI $E916 ; yes
Jump from $E90D:
E915: 60 RTS
Jump from $E913:
E916: 20 59 EA JSR $EA59 ; check EOI
E919: 20 C0 E9 JSR $E9C0 ; read IEEE port
E91C: 29 01 AND #$01 ; isolate data bit
E91E: 08 PHP ; and save
E91F: 20 B7 E9 JSR $E9B7 ; CLOCK OUT lo
E922: 28 PLP
E923: F0 12 BEQ $E937
Jump from $E92D:
E925: 20 59 EA JSR $EA59 ; check EOI
E928: 20 C0 E9 JSR $E9C0 ; read IEEE port
E92B: 29 01 AND #$01 ; isolate data bit
E92D: D0 F6 BNE $E925
E92F: A6 82 LDX $82 ; channel number
E931: B5 F2 LDA $F2,X
E933: 29 08 AND #$08
E935: D0 14 BNE $E94B
Jump from $E923, $E93F:
E937: 20 59 EA JSR $EA59 ; check EOI
E93A: 20 C0 E9 JSR $E9C0 ; read IEEE port
E93D: 29 01 AND #$01 ; isolate data bit
E93F: D0 F6 BNE $E937
Jump from $E949:
E941: 20 59 EA JSR $EA59 ; check EOI
E944: 20 C0 E9 JSR $E9C0 ; read IEEE port
E947: 29 01 AND #$01 ; isolate data bit
E949: F0 F6 BEQ $E941
Jump from $E935, $E956:
E94B: 20 AE E9 JSR $E9AE ; CLOCK OUT hi
E94E: 20 59 EA JSR $EA59 ; check EOI
E951: 20 C0 E9 JSR $E9C0 ; read IEEE port
E954: 29 01 AND #$01 ; isolate data bit
E956: D0 F3 BNE $E94B
E958: A9 08 LDA #$08 ; counter to 8 bits for serial
E95A: 85 98 STA $98 ; transmission
Jump from $E985:
E95C: 20 C0 E9 JSR $E9C0 ; read IEEE port
E95F: 29 01 AND #$01 ; isolate data bit
E961: D0 36 BNE $E999
E963: A6 82 LDX $82
E965: BD 3E 02 LDA $023E,X
E968: 6A ROR ; lowest data bit in carry
E969: 9D 3E 02 STA $023E,X
E96C: B0 05 BCS $E973 ; set bit
E96E: 20 A5 E9 JSR $E9A5 ; DATA OUT, output bit '0'
E971: D0 03 BNE $E976 ; absolute jump
Jump from $E96C:
E973: 20 9C E9 JSR $E99C ; DATA OUT, output bit '1'
Jump from $E971:
E976: 20 B7 E9 JSR $E9B7 ; set CLOCK OUT
E979: A5 23 LDA $23
E97B: D0 03 BNE $E980
E97D: 20 F3 FE JSR $FEF3 ; delay for serial bus
Jump from $E97B:
E980: 20 FB FE JSR $FEFB ; set DATA OUT and CLOCK OUT
E983: C6 98 DEC $98 ; all bits output?
E985: D0 D5 BNE $E95C ; no
Jump from $E98F:
E987: 20 59 EA JSR $EA59 ; check EOI
E98A: 20 C0 E9 JSR $E9C0 ; read IEEE port
E98D: 29 01 AND #$01 ; isolate data bit
E98F: F0 F6 BEQ $E987
E991: 58 CLI
E992: 20 AA D3 JSR $D3AA ; get next data byte
E995: 78 SEI
E996: 4C 0F E9 JMP $E90F ; and output
Jump from $E961:
E999: 4C 4E EA JMP $EA4E ; to delay loop
Previous Page / Next Page