Inside the machine
What is actually in here, listed in one place, so you can see it without pressing anything. The machine itself is on the main page and runs in the browser with nothing to download.
Pages
- The machine, the panel, the Teletype, the card cage and the walkthrough that ties them together.
- How to program an Altair 8800 by hand, the front panel procedure press by press, with the lamps to expect.
- Kill the Bit, the 1975 game played on the sense switches, with its listing and a link that starts it.
- The engineering notebook, the evidence under all of it: MITS's own documents, the schematics, the measurements and the dead ends.
- Put the panel on your own page, for teaching, with an iframe.
The card cage
An Altair was a box with a bus in it, and what it could do was exactly which boards were plugged into that bus. Each card here is either emulated, which means fitting it changes what the machine does, or listed and marked because the hardware is documented but the behaviour is not modelled. The card cage on the main page is where you fit and pull them.
- 88-2SIO dual serial interface emulated
- 88-4MCD 4K dynamic memory emulated
- 88-MCS static memory card, 256 words emulated
- 88-1MCS 1K static memory emulated
- Four 88-16MCS boards, the whole 64K emulated
- 88-ACR audio cassette interface emulated
- 88-PIO parallel interface emulated
- 88-VI/RTC vectored interrupt + real time clock emulated
- 88-PMC PROM memory card emulated
- 88-EC expander board emulated
- A second 88-EC expander emulated
- Processor Technology VDM-1 emulated
- Cromemco Dazzler emulated
- 88-DCDD disk controller emulated
Programs for the switches
Machine code, entered at the panel or loaded for you. Every listing carries its octal, because octal is what the switches spell.
- Add two numbers. The smallest thing that proves it is a computer.
- Kill the Bit. A bit rotates along the address lamps.
- The clock. The machine sleeps, and a board wakes it sixty times a second to count.
- Address sweep. Walks the whole 64K address space.
- Memory test. The panel’s original job: prove the memory holds bytes before trusting it with any.
- Music of a sort. The machine has no sound hardware.
Programs for BASIC
The Teletype runs Li-Chen Wang's Palo Alto Tiny BASIC, assembled here from source. These are the programs in its library, and each one is typed into the real interpreter by a test and checked against what came back, so none of them is a listing that merely looks plausible.
- Hello, world. The traditional first program, ever since Kernighan and Ritchie opened their book on C with it in 1978.
- Endless maze. Two characters, chosen at random, forever.
- Prime numbers. Trial division up to the square root.
- Fibonacci. Each number is the sum of the two before it, until the numbers get too big to hold.
- Guess the number. It picks a number and you hunt it down.
- The 3n+1 problem. Halve it if even, treble it and add one if odd.
- Times tables. What a machine like this was actually bought for, once the novelty of the switches wore off.
- Two dice, three hundred times. Roll two dice three hundred times and count how often each total comes up.
- Countdown. The shortest program here, and the one most likely to make somebody smile when the lamps are still flickering.
- Euclid's algorithm. Older than the machine by about twenty-three centuries.
- Towers of Hanoi. A program that calls itself.
- Lunar lander. Two hundred feet up, falling, thirty turns of fuel.
- Tic-tac-toe. You are X.
Languages and disks
- Tiny BASIC, built from Li-Chen Wang's source by the 8080 assembler in this repository, loaded from tape or from a button.
- CP/M 2.2 on an emulated 88-DCDD eight-inch floppy, assembled from Digital Research's own source.
- An 8080 assembler in the page, which turns what you type into the octal you would have toggled.
- BDS C with its CDB debugger, compiling on the emulated 8080 itself.
- fig-FORTH for the 8080, built from the Forth Interest Group's source.
What is not in here
Microsoft's Altair BASIC is not distributed on this site, which is why the Teletype runs Tiny BASIC. The reasoning, and what was asked for and of whom, is set out on the main page.
The page also does not work with the network off. There is no service worker here, on purpose, after two rounds of stale caching broke the site for people who had visited before.
Some cards above are marked as documented rather than emulated. That means the hardware is described in a manual that was read and the behaviour is not modelled, so fitting one changes nothing. Saying so is the alternative to pretending.
Sources
This page is an index, and every claim under it is sourced where it is made. The engineering notebook carries the document index for the whole site; the two below are the ones this list rests on directly.
- MITS price list, 1 April 1975, the designations and prices behind the card cage.
- bitsavers, MITS 8800, the bus definition and the manuals for the individual cards.