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.
||setting does not take effect as NPB is set to off
||8 data bits
2 stop bits (set this switch to On for 1 stop bit)
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
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 & 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
|7 and 8
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
Wires corresponding to connector in left image
||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:
- If you find that the SSMIO4 echoes correctly but doesn't load MITS Basic correctly, check that the Status word configuration is correct.
- 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.