KIM-1 TTY I/O, no echo, non-blocking, deaf

A page on suppressing the KIM-1 echo of TTY input, read non-blocking and make the TTY input deaf.

Problems with the KIM-1 TTY character input

  1. The KIM-1 hardware is hardware echoing incoming serial characters to the output, no echo in software involved, so you cannot influence what appears on screen. Very annoying!
  2. The KIM-1 GETCH routine is blocking, no way to check for a character coming in, like a Break. waiting.
    Also quite annoying if porting other software to the KIM-1 or you want the program interruptable.
  3. While a program is running something CPU intensive and you type something the program is not really waiting for, the characters appear on screen. Because the KIM-1 does hardware echoing of TTY input, this is unavoidable it seems

Here I present solutions for these problems in software, made possible by the genius hardware design of the KIM-1 TTY I/O.
You can have serial input wihout echo, non-blocking and even make the TTY input deaf for unwanted input.

Are they perfect? Maybe not, it is still bitbanging the incoming serial signal. It can miss the correct starting point for the incoming character bit stream.
If you want a perfect solution, you will need interrupt driven ringbuffered serial I/O with a dedicated IC like the 6850, 6511 etc.
Without this extra hardware you can achieve acceptable results with these routines.

Settings 2.3.1

Correct KIM-1 monitor source

Many sources of the KIM-1 monitor are floating around. All typed in from the user manual, most are not identical to the original text. None deliver the real KIM-1 ROMs, they fail with filling unused bytes with FF. And the text and comments are incomplete, wrong or made up.

So in June 2026 I have typed in the source of the KIM-1 monitor as it is listed in the User manual. Every line has the same line number, all text including comments is as in the paper listing. The listing is also paged as the original. Converted to a modern MOS Technology assembler format (I used TAS32), that delivers the exact ROM binary (including those 00 filler bytes!) as dumped from the real 6530-002 and -003 by me.

KIM-1 Monitor source, listing and binaries and TASM32 archive


More on the KIM-1 ROMs here.

MOStermind


MOStermind is an implementation of the Mastermind board game for the KIM-1 computer.
Developed by HKZ.

It’s written in 6502 assembly using DASM assembler and MAME as developing tools.

You can download it here

How to play

The game follows the basic rules of mastermind: the codemaster generates a hidden code and you have to guess it in a limited number of tries, while the codemaster gives you a report on how much you got right for each guess.

The codes are be composed by 4 symbols, each symbol can be one of the following 8 characters: `A`, `B`, `C`, `D`, `E`, `F`, `G`, `H`. Note that a character appearing multiple times in a code is perfectly valid.

After you type in the 4 character code and press `RETURN`, the codemaster will analyze your guess and report the result using 4 symbols:

– `O` indicates that one symbol is both the right character and at the correct spot
– `*` indicates that a symbol is a character that appears in the code, but is in the wrong place
– `.` Indicates that a character is not present at all in the code

Note that these are **NON POSITIONAL**, and they’re just shown in order of precedence: first `O`, then `*`, then `.`. They bear no information on which of the characters is right. You’ll have to find that yourself.

In case you want to cancel a guess before submitting it (to avoid wasting a try), you can press `BACKSPACE`. The guess submission will be aborted, no analysis will be performed and you’ll be able to submit a new guess.

Does it run on the KIM-1 Simulator? YES!

You only have to set the FOCAL_V3D break setting in the Settings.

338-6503 Rockwell, a R65C02 with an obscure number

I saw an advert on bey (China seller) for a Rockwell 6503 IC. The 6503 is a variant of the 6502 with limited number of pins to 28, the same 6502 core with less addressing space.
But something in the advert made me wonder, a 40 pin 6503?

I ordered one and indeed a 40 pin IC appeared. So this is not a 6503!
Then I searched the internet for the 338-6503 printed on the IC and found references to it being a R65C02.
And indeed, the 6502 testers recognized it as working 65C02. Weird!
The ‘6503’ was found in Apple IIe and Apple IIc computers.

R6500/1EC Microprocessor Emulator Device

A R6500/1EC IC. A beautiful white version. Week 40 1980, NMOS.
The R6500/1EC is a development IC for the R6500/1 microcomputer family.

Rockwell R6500/1 family

The R6500/1 is a 6502 , ROM (2K) 64 bytes RAM ,4×8 bit I/O, a 16 bit timer with I/O pin.
The ROM contents are factory mask-programmed, not programmable by the user.

This makes it a standalone microcomputer, no extra RAM/ROM or decode logic required.

There are no external address lines or data lines, the 6502 is all internal except the interrupt lines and clock.

Rockwell R6500/1EC

To develop applications with the R6500/1 Rockwell developed the R6500/1EC. This IC has the same pins as the R6500/1 but adds address and data lines and relies on an external ROM.



Downloads

R6500/1 One-Chip Microcomputer
R6500/1E Microprocessor Emulator Device
R6500/1 Microprocessor Programming Reference Card

R6500/1EC Microprocessor Emulator Device

I acquired a R6500/1EC IC. A beautiful white version. Week 40 1980, NMOS.The R6500/1EC is a development IC for the R6500/1 microcomputer family.

Rockwell R6500/1 family

The R6500/1 is a 6502 , ROM (2K) 64 bytes RAM ,4×8 bit I/O, a 16 bit timer with I/O pin.
The ROM contents are factory mask-programmed, not programmable by the user.

This makes it a standalone microcomputer, no extra RAM/ROM or decode logic required.

There are no external address lines or data lines, the 6502 is all internal except the interrupt lines and clock.

Rockwell R6500/1EC

To develop applications with the R6500/1 Rockwell developed the R6500/1EC. This IC has the same pins as the R6500/1 but adds address and data lines and relies on an external ROM.



Downloads

R6500/1 One-Chip Microcomputer
R6500/1E Microprocessor Emulator Device
R6500/1 Microprocessor Programming Reference Card

The 6500/1 has been used for example in the AMIGA 1520 Plotter. I found this image on ebay:

Commented source of UPS-65 Thaler SBC

Ian day published the commented source of the UPS065 monitor.

KIM-1 Simulator V2.3.0

Again Eduardo Casino has enhanced the KIM-1 Simulator V2.3.0 after adding the K-1103 and Corsham SD-Shield with CODOS and CP/M-65 operating system in V2.0:

Version 2.2 and 2.3:

– The Console has now a complete VT100 emulation with color and the DEC Special Character set
– The console supports cut and paste text with the mouse (very handy to dump a papertape into the KIM-1)
– The K-1008 Visable Memory emulation has become blazing fast
– All settings are saved between sessions

Jolt replica

The 7427 and the white 6502 have arrived and are showing off in the time period correct Jolt replica.

KIM-3B added to my collection

A KIM-3B is a 8K bytes memory expansion made by MOS Technology (already part of Commodore then) for the KIM-4 motherboard.

I recently acquired a good looking KIM-3B myself. Nothing new, all is already known about it. Now with photos made by myself!