     $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