$E9F2/59890: Accept byte with EOI Jump from $E9E7: E9F2: 20 A5 E9 JSR $E9A5 ; DATA OUT bit '0' hi E9F5: A2 0A LDX #$0A ; 10 Jump from $E9F8: E9F7: CA DEX ; delay loop, approx 50 micro sec. E9F8: D0 FD BNE $E9F7 E9FA: 20 9C E9 JSR $E99C ; DATA OUT, bit '1', lo Jump from $EA05: E9FD: 20 59 EA JSR $EA59 ; check EOI EA00: 20 C0 E9 JSR $E9C0 ; read IEEE EA03: 29 04 AND #$04 ; CLOCK IN? EA05: F0 F6 BEQ $E9FD ; no, wait EA07: A9 00 LDA #$00 EA09: 85 F8 STA $F8 ; set EOI flag Jump from $EA13, $EA26, $E9F0: EA0B: AD 00 18 LDA $1800 ; IEEE port EA0E: 49 01 EOR #$01 ; invert data byte EA10: 4A LSR EA11: 29 02 AND #$02 EA13: D0 F6 BNE $EA0B ; CLOCK IN? EA15: EA NOP EA16: EA NOP EA17: EA NOP EA18: 66 85 ROR $85 ; prepare next bit Jump from $EA22: EA1A: 20 59 EA JSR $EA59 ; check EOI EA1D: 20 C0 E9 JSR $E9C0 ; read IEEE port EA20: 29 04 AND #$04 ; CLOCK IN? EA22: F0 F6 BEQ $EA1A ; no EA24: C6 98 DEC $98 ; decrement bit counter EA26: D0 E3 BNE $EA0B ; all bits output? EA28: 20 A5 E9 JSR $E9A5 ; DATA OUT, bit '0', hi EA2B: A5 85 LDA $85 ; load data byte again EA2D: 60 RTS Previous Page / Next Page |