What I do in my emulator:
- TTYIN bit 7 of $7140 returns 1: which means, no character coming in
- if CTL/C is typed in, I pull bit 7 low, to indicate a break. When $1740 is read, it is set back to 1.
- CTL/C is also delivered as input for the program to read.
Works great for all programs, including KB9, interrupting a running a program with CRL/C.
Not for Focal, that required some magic and a special setting ..
The tricks programmers had to go through to do TTY I/O and break on a KIM-1, expecting a real Teletype with tape punch reader attached.
I agree with Jim, a real serial device is such a great asset. On my wish list for a PAL- expansion board.
The ACIA's 6850 I added to my KIM-1 made it so much better responding and also much faster.
In my emulator there is an ACIA present at $1600, so my programs adapted for an ACIA work. In fact, all serial I/O is routed internally to this emulated ACIA.