KIM-5

The KIM-5 ROM board can hold 8 6540 mask programmable ROMs.
Known are the 3x 6540 Resident Assembler/Editor ($200) and 1x 6540 KIMath (50$)

On this page:


Where is KIM Going?
Richard Simpson, KIM Forum, Kilobaud 1977

One of the questions most frequently asked me was “what are the future plans for KIM?” Most KIM owners are aware that MOS offers a KIM-2 4K RAM expansion board and a KIM-3 8K RAM expansion board. Either of these can be attached directly to a KIM-1. To expand further, a motherboard (KIM-4) must be added and MOS has planned a KIM-5 ROM expansion board, which will hold up to eight MCS6504 (2K by 8) mask-programmed ROMs (the ROMs are not provided with the KIM-5 but must be purchased separately). At present, there are two sets of software which are planned for release in ROMs – KIMath and a resident assembler/editor.

KIMath
KIMath will occupy a single ROM and consists of a set of subroutines for doing floating-point arithmetic. All calculations are done in BCD to avoid the round-off errors which are inherent in binary floatingpoint routines. The subroutine user can specify the precision (in decimal digits) of any calculation. The more precision specified, of course, the longer the computation time. The package will handle a maximum of sixteen decimal digits of precision plus a two digit exponent so numbers in the range of ±1 times 10E±98 can be handled. The subroutines occupy memory locations F800-FFF8 and were written so they could be used with any 650Xbased system – not just KIM. The subroutines include code for addition, subtraction, multiplication, division, square roots, logs, exponents, tangents and arctangents. All the other trig functions can be generated through the use of trigonometric identities. A subroutine is also provided for evaluating user-specified polynomials, so any continuous function can be approximated.The KIMath ROM should be available by the time you read this. If you don’t want to pay $50 for the ROM, the Programming Manual for KIMath is available for $15 and it includes a complete listing of both source and object code. The manual also contains thirtyseven pages of information on using the subroutines, including a worked-out sample application. If you want to use the ROM but balk at paying $80 for the KIM-5 board to hold it, you’ll be happy to know that the 6540 ROM can be attached directly to the KIM address and data busses, although you’ll need a couple of extra ICs to send the right signal to the KIM-1 Decode Enable line. I’ll provide an interface schematic for this in a future issue of the KIM forum.

The Resident Assembler /Editor
To create any large-scale software on a microcomputer, an assembler is a necessity. Industrial microcomputer users can use the crossassemblers available on several commercial timesharing systems, but the expense of going this route is too much for any but the most affluent hobbyist. Thus, the introduction of the KIM resident assembler should facilitate user software generation and make a lot more software available. The assembler and text editor are available as a set of three MCS6540 ROMs – a total of 6K of code. The $150 which MOS charges for the set may seem exorbitant until you realize that you don’t have to buy 6K of RAM to store it in (which would cost as much or more) and you’ll never have to load it or have it clobbered by errant statements in the program you are developing. Like KIMath, the Assembler/ Editor will work on any 650X-based system. Since the program has to do terminal I/O, locations are reserved in memory page zero to contain the address of the terminal input and output routines. These locations are automatically initialized for KIM owners; users of other 6500 systems (JOLT, TIM, Apple, Baby!, OSI, etc.) can preset those locations with the addresses for the device service routines of their own system. The Editor/Assembler occupies the memory space from E000 to F7FF; thus the editor, assembler, and KIMath fit together in the top 8K of memory.The text editor is a standard line-numbered text editor; it provides much the same editing capability you would find in a BASIC system. You can enter or insert new lines, replace old lines, resequence the line numbers, dump the text file to audio cassette or paper tape, list out lines in the file, and locate lines in the file which contain any specified text string. There is also a special command (actually, any command which begins with an X) to allow you to jump to a user-written subroutine so that you can extend the editor’s capabilities to meet your own needs. Naturally, both the editor and assembler require that you have a terminal connected to the serial port on the KIM-1.The assembler is a singlepass assembler; if your source text is on paper tape or audio cassette, you only have to feed it through once. Normally your source text will be in memory and the assembled code is always written to memory. The source code, symbol table, and object code can be located anywhere in memory you wish. You may have several different source files in memory simultaneously. If you have insufficient memory space to store a large source program, you can break it into several segments, store each segment on audio tape, then bring back one segment at a time for assembly. The assembler will assemble the successive segments until it encounters an “END” statement. It will then put out the symbol table and terminate assembly. Although the editor is fairly limited (it has no capability to edit within a given line, for instance) it is quite sufficient for editing assembly language programs. The assembler is very fast and with good error diagnostics. Perhaps its only serious fault is that the printed symbol table is not sorted alphabetically and no crossreferences are given.


MOS 6540 ROM
The MOS Technology 6540 is a 16k (2KByte) ROM. Factory burned. Mask options for specification of chip select equations. 5! chip selects, requires Phi2 6502 system clock. 24 pin, very uncommon for a small ROM.
A strange and uncommon device, AFAIK only used in the KIM-5 Resident Assembler/Editor and early PET computers. Has a bad reputation, and there are many replacement solutions with standard E(E)PROMs for PET computers.
The 6540’s in the KIM-5 Resident Assembler/Editor on a KIM-5 ROM board are in an excellent condition, dumping with the Backbit Pro chip tester was very easy.

MOS Technology 6540 preliminary datasheet 1977




KIM-5 ROM board
The 3 KIM-5 Resident Assembler/Editor ROMs as placed on the KIM-5 ROM board.
Besides the sockets for the ROMs is some glue logic, 2x 74125 buffers, 2x 7485 address decoders, a 7402 TTL IC and some DIP switches.
The KIM-5 ROM board is to be placed in the KIM-4 Motherboard. The manual is not available alas.

KIM-3B

KIM-3B, a 16K memory module with 2114 SRAM ICs.

KIM-3B (Stefan Hamann)

KIM-3B (Stefan Hamann)

KIM-3B

User’s Manual Memory Expansion Module KIM-3B
User’s Manual Memory Expansion Module KIM-3B
post

SYM AIM 60K RAM board

Basic features of the board include:

Can be used on either a SYM or an AIM.
Memory selectable on 4K boundaries covering the entire 64K address space. Not all blocks can be RAM, as the SYM-1 already has up to 4K of RAM on-board, there are multiple ROM sockets, and I/O.
The top $80 bytes are not available; that area is reserved by the SYM-1.
Can allow space for BASIC or other software in ROM. My system has an 8K BASIC ROM so I did not place RAM at C000-DFFF.
Can be ordered as a bare board, a kit, or fully assembled and tested. The bare board is just that… no components. The kit includes all components and you will need to solder the parts.
The Rev 2 boards have an additional chip which works around a bug in early AIM-65 boards. We know the problem was in rev 1 and rev 0 AIM boards, and it was definitely fixed on rev 4 boards, but I don’t know exactly which revision fixed the problem. Basically the RAM_R/W signal (pin Z on the Expansion connector) had the inverted Phase 2 clock NAND’ed with R/W. The SYM and AIM were both supposed to follow the KIM standard, but Rockwell got this one signal wrong.
Rev 2 boards have replaced the jumpers with a pair of 8 position DIP switches; those are easier to set and there are no jumpers to get lost ??
When running the ROM BASIC, this is what gets displayed:

MEMORY SIZE?
WIDTH?

 32255 BYTES FREE

BASIC V1.1
COPYRIGHT 1978 SYNERTEK SYSTEMS CORP.

Nice.

I’ve configured RAM from 1000-7FFF, B000-BFFF, and F000-FF7F. That gives a lot of room to squeeze in useful add-ons to the monitor.

SYM AIM 60K RAM docx
SYM AIM 60K RAM pdf


post

Corsham projects

As you can read below in the screenshot of the last post on Corsham’s website below, Bob has left us. I will miss him, a dear friend with whom I exchanged many emails about the KIM-1.

To honor his legacy I have collected on these pages everything available, from his former website, Github repositories and information I have received from Bob, enhanced with photos of Corsham products I have bought over the years.

I have decided not to replicate his website. Instead the structure is about all of his projects, current and past, with on each page all information available to me about the product, enhanced with available material from outside.

Note that I do not have more information. I do not have the PCB designs. I do not sell any Corsham product. All I have is here is what Bob once published.

Links
The Corsham Technology website used to live at https://www.corshamtech.com
Bob’s private website is still up (August 2024) at https://k2ut.org/
The Github repositories are also still up at https://github.com/CorshamTech
The forum at groups.io is here: https://groups.io/g/CorshamTech/

Pages you find here:


The last message on the Corshamtech website with the sad news about Bob.

Bob Applegate at his desk

RetroSpy Technologies produces a range of retro (Vintage) hardware products that are of interest for the KIM-1/SYM-1/AIM 65 owner. Also the PAL-1 user may benefit from the products!
Retrospy is inspired by the Corsham Technologies products and since Bob Applegate is no more among us, produces similar/inspired products.

I bought several products from RetroSpy.
KIM-1 RAM/ROM Board
MOS 6530 Replacement for the KIM-1 SBC
PAL-1 Motherboard Expansion Kit
Bus extender

Other interesting KIM-1/AIM 65/SYM- related boards on the Retrospy shop:
AIM 65 I/O board
SYM-1 I/O board
SYM-1 SymDos I/O board
SYM-1/AIM-65 RAM/ROM board
KIM-1 I/O board
2532 to 2764 EPROM adapter
SD Card Storage System (like the Corsham one)

I should have bought he KIM I/O card also, for the 1541 connector, next time!

post

RetroSpy Technologies

RetroSpy Technologies produces a range of retro (Vintage) hardware products that are of interest for the KIM-1/SYM-1/AIM 65 owner. Also the PAL-1 user may benefit from the products!
Retrospy is inspired by the Corsham Technologies products and since Bob Applegate is no more among us, produces similar/inspired products.

I bought several products from RetroSpy.

Other interesting KIM-1/AIM 65/SYM- related boards on the Retrospy shop:
AIM 65 I/O board
SYM-1 I/O board
SYM-1 SymDos I/O board
SYM-1/AIM-65 RAM/ROM board
KIM-1 I/O board
2532 to 2764 EPROM adapter
SD Card Storage System (like the Corsham one)

I should have bought he KIM I/O card also, for the 1541 connector, next time!

2531 to 2732 EPROM adapter

By Roy Edmund Antaw

I hope others may find this useful when trying to replace 2532 ROMs.
It sure ain’t pretty, but it works perfectly.
2732 EPROM to 2532 ROM adaptor, using two 24pin sockets with three bend pins on top socket

post

2532 to 2732 EPROM adapter

By Roy Edmund Antaw

I hope others may find this useful when trying to replace 2532 ROMs.
It sure ain’t pretty, but it works perfectly.
2732 EPROM to 2532 ROM adaptor, using two 24pin sockets with three bend pins on top socket, breaking the continuity of those pins between the two sockets, and then soldering jumpers to three pins on bottom socket to swap signals on those pins as described below.

  • 2532 pin 18 to pin 21 on 2732
  • 2532 pin 20 to pin 18 on 2732
  • 2532 pin 21 to pin 20 on 2732

Using e.g, a T48 XGecu Programmer or any EPROM programmer which supports VPP up to 25V.

post

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)

post

SYM-1 RAE

SYM-1 Resident Assembler Editor RAE

Written by C.W. Moser, other versions known as MAE or ASSM/TED. RAE is an optional ROM set for the SYM-1.
An assembler and editor in 8K.

Manuals

RAE-1 Reference manual. Version of 1980.
Scan by Rob Ward.
RAE-1 Reference manual. Version of 1981

ROM binaries

I have collected several binaries. Here working and identical versions.

Note that the 8K ROM has the same contents as the 4K ROM sets. First the E000 part, and then the B000 part!

RAE notes

A collection of documents with various notes on RAE.

RAE Reference cards

click for larger view.

Source of RAE

The source of RAE has been reconstructed by me from the source of MAE (CW Moser’s ASSM/TED). It shows that RAE and MAE are not only functional identical.

Download here the source (in general MOS assembler format).

Sources

9600 baud patch, Disassembler for RAE, RAE to ASCII converter, Crossreferencer, all in RAE source format

SYM-1 XRAY Extended RAE, manual and listing

SYM-1 XRAY Extended RAE, manual and listing