KIM-1 and RS-232

Topics related to older 6502-based hardware and systems including (but not limited to) the MOS Technology KIM-1, Synertek SYM-1, and Rockwell AIM-65.
Post Reply
EmbeddedBob
Posts: 9
Joined: 27 Apr 2004
Location: Southern NJ
Contact:

KIM-1 and RS-232

Post by EmbeddedBob »

I've built the simple two-transistor 20 ma to RS-232 interface circuit from the KIM-1 FAQ, but stil get nothing. Yes, I jumpered V and 21; when RESET is pressed the LEDs don't light up, so it must be looking for input from the serial port.

The documentation says to press the RUBOUT key... that's quaint. Is there any particular hex value that my terminal emulator should be sending? I've never seen a RUBOUT key on my keyboard. Would either BACKSPACE or DELETE be acceptable?

Since there is no way to debug any portion of the interface unless it all works, is it possible to use the OUTCH routine to just force characters out to make sure at least the TX logic works? I tried something like this with no success:

LDA #$1a ;time constant for 2400 baud - I think
STA CNTL30
LDA #00
STA CNTH30

LOOP LDA #'A'
JSR OUTCH
JMP LOOP

I can see the voltage fluctuating on pin 25 of U2, but the PC still sees nothing.

8N1, right?

Thanks

Bob
User avatar
dclxvi
Posts: 362
Joined: 11 Mar 2004

Re: KIM-1 and RS-232

Post by dclxvi »

EmbeddedBob wrote:
The documentation says to press the RUBOUT key... that's quaint. Is there any particular hex value that my terminal emulator should be sending? I've never seen a RUBOUT key on my keyboard. Would either BACKSPACE or DELETE be acceptable?
RUBOUT (or RUB) is the name of ASCII character $7F, also called DEL (that's the name you'll probably see on a modern ASCII chart). A BACKSPACE key will usually be ASCII character $08. Old ASCII charts, typically contain the names of the unprintable characters (i.e. $00 to $1F, and $7F).

$00 is NUL (Null)
$01 is SOH (Start Of Header)
$02 is STX (Start Of TeXt)
and so on. (If anyone is really curious I can post the whole list.)

These days, they're usually just called Control-@, Control-A, Control-B, etc. (or more succinctly, ^@, ^A, ^B, ...) which is a lot less confusing.
leeeeee
In Memoriam
Posts: 347
Joined: 30 Aug 2002
Location: UK
Contact:

Post by leeeeee »

Rubout is usually [CTRL]H or ASCII $08 ISTR.

Often seen in telex messages when someone made a cocku^H^H^H^H^Hmistake.

Lee.
EmbeddedBob
Posts: 9
Joined: 27 Apr 2004
Location: Southern NJ
Contact:

Post by EmbeddedBob »

No, I don't need the ASCII chart... I've got many copies of it. My concern was that "RUBOUT" is NOT an ASCII character, and wasn't sure it they meant BACKSPACE (CTRL-H) or DELETE (0x7f). From looking at the code, it doesn't appear the KIM really cares what the first character is, as long as there is a transition at the end of the start bit so the KIM can measure the length of a single bit.

For anyone using the KIM tty interface, what baud rate are you using and what are the values for CNTL30 and CNTH30 (17F2 and 17F3)? I might have the wrong values for trying to force output.

It appears the KIM monitor gets a start bit, 8 data bits and doesn't care about the stop bit. It then removes the MSB, which it assumes is parity. So, I'm guessing 8N1 will work?

Bob
Post Reply