Building an S-100 Bench Computer for Testing

Pictured above is an IMSAI 8080 running Jon Chapman’s Glitchwrks GWROM-80 Intel 8080 ROM monitor program customized for the IMSAI 8080 and IMSAI SIO serial card. The computer terminal is a Digital model VT220 which sends/receives at 9600 baud.

Typically, I post technical articles about my hardware projects on but I thought given we have a hack-a-thon coming up I’d make an exception and post a short technical article here just to show what kinds of hacking we do with vintage computers behind the scenes. Everyone has their own thing, but to follow is a brief description of a project I finished last night to illustrate the kind of work we do here. If you want to read the full article posted on there’s a link at the bottom.

The objective of the project was to build up a “bench computer” of the S-100 class for use in diagnosing hardware problems, testing ePROMs, loading programs from external sources such as a laptop, and communicating over the comm port using a RS232 Wifi modem. Basically to build a reliable system that I can count on to test other S-100 systems.

You may be familiar with today’s PCI bus or maybe you have heard of the IDE (IBM XT) bus? What started it all was the S-100 bus, which quickly became the first popular universal microcomputer backplane wiring bus system. It was introduced in January 1975. Back when the IMSAI 8080 was new, S-100 systems were typically attached to Teletypes for I/O. In 2023 it’s more practical for testing purposes to attach a laptop to the computer to serve as its screen and program storage rather than use a Teletype. Any terminal software will do, but my choice has always been Teraterm.

Ok, so you need a CPU controller card and possibly another controller with a serial port. I am using an IMSAI MPU and an IMSAI SIO card. What else makes a for a solid, “open” bench S-100 computer? Bare in mind it’s 2023 and it’s hard to find *any* working S-100 parts now-a-day, so you kind of have to work with what you have and piece things together…..Where the hacking comes in!

We need two more things, A ROM monitor and plenty of RAM.

What is a ROM monitor? A “ROM monitor” is a minimalistic command line interface that gives a person the ability to enter commands from a terminal to cause the computer to perform various low level functions. It’s not an operating system per se. I decided to take my IMSAI 8080 computer which currently had a CUTER ROM installed and to replace it with a usable ROM monitor program called GWROM-80. The ROM itself is installed on a programmable chip called an ePROM, which is installed on an ePROM S-100 board.

64K RAM – 8 bit machines can have up to 64K RAM unless they have bank-switching hardware. Most early S-100 systems had far less than the full 64K RAM installed. We can cheat by borrowing a “next gen” S-100 RAM to max out our system, something that would have been impossible in 1975. The trick with the newer part is resolve incompatibilities that will arise when one attempts to install parts from different generations of hardware. Front Panel? The use of a front panel is highly valued for diagnostics, programming, and S-100 board hardware testing. It’s a shame modern computers have no front panel..

Our dream machine is thus a 64K RAM IMSAI with full front panel access!

But not so fast. By the late 1970’s the front panel was eliminated from nearly all computer systems including the S-100 bus systems. The S-100 bus lines used to control the front panel were re-allocated for things like memory management. Thus if one took a newer (“IEEE 696”) S-100 control board and put it into an older S-100 system conflicts would arise, typically leading to a frozen front panel. Because our goal is to retain the use of the front panel, we need to find a way to bypass or disable the trouble signals on the bus.

Pictured above is a Morrow Designs MM65K 64K S-100 RAM controller (1981). Note all of the jumpers, pins and switches.

Thie Morrow “65K” RAM board is a typical newer IEEE 696 S-100 RAM and is ~6 or 7 years newer than the IMSAI 8080. The newer S-100 boards are more reliable than older RAM boards, which makes it worth the effort to try to get them to work on the older systems if possible. The alternative would be to find a stack of older, electrically-noisier RAM from the parts bin, strapped to fill address spaces in sequence. Not reliable!

Interested to learn how to deal with this problem? Read More (takes you to