System 80 Networking Modification
Some System 80 users pushed the machine to its limits in new and innovative ways. One example was this home-grown networking option in use at Waiopehu College, Levin, New Zealand (and others) in the early 1980s. This modification was designed and implented by Murray Balchin (see the link to my email interview with Murray below). Murray, who sold and repaired computers as a business, lived in the Manawatu settlement of Rongotea. The software for the Networking ROM was written by a student at the local University (Massey University).
Physical description
The modification allowed a number of 32k internally expanded System 80s (clients) to read and write files to disk drive(s) fitted to a single master machine (the host). Hardware in the client machines took the form of a daughter board mounted on the RF output box which interfaced with the external cassette port, replacing some of its componentry (figure 1). The board was powered directly from the power lines on the CPU board. The external cassette port was used to connect all machines by a single shared cable. Included in the modification was a small audio socket, which exited the machine from the bottom of the case, underneath the external cassette port. These plugged into the Dick Smith monitors, which had audio input.
Figure 1. System 80 (client) boards showing network modification
Client machine software was provided from an EPROM, occupying memory locations 3000H-35FFH and fitted to the expansion ROM socket on the CPU board. This is the same socket that held the EPROM providing the extra ROM functions of the Blue Label and Mark II models. A student using the system would boot up to the following menu which said:
NETWORK : By Small Business Systems Ltd.
<C> Clear the Program
<T> Transmit a Program
<R> Run a Program
<B> Return to BASICCommand?
Close up pictures of the modification are contained in this zip file, which can be downloaded and viewed by those wishing to study it further. A code dump of the Networking EPROM is available here. The zip file also includes a quick disassembly listing courtesy of Leslie Ayling.
History of the modification and theory of operation
This is best told by Murray Balchin himself...
This transcript is an edited version of replies to questions I submitted to Murray Balchin regarding his System 80 networking modification. It explains how the modification came about and exactly how it works. Thanks for providing this Murray!
Q. What was the impetus behind the mod. Were people asking for it, or did you think it would be a good idea? Did it come about because a school approached you?
A. I cannot recall how the initial contact was made but it was probably a phone call from Rory Butler (Waiopehu College) asking me if it was possible to network TRS/System 80's that started it. I recall we met and had a detailed discussion. At the time I was doing repairs on these systems for Viscount Electronics and had not had much direct contact with users like Rory. I can't recall how he got my name nor contact details but somehow he did.
The System 80 et al were all cassette based in those days. The Floppy disk interface was only just becoming available but at the same price as the basic model so was too expensive to be purchased in the same quantity as the keyboard unit. Thus schools were still reliant upon the majority of units using tape cassettes to load the initial program and save data to. With a failure to load rate as high as 2 out of 3 imagine how long it would take to start up a classroom of say 10 systems! Rory identified the need to be able load a program to a number of systems reliably and in a short time and under control of a central person (the teacher). There was little need for large amounts of data storage.
There was a need therefore for the ability to broadcast to a large number of connected systems at the same time with a simple user interface. It had to be resident in the system (eg not loaded from a cassette) and very desirable that any system could act as the sender ie peer to peer in modern parlance. This is the origin of the simple SEND/RECEIVE menu option (see parent page). The system using the SEND became the session master and all others merely selected RECEIVE and waited until the "master" sent the program,.
I thought I had a reasonably simple solution to implementing it and recall telling Rory I would think about it and get back to him if I wanted to do something. A short while later (about a fortnight if my memory is good), I received a call from a teacher (Martin) (I won't identify him fully as I do not have his permission) from Feilding Ag High School (FAHS) ordering a number of Network Modifications and an invitation to give them a price for more systems. This teacher was a personal friend of Rory Butler who had told him that I was making a Network for System 80's which FAHS would find useful. I had not made up my mind to do it yet but after meeting Martin and his wife and after some heavy arm twisting decided to give it a go.
Q. Did you design and create the modification entirely yourself?
A. The final design could be called a multi-drop RS-232 interface. It was a circuit containing an RS-232 transmitter and Receiver IC's, a long tail transmitter pair serving up +/- (nominal) 12 volts unlimited and an interface to the second cassette port latch. The long tail pair were capable of being tri-stated ie *12 / -12 or open circuit. Thus a number of output circuits could share a common line and be independently controlled so that there was no unwanted influences. eg only 1 unit could be put into SEND MODE on any one segment. The cabling was full duplex ie all transmits were connected together separately from all receive lines. Transmission was always simplex but the transmit/receive lines were separate. The end of the cable was terminated in a resistor to define the line state at all times.
At the time my activities were restricted largely to repairing for Viscount, PCS, Barlow Electronics and anyone who wanted to sell these new computers but didn't want to put out for a technical support workshop. My main activity was the area computer technician for a NZ company supporting Data capture units installed at places like Data Bank. SI ACC and other organizations running main frames and requiring data capture facilities. These replaced the old 80col Punched Card units. On the side I was doing PCB layout, S100 based design work and Power Supply design and build to commission. To design and build a network I/f did not seem to me to be a big leap.
Q. What were the influences?
A. It had to be simple, compact, mechanically easy to fit and internal (to keep it away from that delightful of creatures commonly called teenage boys). Regretfully the cable could not be inbuilt and it suffered accordingly. There seem to be something in a cable that caused the said delightful teenagers to cause to want to "break it". I also wanted to make as much as possible to keep the cost low and my profits high. (I made all the PCB's eg). The user I/F had to be simple and use an absolute minimum of RAM. The final design met all the criteria and I was able to use existing rear panel socket and apart from removing a relay and a couple of simple PCB trace cuts no modifications were required to the internal circuit boards.
Q. Was the modification also used on TRS-80 machines?
A. No. I only modified the System 80 but it would have been possible to modify the TRS80 expansion units but as these were not being used by the schools there was no need. I had enough System 80's to more than fill my time. DJ Reids were the NZ agents for the TRS80 (They beat me to this as the deal was signed a week or so before I visited Tandy USA to seek it) who weren’t really interested in promoting it effectively.
Q. How many schools bought machines with the modification and can you remember who they were?
A. The main uses were Waiopehu College. FAHS and another couple in the area that I cannot recall now. Rangitoto College showed an interest but I think they finalized on Apples which all came with a Floppy drive. At the time some schools were sticking with System 80's but also starting up a second suite using the Apple 2E (or clone) but that’s a different story. The main thing is that this mod came out a little too late and its widespread deployment was overtaken by the availability of new computers floppy base. However, it served a very good purpose and made me a little money (some of which I am living on today).
Q. Was it adapted from a TRS-80 modification somewhere?
A. Nope - As much as is possible to claim - all my own work.
Q. The System 80s that were modified? Did you get these in directly from EACA, Dick Smith or someone else? Looking at the three machines I have, there seems to be mix of variants, at least as far as the boards are concerned
A. I was unable to source directly as the agency had been tied up. In the main the system were:
- Existing ones that the customer had bought independent (mostly from Viscount)
- Basic Orr in Auckland sold directly into the area. He also supplied some to me at a discount.
- I had a dealership agreement with DSE and the majority of my sales were these.
I was aware of 2 models of System 80's that came into NZ independently and which I believed were from different sources (sort of a clone of a clone of a clone). These units were very poorly made, eg the PCB's were absolute atrocious. They may have been overruns from EACA but I do not know.
Q. Are there any documents anywhere? Theory of operation? Circuit diagrams?
I don’t think so. I definitely don’t have anything at all. In fact your site has more than I ever had. As for the theory of operation it was very simple. The System 80 had provision for 2 cassette players to be used - 1 internal and 1 external. The operation was controlled by a relay under the action of a bit line of the port register. It was just a matter of intercepting this bit and using it to control the transmit's line status between +12/-12 volts. This was done via a simulated UART in software providing a RS-232 serial data line of 1 start 8 data and 2 stop elements at about 110 Kbps at the transmitting system and a corresponding software receive UART at each receiving unit. As most terminal based systems communicated at 9600 bps, it was faster than them but of course pales against later ethernet speeds.
As mentioned, it's main function was to transmit a program already resident in memory of the sending system to the same memory place of all receiver systems. The program received was indistinguishable by the receiving system coming over a cable as though it was loaded from the cassette or a floppy drive for that matter.
The sequence of events to use was:
1. Identify a session master and load the desired program.
2. Enter the network program [/12345]
3. All session slave units would enter the network program and select RECEIVE.
4. The session master user would select TRANSMIT
At the conclusion of the send all units would exit the network program (forget how to do that here) and then run the program.
There was no handshaking or validation of the process nor synchronising between the transmitting and receiving units beyond timing of the menu selection. If a download failed at one of the receiving units the receiving system would select RECEIVE and sender would TRANSMIT again. Once all receivers had successfully received the program, the master unit was then available for use as a normal system. Any unit could be a session master. Of course any receiver successfully receiving the program could then act as a new session master and on-send the program to the receiver that did not receive the program successfully.
This was not the only System 80 modification I did. I of course did my share of memory upgrades. When the 64K RAMS became available at a competitive price I developed a mod that removed the 8 x 16k and after circuit trace modifications replaced them with 8 x 64kbit RAMS. This removed the rather horrible and failure prone stack of RAM's. The decoding was done fully with a fusible link PROM that gave better decoding and more space available to the additional EPROM space. This allowed building in both the Network and a stringy floppy code to be resident.
Murray Balchin
18th November, 2010