Building a New Altair, 1975-style
Back in 1975, the release of the Altair 8800 in Popular Mechanics heralded the arrival of the personal computer. Built around the Intel 8080 microprocessor, this Altair could be bought as a kit for $439. The kit had the case, power supply, front panel with LEDs for output and switches for input, CPU card, memory card, and all the components (chips, resistors, capacitors, etc) needed to assemble it. It had no keyboard or monitor (at first). But it did relatively well: it outsold all projections, inspired the first computer clone, and set the industry standard for bus design for the next 10 years. The community that sprung up around this computer is the stuff of legends: the Homebrew Computer Club (which regularly discussed the Altair) is where Steve Wozniak and Steve Jobs presented the Apple. And Microsoft’s first product was a Basic interpreter for the Altair, pirate copies of which triggered Bill Gate’s famous open letter to hobbyists.
This period of time must have been so exciting. Today, assembling your own computer means buying pre-fab parts and plugging them together. Get a motherboard, video card, CPU, RAM, and hard drive, stick ’em all in a case, turn it on and install the OS. But back in 1975, it meant getting out a soldering iron. It meant understanding TTL logic chips and address lines. Maybe even finding someone with an oscilloscope so you could put the right resistor into the oscillator circuit for the CPU to function correctly because each crystal is slightly different. It meant literally flipping switches to load the opcodes directly into the memory. To use it, one had to understand it.
Could I, almost 50 years later, match the skill of these pioneers?
Altair emulators are available — even some in a web browser. Some choose to build an Arduino or Raspberry-Pi based emulator with a simulated front panel. But I didn’t want an emulator — I wanted a real machine. Original Altairs do come up for sale every so often, but they are quite expensive; $5000 is not unusual for good condition. But part of the point was to see if I could match up to those home hobbyists of 1975, and that included building it from components.
So I decided to build one from scratch.
No one is making Altair kits anymore (it seems there was a replica kit available in 2017, but sadly no updates nor responses to email inquiries). However, I did find a good starting point at https://deramp.com/altair_8800c.html, wherein Mike Douglas sells a replica case, front panel board, and interface board. Its up to the builder to procure all the components to finish the boards, and also acquire power supplies, a backplane, a CPU card, and a memory card.
At this point, I had to pause and set some scope for myself. Mike Douglas’s front panel and interface board are not identical replicas to the Altair’s original board; it implements some additional minor functionality using a PIC controller that wasn’t available at the time. I could have ordered an exact replica front panel board from a supplier in the UK, but after a bit of reflection, I decided that 1) the effort involved matched that of the original and 2) having the functionality (specifically the run-on-boot feature) of the PIC would give me more extensibility for future projects with the Altair. So I decided: I need not be dogmatic on building an exact museum-quality replica of the Altair, but I did want to build it all myself from components. Since the additional functionality is disabled by default, I could still prove to myself that I had the 1975 spirit, while giving myself the ability to make it slightly easier to use the computer later on.
Happy with my decision to use the new front panel design, I set out to source the other parts necessary for a working computer: the CPU board, the memory board, and the backplane board that connects the other cards to each other. There are several folks in the community still designing and building new S-100 (the Altair’s bus design) boards; many designs with purchase contact information are listed on https://www.retrobrewcomputers.org/doku.php?id=boardinventory. S100computers.com’s “Boards for Sale” page is also a great resource for card designs.
The CPU board was relatively easy to source; I ordered a replica Altair CPU board from Gary Kaufman available on http://the-planet.org/. I could have chosen one of the Z80 board designs available elsewhere, which arguably would have given me better software choice (the Z80 is backwards compatible with the Intel 8080), but I decided that being limited to the original Intel 8080 instruction set matched with the experience I was trying to replicate. I can always swap it out with a Z80 board later.
The memory board was a bit tougher to decide upon. One can source a replica of the original boards from a supplier in the UK, but the original designs used memory chips that are quite hard to find today, and expensive (one source I found was $10 each, and one needs 32 of them) when one can find them. One can find used boards on ebay for anywhere between $75 and $1000, but in keeping with the intent of the project, I really wanted to build my own.
So I decided upon the ROM+RAM board described on S100computers.com, ordering a bare board (just the printed circuit board with no components on it) from Todd Goodman. This card will max out the memory the Intel 8080 processor can address (64k) with a $5 chip, and also allow me to add ROMs later. Programming a ROM with bootup firmware code saves one from needing to ‘bootstrap’ the computer by entering code into the front panel every time the computer starts up (modern computers call this firmware the UEFI — the Unified Extensible Firmware Interface; one may also remember the BIOS firmware from earlier x86 machines). This memory board is also very extensible, allowing for a variety of ROM and RAM chips, so it might prove useful for future S-100 projects as well. I also ordered a bare backplane card (aka a motherboard) from Todd Goodman. That takes care of the core ‘stuff’ that makes up a computer.
But to really make a computer useful, one needs easier I/O than switches and blinkenlights. Most folks back in the day added a serial interface to their Altair; this would either hook up to a Teletype printer or a serial terminal. Mike Douglas makes a pre-fab serial card, but in keeping with the intent of my endeavor, I wanted to build my own. Not able to find a source for a reproduction board using the original Motorola 6850 chip, I ultimately decided upon the S100computers.com Serial-IO card. This uses a new faster Zilog chip, but also adds a real time clock interrupt generator, and amazingly, a USB module. The challenge with choosing this board: while the IO address can be configured to match the original Altair serial boards, the status registers on the Zilog and Motorola chips use different bits to signal “ready to transmit” and “ready to receive” to software. This will require slight patches in the original Altair software. However, this can be seen as a kind of a bonus: this was a very common problem back in the day as well, and many hardware and software manuals contained instructions for similar patches…so yet another chance to prove I could have rolled with the 70s home computer community. I also ordered this bare board from Todd Goodman.
So, I had the bare cards for the front panel, interface card, CPU card, memory card, and serial card. I also got a bare extender board — just a board that one can use to raise another board above the rest of the boards in the backplane, useful for debugging during build. Then came sourcing all the parts: I poured over all the assembly instructions, and ended up with a spreadsheet of over 200 line items I needed to order. I ended up placing most of my orders with the big component supply houses: Jameco, Mouser, Digikey, and All Electronics, making choices mostly upon price and who had components in stock. Most components were easily available; my choices for a more modern memory and serial card design really helped out here. I only needed to resort to ebay for 3 ICs, one of which was the Intel 8080 processor itself. The other two ICs were just out of stock at the main supply houses, and I didn’t want to wait.
So remember that kit in 1975 cost $439? In today (2022)’s dollars, that’s roughly $2300. After final tally, this entire endeavor is working out to about $1000. Note that the original kit had only 4k of memory and didn’t come with a serial card either.
The parts have started to arrive and I’m soldering away.
My next post will be about the assembly process and (fingers crossed!) first bootup. I’ll also touch on patching standard Altair software such as Altair Basic to work with the new serial card.
After that, I’ll have another followup on modifying CPM (an early OS commonly used on the Altair) to work with the new serial card — but for more than just standard keyboard and display IO. I’ll be modifying CPM to instead access virtual 8" floppy disk images hosted on a modern PC over a serial connection.
Update: Follow-up story here.