|My Synertek SYM-1
In the middle to late 70's was the real revolution of the micro-computer industry and the beginnings of what would become the home computer. Today the general public, and most assuredly those under the age of 35, will be hard pressed to name the companies that produced these computers only such a short time ago. Companies like Altair, IMSAI Commodore, Atari, Ohio Scientific, Osborne are now just footnotes in many writings about this historical time. Thankfully like all emerging industries there are those who continue to serve us today like Apple, IBM, Radio Shack, HP, Rockwell, albeit not all producing computers for the home market any longer.
Back in the late 70's I was in college working on my BS degree in Electrical Engineering and was able to take part in the study and use of these new "personal" computers system. I learned how to program the Intel 8080 and Motorola 6800 microprocessor in both machine and assembly languages. At college we had the IMSAI 8080 computers and I forget which model was used for the 6800 now. After graduation I moved out to Los Angles for a job with Hughes Aircraft. At Hughes I was also able to continue using some early microprocessor based computers. I remember one CPM OS based system that I used to create Intel 8085 microprocessor code for a RF switching unit I was designing. It was a generic rack mounted S-100 bus computer but it had a decent assembler-editor along with a PROM programmer so I could produce the EPROM's needed for my project.
A friend I met at Hughes introduced me to a computer that came out a couple of years earlier in 1978. This was the Synertek Systems SYM-1. The SYM-1 was what is referred to as a Single Board Computer (SBC) where-in everything to make it operational was all located on one single printed circuit board (PCB). Naturally things like disk storage, full QWERTY keyboards, power supplies and the video monitor were not part of the SBC. In many cases the SBC's had simple keypad data entry and perhaps a multi-digit display as their only means of communication with the computer. Synertek was a secondary source company for the manufacturer of the 6502 microprocessor that was originally developed by MOS Technology. Thus their SYM-1 was based on that processor and its support chip set. MOS also had a SBC based on the 6502 called the KIM-1 that came out two years earlier in 1976. In many ways the two computers are similar and even share almost indentical external bus connections. My Hughes friend owned a SYM-1 and somehow we found a used one in the area that I was able to buy. I think I paid $150 for it back in 1981. I really got into that SYM-1. I bought a card cage unit that would allow me to build and add expansion boards to further enhance my little computer system. At first I used the standard cassette tape to provide program storage and later a simple floppy based unit. To better communicate with my SYM-1 required a better keyboard and monitor solution. I ended up buying a used Ampex D80 terminal that would communicate with the SYM-1 via a provided RS-232 serial connection. Thankfully the SYM-1 came with a built-in monitor system in ROM that allowed serial I/O communication. That Ampex D80 terminal cost me a massive $500 back then. It was actually a very powerful computer on its own. It had a screen resolution of 24 lines by 132 characters and provided two screen pages worth of display memory. If memory serves me it used a Zilog Z-80 microprocessor. I actually bought it from an ex-Ampex engineer so I was provided complete service manuals and schematics with the terminal. Those items turned out very beneficial as I was required to repair this terminal once finding a bad data bus driver chip. Without the schematics it would have been a hopeless repair effort. With that "Cadillac" terminal I was on a roll. Just about the time I quit Hughes and went to work at Mattel Electronics (1983) while working on a 64K DRAM memory board for my expansion card cage in my spare time. In 1984 saw the addition of the floppy disk drive. The floppy operating system I used was created by Ronald A. Jordan (Jordan & Associates) out of Ann Arbor, Michigan. The disk operating system was available on cassette tape and could also be purchased in an EPROM. I bought both. I wanted it in ROM so that I could abandon the cassette tape system for good. For those of you who have had the first hand experience of using audio cassette tape storage on a computer you'll understand my desire to move from that method. It wasn't the most reliable process nor was it very fast. At that time floppy disk storage was a major advancement for computer data storage for the home computer user. Remember, this was the early 1980's. I remember at Hughes we were using big HP 1000 minicomputers for controlling the test stations. Those things used large removable platter hard drives that were only 5MB of storage. It was a real effort to carry those hard drives around, but I'd see engineers doing it all the time to carry their programs from one computer to another. So for the hobbyist like me having a floppy drive that could store 160KB of data was a real advancement. Back to my SYM-1. The Jordan SYMDOS used a recently available floppy drive model 1541 produced by Commodore (CBM) that was designed for their VIC-20. In the early 80's the 1541 was not cheap. I think I bought mine at the local Federated store for around $350. So here I start with a $150 SBC and have over a period of two years added over $1000 additional in hardware and software just to make it into something that today we might call a personal computer system.
In 1984 I moved to the Chicago area from Los Angles. I packed up my SYM-1 along with it's documents and hardware and into the basement it went. Around 1985 I again set the system up and recently came across an old picture of that setup as shown below. The SYM-1 is barely visable on the right side of the desk in the card cage. The terminal is the Ampex D80 previously addressed with the Commodore 1541 floppy drive on top. Just above the floppy drive is a small thermal printer that was designed for the Mattel Aquarius computer system. The printer used a serial communications and provided only 40 characters per line. I used it for screen dumps directly off the terminal. I got the printer when Mattel Electronics closed the doors and all the electronics was returned to their toy division.
My old SYM-1 Setup around 1985
The 1985 setup was temporary and again disassembled after getting married in 1987 and relocating northward to Kenosha, Wisconsin. Again the SYM-1 system was packed up and stored away. Over the years I'd often think about that nice old computer sitting hidden away, but never really got around to pulling it out. I did sell off the Commodore floppy drive and lost the little interface box that connected it to the SYM-1 and had sold the Ampex D80 at a garage sale in the late 80's. Naturally IBM PC clones were all the rage by the late 80's so that terminal only sold for $25. In less than ten years that terminal was only worth 5% of what I paid for it. I don't know what I did with the little thermal printer. In the years that followed I migrated from one Intel processor based PC to the next, only to forget about that old SYM-1 stored away.
The SYM-1 Get's a New Life
In 2010 I decided to pull that box out of storage, after an extensive search to find it, and go through the contents to see if I could once again return it to operation. I was surprised that I still had all my documents and hardware minus the floppy drive and terminal that I already mentioned were sold off. The computer sat on the floor of my home office for probably another six months before I finally got around to testing it out. The SYM-1 does require an external 5VDC power supply which was not a problem as I had a bunch of those lying around. So I powered up the computer and it worked immediately.
Naturally today I have computers all around my house. I do contract engineering so most of my work is done from home. So I needed to decide just how I was going to use this old 1970's SBC today over thirty years later. I knew that I wasn't going to use it for anything that a computer user back then might have thought of. My modern PC's are fine for that and it would be insane to attempt to do something like word processing or even game playing on the SYM-1. It is more suited to perform some controller function around the house. Actually it is very well suited as a general I/O controller. Synertek equipped this thing with up to three 6522 VIA (Versatile Interface Adapter) chips. Each of those 6522's has two eight bit I/O ports on it. That's a great deal of control I/O available and is actually more than you would find in some current small controller boards . So that was my goal. I will think of some general controller use for this old boy.
The SYM-1 is designed for up to 4K of Static RAM memory on-board. That's OK for someone who was using this system to learn 6502 programming, but limits it's use for any serious applications. Back in the early 80's I built a 64KB DRAM board that plugged into my expansion card cage. I was able to enable or disable RAM in 8K blocks. Thus I was able to disable RAM where ever I had ROM or PROM chips used in the addressing scheme. Most 8 bit microprocessors had a 64K maximum limit and the 6502 falls into that category. That 64KB DRAM board served me well, until I attempted to build an EPROM programmer for my SYM-1 and shorted a 24VDC supply to the DRAM board. I ended up doing some damage to the memory board and it never worked right after that. I still had that DRAM board in my box and here is a picture of it:
My Original 64KB DRAM Board Design
The eight IC's on the right side are each 64KB X 1bit memories. That large IC in the middle of the board is a DRAM controller ship. I got that controller chip as a sample when I was working at Mattel Electronics. It was actually designed to control DRAM connected to a Z80 microprocessor and not a 6502. So I had to do so some fancy timing work, including adding some one-shot timers to allow using it with the 6502 bus timing. Most of the chips on the left side of the board are used for bus buffering and address block selection. You can see one of those chips is a small eight position DIP switch that was used to enable specific 8KB DRAM memory blocks. All the ROM or PROM addressing in the SYM-1 is above #8000 or 32KB. So I would normally enable all the lower 32K worth of memory and disable the upper 32K, even though I may not have had ROM's in all the 8K upper blocks worth of memory. Unfortunately, having done damage to this board back in the 80's I opted to redesign a new version, using the same board as it was wire wrapped, but going with newer SRAM chips. I had a bunch of Sony CXK58257AP memory chips in my junk box which are 28 pin plastic DIP packaged SRAM's that are each 32K by 8 bits. So I would only need two IC's to provide a full 64KB worth of memory. Most of my bus buffering and address decoding would remain unchanged or only slightly modified. The resultant 64KB SRAM memory board is shown below.
My New 64KB SRAM Board with Floppy Controller Integration
The new 32K X 8 SRAMS are now located above the buffering and decoder section. A much cleaner and simpler design versus my old DRAM board. If you are interested in the schematic for my 64K SRAM board click here.
This card cage board is dual-wide and provides connection to the Expansion Port (used for the memory expansion allowing connection with the microprocessor address and data buses) and the Application Port (connects to VIA Port Chip I/O's). That little lone IC in the center of the board is a 7416 that is used to interface to the Application Port connection on the left back side of the board. The floppy drive talks to the SYM-1 via one 6522's I/O pins. Installed below the board is a DIN jack that accepts the standard cable used on the Commodore 1541 type floppy disk drives. So my new 64KB SRAM board also incorporates the I/O interface for my floppy drive. Notice there is still a great deal of board space left to add future I/O circuitry when I finally decided what I'm going to do with this computer.
Since I no longer had my Ampex D80 terminal I decided to use one of my PC's as a terminal via terminal emulation software. However, I also wanted to take a major step into the 21st century and make my access to the SYM-1 over an Ethernet connection thus opening it up to worldwide access via the internet. That's not a difficult thing to do these days and would not have been thinkable to the hobbyist back in 1980. I had a couple of Lantronix MSS-100 serial port servers that were just waiting for something to do. These are small little micro-servers that connect any RS-232 type serial device to an Ethernet connection. They come equipped with built-in web setup software. As a result I can connect to my SYM-1 from anywhere in my home or even from out over the internet. All that's required is the PC trying to access must have serial port redirector software installed. My laptop or other modern desk top computer thinks it is talking to the SYM-1 via it own serial port while in fact it is redirecting that port out over the network. The redirector software is free from Lantronix. You can find these serial port servers used often for around $25 or less. Below is a picture of my MSS-100 along side my new SYM-1 setup.
Lantronix MSS-100 Serial-Ethernet Micro-Server
As you can see above the RS-232 connection to the SYM-1's serial port is on the left side. One the right side is the network CAT5 cable and the micro-servers power supply (wall-wart) connections. The MSS-100 provides indicator LED's that show network and RS-232 connectivity-operation-error status. I won't get into all the setup required for access to my SYM-1 from the internet, but it has a great deal of setup required for port directing and IP Port assignment in your home router. I use a free service provided by no-ip.org that gives me a URL assignment that I can use from anywhere in the world via a standard internet/web connection. So even if I'm away on business halfway around the world I can still connect to my little SYM-1 at home via a Wi-Fi internet connection. Not something the original SYM-1 designers could have imagined!
So let's have a look at my current 21st century SYM-1 setup.
My SYM-1 Setup in the Lab
The SYM-1 is at the top of the card cage. The card cage was made by Micro Technology Unlimited (MTU) in New Hampshire (no longer around as far as I can determine). It was designed to either be used with the MOS Technologies KIM-1, Rockwell AIM-65 or the SYM-1. Here is the bus side of the MTU cage assembly:
Back-Plane of the MTU Card Cage
The back-plane for the SYM-1 Expansion bus side (microprocessor address and data bus connections) is complete and runs to each of the expansion slot connectors. Actually two of the bus lines were not connected and I needed to add those two wire jumpers from the SYM-1 slot and the expansion slots. Also, the SYM-1 +5 VDC comes in through that screw terminal bar in the center. Originally the SYM-1 would use a dedicated PCB edge plug for the power supply. You can see a little of that PCB connector next to the red LED sticking up from the SYM-1 computer board at the upper center of the picture. The Application bus on the SYM-1 is plugged into the right side PCB bus back-plane on the MTU card cage. Since it wasn't until recently when I added the floppy control circuit connection to my 64K SRAM board that I realized that the Application back-plane did not have the bus routed on the PCB. There are board edge connectors attached, but there is no connection between them. So any future application board I want to add to this card cage will require me to add jumpers to complete the I/O bus to any particular slot. You can see I have some jumpers soldered that run between the top slot (SYM-1 slot) and the second slot down that carry the 6522 I/O lines required for the floppy control circuit. I'm sure MTU had versions that had a full bus for the Application bus side, but I bought this board at a computer flea market event in LA not long after buying my SYM-1. The empty PCB that I used for my memory boards was part of the purchase deal on the whole card cage. I do have an original manual for this prototyping PCB from MTU.
Since I had sold off my original Commodore 1541 floppy drive I needed to find a replacement. I did some research and then spent a couple of weeks bidding for one on eBay. Thankfully even after all these years there are still a bunch of drives that show up each week on eBay. The 1541's did have their problems. I bought one a few years back off eBay, as an earlier idea to get my system running again, only to discover it didn't want to read or write floppies. So my suggestion is if you want to buy a used one only go with those that the seller provides a warranty or better yet they show that it is a working drive and not that it "powers up"! Naturally the 1541 drive was a big seller with the Commodore VIC20 and C64 computers. I think it is still a reported fact that the C64 was the all time biggest seller for any computer model ever built (17 million units), including the original IBM PC. There are other floppy DOS's for the SYM-1, but I wanted to take the easy route and the Commodore drive is the way to go. A side note, the 1541 drive has a built-in 6502 microprocessor and DOS operating system. So it is essentially a computer on its own and the read and write to floppy disks on a 1541 is essentially a communications between two computers. This make the software on the SYM-1 side easier to deal with. In my system picture you may notice I ended up buying the 1571 drive. The 1541 was a single-sided, single-density drive and it would format a floppy to 160KB. The later 1571 is a double-sided version that would format to 320KB. At the time Ron Jordan wrote his SYMDOS for the Commodore drives only the 1541 with it's serial interface existed. However, the 1571 does have a 1541 mode and it works just fine as a replacement. Also, Ron's software allows sending any drive command you want. As an experiment I commanded it to the 1571 mode and I was able to format a 320Kb floppy! In the early 80's I could understand why people tried to get larger density floppies to work on their computers and even understand seeking larger memory. That force still exists today with people going for 1TB hard drives and 8GB plus of RAM. However, I've always been very practical when it comes to performance and use tools that show constantly how much percentage of CPU use, disk space and available memory I have. I never fall for the hipe that more is better, considering if I'm not using 50% of what I have now why would I want more. The same is true with my old SYM-1. For me running my 1571 floppy drive in the 160KB default mode is fine. It will allow me to store those thing I need to load from floppy to run this computer as a controller. Right now I have SYM BASIC and the SYMDOS Links on the floppy. In the old days BASIC was on ROM at location C000-DFFF (8K). I changed that memory area to RAM on my new SRAM board and now load BASIC from floppy when I want to use it.
Here is a screen view of my SYM-1 floppy listing:
Notice I'm using a program called Tera Term (freeware) to talk to my SYM-1 over my network using a Windows XP based computer. Tera Term has a nice macro scripting language which I originally used to move the binary code over from my XP computer to the SYM-1 via the serial connection. I can also create my own BASIC or Assembly source on the XP computer side and then send it over to the SYM-1 for execution. On an initial start up I need to run the SYMDOS which is in EPROM at location 9000. I then use a DOS monitor link command to show what is on the floppy disk in my 1571 drive. The "SYM1_MAIN01" is the name of the floppy disk which was assigned initially using the format command. You can see I have currently only two programs stored on this floppy. One is BASIC and the other is my SYMDOS links for use by the RAE (Resident Assembler/Editor) and BASIC. I add the storage beginning address as part of my program names so I know where to load them in memory on the SYM-1. The DOS link code allows me to access the floppy from within the RAE and/or BASIC environments. Here is me loading and running BASIC with the DOS links loaded:
The L2 monitor commands load the two files from the floppy into the chosen memory starting locations in the first two lines. The a "J 0<CR>" starts BASIC up. The SYMDOS link program automatically enters the memory size and terminal width values. The really nice thing about Ron Jordan's SYMDOS comes into play using BASIC. Without the DOS system the only way to exit out of BASIC was to perform a physical RESET on the SYM-1. That means pressing the reset button on the keypad located on the SYM-1. Not easy to do if your running it via the internet!
That last comment brings me to an important point. What do you do if you are running a SYM-1 via a remote connection like me and then need to perform a hard reset. Well that was something I needed to be concerned about because if your doing any program development with the SYM-1 it is possible you may get into a situation were your program just hangs. I came to the conclusion, a remote controlled reset is needed! I have recently done some work in converting a GE Smart Home controller to allow control via the internet. You can check it out here. Modifying one of the GE Remote Plus Receivers now allows me to reset my SYM-1 also via the internet, that link is here. I can completely shut down the power on my whole system via that same GE Smart Home system remotely. Eventually I will probably add a web camera so I can physically see my SYM-1, depending on what I eventually decide to control with it. I may mount the camera on a motorized mount so I can point it anywhere around the lab and let the SYM-1 control the camera positioning.
So as it stands right now here is the basic memory map of my SYM-1
Due to the configuration of ROM, PROM and I/O areas in the upper 32K of SYM-1 memory I am only able to use an 8K block at C000-DFFF as SRAM. That works out perfectly for loading BASIC and that's where the ROM BASIC would normally be on SYM-1's that have BASIC in ROM. I have the ability to use it for other purposes if I choose not to use BASIC. However, I still have 32K of RAM fully available in the lower 32K. Also, note that I had to remove the lower 4K of on-board static RAM from my SYM-1 SBC. No loss though and I only loose the ability to write protect the lower page memories, but IMHO the locking and unlocking of that memory was more of a pain in the butt.
One thing I didn't mention was that AC power switch unit located directly below the SYM-1 card cage. That is where the AC power gets distributed to the SYM-1 Power Supply, 1571 Power Supply and the MSS-100 Power Supply. So I only need to control the AC to this unit via one of my GE Home Remote AC Outlet Receivers to allow me to turn off the entire SYM-1 system via remote internet control.
So that's the story on my reborn SYM-1 computer system. It is enjoyable working with this old 70's technology and helping things along with the integration into the technology of today's web. I'm having as much fun as I did back in the 1970's when these computers were coming on the scene. I sure miss those days sometimes.
If the reader has any interesting ideas on what I can control with my SYM-1 don't hesitate to email me. Albeit my web camera rotational mount control is tempting! I have no plans on adding any hard drives or other modern technology to my SYM-1, I have other computers to do that heavy lifting. I'm not even sure if I'll use assembly or BASIC to write my I/O control programs. I'm still muddling that stuff over.
Don, February 2011
< Send Me Back>