Title: Altair 8800c
Date: August 16, 2020
Tags: hardware altair
========================================

This Summer has been weird so I ended up going back to retrocomputing and
building an Altair 8800c.

Usually retrocomputing and electronics are a Winter hobby since I'm inside more.
This Winter was very mild and I ended up turning to Summer hobbies before March.
Now, because of the pandemic, I'm home more and it's turned me back to
retrocomputing.

The Altair 8800c[0] is a new Altair 8800 built from reproduction or newly
designed S-100 cards and (mostly) new components.

I've had building an Altair 8800c in my mental TODO list for some time.  It
seemed daunting as I had never sourced the parts for an electronics build
before.  I had only assembled small pre-packaged kits.

The recipe from Mike Douglas' site uses a reproduction CPU card and newly
designed front panel boards, backplane, serial IO, RAM, PROM and floppy
controller boards.  The serial IO board is the 88-2SIOJP which includes two
serial ports and PROM and is fully assembled.  The RAM and disk drive controller
is the FDC+ which is also pre-assmebled.

I would have to source parts for and assemble the CPU board, front panel boards,
and the backplane.  Not exactly optional bits.

I tucked the idea away for later.  Maybe when I slowed down on programming on
the Altair clone or really wanted a custom S-100 board and needed a real system
with a bus.

During an episode of Retro Computing Roundtable[1] podcast, where they share
interesting auctions on eBay, one of the hosts pointed out an auction for a kit
of parts for the reproduction Altair 8800 CPU board.  The auction was done
before I got to it but the seller said they had a few more kits left to sell so
I waited for the next auction.

A few days later the next auction popped up and I grabbed it and the
reproduction CPU board.  It was the push I needed to get over the anxiety of
sourcing a ton a little electronics parts.

The board and parts kit arrived in a few days and I had it assembled over a
couple of days.  All I needed now was the rest of an Altair.

"Well," I thought, "I guess I'm doing this."  The parts gathering began.  Huge
thanks to jebug on Mastodon, who built his own Altair 8800c recently (and put it
online[2]), for sharing his parts list.  That was a huge help as a number of the
parts listed in the card's manuals were no longer available under the listed
part number.

I pretty much followed the recipe for now to get a working system up and going.
I have a few different boards on the way for some customization which I'll talk
about later.

Turned out that ordering all the individual components was not that big of a
deal.  I found everything split between Mouser[3], Jameco[4], and Digi-Key[5]
and only needed 3 orders from each to get everything plus everything I forgot
and then everything I misordered.

Altair Parts[6] <IMG>

There were a few things that took a bit of searching because part numbers were
discontinued but nothing I couldn't find by description.  It's pretty cool using
original MITS manuals for parts lists and assembly instructions for the
reproduction boards ~45 years later.

Because of the CPU kit, I only had to find a few vintage chips but those are for
alternate cards and wouldn't be needed for the recipe cards.  eBay was the
source for those.

So for now, I am using a reproduction CPU board, passive backplane, 88-2SIOJP,
FDC+ and an Altair clone case.

All this gives me an 8080A CPU, 64K of RAM, 2 PROM cards, various floppy options
and a fully working front panel.  The newer cards also have some additional
features over the originals they replace.


# Troubleshooting #

The only problem I ran into was that the clock, timed by a 2MHz crystal, was not
working.  I wasn't getting any output from the clock circuit at all.  I knew the
clock could be finicky about timing but since I was getting nothing, I suspected
the crystal.  I ordered a replacement which took several days to arrive.  I
desoldered the old crystal and soldered in the new and got the exact same
result.

I didn't think I'd have 2 bad crystals so I asked for help from others that have
built an 8800c.  One suggestion was to make sure I had the right IC for the
inverter used to turn the crystal's output into a square wave.  It needed to be
a 7504 and specifically not a 74LS04.  Well, the CPU board has one of each and I
had swapped their locations.  Fixing that gave me a clock signal.

Next up was checking the clock's timing.  The crystal's output is divided into 2
clocks for the 8080A CPU that are at different lengths and timing.  The circuit
uses resistors and capacitors with a 74123 "oneshot" to generate these signals.
I checked the timing with an oscilloscope to find them quite a bit out of spec.
I found some mention by someone else that used to sell an Altair CPU board kit
that they replaced one of the resistors, which is 6.2K Ohms stock, with a 4.3K.
I went ahead and made this swap to see how it effected the clock.  The result
was much better timing but it overshot one of the parameters.  I had an extra
4.7K resistor laying around so swapped that in and that put everything into
spec.

The Altair runs great at this point.  I entered and ran <i>Kill the Bit</i> as a
test and then tried one of the PROMs which had a memory test function and ran it
through all the RAM.  Everything functioned beautifully.

Altair Running[7] <IMG>


# Future Plans #

I bought the FDC+ card to get a system working quickly but ultimately I don't
want to use floppy disks.  I don't have any and don't want to invest in an
exceedingly difficult to obtain media.  I'd like an SD card reader but the
easier option for 8-bit computers is Compact Flash.

So I've also purchased the Dual IDE[8] card for CF storage and have started
gathering parts for it and will build it later.

The FDC+ also has 64K of RAM on it so my option for that will be the Battery
Backed Memory Board[9] from JM Precision which is an awesome idea.  Talk about
reducing data entry.  Just keep memory alive.

I also bought a reproduction Vector Interrupt and Real Time Clock card from them
as I've written programs for it in the clone and wanted to keep that
functionality.

I'll build those and add them the Altair once I have a stable, well tested
system.  It'll be good to have some redundancy for debugging and alternate
setups, too.

----------------------------------------

I also need to migrate my bootloader PROM and workflow off the clone to the
8800c and continue my development on real hardware.


[0] https://deramp.com/altair_8800c.html
[1] http://rcrpodcast.com/
[2] https://jebug29.sdf.org/altair.html
[3] https://www.mouser.com/
[4] https://www.jameco.com/
[5] https://www.digikey.com/
[6] gopher://kagu-tsuchi.com:70/I/blog/images/altairparts.jpg
[7] gopher://kagu-tsuchi.com:70/I/blog/images/altairkbit.jpg
[8] http://s100computers.com/My%20System%20Pages/IDE%20Board/My%20IDE%20Card.htm
[9] http://jmprecision.co.uk/shopping/pgm-more_information.php?id=170&=SID#MOREINFO