Sym-1 A 6502 Phoenix!

A project by Rob Ward, adding file storage to a SYM-1 and getting RAE to make use of it.

Reproduced here, see the original for updates, text by Rob Ward.

This project describes how to add a simple filing system to a SYM-1 board that has RAE installed in ROM or EPROM or EEPROM. It has several stages any of which might be of interest to either SYM-1 owners directly, or other 6502 retro computers, and possibly new hackers who are bread-boarding incredibly impressive 6502 systems. Possibly other processors might also like to build this simple filing system, may find the general principles helpful.
While not complete yet, you may find some interesting, even entertaining reading, good luck!!

Details
Retro computing is a good reminder of how far things have improved, but to go back there? I have yet to own any computer that I have felt that I have exhausted all possibilities to learn and interact with. My work as a teacher for 36 years usually mandated that we move the children to the next stage of technology to keep the students as up to date as possible. This inevitably meant that quite capable designs were declared “old fashioned” well before “all that they offered” was explored. I am returning here to my second SBC I purchased around 1980, the SYM-1 by Synertek. Not to turn the world around but just for me to savour again the thrill of working with a great design that promised so much, and sadly as I found not enough time to explore. However there maybe other gems that other people can glean from these activities, so here we go…

I sold my original SYM-1 around 1984 to buy an Acorn BBC-32Kb. So I bought another SYM-1 around 2017 and this time wanted to use the RAE, the Resident Assembler and Editor, as the main software on it. I had always enjoyed Assembly Language and was yearning to not do it by hand this time, but to use an assembler. The rise of the Arduino systems had drawn me back to bits and bytes, and made me remember just what these retro machines also offered.

To this end I first had to get the SYM-1 to a convenient level of operation. Being familiar with its versatile design, I set about exploring what could be done. Here is a simple list of the progression of the project.

1. Power Supply: 5V LED supply (done)

2. Expand the onboard RAM (done)

3. EPROM Programmer (done)

4. Expand RAM off the board to 32k or more (done)

5. Soft load major ROM images (done)

6. Use 2764 (8kx8b) EPROMS (done)

7. SD Card storage and retrieval. (done)

Given the number of new designs for retro 6502 systems (especially those amazing breadboard constructions) they could do well to try to incorporate the RAE as their main language support. It provides very open ended programming capability, and given the Arduino IDE today, well ahead of its time. I am not sure what would be required to get the SYM-1 monitor and RAE to transfer to a Bread Board Build for a 6502, but I hope that my work will show at least a filing system is well within easy reach.

Required components:

  • 1x SYM-1 SBC Synertek 1976 A 6502 prototyping system
  • 1x Arduino Mega 2560
  • 1x Arduino WiFi and SD Card interface Adafruit CC3000 WiFi shield V 1
  • 1x Hook Up wires Cut up solderless breadboard connectors to solder to SYM-1 plug, and pins for Mega
  • 3x 44 Pin Socket 805-44P 3.96mm pitch, 22 by 2 double sided socket
  • 3x Indicator LEDs
  • 1x USB FTDI Basic from Sparkfun
  • 1x 5V Supply 2A
  • 2x EPROM 2764, 28pin DIL Requires a carrier board to connect the EPROM into existing 24 pin socket
  • 1x 64 kB expansion RAM for SYM-1 or AIM 65

Pages with details

Downloads

Mega_Tube_23.ino
An Arduino Mega 2560 program to provide the MFS 2.3 filing system on the SD card to the Sym-1. This is very rough and ready but does the job. Not much is optimised or generalised but it does work!

BINARY.bin
The binary file of the MFS 2.3, which loads at $9000

MFS.ptape
This is paper tape version of the MegaFilingSystem 2.3 to be loaded at $9000, and compatible with RAE and providing monitor saving and loading extensions. Use it with .LP
If less than 4kB they can be loaded at 2400Baud using GTKTerm (if they are too big they will stall).

MS_BASIC.ptape
MS BASIC in Synertek Paper Tape Format. Use .LP to load it into RAM at 300Baud and Python Terminal (be prepared to wait 20mins or so).

RAE.ptape
RAE in Synertek Paper Tape Format, Use .LP to load it into RAM The .ptape files can be soft loaded into the Sym-1 at 300Baud using
python3 -m serial.tools.miniterm /dev/ttyUSB0 300

RAE_V2.BIN
RAE with the order of the 4kB blocks reversed so no inverter is required on A12 to the 2764 EPROM (See my notes)

Sym1.1.rom
Latest Sym Monitor ROM Ver 1.1 4kB
originally distributed by Synertek, provided so you can merge your
own extensions to it as well. Go for it!

Mon_MFS.py
A Python program to combine the Monitor Rom $8000 (4kB) plus the extension MFS routines at $9000 into a binary 8kB ROM image. Essentially merges the Monitor and Extensions to be burned into an 8kB EPROM

BIN2OBJ.py
A Python program to take a 6502 binary file from the assembler into Synertek Paper Tape format. The resulting .ptape can be soft loaded into the Sym-1 at 300Baud using
python3 -m serial.tools.miniterm /dev/ttyUSB0 300
or if less than 4kB they can be loaded at 2400Baud using GTKTerm.