S100 Computers

Home S-100 Boards History New Boards Software Boards For Sale
Forum Other Web Sites News Index    
  
Front Panel Board.
 
  S100 Computers Front Panel Board
 
Introduction

A few of the very early S-100 bus computer systems had a "front panel" with switches to display (and alter) the systems memory and see the status of data lines and CPU control lines.
They could be quite useful for debugging initial basic computer hardware.
The most common computer systems that had these front panels were:-
Altair, IMSAI, Wamco, Byte and later Intersystem's.
 
  FP Connection
 
Later S100 bus computer manufactures dropped this approach instead moving of the FP functions into an onboard ROM typically on the CPU board. Nevertheless these front panels are impressive.
More so were the later ones such as the one by Intersystem's.

Recently (2025), Robert Weatherford at Parastream has started manufacturing the famous IMSAI S100 system again. Robert was one of the early engineers at IMSAI back in the 1970's. I obtained one of his IMSAI S100 boxes with its front panel.  Its identical to the original IMSAI box  except he uses a switching power supply instead of the old bulky transformers. A beautiful piece of engineering! The front panel however does require the 16 pin ribbon cable connection to the data lines of the CPU (Z80 or 8080) on the master CPU board.  Not all CPU boards have this connection (including the S100 Computers V1  and V2 Z80 CPU boards). What we have here is a generic S100 bus Front panel board that should work with any S100 bus CPU board and exactly fits into the standard IMSAI box.  It took considerable time and effort to get the board mounting holes, switch positions and LED's etc. to match the IMSAI dimensions.

The S100 Computers Front Panel has the following functions:-

1.    When the CPU (any type of CPU BTW),  is running code in RAM one of the right hand switches will immediately stop the CPU and by flipping this switch one can single step the CPU displaying the current address in 16 LED's or on an optional LED bar or HEX display (see below).
2.    When another right hand switch is flipped the CPU (again any type)  will stop at a breakpoint in RAM set by the 16 "address"  switches and if needed 8 dip switches on the board (i.e. anywhere in the 4MG Address Space). One can single step from this breakpoint as described above.
3.    When single stepping the S100 8 bit DATA IN bus is displayed. Flipping another right hand switch then the S100 8 bit DATA OUT bus is displayed. The data can also be displayed on the optional LED bar or HEX display (see below).
4.    During single stepping (and in general) as in the IMSAI, the status lines sMEMR, MWRT, sINP, sOUT, sINTA, sM1 & sXTRQ  light up an LED if active.
5.    Outputting data to port FFH is displayed in 8 LED's as for the IMSAI. However this port is jumper selectable from F8H to FFH.
6.    There is a 555 pulse timer to generate interrupts for testing the V0-V7 interrupt lines and to use with software like CPM86.
7.    There is a jumper to zero address lines A16 to A23 for CPU/RAM boards that only work correctly with a 64K address range.
8.    The board works with up to 10mHz Z80's or CPUs like the 8086, 80486, 68030, PDP11 etc.
9 .   A proper Reset, Slave Clear, POC pulse is generated using an Analog Devices DS1233-5.
10.   As on the IMSAI board an optional 2MHz and MWRT signal to the S100 bus is generated.
11.   All S100 bus signals are buffered in and out to the S100 bus.

There is however one important thing to remember. This Front Panel Board only looks on the DATA IN or OUT bus lines on the S100 bus -- not at the CPU.  So if the CPU is running code in ROM from the Z80 board for example, it will typically not appear on the DATA IN bus. Single stepping etc. will display the correct address but the DATA IN will reflect what happens to be in external RAM at that location rather than what is in the ROM on the CPU board.    In many case this can be corrected by copying the ROM bytes to the underlying RAM and then single stepping the CPU.

Building The Board
If you intend to replace your current IMSAI FP board with this one -- a word of caution.  First completely disconnect/unplug  the 120 line power input to the IMSAI Box.
Remove the Plexiglas front panel (FP) and lift up the FP Board. Carefully disconnect the two wires bring power to the rightmost switch. Remove the board.

As you build this board you will need power to the computer, so hook-up a temporary switch insulated and well away from the computer box.
Since you will be on numerous times during the build below popping in/out the FP board
its very important to be sure you do not let the solder joints on the back of the FP board touch the computer metal frame.
I put a layer of adhesive plastic on the front of the IMSAI frame.  The stuff I use is used to protect car paint against stone chips etc.
Alternatively during construction you can use a sheet of cardboard.

The build instructions themselves are fairly simple. There are no unusual/uncommon components. Nevertheless we will build it in stages.
Insert all the IC sockets, resistors, capacitors and red LED's. Be sure you insert the LED's and electrolytic caps in the correct orientation.
Usually the longer lead goes into the square pad on the board.  See the KiCAD board layout if in doubt. Do not include the actual IC chips yet.

Two exceptions however:-
The LED's
P90 and P91 are small rectangular LERD's which go in a vertical and horizontal orientation. Do not add these yet.
The bottom row of four 14 pin DIP chips
(U7, U9, U17 and U36), should be soldered directly to the board without 14 pin sockets.
This is because the support bar for the switches (see below) needs space to fit above the PC board.
 
The Board Power Supply.
This board only requires 5V for the circuits. There are a number of 5V regulator options:-
You need to pick one.  
    V regulator pinouts    V regulator pinout 2 
These days there are a number of different Pololu 5V switching regulators. They  can be found here.
The board requires about 1.5 Amps at 5V. So you need to match the pinouts of
P69 and P70 with the Pololu regulator you use.
Alternatively you can use the right three pads of
P69 with a EzSBC 5V regulator. This is what I use here.
As a last resort you could use an old 7805 linear regulator with a small heat sink  -- later bending out the cooling fins to fit.
Again for this, use the right three pads of
P69.

Before adding any IC chips put the board in the bus and check the IC sockets are receiving a 5 volt supply.
Here is what the board should look like at this stage.
    Start FP

 
The Power On / Reset Circuit
First solder directly to the board the
ICs U7 (74LS04), U9 (74LS06), U17 (74LS00) and U36 74LS32).
If possible use known good chips from another board.

The first circuit on the board to get working is the Power On, Reset circuits.
It is important that these S100 bus signals give a clean sharp pulse to ground when required.
Instead of the old transistor cap/resistor circuit we will use Analog Devices DS1233-5 transistor like package to generate the circuits. 
Here is the circuit:-  
  
  Reset Circuit
 
Note when we discuss switches below. The right most (power switch) is a simple on/off switch.
The next 5 are toggle switches, red and blue as shown above. The remaining 16 address line switches are up/down switches colored as shown above also. We will add them in stages.

Add the reset toggle switch
P65. Add as little solder as possible to the switch at this stage since later you may need to align it better with the other switches (see below).
Pop the board into the bus and power up. The LED's D2 and D3 should briefly flash.  Flip the switch up or down to re-pulse Reset or Slave Clear LED's.
Here is a picture of the board at this stage:
  
       Reset Circuit


The Single Step and Breakpoint Circuit
The next circuit we will install is the Single step and Breakpoint circuit.

The circuit is similar to the one we have in our System Monitor Board and Bus Display Board.
The actual circuits came from the "Interfacing to S-100/IEEE 696 microcomputers book
by Sol Libes and Mark Garetz.
 

    Breakpoint Circuit
 
It is very important that
U1 is a 74LS14 rather than a 74LS04.  We need a sharp trigger with the 2uF cap C50 discharge.
A note on the switches.  Once the switches are installed its is not possible to remove the row of IC's above them without removing the switches themselves. This is not easy.
So apart from the IC's above we need for the above circuits we will add the row of IC's above the switches. Please try and add known working IC's.

Install IC's
U34, U26, U16, U18, U5, U26, U4, U11, U12, U23, U27, U3, U28 IC1,IC2, IC3 & IC4.
Insert all the remaining  toggle switches
P53 (Single Step) and P54 (Breakpoint) and 16 up/down switches colored as shown.
Solder in with little solder as they may need to be re-aligned later.
 
Throughout the process  here we will use the following code in RAM at
8000H.

3E 31
D3 01
3E 32
D3 01
3E 33
D3 01
C3 00 80


This code will continuously display
1231213123.. on the Propeller Console IO board screen.
In the monitor use the "J" command (
J8000)
Flip down the
P53 switch. The display will stop. Then pulse up the P53 switch. The CPU will advance one step at a time as see by the 16 address LED's. Flip the reset switch P65.
The CPU will return to a continuous display.

Next we will test the breakpoint part of the circuit.  Make sure the
JP1 jumper is in place at the top of the board.
Repeat the above
J8000 command.
Press down the address line switches A14 to A0. Flip up the A15 switch.
This sets the breakpoint to
8000H.

Press down the
P54 toggle switch. The CPU will stop at address 8000H as displayed in the address LED's.
While still holding down
P54 flip down the P53 switch. Then you can release P54.
The CPU will stop at
8000H, the LED D1 will light up  (and D30),  from here you can single step one instruction at a time by flipping up the switch P53
This (currently) can only be displayed in the address lines LEDs. (The data in/out LEDs and status line LED are invalid at this time, see below).
Flip the reset switch
P65. The CPU will return to a continuous display.
Here is a picture of the board at this time:
    Single Step Stage



The Out Data Port Display Circuit
The next circuit we will display is the circuit to display the S100 bus IO port data in lines as displayed by LED's
D32-D39.
The IMSAI port display is for port
FFH. We will allow a selection of F8H or FFH with a jumper on P68. (For FFH, jumper 15-16)
Install IC's
U25, U21, U24, U22 and U20.
Jumper K1,  and P68 15-16.
Here is the relevant circuit:-

    Port FF
 
From the Z80 monitor output a value to port
FFH.
QOFF,33
The LED's
D32 - D39 should display 33H.
Add the two switches
P59 (Data Out) and P82 (Int 0-3).
Do not add the two Rectangular LEDs
P90 and P91 yet.

The S100 Bus Data IN and OUT Data Lines Display

This is probably the most useful part of the Front Panel Display board.
The standard IMSAI front panel is somewhat limited in its ability to display bus data.
One very nice thing about our System Monitor Board is that one could display the data lines with an LED bar display or an LED Hex display.
There is not enough room on this Front Panel board to add these LEDs.
I have got around this by adding two ribbon cable connections to an external "Display Board" much like we did for the
SMB  (See below)


Add the following IC's
U35,U8 and U29.
Add the jumpers
JP2,3,10 & 11.
Insert one small rectangular LED in
P90 such that it lights up on power on.
Insert another small rectangular LED in
P91 such that it only lights up when you raise the P59 toggle switch.
Its probably best not to solder these two LEDs in until you complete the tests below first.

The Display Boards
There are two display boards for this FP Board. Both are connected via two 26 pin ribbon cables and connectors as shown below.
They are similar (but not identical)l to the System Monitor Board Display Boards.
The best board with LEDs to use is the TI TIL 311 Hex LED's display board.  These displays are expensive and hard to get these days however.
They usually appear on eBay from overseas vendors.
Alternatively one can use the 8 bar LED's.  The 10 bar LED's are common but lead to a confusing display.
Again 8 bar LED's can be obtained on eBay -- typically from China.
Either board for this Front Panel display has its own "mezzanine display board" as shown below.
In the IMSAI box you also need to cut out a right angled metal "shelf" to support the display also shown below:-
  
  Blank Display Boards
  HP Display Board
  Display Board Support
  LED Bar Display
 
As noted for the System Monitor Display Board those TI Hex displays run hot and as such tend to burn out over time.
The two diodes at the top of the display are to drop the voltage a little. This seems to solve the burnout problem.
Also on the Godbout motherboards there is a two pin socket to add a reset switch near the front of the motherboard.
I have found it very convenient to have a jumper connection from this socket to a small push button reset switch on the mezzanine boards.
It can be seem the pictures above.

The actual circuit on the FP board itself is somewhat complicated. We use the toggle switch to display EITHER the S100 bus
Data IN or Data OUT lines.
Which line is controlled by the toggle switch
P59. On reset the display always displays the S100 bus Data IN lines. The horizontal LED P90 will be lit  up.
Single stepping through RAM code as described above now not only displays the current
Address lines (D4-D19) but the Data In lines  on LEDs D40 -D47.
The same information is also displayed on the external Display Board.

Flipping the
P59 switch down sets the display to the Data OUT S100 bus lines. The vertical LED P91 will now be lit up.
Again you can single step through code. Remember however this time you are only seeing data sent out to RAM or IO from the current CPU.
Flipping up
P59 reverts back to the Data IN S100 bus lines.  

Typically one would use a dual color Red/Green LED display to indicate which data line display is current.
However the Red Plexiglas display cover on the IMSAI box does not allow green to penetrate.
I get around this with the two small rectangular LEDs.  The Vertical one is
Data OUT, the Horizontal one Data IN.
Here is the board circuit.

  data In-Out Circuit
 
Either of the two Mezzanine boards connect from the following ribbon cable connections:
 
    Mezzanine Board Connector
 
To recap on the operations of this circuit.
Again add the following code to ram at
8000H:-
 
3E 31
D3 01
3E 32
D3 01
3E 33
D3 01
C3 00 80

Toggle the single step switch as described above. As before the address lines on the main IMSAI display ( LEDs
D4-D19) will change.
The should increase by one, two or three bytes at a time.
Now however the S100 bus data IN LEDs
D40-D47 should now reflect what data is going into the CPU.
Also the Hex (or LED bar) display should display the same data.
If you flip the
P59 switch the LEDs P90/P91 will change from horizontal to vertical.
With this flip the Data displays above will change to reflect the S100 bus
Data OUT.
Normally there is not much on this bus except when you output data to a port.
Flip
P59 again and you toggle back to the Data IN bus and displays.

It takes a little time to get used to these switches for breakpoints, single steps etc.
Remember you can use other CPUs such as a 8086 and the dip switch
SW1 to work within the S100 bus 4MG Address space.
However because these 16 bit CPU's pipeline the data the display is less useful. Nevertheless 16 bit data is recognized.


The S100 Bus Status Lines Display
This is a relatively simple series of circuits.  The S100 bus Status lines are too short to see by pulsing an LED when active.
We "stretch" the duration of the signal to the LED with
74LS123's. Not the actual S100 bus signals just the LED signals.
This way even a short
sM1 signal is see with a LED Flash.
Normally when running most of the LEDs are lit up. Only when one single steps do they individually light up.
Here is the core signal for say sINP.
 
  sOUT Signal
 
The following S100 bus signals are represented: 
sMEMR, MWRT, sINP, sOUT, sXTRQ, sINTA and  sM1
To activate these LEDs add
U13,U14, U15 and U19 and U33.

Also on this front panel board are a few special indicator LEDs.
sHLTA which lights up LED D30 if the current CPU is halted.
PHANTOM which lights up LED D27 if the current CPU lowers the Phantom S100 bus line (67).
EXTENDED RAM ENABLE (LED D28).  This one requires a little explanation.
Older S100 CPU boards recognized only address lines
A0-A15 With IEEE-696 boards the Address lines A16-A23 were left floating.
Not good for RAM boards! No jumpers on
P10 forces these lines to low with the following circuit.
Add
U31.
 
    A23-A16
 
Jumpering
P10 9-10, or activating a 16 bit slave CPU with TMA0-3 disables this circuit activating LED D28.

The S100 Bus Interrupts Testing Circuit
One of the most difficult software and hardware things to get working with S100 bus boards is interrupts.
While not used much with Z80 boards, they are used a lot with 16 bit boards like the 8086 family, 68K family or PDP11 CPU's
The following circuit is used to allow simple testing of Interrupt hardware and software.
Add
U30 a LM555 timer.
   
     Interrupt Circuit
 
We use a simple 555 pulse circuit to generate repeated interrupt pulses.
These can be see by the flashing of LED
D49.
The negative going pulses are brought down to the S100 bus pins via
P88 and P89.
Toggling switch
P82 will allow the interrupt pulse to appear on P88 or P89
These can be jumpered to the appropriate S100 bus Interrupt lines
VI0 - VI7.
The interrupt response hardware will pulse
sINTA to clear the interrupt.
If jumper
K6 is jumpered either 1-2 or 2-3 one of the S100 bus lines can be setup to receive repeated interrupts.
This is useful for software like
CPM86.

Odds and Ends Circuits
The  board  contains a few other minor components.
A 2MHz S100 bus clock signal is provided to pin 49 on the S100 bus if JP6 is jumpered.
Some older CPU boards expect the MWRT signals to be generated by the Front Panel board.
JP7 provides  this option. Care should be taken to make sure the CPU board(s) do not provide this signal if used.
The SD Systems Versafloppy II Floppy disk controller board had an unusual S100 bus Phi clock signal requirement.
This is discussed here. The Jumper JP5 brings the required signal our on S100 bus pin 27 (RFU1).

Mounting of the Front Panel Board in the IMSAI Box
The rightmost switch a simple On/Off switch switches on/off the 120V power to the computer power supply.
This is a very dangerous switch. Normally I would not bring 120 volts directly to an S100 board.
However this is the way IMSAI did it so we will reproduce it here.
Three things related to this:
Since all the power to all S100 boards go through this switch the connecting wire needs to be tick.
Second since the actual board connection to the power switch goes through  traces on the board
I like to solder thick wires from the board power connection to the actual power switch to spread the load.
Finally for safety, I completely cover all exposed solder joints with these connections with heat gun paste for insulation.
Please take great care with the above steps. Study the pictures below carefully.

       Power Switch

You can pass the two 120 volt wires go through a hole at the bottom of the IMSAI front panel back to the power supply.
I have two "quick disconnect" connectors to these wires to allow easy removal of the front panel board.
These are available at Home Depot and elsewhere.
  
    Power Connection
   
Next we need to add the support bar for the switches. You can use the IMSAI one or make your own.
I obtained and cut a thick aluminum rod 0.5" wide, 0.125" thick and 15.5" long from Home Depot.
I then drilled small holes in this bar to accommodate a slightly larger metal screws used to hold the switches in position.
Mark each hole with a pencil first.  Be sure the switches are evenly spaced apart and aligned with each other.
If not, briefly melt the switch solder on the back of the board.
Here is the final arrangement.
 
  Switch Bar

The holes in the Front Panel Board should exactly line up with the screw holes in the IMSAI box.

The next challenge we have is the switches on this board have different functions to that of the IMSAI FP board.
The white text on the black plastic sheet over the switches needs to be changed.
In the end, I found the best way to do this is to print white text with a black background on a large address label and cut the one line to exactly overlay the IMSAI text.
Behind the Plexiglas screen you cannot see then change.
I could not get Microsoft Word to do this, I ended up using Coral Draw.
Here is a picture:
 
  Switches Text   MWRT Label
 
Adding back the IMSAI front panel layers is tricky. You have to carefully hold all the screws and spacers in place as you attach the screws with a small Allen wrench. 
Finally add the bottom IMSAI frame covering. The FP board should now be properly secured.

A Description of the Board Jumpers.
The table below contains a number of important jumpers that determine how it functions.
Most will not need to be changed once the system is running but it is very important they are configured correctly.  In no particular order:-

Jumper    Function 
JP1 This jumper activates the breakpoint circuit. Normally closed.
JP8 This jumper allows the onboard 2MHz oscillator to put the Clock signal (S100 pin 49) on the bus
Normally open.
JP7 This jumper generates the MWRT signal (from sOUT and pWR*) for the S100 bus.
Normally open.
K1 Sets the IO port FFH to either 8 or 16 bit addressing. Normally 16 bit, K1 1-2.
P68 Allows the selection of the IO display port (F8H-FFH). Normally P68 15-16 FFH.
P10 If unjumpered the upper address lines A16-A23 are always zero. A low on the TMA lines 0,1,2 or 3 can activate these upper address lines as can a jumper P19 9-10. Normally 9-10 is closed.
JP2,3,10 or11 These are normally closed. They provide the write signals to the mezzanine display board.
K6 This allows a continuous series of pulse to be sent S100 bus vector lines. Normally open.
JP5 Special jumper when using the SD Systems Versafloppy II Board in the system. Normally open.

   

Parts
Please note this board requires a lot of specialized parts from the IMSAI FP board.
Switches: You can desolder and reuse the switches on your current IMSAI Front Panel. This is difficult to do and not recommended.
There are many types and sources of switches. Some have lugs with holes which need to be trimmed with a wire cutter to fit. I did this with switches from Parastream Technologies.
The 3 holes for each switch are way bigger than most switch lugs. When inserting them I use a small amount of solder as a bridge to test the board  etc., 
Later when I add the support rail I melt that solder bridge and screw the switch in place and reposition each switch. Then I use a large solder cord to completely fill the switch hole.

Robert has a seperate link for IMSAI style components for this board:- https://www.parastream.com/imsai/parts/s100computers.aspx.

One unusual part is the Analogue Devices DS 1233-5 transistor like item. You need 3 of them.  (The Mouser part number is
700-DS1233-5). 
The
TIL311 Hex displays are getting difficult to find these days. They can be found however on eBay.  The TI DIS1417 is also a direct replacement.
  
A Production S-100 Board
Realizing that a number of people might want to utilize a board like this together with a group of people on the  Google Groups S100Computers Forum, "group purchases" are made from time to time. 
The small display boards will be included in any shipping.

Please see here for more information.





MOST CURRENT FRONT PANEL BOARD (V1.1A) SCHEMATIC            (V1.1A, FINAL, 11/6/2025)
KiCAD BOM for this board  V1.1A   (Text file)                                                      (V1.1A, FINAL, 11/6/2025)
KiCAD files for FP V1.1A board                                                           
                               (V1.1A,  FINAL, 11/6/2025)
COMPLETE FRONT PANEL BOARD (V1.1A) FOLDER
                                        (V1.1A, FINAL, 11/6/2025)

COMPLETE FOLDER FOR FP LED BAR DISPLY BOARD                     (V1.1A, FINAL, 11/6/2025)
COMPLETE FOLDER FOR FP TIL311 DISPLAY  BOARD                   
  (V1.1A, FINAL, 11/6/2025)


Other pages describing my S-100 hardware and software.
Please click here to continue...

This page was last modified on 01/04/2026