Projects & Utilities
This page contains projects and utilities I use with my SYM. I believe that most people who had a 6502 based computer had an EPROM programmer of some type. There were many programs available at the time for these types of projects. Building an EPROM burner was one of the first things I made. A former co-worker and good friend, decided that's what we were going to do. The main objective was to keep it simple, and by utilizing the resources of the SYM made this quite easy. The first proto-type burner could copy and program 2758 and 2716's as these were very popular in the early years of computers. Later the 2732 became more abundant and hence, the upgrade of software for this chip. This is the last version of this programmer built in 1982, as later we went to programming the 2764, 27128, and 27256 EPROM'S and generated a similar programmer but not completely backwards compatible.
The EPROM burner presented here will Blank check, Copy, Verify, List, or Program 2758, 2716 & 2732 EPROM'S.EPROM Source Code - Text print showing both source and object code.
EPROM Source Code - Same as above but in RAE format. Use
SYM Link below.
EPROM Programmer - Schematic of programmer.
Power Supply - Schematic of 25 volt power supply using 78S40 chip.
EPROM Burner - Picture of my first EPROM burner. Actual board size is 2" X 41/2". Picture shows two 4040's in anticipation of programming 2764's but was never utilized.
EPROM Burner 2nd Version
As the need to program larger EPROM's became apparent, it became necessary to develop a programmer for these larger chips. In this version, I wanted more flexibility in programming the various EPROM's available. This version will program the following EPROM's: 2716, 2732, 2732A, 2764, 2764A, 27128, 27128A, 27256, and 57256. All control to the burner is software driven requiring no jumpers or personality modules. When this program was written, my SYM had been modified (more than once), by moving the MON 1.1 ROM from page 8 to page B. By adding RAM in page 8 and 9 allowed me 40K of contiguous RAM. Programming of 27256 or 57256 EPROM's does require 32K of contiguous RAM. The program here was originally compiled for page 9 and used the existing A page I/O on the SYM. This version uses both A & B ports on U-25 and the B port on U-29 originally supplied on the SYM. No other modifications are necessary to the SYM for this program to work. The following commands are available in this version of the programmer:B : blank test
Entering a Control "C" will exit the program and return you to the SYM monitor. To allow communication with a PC, a program called "packet" was written. This program has the ability to save and load binary files to your PC as well as display current directory contents and change either drives or folders. These features are controlled from the PC end where the available commands are displayed on the screen. The program packet below is what I use to transfer the binaries to and from the SYM from my laptop. This program can be used while running windows but it is suggested to run it from the command prompt or re-boot to DOS mode and then run the packet program. I have included two versions, one with a speed of 9600 baud and one at 4800 baud. More about packet and its usage can be found here.
EPROM Source Code - Text print showing both source and object code.
EPROM Source Code - Same as above but in RAE format. Use SYM Link below.
EPROM Programmer - Schematics of the programmer.
Power Supply - Schematic of 30 volt power supply using voltage doubler from 12 volts AC.
Packet - Communications program for EPROM burner version 2 running at 9600 baud.
Packet - Communications program for EPROM burner version 2 running at 4800 baud.
Packet - Updated version adding abort option and Y2K compliance (9600 baud)
Packet - Updated version adding abort option and Y2K compliance (4800 baud)
For those of you contemplating moving you MON 1.1 ROM to other areas in memory, I offer below the source code taken directly from the SYM-1 reference manual in RAE format. The files are broken down into two sections like the original. If you use the SYM Link program below, it will save you hours of typing it yourself.
MON 1.1 - Text print showing both source and object code (main module)
MON 1.1 - Same as above but in RAE format. Use SYM Link below.
MON 1.1 - Text print showing both source and object code (cassette interface)
MON 1.1 - Same as above but in RAE format. Use SYM Link below.
What is "Soft ROM"? While developing software and testing the results by burning an EPROM, it was very time consuming to burn the chip, find out there was a bug in the code, erase the EPROM, and re-burn the chip. This lead to the development of what I called "soft rom". It basically emulates a 2K EPROM by using Toshiba TC5514P CMOS versions of the 2114 RAM chips with a battery backup. By using a 24 pin cable from the soft rom board, I was able to simply plug the cable into the EPROM programmer and "burn" the RAM. Once the burn was completed, I simply unplugged the cable from the burner and plugged it into the ROM socket for testing. This made testing very simple because it was much easier and faster to "re-burn" the RAM chips as no erasing was necessary. If I needed a "blank chip", I simply wrote all F's in the Soft ROM. At first, using the original software to burn the soft ROM, still took the 50 ms delay between each address burn. By modifying the code slightly, I added the "S" option which speeded up the burn process considerably. Writing directly to RAM did not require the delay needed for a real EPROM. Below is the schematic for the "soft ROM", picture of the one I made, and the change to the first EPROM burner program in both formats.Soft ROM Source Code - Text print showing both source and object code.
Soft ROM - Picture of my Soft ROM board. Card measures 3" X 41/2".
Real Time Clock
Here is a program that I use on my current SYM to interface the OKI MSM5832 Microprocessor Real-Time Clock / Calendar. The chip connects directly to the A & B ports of a 6532 or 6522. The source code is fully commented and completely re-locatable.
RTC Source Code - Text print showing both source and object code.
RTC Source Code - Same as above but in RAE format. Use SYM Link below.
RTC Print - Schematic of connecting MSM5832 to 6532.
RTC Data - Data sheet for the MSM5832
This short program will allow you to enter the output of the RTC into your RAE source code file. An example is shown in the source code and of its use.
RAE Clock - Text print showing both source and object code.
RAE Clock - Same as above but in RAE format. Use SYM Link below.
Here is a utility that will allow you to emulate a terminal with your PC as well as upload or download RAE source code files. It uses the three undocumented commands in RAE which are DC (direct command), EN (enter file), and LO (load file). These commands are used with floppy drive systems to separate between PUt (save file to tape) and GEt (get file from tape) and the floppy commands. There are two pieces to the programs presented here. The file RL.COM is a DOS based program and should NOT BE run under windows. The user should reboot the computer into DOS mode first and then run the RL.COM program. This program will talk directly to the SYM serial port at 4800 baud using COM 1 on the PC. Files are uploaded from the SYM at this speed, while files downloaded from the PC are sent at 9600 baud. All files saved to the PC will have a .RAE extension applied to them automatically. This file extension is assumed for all operations using the program and need not be entered. Available commands in RL.COM are ALT- P which turns the printer port on or off and ALT - E to exit the program. The other commands will be found in the RAE source file and executed directly from the RAE prompt in UPPER CASE. The file SYMLINK.RAE is the source file in RAE format and CANNOT be read using ordinary word processors such as notepad, word, etc. The file SYMLINK.TXT is the printable source code with binaries. If using RAE, compile the stripped down version and simply type RUN LINK (CR). The link logon message will be displayed followed by the RAE prompt. To load the complete version type the following at the RAE prompt: LO SYMLINK (CR). The program will display the file size and then transfer the file to the SYM. This assumes you have downloaded the complete version and the file is on the current disk. To exit the emulator program and return to DOS, press ALT and E.
I use this program on an older 350 MZ PII with no problems at either speed but I cannot guarantee the program will work on a faster machine. Communication protocols used are either 4800 or 9600 baud, 8 data bits and 2 stop bits using COM 1.
The stripped down version below will only allow you to load RAE files. Once this program is running, you can then use it to load the complete version, compile it, and then use the complete version.SYM Link Text Format (Stripped down version requiring $144 bytes)
Rae Link - Updated version to allow
an abort from a "file exists" save. (4800 baud)
For those of you that modified their SYM like myself and communicate at 9600 baud, use the program below. What? The SYM communicating at 9600 baud! Yes, it is possible by simply changing three bytes in the system ROM. Changing locations $8AE9 and $8AEA from $08, $48 to $EA, $60, and $8AB0 from $0B to $0A will now allow the SYM to communicate at 9600 baud with 1 start, 8 data, and 1 stop bit.
NOTE: by making these changes, you will no longer be able to communicate at any other speed except 9600 baud.
RAE Link - DOS Communication Program Communicates at 9600 baud.
Rae Link - Updated version to allow an
abort from a "file exists" save. (9600 baud)