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!

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


Three versions were made:

  • 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).

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!

post

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)

  1. 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
    
  2. Start the IDE, open pia_communicator.ino
  3. Select Arduino Nano as board
  4. Connect the Arduino (may stay onboard the RC6502, leave the optional power of the motherboard off) and select the COM port
  5. Compile and upload to the Arduino Nano
  6. Save the sketch if changed and exit Arduino IDE

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

post

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

post

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

My ASSM/TED MAE manual 1980

KIM Fast Cassette hardware and software

6502 Macro Assembler and Text Editor for PET, APPLE, SYM

MAE manual parts given by Anton Muller

Dissecting C. W. Moser’s ASSM_TED 1.0

EHS PET Disk Macro Assembler_Text Editor MAE

Graphics Drawing Compiler for PET and SYM manual

Ing Bureau Schroder,
Letters and notes by the Dutch importer

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

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

Commodore Chessmate

I have acquired a Commdore Chessmate! Working well.

Michael Gardi and Stephen Crane are working on Chessmate emulators. Micheal aims for a physical identical one, Stephen uses cheap but powerfull microntrollers.
More on the Chessmate, and the 6530 024 RRIOT (the ROM contains the opening book!) here.

Add the Apple 1 monitor to the KIM ROM!

The Apple 1 and the KIM-1 are some of the earliest 6502 systems made.
Both are desirable, Apple 1’s sell for lots of $$$ and KIM-1s are getting more expensive.

Luckily we can build a KIM-1 clone that is either cheap and compatible, like the PAL-1, or a bit more authentic as the various KIM-1 boards.
Anyway, a clone has the KIM ROMs, and in E(E)PROM, to make it a KIM-1 clone. Altering is not done, you loose that unique spartan user interface!

The Apple 1 has also a monitor program, often called Wozmon to honor the genius of Steve Wozniak.

And you can combine both user interfaces on a not expanded KIM-1 clone!
I also included the Wozmon as a Setting in the KIM-1 Simulator.

Read more here!