My first home computer was a TRS-80 Model 1 and it evolved into this S-100 system with NorthStar Z80 CPU board, floppy and hard disk controllers, and serial and printer ports. The TRS-80 came as partial payment for doing a job for a dyslexic engineer, Nick in the mid-80’s. Nick was building product to add a math co-processor into a TRS-80, and I made some circuit boards for him. I’m not sure that he ever got it running. He gave me a non-functioning TRS-80 Model 1, and I found a power supply problem, and got that running.
It wasn’t long before I wanted more than the stock TRS-80 offered. There was an Expansion Interface available which offered the features, but I wasn’t ready to pay the money for that. It offered some features I really wanted:
- Sockets for 32K “extra” memory
- Floppy Disk Controller
- Printer Port
- Cassette Recorder Interfaces
- RS-232 Interface
There were books available to do some of the upgrades without buying the Expansion Box. I recall adding the Lower Case mod. This was an extra memory chip which added the storage needed to make possible the display of descenders in the lower case characters drawn on the television screen. Without the mod, characters with descenders were offset upwards to show the whole character.
I should note here that there was no notion of google back then. Alta-vista was probably the search engine of choice, and it might lead you to pointers to printed media for things like the lower case mod, so subscriptions to printed magazines and trips to bookstores were the main source of information.
Another mod was adding memory. I think the TRS-80 came with 16K (yes, Kilobytes, not Mega or Giga) of memory. I saw an ad in a trade magazine which offered 64K of memory chips for $64. Wow, a dollar per K, that was for me. I ordered them, added some wires for the extra address bus lines, and soon had a 64K TRS-80. Of course, the ROM occupied 16K of this, so I had 48K of useable RAM. The other 16K overlayed the ROM, and it was unused until I added a disk drive, and a CPM module, and I wrote Z-80 assembly code into the CPM BIOS to use the extra RAM for a disk cache.
Around this time, my employer, MicroNetworks had an S100 computer, possibly an Imsai. It ran CPM, and Bob, my boss, had some FFT software that we used to evaluate product performance. MicroNetworks was in the business of building Thin Film Hybrid Circuits for Analog to Digital and Digital to Analog conversions. CPM was a real operating system compared to the MS-DOS that the TRS-80 used. One of the PC magazines (maybe Byte or 80-Micro) had an ad for the Omikron Mapper, a module that could be put into the model 1 to make it run CPM. It plugged into the Z80 CPU socket, and it overlayed and remapped the ROM with a new ROM to load the CPM Bios from disk. But, to hook up a disk, I needed an expansion module, and a book I found at Spags actually had schematics and assembly instructions for connecting a TRS-80 to an S100 bus.
I had an aluminum chassis that a friend Joe V had salvaged from Sprague Electric, and I bought an S-100 main board, but the board was too long for the box. I actually cut the board and re-attached it at a right angle, re-connecting all 100 wires. The part I re-attached held the S-100 bus terminator circuitry.
You can see one of the connectors I hacked into the sides of the aluminum box. I think the round one was for the cassette interface. That feature turned out to be not needed after adding the disk drives.
The main part of the S-100 bus expander to be build by hand was the interface board. This blue Vector board had the custom circuitry needed to adapt from the TRS-80 expansion bus to the S-100 bus.
If I remember correctly, the expander board included a printer interface and a serial port. It was all hand wired from schematics in the Spags book. The disk interface was on a separate board, and I think this one is here.
Eventually, I got a Dyanabyte floppy disk controller board, replacing the home made one. Details are a bit fuzzy, but I think a normal floppy held 360 KBytes. I had Double Density, so could use 720 KB drives. But, I further doubled that by using double sided double density drives. I needed to write my own CPM disk routines to exploit the larger drives, but back in the day, writing your own BIOS routines for CPM was standard practice.
Eventually, I replaced the TRS-80 and expander board with a North Star Computers Z80 processor board. At this point, the PC was mostly self contained in the aluminum chassis with S-100 bus. Because the TRS-80 had it’s own keyboard, I needed to use a serial port connected to a CRT Terminal that had it’s own keyboard. That was another project itself, as I ended up tearing the circuitry out of a CRT terminal, and replacing it with a more modern terminal board. Some custom circuitry had to be added to that for the character generator and keyboard interface. I had 2 disk drive boxes connected to it. One held 2 DSDD floppy drives, the other held one held a SCSI hard disk, 5 MB if I recall. I needed to write the disk routines for the hard disk.
I don’t have pictures of all the boards, but the final box had the NorthStar CPU, a Dynabyte floppy controller, a dual serial port board with printer interface, and a SCSI hard disk controller. I remember taking a PDP-11 assembly language course at Central New England College. They had a dialup port to access a PDP-11 emulator that was actually running on a VAX. I would fire up my CPM box, and use an external modem to dial up the VAX, and using a terminal program, edit and run my PDP-11 programs.