KIM-1 keypad replacement
Category Archives: 6502
Dual 6532 adapter board
Dual 6532 adapter board
Replacing the 6530 with a 6532 and ROM and some glue logic is a well known method nowadays.
Eduardo designed a PCB that replaces both 6530-002 and 6530-003 on a standard KIM-1 and of course his replica with a PCB that fits in the IC sockets of the 6530’s. That makes a KIM-1 completely operational!
See this github page for the design.
See also:
Part 4 Sorbus runs Wozmon, Apple 1 Basic, MCP
Sorbus computer part 3: the hardware
Sorbus computer (part 2)
The Sorbus computers
KIM-1 projects by Eduardo Casino
Since early 2023 Eduardo Casino develops KIM-1 hard- and software. His goal is to replicate as much as possible the original hardware, and make it work. His journey started with an exact KIM-1 Replica.
On this page I present his designs (state of July 2024, the journey has not ended yet, so keep looking at all open hard- and software on github.
My first encounter with Eduardo Casino was this topic on the German forum64.de forum in early 2023
If you do not read German: Eduardo, from Madrid, Spain!, announces his project to replicate a KIM-1 Rev D with the exact layout and look and feel as the original, using hires photos, Inkscape and Kicad.
This is not the first KIM-1 replica, as you can see here. What makes this replica special is that it is an exact PCB
replica. With curved lines! Other replicas may have the same dimensions and look and feel but use the straight modern PCB lines design.
He set a high standard and het continues to amaze us with hardware designs and software around the KIM-1. read all about on the follwing pages:
MTU replicas and additions
K-1013 Floppy Disk Controller replica
KIM-1 Motherboard for MTU Cards
KIM-1 RAM/ROM Expansion Board for the MTU Backplane
KIM-1 Programmable Memory Board for the MTU Backplane
CP/M-65
Version for the K-1013
KIM-1/PAL-1 version
KIM-1 Software
K-1008
XKIM
1541 OS
See also:
Part 4 Sorbus runs Wozmon, Apple 1 Basic, MCP
Sorbus computer part 3: the hardware
Sorbus computer (part 2)
The Sorbus computers
How to Build a Computer-controlled Robot
Another book scanned and available on the Books page:
How to Build a Computer-controlled Robot (with a KIM-1) by Tod Loofbourrow, written when he was 16!
See also:
Focal-65 V3D for TIM and KIM-1
John Bell Engineering catalogs
New KIM-1 info and more
KIM-1 Simulator simple demo
Promax MI-650 images, EPROM dumps, information, sources
A Spanish firm developed a 6502 trainer, an SBC inspired by the KIM-1. Hexadecimal keyboard, 6 LED displays, I/O to experiment with. Assembled system, boxed, high quality components like mechanical keys. Aimed at education.
On the Promax MI-650 page you find:
- Introduction to Promax MI-650
- Manuals
- Monitor EPROM images and sources
- Images of MI-650, MI-650B, MI-650C
- MI-650 video demonstrations
- MI-650. 6502, 6532 for keyboard/LEDs/audio cassette, 6522 for user I/O, 2×2716 EPROM, 2x2K SRAM. PCB fingers edge connectors for expansion.
- MI-650B. equal to the MI-650, more convenient expansion connectors.
- MI-650C, a redesign, same dimensions and layout, with more modern components, like 65C02 CPU, larger EPROM and 65C22 for keyboard and LED.
All three share the same monitor program, patched for the MI-650C to use the 6522.
Updates for various sources, motivated by the find of Jose Vicente Marques Vidal of four MI-650s and our attempt to make them operational again (missing EPROMS mostly).
See also:
Focal-65 V3D for TIM and KIM-1
John Bell Engineering catalogs
New KIM-1 info and more
KIM-1 Simulator simple demo
I build a RC6502 SBC
I build a RC6502 SBC and a backplane. A kit is available at Hein Pragt’s webshop.
Nice build, work fine. I now have a real Apple 1 (replica), the A-One and Briel Replica 1 and this Apple 1 clone!
My experiences here!
See also:
Focal-65 V3D for TIM and KIM-1
John Bell Engineering catalogs
New KIM-1 info and more
KIM-1 Simulator simple demo
RC6502, an Apple 1 clone
On this page my experiences with an Apple 1 clone, my third! Build as kit, a nice experience and another 6502 system in the house.
I start with describing building the kit and getting it to work, last running some Apple 1 programs.
RC6502 Apple 1 SBC
My third Apple 1 clone! A-One, Replica 1 are the other two. Same principle: the computer part is identicl tot the Apple 1 (with modern RAM and ROM), the videopart is eplaced with a processor, this time the Arduino Nano.
The RC6502 SBC shown here is a part of the RC6502 system. First it was a variant of the RC2014 design for the 6502 instead of the Z80: a simple backplane and small single purpose cards such as CPU, RAM/ROM etc. Cheap, easy to build and debug.
Blog here, archive on github here.
The last card developed is an SBC which can be used standalone, but also with the backplane enhanced with other cards in the RC6502 system.
I built this card with the backplane with the (long term) plan to develop my own 6502 bus based system.
I bought a kit from my Dutch retro friend Hein Pragt. He has a webshop with rare retro parts, such as required for the RC6502.
The kit has all you need, The EEPROM is already programmed.
Quite a lot of solderpoints, the backplane is made up of 5 39 pin connectors, the SBC itself with IC sockets.
A good PCB and BOM and an excellent documented github website helps you to do a nice job to put it together.
You can see ath the photos above it has many jumpers to deactivate on board resources such as RAM or ROM. The correct setting is shown in the photo, the documentation describes the settings but lacks pictures.
Program the Arduino Nano
The Arduino Nano comes without the RC6502 sketch, But the source is available on the github.
I compiled the RC6502 sketch for the Nano with the Arduino IDE, instructions below for the Windows version 2.3.2. Any version since 1.8 will do afaik.
You need the sketch pia_communicator from the RC6502 github software and the Majenko MCP32S17 library.
I made a small change to the sketch (allow lowercase to be entered, so you must use CAPS Lock on your terminal emulator, to use it in 6502 code write your own Get Character routine, in map_to_ascii commented out)
- Unpack the archive and place pia_communicator.ino and MCP23S17 Majenko library in {Documents}/arduino and get at least
C:\Users\hanso\Documents\Arduino\libraries C:\Users\hanso\Documents\Arduino\pia_communicator C:\Users\hanso\Documents\Arduino\t.txt C:\Users\hanso\Documents\Arduino\libraries\MCP23S17 C:\Users\hanso\Documents\Arduino\libraries\MCP23S17.cpp C:\Users\hanso\Documents\Arduino\libraries\MCP23S17.h C:\Users\hanso\Documents\Arduino\libraries\MCP23S17\src\MCP23S17.cpp C:\Users\hanso\Documents\Arduino\libraries\MCP23S17\src\MCP23S17.h C:\Users\hanso\Documents\Arduino\pia_communicator\pia_communicator.ino
- Start the IDE, open pia_communicator.ino
- Select Arduino Nano as board
- Connect the Arduino (may stay onboard the RC6502, leave the optional power of the motherboard off) and select the COM port
- Compile and upload to the Arduino Nano
- Save the sketch if changed and exit Arduino IDE
For your convenience: here my archive with the files mentioned above.
Run with Tera Term
I use Tera Term on Windows and Minicom on Linux to talk to SBC’s like the RC6502.
The RC6502 (the Arduino Nano) uses serial communication, the Nano appears as COM/TYY port. 115200 baud, 8 bit, one stop bit. no parity.
To upload programs (in ‘woz’ format) one needs to give the slow 6502 some time to deal with the incoming data.
That is done with character and line delay. What works for me is shown in the next figure.
First run: WOZ monitor, Apple 1 Basic, Ken Wessen’s Krusader as present int eh EEPROM.
Conway’s Life
A small program to test the RC6502. Contributed by Hein Pragt in the examples of his Apple 1 Emulator
Needs to set the Retro Term to 40×24 screen!
EHBASIC
To give the board a good test I selected a large program, a descendent of Microsoft 6502 Basic: EHBASIC by Lee Davison.
Chris Hill played around with Jeff Tranters EhBasic source for the Replica 1 and got it to load on the RC6502, He generated a woz file to load it over the serial terminal.
It takes some time to load with the required delays in character and line routines (see Tera Term section) but it works!
Memory test
A memory test from here, archive with code and source here.
Hello World
280:A2 C BD 8B 2 20 EF FF CA D0 F7 60 8D C4 CC D2 CF D7 A0 CF CC CC C5 C8
See also:
Part 4 Sorbus runs Wozmon, Apple 1 Basic, MCP
Sorbus computer part 3: the hardware
Sorbus computer (part 2)
The Sorbus computers
Elektor Junior ASSM/TED
MAE ASSM/TED for the Elektor Junior
Adapted version for the Junior of the KIM-1 MAE. Adaptations from the KIM User Club in the Netherlands, distributed also by the Dutch importer Ing Bureau Schroder.
Here the unchecked binaries and sources from a cassette that came with a Junior. Author and origin unknown.
The sources, though called 65C02 are the (original?) sources of MAE for the Elektor Junior. They were the base for the source reconstruction of the KIM-1 and SYM-1 versions.
Labels look original, not much comments, no copyright nor other information.
Besides some extra table entries for LDA only 6502 support.
CW MOSER JUNIOR adaptations to KIM-1 version | |||
ElektorJunior ASSM/TED MAE binary versions | |||
MAE CW MOSER 65(C)02 sources in MAE/RAE format for Junior |
See also:
Part 4 Sorbus runs Wozmon, Apple 1 Basic, MCP
Sorbus computer part 3: the hardware
Sorbus computer (part 2)
The Sorbus computers
KIM-1 Macro Assembler Editor
I bought MAE in 1980 for Use Schroder, Ingenieur bureau Schroder, as a package for the KIM-1. As did some friends in the KIM User Club in the Netherlands. The manual and the binary on this page have survived. And it still runs on the KIM-1 (Simulator).
I never really used MAE then. The MICRO ADE package was perfectly adapted to the KIM-1, especially the use of two computer controlled audio cassette drives and easy to use.
Both MAE and MICRO ADE were using non-standard 6502 assembler syntax, so no advantage there also. The biggest failure for me was not using KIM-1 tape format for sources and object code, but the Fast Cassette solution. So I and others put it aside.
Manuals, articles, notes
Sources and binaries
Reconstructed source by me of Eastern House Software, Carl W Moser, ASSM/TED Macro Assembler and Text Edit, MAE, adapted for the KIM-1
Based upon original binary dumped in 1980 by me, Hans Otten, to tape.
The source is typed in by me, starting with the disassembly and the CWMOSER.TXT (from an Elektor Junior tape) and the Fast Cassete source file as comment source.
The resulting binary is identical to the tape dump.
The binary original “CW MOSER assmted.BIN” runs on the KIM-1 and the KIM-1 Simulator
Load at $2000, start at $2000
Note: The KIM-1 Simulator has on the console window a right click menu, choose Add LF to CR.
Source and binary of MAE for the KIM-1 |
A small demonstration
Here some screenshots of a small demonstration of using MAE to develop software, without the need for tapes.
The assembler directive .OS is teh key for letting MAE store the assembled code in memory. BRK to enter the KIM-1 monitor, warm start to return.
Works pretty good! The last two images of the KIM-1 Simulator show how to look ‘behind’ at what is happening
See also:
Part 4 Sorbus runs Wozmon, Apple 1 Basic, MCP
Sorbus computer part 3: the hardware
Sorbus computer (part 2)
The Sorbus computers
MAE ASSM/TED CW Moser
MAE (Macro Assembler Text Editor) or ASSM/TED is a program sold by Eastern House Software for the KIM-1, Apple, PET, C64 and more 6502 based machines.
RAE was the name by Synertek for MAE, as ROMs for the SYM-1 which could be installed to add the Resident Assembler/Editor (RAE). Synertek contracted Eastern House Software to port their Macro Assembler/Editor (MAE) into an 8 KB ROM. AS you can see in the reconstructed source, the adaptations were not much more than adding the SYM-1 I/O such as character I/O and tape handling, the essence of MAE stayed as RAE. It was not that popular in the SYM-1 world, even Synertek used internally another assembler, with more MOS Technology compatible syntax.
The author of MAE and RAE, was Carl Moser. MAE was sold in various forms not only for the KIM-1 and SYM-1 but also for other 6502-based computers including Commodore, Atari, KIM, and Apple and in the Netherlands the Elektor Junior. Other forms of MAE included a cross assembler for 6800 and 8085.
Carl Moser and JR Hall were founders of Eastern House Software, the company that created several products for Atari 8-bit users, including Monkey Wrench and Monkey Wrench II, and the KISS word processor.
On topic on this site are the preserved KIM-1, SYM-1 and Elektor Junior versions. I have binaries, manuals and (reconstructed) sources for these versions for download.
Note that the manuals for the SYM-1 RAE are well written, and a good addition for the manuals of MAE.
On this page:
Catalogs and flyers Eastern House Software
Eastern House Software Catalog | |||
Eastern House Software Dealer Brochure | |||
EHS catalog 1985 | |||
EHS catalog | |||
EHS flyer | |||
EHS Gazette 1981-03 |
PC commandline tools to manipulate MAE/RAE files
To get text into and out of the ASSM/TED program on the 6502 computer to the PC world,one can use several methods.
Written in Freepascal. Sources included, can be compiled in Linux etc.
The first method is using a terminal emulator and upload a text file or catch the output of the ASSM/TED program.
That gives some problems, mostly related to missing line numbers, or too much blanks.
Strip Blanks
The output of ASS/TED to the screen contains many blanks. When you want to uplaod the captured output, those blanks have to go
D:\myfiles\MAE\PC tools>StripblanksMoser.exe V1.0 Strip blanks from captured ASSM/TED Moser source file V1.0 Hans Otten, 2024 Syntax: StripBlanksMoser <sourcefile with blanks> <output source file to upload to ASSM/TED> [Y] Y to overwrite outputfile without question asked
Add numbers
When you have a MAE/RAE source file without numbers, you can add those with this utility, increment of 10.
D:\myfiles\MAE\PC tools>AddNumbersMoser.exe V1.0 Add numbers 0001-9999 to source file to make a ASSM/TED Moser source file V1.0 Hans Otten, 2024 Add numbers 0001-9999 to ASSM/TED Moser source AddnumersMoser <sourcefile without numbers> <output source file with numbers> [Y] Y to overwrite outputfile without question asked
The other method is to dump or upload the text buffer as memory binary dumps.
Text is stored in memory as:
e.g.
the text
10 test
is stored as:
00 10 20 74 65 73 F3
RAE to TXT
Converts a binary MAE/RAE file to an ASCII text file without line numbers and normal line end
D:\myfiles\MAE\PC tools>RAEtoTXT.exe V1.0 Convert a ASSM/TED Moser RAE memory dump to text file V1.0 Hans Otten, 2024 RAEtoTXT <sourcefile memorydump> <output text file [Y] Y to overwrite outputfile without question asked
TXT to RAE
Converts a text file to binary RAE format, with line numbers.
D:\myfiles\MAE\PC tools>TXTtoRAE.exe V1.0 Convert a text file to ASSM/TED Moser RAE memory dump V1.0 Hans Otten, 2024 TXTtoRAE <textfile > <output memorydump file [Y] Y to overwrite outputfile without question asked
How to dump or upload the the MAE/RAE text buffer
Dump
Start ASS/TED and add some lines
C 1979 BY C. MOSER 4163-53FC 5400-5EFC 5F00 4163 5400 >10test >20 lege regel >set 4163-53FC 5400-5EFC 5F00 4176 5400
Current (4176 in example above is to be stored at D3 (low), D4 (high))
BR to the KIM monitor and save 4163 to 4176 to a file, remember the end address, add that to the filename!
Upload
– Start ASSM/TED and BR to monitor
– Load the text file, place the end address in D3 (low), D4 (high)
– Enter ASSM/TED via the warm start at 2003 (KIM-1) or B003 (SYM-1)