From:
n8vem...@googlegroups.com [mailto:n8vem...@googlegroups.com] On Behalf Of Douglas Goodall
Sent: Friday, April 01, 2011 3:25
AM
To: n8vem...@googlegroups.com
Subject: [N8VEM-S100:138] S100
Computers mirror updated FYI
FINISHED --21:27:58--
Downloaded: 1,360,657,938 bytes in 2575
files
[doug@server mirror]$
Mirrored at
http://server.goodall.com/mirrors/www.s100computers.com/
Introduction To
Site
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.
S-100
Bus Components:-The Bus & Motherboards
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 like
this. 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.
S-100 Bus Boards
(or boards) 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 16 pin 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 Boards
Clearly 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 Boards
The 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 Boards
When 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 Board
While 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. Today S-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
The best way to get in contact with me is to use our forum.
Alternatively via e-mail at monahan
@vitasoft.org
Please Note: Remove the space before the '@'
character to use the above e-mail address (This prevents spam).
My address is:-
John Monahan
3839
Cottonwood Drive
Danville, CA 94506.