On Sat, Jan 14, 2017 at 12:01 PM, Adrian Graham <wit...@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 PCHL 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 RET