KIM Clone software

Applications

Look at the KIM-1 software page for a wide offer of KIM-1 software, suitable also for the KIM Clone.

KIM Monitor

The Corsham variant of the KIM Monitor is for the most part made up of the code in the 6530-002 ROM. The 6530-003 (audio cassette save/load) ROM was removed.
Placed in the main ROM of the KIM Clone.

List of changes to the original KIM-1 ROMs:

  1. Removal of the (6530-003) code to save/load from cassette tape.
  2. Lunar Lander (First Book of KIM) added.
  3. Farmer Brown (First Book of KIM) added.
  4. New X command from TTY to enter the Corsham Technologies xKIM extended monitor.
  5. L command also loads Intel hex file (from input, send file in terminal emulator, like you can do with papertape files)

There is no technical reason why you could not load the original KIM 6530-002 and 6530-003 ROMs into the KIM Monitor EPROM. The Corsham KIM Monitor is a bit more convenient.

Source of Corsham KIM Monitor

xKIM Monitor
Placed in the extra EEPROM

Extra commands in teletype mode.

  ? ........... Show this help
  D ........... Disk directory
  E xxxx ...... Edit memory
  H xxxx xxxx . Hex dump memory
  J xxxx ...... Jump to address
  K ........... Go to KIM monitor
  L ........... Load HEX file
  M xxxx xxxx . Memory test
  P ........... Ping disk controller
  T ........... Type disk file
  ! ........... Do a cold start

Source of Corsham KIM Monitor
a>

Corsham eXtended KIM Monitor Manual
Source of Corsham KIM Monitor

Microsoft 8K BASIC
Download the original KB9 binary, dumped from official Micro-soft (no typing error, original name!) cassette audio tape, and documentation from this site.

Or build your own version from the pagetable blog (for which my KB9 was the KIM-1 version as input!) Install the CC65 package, then run the make.sh command, then look at the file tmp/kb9.bin, You’ll need to convert that raw binary image to a file suitable for downloading to the KIM, see the KIM-1 tools for a utility. All of these needs at least 12K of RAM starting at $2000 in the KIM-1

Binaries of KB9

Here is a file suitable for downloading onto a KIM-1. It loads at $2000 but to run it you’ll need to start at $4065. Use the L command in KIM-1’s monitor, then upload the file. I strongly suggest that you change your terminal emulator so it adds a 200 ms pause at the end of each line. Once it loads, run it by going to 4065 and running it.
4065 G
To see the easter egg, answer “A” when it asks for memory size.

Original KIM-1 Microsoft BASIC KB9

This is still experimental but I have a version which uses functions in the xKIM monitor (present on the KIM Clone or on the 60K RAM/EPROM board) to save/load from the SD Card System. It also has a DIR command. This is an Intel HEX file and must be loaded from the xKIM “L” command:

Download hex file xkim

This loads and runs at $2000.

Tom Pittman’s Tiny BASIC
Tom distributed a very small BASIC that needed about 3K to run, and was available on paper tape for $5!!! He has quite a bit about it at:
http://www.ittybittycomputers.com/IttyBitty/TinyBasic/

Here is the source code, listing, and binary to my disassembly which includes a lot of comments and notes from Tom Pittman:
Tiny Basic source
Tiny Basic listing

A ready-to-run binary which loads at $0200 and should have RAM up to $13FFL
Tiny Basic hex file

Bob’s Tiny BASIC
by Bob Applegate

All the early issues of Dr Dobb’s Journal discussed using using an intermediate language (IL) to write a general interpreter, then writing a BASIC interpreter using the IL language. Nobody used this except for Tom Pittman. I liked the idea and about five years ago wrote my own BASIC using that approach. It is buggy, but the sources are on the Corshams github so anyone can take them, hopefully debug things, and put fixes back in place. My version also has commands to save/load programs to/from a Corsham Technologies’ SD Card System.

Source and documentation of Bob’s Tiny Basic

And a binary version that can be run starting at address 0200

AS65 assembler

The software above was assembled with the AS65 Kingwoods assembler, a command line utility for Windows (including 10).

Download here AS65

A typical build for a bianry and hex output would be:

REM Build xKIM
as65 -l -s2 xKIM.asm
as65 -l xKIM.asm

Type “as65 ?” for help

Memory Test

by Bob Applegate
This memory test was originally based on Jim Butterfield’s memory test program in the First Book of Kim, but has grown a bit. This now tests every memory location using a rolling 9-bit pattern. Ie the pattern repeats every 9 bytes, so this will detect most shorted address line problems. I use this to test memory boards, so it will run forever unless an error is detected. At the end of each pass, a ‘.’ is printed.

This does output to the TTY port, so if you’re only using the default KIM display, the output functions will need to be tweaked. Not hard to do, but I didn’t need it.

Written February 2006 by Bob Applegate, but it uses some bits of code from Jim Butterfield, and Ross Archer
Memory test soource and hex file

Microchess Peter Jennings
Adapted for KIM clone by tennyson.neil

Source and hex file Microchess for the KIM clone

post

Corsham KIM Clone peripherals

KIM Clone Motherboard

KIM Clone Motherboard User Manual
KIM Clone Motherboard schematic

KIM Clone Proto Board

KIM Clone Proto Board User Manual

KIM Clone I/O board

KIM Clone I/O Board Manual
KIM Clone I/O board Rev 3 Schematic

KIM-1 I/O Board

KIM-1 I/O Board Manual
KIM-1 I/O Board schematic

KIM-1 60K RAM/ROM Board

KIM 60K RAM ROM Manual
KIM 60K RAM ROM Schematic
post

KIM Clone information

KIM Clone User Manual Rev 2
KIM Clone Rev 2 Circuit Diagram
KIM Clone User Manual Rev 5
KIM Clone Rev 5 Circuit Diagram
Building a KIM Clone, Tech tips

Fix for KIM Clone Single-Step Problem

Rev 1B and rev 2 boards have a problem where single-step mode does not work. It works for old 6502s but not for newer ones nor 65C02. The solution was very simple: add a .001 uf capacitor across U16 pins 7 and 8. All assembled KIM Clones now have the modification and future revisions of the board will have the capacitor on the motherboard.

post

Corsham SD card system

SD Card System.

This is a two board system that provides a very inexpensive, flexible, and long-lasting storage option for our KIM Clone , SS-50 based designs, or almost any third party system.

The main board is the Corsham SD Shield. It plugs into an Arduino Mega and provides for insertion of a micro SD card, and also includes a DS3231 based real time clock (RTC). The Arduino does the hard work of providing an interface between the host processor (6502, 6800, 6809, etc) and the SD card and RTC. It connects to the host via a ribbon cable.

The board also contains three LEDs used for status, a RESET switch, a four position DIP switch, a DS3231 RTC, backup battery, and it maintains the Arduino Mega headers so additional shields can be placed on top. Since the source code is available you can add additional drivers for whatever shields you add. Want to add an LCD shield that displays which files are mounted? Just plug in the shield and modify the user interface class in the source code. Only one of the DIP switches has a defined purpose, so the rest are free for you to add your own logic.

The protocol between the host and the SD Card System is completely defined in The Remote Disk Protocol Guide available for download below.

The source for the Arduino Mega is also available for download.

SD Card System manual
SD Card Schematic
SD drive Arduino November 2020 source
SD shield tester, set RTC time source Arduino
The Remote Disk Protocol Guide
6502 routines for KIM-1 low and high-level disk access
Also see xKIM extended KIM Monitor
post

KIM-1 clones and replica’s

The KIM-1. my first computer. Still have it, and it is still operational.

But I fear to use it for experiments and daily use, it is too valuable for me.

So I invested in KIM-1 clones and replica’s:
– Micro-KIM by Vince Briel
– KIM Clone by Bob Applegate, Corsham Technologies
– MOS KIM-1 Reproduction by Dave Williams
– KIM Uno by Oscar Vermeulen

Each has it advantages. And not all are still for sale.
Corsham is till in business and has an awful KIM Clone, with motherboard, I/O card, experimenters board and SD file system. A real enhanced KIM-1 on real KIM-1 hardware.
The KIM Uno is also available, affordable,now an emulator on an Arduino, soon on ESP32. Fun to have a KIM-1 look and feel.

All are documented on the KIM-1 replica’s and clone page.
KIM replica’s and clones



KIM-1 replica’s and clones

I have several KIM-1 replica’s or clones, and there are more available.

For me a KIM-1 Replica/clone needs a KIM-1 keypad and LED dispaly, a serial TTY interface, and the original KIM-1 software. Some have a layout close to the KIM-1, others look different, but all are functionally equivalent.

The CPU is of course a 6502 at 1 MHz crystal clock frequency. And they have at least the KIM-1 ROM 6530-002, the keypad/LED/TTY monitor.

Since 6530 RRIOT ICs (the 002 and 003 variant) are not available anymore, the same solution as in the other clones is chosen: a 6532 RIOT with a 2K EEPROM and some logic ICs (3) to get a hardware solution that makes it look exactly the same for the KIM-1 ROM software. The PCB is mostly a new design, not the typical 70ties KIM-1 rounded lines PCB design (except the KIM-1 Nachbau and the accurate reproduction by Eduardo Casino).

All this started with a design by Ruud Baltissen, who found out how the 6530 can be replaced with a 6532.

The result is great: it feels, looks and operates as an original KIM-1 with hex keyboard and LED display and TTY serial interface.
First Book of KIM programs run, All KIM-1 software runs, Microsoft KIM-1 Basic and Microchess run, when additional RAM is connected.

Corsham KIM Clone

MOS KIM reproduction

KIM Uno

Micro-KIM

PAL-1 a clone, can be expanded with motherboard, second RIOT, RAM, ROM, Cassette interface

Nachbau KIM-1

KIM-1 Reproduction by Eduardo Casino

KIM-1 MTU baords by Eduardo Casino

Photos by Peter Offterdinger of ralf02 KIM clones and MTU backplane and K-1013 Visable Memory

MTU backplane and K-1013 Visable Memory display designed by Eduardo Casino


post

Apple 1 Replica’s

I have two Apple 1 Replica’s, the Vince Briel Replica 1 SE and the Achatz A-ONE.
Both have a 6502 and a 6821 and the original software. Video generation sid one in a affordable modern way, so not real clones.

Fun computers to work with, the first ‘personal computer’ in a very primitive format!

Pages with information on teh Apple 1 and these Replica’s

Pocketerm

The PockeTerm is a 4″ X 2.5″ single board terminal that uses a VGA monitor and a PS/2 keyboard for its input and output. Dual serial ports gives the user the option of transferring data to/from a PC while still connected to the host device. This terminal was designed to work with vintage computers but is compatible with most systems including Unix and Linux systems. A low cost color choice terminal that has VT-100 compatible commands for controlling cursor and screen functions. Want to program the propeller microcontroller or install an update to the firmware? No problem, just connect the PockeTerm to your PC, run the Propeller Tools software and you can program it from your PC, no expensive Prop Plug required.

The PockeTerm has a full featured screen with Function key status at the bottom of the screen. Click on the image for a full size photograph of the screenshot.

CTRL-F1 Selects Baud Rate
CTRL-F2 Changes text color of the main display section
CTRL-F3 Turns on/off the 2nd serial port that connects to a PC.
CTRL-F4 Force incoming data to 7 bit ASCII. Strips the 8th bit, required for some systems
CTRL=F5 Change cursor type. Choose from underscore, solid block, or none. Also, choose from blinking or not.
CTRL-F6 Add line-feed to carriage returns

Documents

Pocketerm Setup and Users Manual 2009
Pocketerm Setup and Users Manual V3 2009
Pocketerm Circuit diagram
Pocketerm Bill Of Materials
Pocketerm Firmware
Pocketerm CD

PS/2 keyboards

I have succesfully assembled the kit, the manual guided me just fine through the steps. Took me just over an hour.
The PockeTerm worked right away. Thanks to mfortuna’s tip, put jumpers in 1&2 and 5&6, and testing is independent of cables and computers to connect.

A standard keyboard with PS/2 worked. What did not work was my mini-USB keyboard (standard PC keyboard without numerical pad, and smaller size, like notebook keyboards) connected via an USB to PS/2 converter. The USB keyboard is ok, works with the PC’s and the Apple 1 kits via the USB-PS/2 dongle. I bought it because the smaller size looks better with the small computers and takes less desk space With the scope I found the PS/2 clock/data line (cant remember which one), to be open, as if nothing connected. So something is missing to make the USB device come alive. I googled around and found this: http://www.parallax.com/Portals/0/Downloads/docs/prod/edu/28060-PS2Adapter-v1.0.pdf
In it I saw a schematic how to connect a Parallax mini PS/2 keyboard, and it was different from the PockeTerm PS/2 interface. It has additional 10k pull-ups connected to the PS/2 clock and data. I soldered in the two 10k’s and the mini keyboard came alive!

Program the Propeller Notes by Vince Briel

  1. Go download propeller tools from parallax here: http://www.parallax.com/Portals/0/Downloads/sw/propeller/Setup-Propeller-Tool-v1.2.7-(R2).exe
  2. Install propeller tools
  3. Place the firmware directory from your PockeTerm CD onto your hard drive here:
    C:\program files\parallax inc\propeller tool v1.2.7 (r2)\
  4. Connect your PockeTerm to the RS232 port labled PC and turn on your PockeTerm.
  5. Under the propeller tools program click on the section File and find the firmware directory you just copied onto your hard drive and select the file
    PockeTermV.905.spin
  6. Press F11 on your PC keyboard and the propeller tools will compile and attempt to find a Propeller chip connected to a serial port on your PC. If your
    connection is good it will program the RAM first on your Propeller chip then program the EEPROM.

The PockeTerm makes a really good development board for learning how to program the Propeller chip. For more information on programming the Propeller,
please visit the Parallax forums here: http://forums.parallax.com/forums/default.aspx?f=25
The above steps will program the Propeller with the code that is now resident on the EEPROM onboard the PockeTerm. Change step 3 to the location of the program you wish to insert onto the PockeTerm.








Replica 1 software and hardware articles

A collection of articles and projects around the Replica 1.

Rebus

REBUS Replica 1 Hardware Extensions
ACIA, Flash, Apple II sound
Ken Wessen
Apple II sound circuit
Replica Quick reference by Jeff Trenter
Krusader Ken Wessen’s assember IDE
Archive with many variants, sources, versions
Krusader 1.2.1 source for use with an ACIA
Applesoft Lite archive
EWoz extended WOZ monitor with hex file upload
Jeff Tranter’s large collection of 6502 articles
Micro-KIM, Replica 1, and much more. A real treasure collection, original here!

EEPROM programmer circuit (as featured on the Multi I/O board)
EEPROM circuit
Here’s a 1 chip EEPROM programmer for somebody wishing to copy their EEPROM or create their own data. In keeping with the replica 1 theme, it is a down and dirty solution requiring few connections. All the connections listed on the EEPROM go to their listed connections. A 74LS00 is all that is required to program an EEPROM.

This attaches to address A000-BFFF and is direct addressing. Simply write to the address to store the data. You should give a slight delay after your write since it takes 200ns to write a byte into an EEPROM. I do a short loop in basic

FOR I=1 TO 2:NEXT I

That does the trick. I tested this circuit out and had 0 errors when writing.

Replica 1 Cassette Interface

In 2007 Vince Briel tried to get a replica of the Cassette board, as designed by Steve Wozniak, operational. Another example of the genius Steve Wozniak, minimal hardware, 256 byte program. Two revisions, he did not have much luck with this. Reports indicate this has to do with insufficient quality of the power supply lines.

Original Apple 1 Cassette Interface Manual
A real userguide as can be found at the site of San Bergmans
Mimeo Cassette Interface and Operations Guide

Software
Archive with disassembly and source files of the Apple 1 Cassette Interface.