Can you point me at a site for the test program please?
Found it at
https://deramp.com/swtpc.com/Notebook/PARINT_1.pdf
Yes, so that looks correct...
A is OUTPUT.
B is INPUT.
You should have some cross-connections between the 8 bits of the A output port and the 8 bits of the B input port. There is no handshake in use at all.
The test program should wait for a keyboard character. Output it to the A output port. Read from the B input port and display the character it received.
If you press an UPPER CASE A (hex $41) you should observe the bit pattern 0100 0001 on the A output port.
The assembler listing of the test program is 'screwed up'. Hopefully, the hexadecimal bytes aren't!
EDIT:
The hexadecimal bytes look better than the assembler next to it! The assembler is rubbish!
Port A is set to an OUTPUT.
Port B is set to an INPUT.
Port A control is setup for no interrupts and no handshaking.
Port B control is setup for no interrupts and no handshaking.
LOOP:
The MIKBUG or SWTBUG console character is read.
The ASCII value of the character just read is output to port A.
The loopback connector should wire the outputs from port A back to the inputs of port B.
Port B is read.
The resulting register value from port B is output as an ASCII character to the MIKBUG or SWTBUG console.
GOTO LOOP
Just out of interest - you haven't got your terminal configured for half duplex have you (i.e. to echo the character you enter)? If you have, the 'A' will be the echo and the next 'funny' character will be from the MP-LA (possibly)?
Cheers,
Dave