Technology and retro computer blog

Altair 8800 with FDC+ and 5.25" TEAC 55GFR dual drives

A project that I've wanted to do for a while is to set up the Altair with dual disk drives using the FDC+.  A few weeks back I managed to get hold of another TEAC 55 GFR drive thanks to a contact on the VCF.  So I finally got around to configuring both drives to work with the FDC+.  The new drive is a TEAC 55 GFR 612-U, it's a slightly different model to the other drive that I use which is a TEAC 55 GFR 149-U.  The 612-U has different jumpers to the 149-U but I managed to configure it close enough and it works fine with the Altair.

To hold the disk drives together I'm using a 5.25" drive rack that I cut out of an old pc.  I'm also using an AT power supply from the same pc to power the drives. 

Two TEAC 55 GFR floppy drives

Jumpers set on the TEAC GFR 612-U, drive set to D0 (disk 0)

Jumper settings on the TEAC GFR 149-U, drive set to D1 (disk 1)

The dual drive unit assembled and connected to the Altair

The Atlair running 63k CP/M with directory listings from both drives A and B

Running Ladder game under CP/M

FDC+ Enhanced Floppy Controller for the Altair 8800

The FDC+ is a new floppy disk controller board for original Altair 8800 computers.  It was developed by Mike Douglas, see the FDC+ website and Altair Clone website for more details.  The original Altair 8800 floppy disk controller was a two board s100 configuration which only connected to the original MITS 88-DCDD drive.  In contrast the FDC+ allows original Altair 8800  computers to connect to a variety of floppy disk drives from the original MITS 8" floppy drive to more recent TEAC FD-55GFR 5.25" drives.  It also allows the streaming of disk images to the Altair via a serial link, so you can use disk images without a physical disk drive at all.


My FDC+ arrived yesterday and I spent some time today getting it up and running.  My goal  was to use a Teac 5.25" drive to act as an Altair 8" drive and to create a CP/M boot disk.  The FDC+ comes with several adapter pcb boards for use with different drives.  You select the required drive configuration and then solder the appropriate connectors onto the bare pcb.  The pcb for use with TEAC 5.25" drives requires two IDC sockets, the first is a 50 pin socket for connection to the FDC+ board and the second is a 34 pin socket for connection to the drive.  I created the required adapter for the TEAC drive.


To get things up and running quickly and easily I decided to configure the Altair with just the CPU, FDC+ and SSMIO4 serial card.  I enabled both ram and prom on the FDC+ and configured it for the correct drive type.  I have a working Teac FD-55GFR(149) so I set the jumpers as per the FDC+ manual.  I used a really short 50 pin scsi cable to connect the FDC+ to the adapter board, it actually works well because it just suspends the adapter board next to the FDC+.  I then used a standard pc 34 pin floppy cable from the adapter board to the drive.

To get CP/M onto disk I used the following approach, I booted the Altair and ran the hex loader program in the FDC+ prom.  Using the hex loader I then loaded PC2Flop.  I then ran PC2Flop and created a CP/M boot disk.  One thing I noticed is that I'd configured my drive to be drive 1 not 0.  Pc2Flop worked fine once I selected drive 1.  After creating the boot disk, I examined the combined disk boot loader and tried to boot, but realizing that my drive was configured to be drive 1 not drive 0 I had to correct the jumpers on the drive.   Once I did that I was able to boot CP/M.


I used DS/DD 5.25" disks in the TEAC drive and while it initially worked, I found on subsequent attempts to create various disks, the process would quite often fail.  After some discussions Mike suggested removing the LG jumper from the TEAC drive.  Once I did this it made the disk creation process quite reliable.  Although in further discussions it was suggested that ideally high density 5.25" disks should be used instead of double density disks.  I have yet to try the HD media to compare results.  But for now DD disks seem to be working fine.



Altair 8800 S100 boards

MITS 8800 CPU board - the cpu card works fine but on close inspection assembly is very rough.  Many of the traces have been re-soldered, and it looks like quite a few hacks have been done to this card.  The traces are prone to blackening.  And at one stage the machine wasn't working properly, it wouldn't respond to the front panel when turned on.  On removing the cpu card I noticed that the contacts on the card's edge connector were very blackened, so I lightly rubbed them with some steel wool, (not recommended, use an eraser instead).  This fixed the responsiveness problem.  Obviously the contacts weren't making a very good connection.  A simple fix which I was pretty happy with.  This particular cpu board has an Intel 8080A processor installed, date on the chip is 1974.


California Computer Systems 64k dynamic ram board - since getting the Altair  I've purchased a couple of memory cards, the first was a TDL16k which unfortunately had stuck bits.  I also purchased this CCS 64k which seems to be ok.  Being a 64k card it provides the Altair the maximum amount of memory.  It's also a fairly late s100 card dated 1980.  There's a set of bank select jumpers in the top left corner which allows any 16k block of memory to be disabled.  I've tested the CCS64k using the Altair Rom monitor by John Garza and it gives it a clean bill of health.


Cromemco 8k Bytesaver - The 8k Bytesaver is an 8k prom card that can read and write 2708 eproms.  It has capacity for eight 2708 eprom chips (1k each).  These cards were developed by Cromemco primarily for use in an Altair.  I have two 8k Bytesavers that I can use in my Altair.  The 8k Bytesaver has enough capacity to store 8k Basic on seven eproms and still have enough space to store a 1k monitor program for loading software and examining memory.  I've also created socket adapters for using more modern 2716 eproms and 2816 eeproms with the Bytesaver (see post).  Using the Bytesaver I can load 8k Basic into the Altair with a few switches after power up.


Solid State Music IO4 - the serial card in the Altair is an SSMIO4.  This is a very rare s100 serial card because it can be configured for use in different s100 machines.  Importantly for the Altair it can be configured exactly like the MITS 88-2SIO to run MITS software.  See my guide about configuring the SSM IO4 for the Altair.


MITS 88-S4K memory card - I have two of the MITS 88-S4K cards.  One seems to work fine, but the other is a little flakey.  I've managed to do a simple memory test on both cards using the Bytemover program.  The Bytemover program moves a 1k chunk of memory from any 1k location withing an 8k boundary.  Using this you can copy the program from one 1k chunk to another and then run that copy.  If the copy moves the memory successfully it's a good test of the memory in that location.


MITS 88-2SIO Serial Card - the MITS 88-2SIO pictured above is configured for RS232 serial interfacing.  The wirewrap hack that you see on the left, sets serial ports 0 and 1 to addresses 20 and 22 (octal).  This is the standard terminal I/O address for 88-2SIO to use MITS software like Basic.


MITS disk board 1 rev. 0 X3 - this is one of the two boards that makes up the MITS floppy disk controller.


MITS disk board 2 rev. 0 X2 - this is the other board in the disk controller set


An adapter for replacing 2708 eproms with 2716 eproms

2708 eproms were used in early computer equipment and arcade machines, but unlike more modern eproms they require a triple voltage for programming.  Because of this odd voltage requirement many current eprom programmers don't support them.   2716 eproms are later model eproms which have a very close pin configuration to the 2708's, but are supported by many current eprom programmers.  A simple three pin modification can be made to the 2716's to make them usable as 2708's.  2716's have a 2k capacity, as opposed to 2708's which are 1k, so you only use half of the capacity, but as they are readily available and fairly cheap, this is not a big issue.  2816 electronically erasable eeproms can also be used instead of 2716's.  The 2816's are pin compatible with 2716's but are electronically erasable rather than UV erasable, so they are even easier to work with.


To avoid making changes to the original 2708 equipment and the 2716 chips, a 24 pin socket adapter can be made to fit between the original 2708 socket and the 2716 chip.  This allows the 2716 to be programmed on a modern programmer and then placed into the adapter socket for use as a 2708.  To create the adapter, I use two 24 pin sockets, the upper socket contains the wire connections and the lower socket has pins 18,19 and 21 removed.  See pictures below.


To create the adapter, the following connections need to be made in the upper socket:


  • Connect pin 21 to pin 24
  • Connect pin 18 to pin 20
  • Connect pin 19 to pin 12  *


* Pin 19 is connected to pin 12 which uses the first 1k in the 2716.  Alternatively pin 19 can be connected to pin 24 to use the second 1k in the 2716.


Then in the lower socket pins 18, 19 and 21 need to be removed.  See pictures below.


Bottom view of upper socket, bottom far left pin is pin 12, top far right pin is pin 24



Completed adapter showing bottom socket with pins 18, 19 and 21 (left to right), removed



Top view of socket adapter, top far right pin is pin 1, bottom far right pin is pin 24



This diagram shows the pin assignments for both the 2708 and 2716 and the required wiring connections and pin removals to enable the 2716's to be used in place of 2708's



 Click on image for larger version
Here are the adapters in use in an eprom card installed in the Altair8800.  The Cromemco 8k Bytesaver card has capacity for eight 2708 eproms.  2816 Xicor eeproms have been used in all eight slots using the adapters.  Chip zero (far right), contains a 1k rom monitor program and chips 1 to 7 contain MITS 8K Basic.  Using the monitor program 8k Basic can be transferred into ram almost instantly with a simple command from the terminal.






S100 boards that I've sold

When I first bought my Altair it came with many cards that I determined I just couldn't use.  Here's a description of the cards which I sold.

MITS 1K static memory
MITS 4K dynamic ram
Altair Basic & Programming package

 MITS 1K static memory
This is the original MITS 1k static ram board that came with the Altair.  This one was functional as far as I could tell from the limited front panel testing that I did.  Considering the small capacity of the ram board I decided to sell it.  I kind of regret this as the board was a great collectable, but in reality not much use for anything.


MITS 4K dynamic ram
My machine came with two of these early MITS dynamic 4k ram boards.  But by the original owners admission, both were a bit flakey.  And in my early testing I couldn't get them to work properly.  All of the MITS cards in my Altair came with the original documentation which is a huge bonus as this stuff is very hard to get hold of.


MITS 88-PIO parallel board
My machine came with a MITS parallel card.  But when I asked the owner about this card he told me that he never managed to use it for anything.  These parallel card potentially could be connected to a parallel terminal or printer.  At the time I didin't have enough knowledge of the Altair to do anything with this card.


MITS 88-ACR serial cassette board
My machine had a cassette interface board.  This board could potentially be used to load Basic and save Basic programs written by the user.  In the early stages of owning the Altair I didn't even have a working terminal so this card wasn't much use.


Altair 8k Basic v3.2 and Altair Programming Package #1 3.2 on casette
There were some copies of 8k Basic and the Altair programming package on cassette tape.  You can also see a printout of 8k Basic v3.2 actually running.  By the looks of it, the Altair must have had around 14k of working memory as the bytes free displayed on the printout is around 6k.

DEC VT100 Terminal

I've got an original Digital Equipment Corp (DEC), VT 100 terminal.  The terminal is ideal for use with the Altair as it comes from the same era.  I'm not sure exactly when this particular terminal was made but the VT100 was produced between 1978 and 1983.

 6th July 2013
Recently the VT100's screen went blank, and after some investigation I determined the flyback transformer had gone bad.  There's a small fuse on the video board that had also blown.  I replaced the flyback transformer and fuse, and now the terminal is up and running again.



  Digital VT100 specifications
Manufacturer    Digital Equipment Corporation (DEC)
Release date August 1978
CPU Intel 8085
Ports RS232 serial, composite out & in


    VT100 User Guide   VT100 Technical Manual


VT100 Animations

Send the contents of these text files to the terminal to display it's graphics capabilities.

vt100_merry_xmas_animation.txt (8.92 kb)

vt100_train_animation.txt (15.75 kb)

vt100_xmas_animation.txt (27.70 kb)

MITS Altair 8800

The MITS Altair 8800 is widely accepted as the first commercially successful personal computer.  It was produced by a company called MITS and was developed by H. Ed. Roberts.  The Altair was first publicly released in 1975.  It was also the computer that launched Microsoft, their first product was a Basic interpreter for the Altair called Altair Basic.

MITS Altair 8800 and 88-DCDD MITS Altair 8800 card view


 Altair 8800 specifications
  Manufacturer      MITS
  Release date   January 1975
  CPU   Intel 8080, 8 bit
  Speed   2MHz
  Ram   256 bytes to 64k
  Rom   Optional via s100 board
  Storage   Optional 8" floppy disk, paper tape, cassette tape   
  Expansion   s100 slots

  Optional: serial, parallel



I purchased this Altair 8800 in July 2011 from someone in Canada.  He was the original owner and builder and purchased it in 1975.  It came with many original MITS s100 cards and all the original documentation.  The serial number on the machine indicates it was a kit because the last letter is a "K" opposed to an "A" which meant factory assembled.  The serial number also indicates that this machine was number 1,919.  This means it was reasonably low in the production run.  From what I've read there were around 10,000 Altairs produced.

It took me almost two years and many hours of research to get the machine to a usable state where it could load software and was usable through a terminal.  Part of the problem was that the machine didn't have an RS232 capable serial card, and they aren't too easy to come by.  After a lot of effort I'm glad to say that I now have two working serial cards, a MITS 88-2SIO and a Solid State Music IO4.  The SSM IO4 is configured just like a MITS 88-2SIO and works just the same.   See my post below for full details.

Want your own Altair 8800?

Original Altairs are still available although they're becoming increasingly rare and expensive as time goes by.  The primary source for finding original Altairs and components  is U.S ebay.  But there's also some easier and cheaper alternatives for experiencing an Altair.  There's a number of software emulators freely available and there's also hardware replicas available at a reasonable cost.

Altair 8800 Clone

My pick for the best hardware replica is the Altair Clone developed by Mike Douglas.  The Altair Clone reproduces the external functionality and look of the original machine but on the inside uses modern hardware.  In fact if you look inside an Altair Clone it appears empty.  The entire functionality of the original machine has been recreated using some tiny chips on the front panel board.  The Clone is a fully loaded Altair with inbuilt capabilities for PROM and floppy disk emulation and also has an optional cassette tape interface.  There's a great library of Altair Clone demonstration videos on YouTube.  These videos are of great use to all Altair owners.  Mike's technical knowledge of the Altair is second to none and he provides excellent service and support.  The Altair Clone comes assembled or in kit form, but both are the same price.  Mike is also the developer of the FDC+, a disk emulator for original Altairs.

Altair 8800 micro

The Altair 8800micro is a hardware replica of the Altair that has front panel switches and lights.  It's smaller than the original machine and uses modern hardware on the inside.  It has various optional components which adds serial port and disk functionality.  It is priced cheaper than the Altair Clone and comes in a kit or assembled.

Altair 8800 Kit

The Altair Kit is a functional and cosmetic replica of the original Altair developed by Grant Stockly, it was available in kit form only.  It replicates the internal hardware of the original machine so closely that components from the Kit can be interchanged with the original Altair and vice-versa.  The case used for the Kit is the original case made by Optima.  The Kit is the closest replica of the original Altair ever made but unfortunately it hasn't been available for many years.  The website is still there and there's been recent rumors of Grant starting up production of the kit again.

SIMH Altair Emulator

A very good Altair software emulator.  It has many configuration options for different hardware and settings.

Altair32 Emulator

A great software emulator that captures the look of the original Altair in it's interface.  There are options for loading PROMS, disks and tapes and configuring memory.

Click here to see my other Altair related posts.

Altair 8800b from Visual Basic 5.0 intro 1997

Configuring the SSMIO4 for use in an Altair 8800

This guide will show you how to configure the Solid State Music IO4 serial board for use in an Altair 8800.  The SSMIO4 will be configured to work exactly like a MITS 88-2SIO rev.0 serial board.  I've used this configuration in my original Altair 8800 and it works perfectly.

To start with it helps if you download the SSMIO4 manual, and print it out:  SSM_IO4.pdf (1.05 mb)

I recommend reading through the manual end to end before doing anything on the board.  Become familiar with the positions of each config block and socket.  Break out the page with the board diagram on it for easy reference while reading through the manual.

Read through each section below and configure the card and serial cables as described and all going well you should have a serial board that is fully compatible with the MITS 88-2SIO rev.0.

Status port setup, sockets U18 & U16

Install 74367 ic’s into slots  U18 for serial channel A and U16 for serial channel B.  This sets the status word of each port to positive sensing just like the MITS 88-2SIO rev. 0.

Serial channel configuration, switch blocks S2 and S1

Locate switch blocks S2 for serial A and S1 for serial B, configure each serial channel for parity, data bits, stop bits and port reversal (manual page 3-1).  In general setting all switches off for each switch block will set up each serial channel as no parity, 8 data bits, 2 stop bits and status port order for MITS software.

Switch Set to Effect
NPB Off no parity
POE Off setting does not take effect as NPB is set to off
NDB1 NDB2 Off 8 data bits
NSB Off 2 stop bits (set this switch to On for 1 stop bit)
PR Off status port first, data port last.  This is required for MITS software

Serial port address, switch block S3

Switch block S3 sets the four port address range for serial A and B.  Set dip switch 4 to off and all others switches on.  This sets the serial port addresses to 20,21 (octal) for serial channel A, and 22,23 (octal) for serial channel B.

Status word configuration, sockets W2 and W1

** This setting is undocumented in the SSMIO4 manual and is critically important to replicate the MITS 88-2SIO **

On headers W2 for serial channel A and W1 for serial channel B, two connections are required:

     Connect pin 4 to 9    (sets ODA/DAV to bit 0)
     Connect pin 5 to 10  (sets TBMT to bit 1)

If W1 and W2 are sockets, simply use a small wire to jumper these connections.  See diagram below.

Diagram showing status word connections to replicate MITS 88-2SIO

Diagram showing status word connections to replicate MITS 88-2SIO

Setting the baud rate, socket W3

To set the baud rate for each serial channel, you need to connect the TX (transmit) and RX (receive) for each channel to a baud rate.  Refer to page 3-2 of the manual.  For example, to set both serial channels to 9600 baud for transmit and receive, make the following connections on socket W3:

     Connect pins 11 & 12 into pin 9  (channel A)
     Connect pins 13 & 14 into pin 9  (channel B)

If there is a socket just simply use wire to jumper these connections.

Diagram showing serial A and B set to 9600 baud
Diagram showing serial A & B set to 9600 baud

Serial cable wiring, sockets J1 & J2

There are two cable connector sockets on the SSMIO4, J1 for serial B and J2 for serial A.  To create a serial cable going from the SSMIO4 to a DE-25 connector wire up the cable as shown in the table below. 

Pins on J1 or J2 DE-25 pins
1 2
11 3
7 and 8 7
9 5
Jumper pins 12 to 13 on the card header. This can be done in the cable. See diagram below with blue and yellow wires joined


DE-25 connector and J1, J2 header pinout
Click for hi-res image
Solid State Music IO4 serial cable wiring picture
SSM IO4 J1, J2 pinout

Wires corresponding to connector in left image


Brown wire
EIA OUT Grey wire
+TL Red wire
GND Orange & Yellow wires


Testing the serial card

If all directions have been followed correctly the serial card should now work. To connect the SSMIO4 to a terminal use a standard serial cable (no null modem cable required).  For example, if you are connecting your Altair to a terminal emulator on a pc running a USB to serial cable, plug the serial end directly into the SSMIO4's DE-25 connector, you may need adapters to convert the DE-9 port to a DE-25 port.  To test the serial card use the echo program from the 1977 MITS Basic manual for the 88-2SIO.  The program can be used exactly as it is in the manual. 

        Serial echo program for port A

        000:    076 003 323 020 076 021 323 020

        010:    333 020 017 322 010 000 333 021
        020:    323 021 303 010 000


To load MITS Basic, use the serial loader in the 1977 MITS Basic manual for the 88-2SIO.  This loader below is configured to load 4k Basic v3.2.


        MITS Basic boot loader for serial port A

        000:  076 003 323 020 076 021 323 020

        010:    041 256 017 061 032 000 333 020
        020:    017 320 333 021 275 310 055 167
        030:    300 351 013 000

A great deal of information on loading Basic into the Altair can be found at the Altair Clone website:

Also, an older link with instructions of how to load 4k Basic, can be viewed here:

     Altair bootloaders website here.

The SSMIO4 configured exactly as described above to replicate a MITS 88-2SIO


A couple of troubleshooting tips:

  1. If you find that the SSMIO4 echoes correctly but doesn't load MITS Basic correctly, check that the Status word configuration is correct.
  2. If you find that communication is garbled for either serial port, check the connection of each chip on the board.  When I first tried to use the SSMIO4 only serial port B worked correctly.  Port A would return garbled character streams.  Re-seating several chips solved the problem.


If you need any further details about this guide please contact me via the Contact link at the top.