8085 IO ports

Glen Slick glen.slick at gmail.com
Sun Jan 15 11:37:03 CST 2017

On Sat, Jan 14, 2017 at 12:01 PM, Adrian Graham
<witchy at binarydinosaurs.co.uk> wrote:
> Hi folks,
> STC Executel fun continues and I'm at the point where I'm fairly sure code
> is running but it's stuck in a tight loop waiting for something to happen.
> The 8085A reference tells me a non-memory I/O is signalled by IO/M going
> high while it puts the port number on the address bus (0xE3 to 0xE8 in this
> case), 8 bits on the data bus and sets S0/S1 to be WRITE. If that's the case
> then this machine in its current state doesn't do any non-memory I/O - IO/M
> is the only signal that stays low. It's not a failed CPU since I have 3
> different ones and they all do this.

In the EPROM binary dump you posted I see code that is doing IN and
OUT accesses to the following port locations:

        IN      $70
        IN      $71

        IN      $D0

        IN      $E3
        IN      $E7

        OUT     $71

        OUT     $B0
        OUT     $BA
        OUT     $BD

        OUT     $D1

        OUT     $E2
        OUT     $E3
        OUT     $E6
        OUT     $E7
        OUT     $E8

In addition there is a routine with builds an IN instruction routine
from a variable location on the fly in RAM and appears to call that in
a loop from ports $B2 through $BA

L0F26:  LXI     H,$F280
        MVI     M,$C9       ; RET instruction opcode
        DCX     H
        MOV     M,C
        DCX     H
        MVI     M,$DB       ; IN instruction opcode

L10BD:  LXI     H,$F2AB
        MOV     A,M
        ANI     $3F
        MOV     M,A
L10C4:  MVI     C,$B2
        CALL    L0F26
        LXI     D,$F281
L10CC:  CALL    L0F26
        ANI     $0F
        CPI     $0F
        JNZ     L10EC
        LXI     H,$F2AB
        MOV     A,M
        ANI     $80
        JNZ     L10E6
        MOV     A,M
        ORI     $80
        MOV     M,A
        JMP     L10C4

L10E6:  MOV     A,M
        ORI     $60
        MOV     M,A
        MVI     A,$0F
L10EC:  STAX    D
        INX     D
        MOV     A,C
        INR     C
        CPI     $BC
        JNZ     L10CC

More information about the cctalk mailing list