What makes a KIM-1 a KIM-1 and what a clone must minimally have
- 6502 CPU at 1 MHz
- 2x 6530 RRIOT, one devoted to KIM-1 ROM usage, one free for user)
- 1K RAM $0000 up
- 1K ROM with KIM (bit banging serial, scanning and LED and keyboard in loop, monitor program, single step
- 1K ROM with Tape read/write (this needs timer in RRIOT)
- 6 seven segments LED
- 23 key keypad, matrix
- TTY interface and audio cassette interface with logic ports controlling it
- Memory map with I/O in $17XX , RRIOT RAM in $17XX, so other RAM has gap between $1400/$1600 and $2000
- Single step circuit using NMI
- Default unexpanded memory map, so the 16 pages overlap (K0-K7 decoding to $K pages) or are fully extended with external hardware.
- Fully extended needs care of RESET/NMI/IRQ vector locations
- Expansion connector (mostly CPU and decode signals)
- Application connector (mostly the second RRIOT).
I have looked at what I have as KIM clones (the PAL-1, the MicroKIM, The Corsham KIM CLone Rev 3 and 5) and the MOS KIM Reproduction to come up with suggestions for a PAL-2.
The PAL-1 and MicroKIM are nearly identical and excellent designs. The first real usable version of KIM cloning based upon the work by Ruud Baltissen.
The Corsham KIM Clone is a bit different and less KIM-1 compatible (missing logic for tape, the ROM has changed), but well usable and designed with expansion via motherboard and cards like prototyping, VIA/ACIA, mass storage on SD.
The MOS KIM Reproduction by Dave Williams is a real complete KIM-1! You have to look twice to see a difference and looks beautiful too.
The only innovation is the use of the 6532 in stead of the 6530.
Suggestions on PAL-2
Motto: make it a real and complete KIM-1 in functionality!
- keep the logic as is, it is now as close tot he original KIM-1 as is possible, so do not leave out anything
- keep the KIM ROM original, any changes may break programs
- keypad needs better keys (labels on top)
- use a switch for TTY/Keypad selection
- integrate the second 6532 on board (which will lead to an expansion connector)
- optional the audio circuit could be onboard, though the external board is perhaps good enough
- replace the 8K RAM with a large SRAM like 628128, and have the PAL-1 have fully RAM extended on board
- Leave the Expansion port as is, so we can use the current motherboard and cards
- Add an application connector (also 40 pin) with all missing signals from the KIM-1 application and expansion connector
- Add jumper to allow the WDC65C02 CPU (BE signal)
- make the PCB pads for the transistors big, it is the most difficult part of putting the kit together
- make the TTY interface TTL compatible, so attaching USB serial is easy. Leave out the RS232 part (which the KIM-1 also does not have!)
- optional have LEDS on the RX/TX lines
- enough jumpers to choose memory layout (fully expanded etc)
- use EEPROM for the KIM-1 ROM
- option ROM 8K (not EPROM but EEPROM) at high memory
- use USB-C connector for power, a mechanically stable and reliable and future proof
- optional board to connect PAL-1 connectors to KIM-1 type edge connectors, rerouting all signals. I doubt it will be used a lot, but it makes it a real KIM-1!
The current motherboard and cards will remain usable as the expansion connector is identical.
A new motherboard connected to application and expansion port:
- Double row of connectors.
- Accepts the current boards, so it is upwards compatible.
Suggestions for new cards:
- an option board for prototyping on application and expansion
- an option board with 68B50 serial ACIA and 2x VIA 6522