$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