Welcome to the S100Computers.com home page. This web site is setup
for people who are interested in vintage S-100 bus based computers. These
computers were the first home computers people used before IBM-PC, Apple
etc. computers existed. These largely forgotten computers have now experienced
a revival of in interest by hobbyists. There were about 20 major (and many
minor) manufactures of these computers (see
here) which made thousands of
these computers. Many were supplied as "kits" which each user assembled.
The common denominator of all these systems was that they were all designed
around a board with an edge connector consisting of 100 connections.
Multiple boards could be plugged into such a "S-100 bus". Different
manufactures offered unique boards, but by-and-large they all worked together
in an S-100 bus system. The S-100 bus was designed initially for 8 bit CPU's.
It became very popular. It later evolved into a bus for 16 bit CPU's and
finally was approved by the IEEE as the IEEE-696 bus.

This site describes many of the computer boards made for those systems.
It also describes new S-100 boards being made today for people that would
like to learn, experiment, and use the bus for various uses. There
is a core group of users that purchase these boards as bare boards and build
functional circuits with them themselves. These new boards are listed
here.

The reason the S-100 bus became the de facto standard for
early computer hobbyists back in the 1970's and
early 80's was that one was not aligned to any one manufacturer. During
that time there was an explosion of information and interest in home computers.
Early companies were very creative in designing boards with unique features.
They all could function together if they were plugged into a S-100 motherboard.
The IMSAI computer probably being the best known example of this. Early
motherboards were nothing more than 100 pin connectors wired in parallel.
The first home computer the Altair, had a bus structure
likethis.
A small motherboard of 4 board slots could be joined to multiples of these
boards to make a bus of up to about 16 board slots. This arrangement
worked fine for a low clock speed 8080 CPU running at 2 MHz. Soon afterwards
another company IMSAI came out with a more noise resistant
data bus with all connectors on one board. This quickly became the de-facto
"S-100 bus computer". While it is easy to look back now at the early
Altair S-100 computer and see how it could have been improved, we should
remember however, that when Ed Roberts
started there was severe price constraints of what the system could cost.
It was this low cost that got the home computer concept going amongst hobbyists
and launched the industry.

However soon people wanted to increase the speed of
the bus. Longer
multiple board slots soon appeared. It was not long until other electronic
engineers got involved and started producing "active terminated" signal
lines. The Godbout 19 slot S-100 bus board was one of the most
popular. This motherboard had pull up and down resistors on each of the
data, address and control lines to reduce signal noise. A schematic
of this arrangement is illustrated
here. Later many commercial and homebrew S-100 systems had at least
16-18 slots in a board cage to which multiple boards from multiple manufactures
were added. This became the standard home computer setup of the late 1970's.
The 100 individual pins of the S-100 bus are describe
here.

S-100 Bus Boards (or cards) as they were often
called, fall into 8 major types:-CPU Boards

The original Altair and IMSAI computers were driven
with Intel 8080 CPU based boards. The figure below shows an early
Altair CPU board. This was a very basic board with only the required
support 7400 type TTL chips to get the CPU signals out on to the S-100
bus. It did have a top row of pins in a Molex connector to bring some
control lines to a front panel "control" board that allowed the operator
to control detailed aspects of the CPU. Things like single stepping
the instructions in memory, inputting data into memory, resetting the
CPU etc. This was the S-100's first CPU board. The thing was primitive.
It did not even have gold plated edge connectors making corrosion a
problem over time . Improvements soon followed. The IMSAI equivalent
CPU also shown below, at least had gold plated edge connectors as did
almost all S-100 boards after that. IMSAI brought out more controls
to the front panel using instead of a single line 8 pin Molex connector
a 16pin IC
rainbow wire connector. From then on almost all the early S-100 CPU
board manufactures used this arrangement.

Many S-100 CPU boards then started to appear. Almost at the same time
people started to recognize the Zilog Z80 8 bit CPU as an alternative
to the 8080. This CPU was easier to interface with in hardware.
It also had to ability to easily utilize dynamic RAM memory (see below)
and in fact had some extra nice CPU op codes (like inputting from a
port addressed in the C register while counting down in the B register).
However most of the software catered to the lowest common denominator
(8080 code) in these early systems. A company called Technical
Design Labs (TDL) later called Xitan, was the first really successful
Z80 Based CPU S-100 board. They backed this board up with a System Monitor
Board (SMB) that along with a memory board allowed you to have a really
functional home computer.

With time people started filling up the real estate on the CPU board
with extra components. Such as jump on reset circuits to specific
memory locations, ROM's, I/O ports, diagnostic LED's, interrupt
controllers and when 16 bit data bus and 24 bit addressing appeared
modifications to make them IEEE 696 compatible. An excellent
example of a board like this is the Ithaca Intersystem's CPU board.
This is the CPU board I have used in my homebrew system. The board
is completely IEEE 696 compatible allowing one to actually address
1MG of system RAM. It has an on board interrupt controller and onboard
ROM.

Memory
Boards
As with the above CPU boards the early S-100 memory boards were
very basic. All utilized static RAM chips. The figures below show
pictures of the original Altair and IMSAI RAM boards. Because the
early CPU's ran at a slow 2MHz clock speed they were simple to construct
and were consequently quite reliable. The late 1970's
was a time of rapid development of RAM chips. 1K, 2K, 4K, and 8K
boards proliferated. Soon people started to look seriously
at using dynamic RAM memory chips for the S-100 bus. After a few
early boards which had compatibility problems they gradually became
as reliable as static RAM boards. There were eventually
a number of these boards. Probably one of the most successful was
the SD Systems ExpandoRam board. This held what seems like
an enormous block of memory at that time (16K). This was latter
improved upon to the enormously popular 64K dynamic memory board.
There were probably more of these boards sold than all other 64K
RAM boards put together at the time. A picture of the board is shown
in figure 15. Later, 64k boards became common in both static
and dynamic forms. Later still 256K memory boards (see below)) started
to appear. Static memory came down in price in the early 1980's
so many people switched to using static RAM memory boards. The difficulty
of refreshing dynamic memory in an 8/16 bit dual CPU system was
simply too much trouble. By 1985 it became common to see S-100 systems
with over 500K of memory.

I/O BoardsClearly in all but the simplest applications you
are going to have to get data into and out of the computer. From
the start of the S-100 bus era a whole proliferation of I/O boards
started to appear. Early S-100 boards where simply parallel, or
serial (RS232) port boards. Then both started to appear on the same
board. Typical later boards had 1, 2 or 3 serial ports along with
a few parallel ports. Later more sophisticated boards started to
appear. A major milestone in those early days was the TDL "System
Monitor Board". This board ,with a CPU board, gave you a complete
functional system. It had a ROM monitor to take care of all software
I/O and system initialization. It had 3 serial RS232 ports, a parallel
port (for a printer) a cassette interface to read and store data
on tape as well as 4K of static RAM. It was the first real
example of having software redirecting computer I/O via an "IOBYTE"
to different ports. A guy named Roger Amidon in 1976 wrote the Zapple
Monitor for the ROM which in countless other situations was used
and modified as the basic S-100 startup monitor. The board was way
ahead of its time.

With time quite elaborate I/O boards started to appear for the bus.
Following the TDL example most combined serial and parallel
ports on the one board. The Z80 and 8080 allows for only 64
IO ports. One issue that soon started to appear was finding a "block"
of ports on the bus for a new board that did not overlap with other
boards. It became quite important to have a flexible and movable
I/O ports addressable setup. Perhaps the most elaborate example
of I/O port flexibility was the Morrow "Multi I/O board".
You addressed one port on the board which then bank selected other
ports on the board in software. Unfortunately the thing was so complicated
that few spent the time figuring the thing out. Nevertheless the
board was extremely powerful.. It had 3 serial ports, one parallel
port, a timer/clock chip and a interrupt controller chip.
The Cromemco TU-ART dual serial and parallel board was an example
of a board that while powerful requited a lot of IO ports. Another
popular board was the Victor Graphic "ByteStreamer". It had
three serial ports and two parallel ports.

Video BoardsThe other way these computers were configured
to talk to you was to use a video display board to display
the information and input the data from a serial or (more common)
a parallel keyboard driven port. These boards were typically
a bit more complex that some of the above early boards because even
in the late 70's CRT controller chip like functions had to be implicated
with 7400 TTL chips. A popular video S-100 display board was
one made by Solid State Music called the VB-1. The board was
memory mapped meaning that when characters were placed in a certain
region of the S-100 CPU's 64K memory space they appeared in the
video produced by the board. This allowed fast (but primitive) B&W
games to be played. A color output equivalent of this board was
the Cromemco Dazzler board. It was an amazing implementation
of TTL logic on a 2 piece S-100 board system. Indeed it was
quite a few years before any other equivalent color video board
could match this Cromemco board. Unfortunately these boards were
not capable of displaying more than 64 characters per line on the
CRT. The real world for text required 80 characters per line
and at least 24 lines per CRT display.

A somewhat later but very popular display board matching these parameters
was the SD Systems 8024 video board. As shown above. This S-100
board had it's own CRT controller and character generator chip set.
It was I/O mapped, meaning that from a software point of view for
the S-100 CPU, it communicated over a set of ports as if it was
an external CRT terminal. Towards the end of the S-100 bus era quite
sophisticated video boards started to appear. A popular one was
the Lomas data "Color Magic" board. This board contained an IEEE
969 24 bit addressable memory mapped video that was completely compatible
with the IBM-PC CGA video board. It also had an IBM-PC compatible
keyboard port and interrupt controller on board.

Cassette Controller Boards

Early S-100 computers loaded and stored data on common cassette
magnetic tapes. The TDL System monitor described above for
example had the hardware to do this. However this system was finicky
and was never real popular. A very popular dedicated S-100 board
for reading and writing to a cassette was one made by Tarbell.
It was almost universal in its acceptance and quite reliable.
These days when I download from the web a 10MG file in seconds I
sometimes reflect on the time and tension one experienced when downloading
a 100K file on a cassette from a friend. Taking many minutes (and
sometimes try's) to do in those days. Other tape controller
boards did exist but none as popular as the Tarbell. For a
brief period of time even commercial software was sold in "Tarbell
format".

Floppy Disk Controller BoardsWhen Shugart brought out the first 5" floppy
disk drives and it became commonly available to S-100 users the
world of data storage changed forever. IBM and others already
had 8" floppy disk drives and they were becoming more prevalent
for those that could afford them, but the 5" floppy was much cheaper.
What was needed was a S-100 board to read and write to these drives.
Two early formats of disk drives emerged. One was a disk controller
by Northstar. This controller board consisted of many 7400 type
TTL discrete logic chips. It required a "hard sectored" disk, meaning
the disk had many holes, one for each track sector. It was reliable,
simple and popular for a time. However with the availability
of LSI floppy disc controllers such as the 1771 and 1791/1795 by
Western Digital all this changed. Very reliable high density floppy
discs could be easily read and written to with S-100 boards that
utilized these chips. Further the disks were a single index
hole soft sectored type allowing a proliferation of many disk formats.
An extremely popular and reliable floppy disk controller of this
type was the SD Systems Versafloppy II disk controller. The
controller worked with both 8" and 5" drives in single and double
density formats. However in the end almost every major S-100 manufacturer
had their own disk controller.

Other popular floppy disk controller S-100 boards were those by
CompuPro and Cromemco. These types of boards represented to some
extent the apex of the S-100 board era. They were quite complex
for their time. Made good use of the boards real estate and were
very reliable.

Hard Disk Controllers

Next came hard disks as the medium of storing data in S-100 based
computers. I remember well the day I installed my first 5 MG Shugart
hard disk. And how I marveled at all that storage space! S-100
controller boards for hard disks were initially slow in coming.
There was no equivalent of the 1771 or 1791/95 controller chips.
Furthermore these early pre IBM-PC, MFM encoded drives did not have
a disk controller on the drive (as current IDE, SATA etc. drives
have). Everything had to be done in 7400 based TTL logic chips and
software. Eventually however hard disk controller boards came.
One very good and reliable board (actually two S-100 boards joined
via an overhead connector), was the XComp disk controller board.
This board set is shown below. The board could control both 8" or
the soon to become more common 5" drives.

Front Panel BoardWhile not strictly essential, a front panel
control board makes life much easier when building an S-100 system.
Some early systems came with one already built in. The best known
being the classical Altair and IMSAI computer system front panels.
These boards via the numerous switches allowed the operation to
do things like examine a memory location or port, alter the values
there, or "single step" the CPU one instruction at a time through
memory. Historically the front panel also generated the S-100
memory write signal (pin 68) by combining the status line sOUT and
the line pWR*. Later CPU boards of course moved this function to
their CPU board. You should always check this however and make sure
there are not two memory write signals being generated on the bus.
This still remains one of the most embarrassing aspects of the S-100
Bus. There is no reason why the memory write signal should be treated
any different to other bus signals generated by the CPU or slave
controller. I have spent some time with my own homebrew system
putting together a more modern front panel board that is IEEE-696
compatible and controls the bus and displays the program counter
etc. in HEX display LED's. This will be described elsewhere on this
site. The Wamco front panel shown below was a particularly
good board and is described in more detail
here.

S-100 Computers Today

Over time many specialized S-100 boards appeared.
These included modem boards, math processor boards, speech synthesis
boards, time clock boards, and many relay control I/O boards. Towards
the early 1980's with the approval of the IEEE 969 standard, S-100
bus boards had become very sophisticated allowing multiple 8 and
16 bit CPU's on the bus and clock speeds of up to 5MHz and above.TodayS-100 based computers do not exist commercially. Technology
has moved on. CPU clock speeds are now in the GHz range rather that
the 2-5 MHz ranges. 32 and 64 bit systems are the standard and computer
buses it they exist at all on a home computer systems are orders
of magnitude faster and more complex. Nevertheless there is
a growing number of amateur computer collectors and hobbyists that
collect and maintain S-100 based computers much as veteran car collectors
and hobbyists work with cars of the by-gone ages.This web site is one of a number that shares
this passion. It is by no means inclusive, it is however the effort
of one person to share with others the magic of those early days
and reinvent the spirit.

Contact Information
There is now a new Google Groups forum to discuss new S100 boards
described on this web site.
If you have questions about a board or wish to get on the list
for a new board please feel free to join and participate here:-