Compensate for timing
The KIM-1 character routines are quite primitive and not rebust : bit-banged, not interrupt driven, no hardware handshake so no buffering and it is CPU intensive.
When you sent characters quite fast to the KIM-1 (and that means any baud rate from 1200 to 9600, and the KIM-1 also has to do some processing like storing the record just received, it is to be expected the KIM-1 will be too late reading the next record, skip a record and sync at the next and leave the program received in chaos.
So we need to give time to the poor KIM-1.
1200 baud, 20 ms character delay, 200 ms line delay is conservative but reliable for me. It is slow ..
An example for Teraterm is shown here:

RS232/TTL to the KIM-1 20 mA interface
The 20 mA current loop TTY interface of the KIM-1 may look alien. It is not, very simple to interface.
To RS-232C is requiring a negative power supply voltage (-5V – – 12V) to be reliable. Here two examples of transistor based (any general purpose transistor will work)
Using GND instead of -12V may work with some USB RS232 connectors, UGREEN types are known to work, many others are not.


My circuit, used from 1978 on. 9600 baud without issues.

From KIM Hints
A modern approach would be to use a special IC that generates the right power lines itself.
TTL USB to to the KIM-1 20 mA interface
Since this is 5V only it can be simple. The output of the KIM-1 needs an inverter (a simple transistor emitter follower will do as seen in the Corsham I/O board ) , the input can be connected straight away.
