1975

Front Panelthe personal computer that started an industry, working

In January 1975 a computer you could own arrived as a box of parts with no keyboard and no screen. You programmed it by hand, one bit at a time. Here is one.

mitsALTAIR 8800 COMPUTER

This is not the real layout. Folded to fit this screen, so what you are looking at is no longer the real layout. On the original the sixteen switches are a single row, with the control switches and the power switch on their own row underneath. A wider window gives you the machine as it was actually built. The rest of what differs.

Flip OFF/ON to power up.

  • Real Intel 8080
  • Lamps wired to the bus
  • BASIC you can type at
  • Works on a phone

How long have you got?

Press ? for keyboard controls

1 What you are looking at

Two rows of lamps and a row of switches. That is the entire machine as far as you are concerned. There is nothing else to look at and nothing else to type on.

New to programming with switches? Start here

A processor reads numbers from memory and does what each one says. Usually a compiler produces those numbers and an operating system loads them. On a bare Altair, loading was your job: you set an address with the switches and pressed EXAMINE, then set a byte on the low eight switches and pressed DEPOSIT. Then again, for the next byte.

The lamps are not a display in any modern sense. They are wired to the actual address and data lines, so they show what the processor is doing at the moment it does it. This is the whole machine with the lid off, and nothing is between you and it.

What a processor actually does

A processor fetches an instruction, works out what it says, carries out the operation, and chooses the next instruction. Add these numbers. Read this address. If this value is zero, branch there. Then the cycle repeats.

Caches, pipelines and schedulers arrange work around that cycle. They can change when an operation runs or how long it waits for data. The instruction cycle is the starting point; each machine explains which arrangement it models.

The machine for this idea on its own is Stored Program, if you would rather press it than read about it.

The lamps are wires, not a display.

The ADDRESS and DATA lamps are soldered straight to the processor's address and data buses. They are not showing you a value someone chose to display. They are showing you what the wires were doing, two million times a second.

The switches are the keyboard, and there is nothing else.

The eight data switches — numbered 7 to 0, the cream-handled half — set a byte. They do not hold it for the machine: the DEPOSIT switch is what writes it into memory, at the address the machine is currently pointing at, and the byte lives on a RAM card from that moment on. That is the whole input method, and the reason it feels like memory is that there is no other way to put a byte anywhere.

The STATUS lamps are the processor thinking out loud.

M1 means it is fetching the first byte of an instruction. MEMR means it is reading memory. HLTA means it has stopped. You are watching the fetch-decode-execute cycle happen.

Why a running program looks like a blur. Because the lamps follow the bus, a running program does not display a tidy number. It displays a smear whose brightness is how often each wire was high. This panel reproduces that by sampling every bus cycle, which is why it looks like the photographs instead of like a debugger. Load a program below and watch.

2 A bit is a switch

Up is one, down is zero. That is not a metaphor for how computers store numbers. On this machine it is literally the storage.

Flip the data switches on the panel above — numbered 7 to 0, the cream handles; the bottom row when the panel folds to fit a phone — and watch this change. On a phone you can drag your finger across them.

Binary00000000
Octal000
Hex00
Decimal0

The panel groups its switches in threes, and the manual talks in octal, because three bits make exactly one octal digit. Reading 10 111 010 as 272 is something you can do in your head. Reading it as 186 is not. Hexadecimal won later, but in 1975 this machine was built for octal and the spacing between the switches still says so.

3 A byte is an instruction

The same eight switches that spell a number also spell a command. Which one it is depends entirely on whether the processor happens to read that byte while it is looking for an instruction.

00what kind
000destination
000source
NOP
do nothing
One byte. Nothing follows it.

The encoding is regular, and the regularity is the whole trick. In the range 100 to 177 octal, the middle three bits pick where a byte goes and the last three pick where it comes from. That is 63 different move instructions from one pattern you can hold in your head. The one slot that would have meant MOV M,M was pointless, so they gave it to HLT.

Try 01 000 111. That is MOV B,A: destination 000 is B, source 111 is A. Now change just the middle three bits and watch the destination change while everything else stays put.

4 A program is bytes in order

Put one instruction at address 0, the next at address 1, and keep going. Then tell the processor to start at 0. There is no more to it than that, and there never has been.

Make it add two and two

1 of 1

Loading.

Nothing here is faked. Every step drives the same switches you can drive yourself.

The smallest thing that proves it is a computer. Loads two bytes, adds them, stores the sum, halts.

AddrOctalInstruction
0000072 020 000LDA 0010hfetch the first number
0003107MOV B,Akeep it in B
0004072 021 000LDA 0011hfetch the second number
0007200ADD Badd them
0008062 022 000STA 0012hstore the sum
000B166HLTstop — watch the HLTA lamp light
0010002DB 2first number
0011002DB 2second number

Set the switches to 000 000 000 010 010 and hit EXAMINE. The DATA lamps show the sum.

A
00
B
00
C
00
D
00
E
00
H
00
L
00
PC
0000
SP
0000
Flags
-----
Cycles
0
State
stop

Memory, in octal

The decoder in chapter 3 turns bytes into instructions; this turns yours back. Write 8080 mnemonics in the syntax every listing on this page uses: labels end with a colon, ORG moves the counter, and numbers are decimal unless they end in H (hex, leading digit), Q (octal) or B (binary). The octal column of the result is what you would toggle in; the button underneath is the page being kind.

The machine has no sound hardware. It can still play you a tune. In April 1975, at an early meeting of the Homebrew Computer Club, Steve Dompier stood a transistor radio next to his Altair and played the room a song. What the radio picked up was the interference thrown off by the address bus, and by choosing how long each loop took, Dompier chose the pitch. Turn the radio on under the panel and run Music of a sort. On real hardware this is interference from actual wires, so an emulator normally has nothing to reproduce: the bus has to be modelled closely enough that there is something for a radio to hear in the first place. This one already samples every bus access to drive the lamps, so the tone is counted off address line A7 while the program runs. I have not found another browser Altair that does it, and would be glad to be shown one. Stop the machine and it stops mid-note.

5 Give it a keyboard

Toggling in fourteen bytes to add two numbers is a good way to understand a computer and a terrible way to use one. The fix, in 1975, was to bolt on a serial card and a Teletype, and then feed the machine a program that could read what you typed.

Below is a Model 33 Teletype attached to the machine's 88-2SIO serial card, and a language to run on it: Palo Alto Tiny BASIC, by Li-Chen Wang, 1976. It is 1,920 bytes. It fits in the same memory you have been depositing bytes into by hand.

The other BASIC, and the company it started

Tiny BASIC is on this page because Altair BASIC cannot be. That one was written for this machine in early 1975 by Bill Gates and Paul Allen, who did not own an Altair and never touched one while writing it. Allen had already written an Intel 8008 simulator that ran on a PDP-10 time-sharing system for an earlier venture; he adapted it to the 8080, and the two of them wrote and tested the interpreter against a simulated Altair on Harvard's mainframe. A fellow student, Monte Davidoff, wrote the floating-point routines.

Allen then flew to Albuquerque with the interpreter on a paper tape, and realised on the flight that they had never written the thing that reads a paper tape. He wrote a bootstrap loader in 8080 machine code before the plane landed. That is the program the walkthrough on this page has you toggle in, in the same sixteen or twenty bytes, through the same switches. The demo is usually told as working perfectly on the first try; Allen and Ed Roberts both recalled it taking about a day, and disagreed with each other about whether the fault was the memory or the software. Gates and Allen later made a bet over who could write the shortest bootstrap loader. Gates won.

MITS licensed it, and Gates and Allen founded Micro-Soft in Albuquerque in April 1975 to sell it. Altair BASIC was the first product Microsoft ever shipped, and the hyphen went away later. Ten months after that, Gates wrote the letter in the next chapter.

The button below puts Tiny BASIC there for you. The walkthrough called Switches to BASIC does not: it has you toggle in the sixteen-byte loader that reads the tape, and then makes you wait for the tape. That is how the 1,920 bytes actually arrived, and it is the join between the panel above and the Teletype below.

Teletype Model 33 · 88-2SIOidle

Programs to run

Tap one and it types itself in. Everything here is verified to run on this interpreter.

Star Trek is not here, and the reason is worth having. The famous 1978 game reads its commands as words — NAV, PHA, TOR — and Tiny BASIC has no string variables to hold one. The 8×8 galaxy would fit in @() with room to spare: the wall is strings, not memory. It is also why every game above talks to you in numbers. Tom Pittman's period answer was a text adventure driven entirely by numbered menus, which is the same dodge tic-tac-toe uses when it asks for a square as a digit.

Once it answers, try PRINT 2+2. Then try PRINT 355/113, which is the classic approximation of pi and here returns 3: Tiny BASIC has integers and nothing else. Floating point would not have fit. For something longer: 10 A=1, 20 A=A*3, 30 IF A<1000 GOTO 20, 40 PRINT A, then RUN.

This is not a recording. The BASIC you are typing at is real 8080 machine code, assembled from Li-Chen Wang's published source by a build step in this project's repo, executing on the same emulated processor the switches drive. Stop the machine on the panel above while BASIC is running and it will stop mid-sentence.

6 1976: two answers to the same question

Software had been a business for twenty years by 1975 — Computer Usage Company was founded in March 1955 to write it for other people’s machines — but it had been sold to institutions, by contract, along with the hardware. The Altair is where software began being sold to individuals, and where it began being copied by them. Both answers to that were written for this machine, within months of each other.

3 February 1976

Bill Gates publishes An Open Letter to Hobbyists in the Homebrew Computer Club newsletter. Altair BASIC was being passed around on paper tape faster than it was being bought.

Who can afford to do professional work for nothing? What hobbyist can put 3-man years into programming, finding all bugs, documenting his product and distribute for free?

Altair BASIC is still under copyright today. It is not in this page for that reason.

10 June 1976

Li-Chen Wang publishes Palo Alto Tiny BASIC in Dr. Dobb's Journal. The source listing opens with six lines, and the fifth is one of the first uses of the word in software:

TINY BASIC FOR INTEL 8080
VERSION 1.0
BY LI-CHEN WANG
10 JUNE, 1976
@COPYLEFT
ALL WRONGS RESERVED

The interpreter running above is Roger Rauskolb's October 1976 translation of version 2.0, which carries the same notice. It is here, five decades later, because it is the one anybody is still allowed to hand you.

Both men were right about something. Gates's complaint became an industry worth trillions. Wang's joke supplied the word and nothing else: what became the legal machinery behind Linux is copyleft as Richard Stallman built it in the mid-1980s, a licence that uses copyright to compel the freedom it grants, and which Wang's two lines — a joke in a source listing, with no terms in it — could not have enforced against anybody. Fifty years on, the argument has not been settled so much as split into two industries that need each other.

So why does this page run Wang's BASIC and not Gates's?

Because it can. Tiny BASIC's source carries a notice that says you may copy it, so this page assembles it from that source and ships the result. Altair BASIC has never carried one.

That is not the same as it being lost. For Microsoft's fiftieth anniversary in 2025, Gates published the Altair BASIC source himself, as a scan of the original dot-matrix printout. You can read the code that started the company. What was not published with it was a licence, so reading it is all anyone can safely do. Microsoft did put a BASIC on GitHub under the MIT licence around the same time, and it is a real open-source release, but it is the MOS 6502 version, for a different processor entirely. It will not run on the machine above.

So the answer is technical rather than sentimental. This emulator could run Altair BASIC tomorrow: it is a verified 8080 with 64K and the right serial card, and the paper tape reader on this page is the exact mechanism the thing was loaded with in 1975. What is missing is not the capability or the code. It is the one line of permission that Li-Chen Wang wrote and Microsoft, fifty years on, still has not.

So: thank you, Li-Chen Wang. He wrote ALL WRONGS RESERVED as a joke at the top of a listing in 1976, and it is the only reason there is a working BASIC on this page at all. Everything above runs because one person decided, before there was a word for it or a licence to point at, that his program should stay free to copy. The joke has outlasted the machine it was written for.

7 How this was built, and what is honest about it

The processor is real, and provably so.

A full Intel 8080 written for this page. It passes the four diagnostics the retrocomputing world uses to settle arguments: 8080PRE, TST8080, CPUTEST and 8080EXM. The last one takes a CRC of the result and every flag for each instruction group. All twenty-five groups match, over 23.8 billion cycles.

The BASIC is built, not pasted.

Li-Chen Wang's source sits in the repo and is assembled by an 8080 assembler also in the repo. You can read the source, run the build, and get the same 1,920 bytes. Nothing here is a binary blob of unknown origin.

The lamps are physically modelled.

Every bus cycle is sampled and each lamp is lit by how often its bit was set, rather than by the final value of the last instruction.

What is emulated, exactly

ProcessorIntel 8080, all 256 opcodes including the undocumented aliases (08-family as NOP, CB as JMP, D9 as RET, DD/ED/FD as CALL). Documented cycle counts, with the extra six charged on a taken conditional call or return.
Clock2 MHz, advanced in real-time slices. Timing is cycle-counted, not cycle-stepped: instructions retire whole, so sub-instruction bus phases (T-states) are not modelled.
MemoryA full 64K by default, and adjustable: the card cage below sets how much is actually fitted, and an address with no board behind it reads 377 rather than zero. A real base machine shipped with none. PROTECT covers the 256-byte block holding the current address.
LampsSampled on every bus access, which means every fetch, operand read, memory read or write, and stack push or pop. Not sampled per instruction.
I/OSense switches at port 255. An 88-2SIO serial card at ports 16 and 17, status bit 0 for receive-ready and bit 1 for transmit-ready. A write-only port at 376 for the 88-VI/RTC, and the 88-ACR cassette pair at 006 and 007 with its active-low ready flag. No other ports are decoded; reads from them return zero, and the VI port is write-only on the real board too.
Front panelEXAMINE is not a privileged peek at memory. On the real Display/Control board it strobes a JMP onto the data bus, octal 303, followed by the two halves of the address switches, and the processor executes it. That is why examining a location moves the program counter. EXAMINE NEXT strobes a NOP instead, which steps the counter by one. DEPOSIT is the odd one out: it puts a write pulse on the bus and gates the eight data switches onto it. All of it is reproduced here, including the consequence that the switches do nothing at all while the processor is running.
Paper tapeA reader feeding the serial card at the speed of the mechanism: 10 characters a second for a Teletype Model 33, 300 for a high-speed optical reader. Nothing about the load is faked, including the part where you have to stop it by hand. MITS's own loading procedure (Appendix A, step 21) quotes about 12 minutes to read 8K BASIC off paper tape and 6 for 4K, so the waiting is the historically accurate part.
InterruptsRaised by exactly one thing: the 88-VI/RTC in the cage, level 7, sixty times a second, through its write-only port at 376. Pull the card and nothing on this machine can interrupt, which was equally true of the real one.
Not emulatedNo disk, and no S-100 bus timing. The cassette joined the emulated side on 4 August 2026: the 88-ACR in the cage feeds ports 006/007 at 300 baud, with its two documented tones synthesized from the bytes going past.

Where it departs from the original, on purpose

  • On a screen wide and tall enough to hold it, the panel is the real four-row arrangement at the original's proportions: lamp diameter is about three tenths of the column pitch, the first status lamp sits just over twelve per cent of the panel's width in from the left edge, and the face is 2.54 wide to 1 tall. All three are measured off a head-on photograph. The lettering is small because it was small.
  • That needs about 1360 by 760. Below it the type would fall under nine pixels and stop being readable, so the panel folds instead and a note under the machine says so. Where the real layout does fit, a switch offers it either way: accurate, or folded and enlarged if you would rather read it comfortably. There is no such switch on a phone, because there is nothing there to choose between.
  • The accurate layout also drops the octal digits printed under the switches. They are a reading aid this site added and no Altair had them, so they stay in the readable layout, where the point is to help, and come off the accurate one, where the point is the machine.
  • Folded, the sixteen split into the two banks people already name, the control switches move up beside them, and SENSE SW. has nowhere to go. The dashed leader lines come off too, because once the rows wrap they would point at the wrong lamp. DATA and ADDRESS headings, which the original never printed, come back, because wrapped rows need naming.
  • Folded, the power switch also comes first rather than last. The original puts it at the far left of the bottom row; on a phone the switch that turns the machine on has to be in reach without scrolling, and that matters more.
  • The WO lamp is active low on real hardware and printed with a bar over it, so it is lit during reads and dark on a write. That is correct here, and it looks wrong until you know.
  • An original needed a STOP then RESET after power-on to reach a sane state. This one resets cleanly, because that quirk is a fault rather than a feature.
  • SLOW throttles the clock so you can watch single cycles. The earliest machines left that switch position blank.
  • The Teletype prints faster than 110 baud. Ten characters a second is historically right and unwatchable. The sound of it does not follow the screen. The clatter runs on its own clock at ten strikes a second no matter how fast the text arrives, because 480 percussive events a second is a buzz rather than a clatter, and because that is what the machine did: the hundred-millisecond cycle was the printing rate, so a Teletype fed faster than it could print simply did not go faster. The bell, the carriage return and the line feed are exempt and always sound, since they happen once a line rather than once a character.
  • There is no light mode. The machine sat in a dim room with red lamps and that is the only setting in which any of this looks correct, so the page commits to one and does not offer the other.

The lamps, in one paragraph

The lamps are wires, not a display. On MITS's own drawing 880-105 each one hangs off its bus line through a single 220 ohm resistor — no latch, no buffer — so while a program runs they carry the blur of everything the bus did that frame, and this page draws exactly that by sampling every cycle. MITS put it plainly in the operator's manual: while running, the lamps “may appear to give erroneous indications”. That blur is the machine working.

The rest of the evidence has its own page: the engineering notebook — the parts list checked against the panel, the four switch colours, the full lamp circuit and the RL-21's own datasheet, this page's loader against the three MITS printed, and where the panel's actual size comes from. Every measurement, every document, and the dead ends too.

Sources

  • Intel Component Data Catalog, 1978 — the 8214 priority interrupt control unit, in Intel's own words and as text: “8 Priority Levels”, a current status register, and a comparator that issues an interrupt only for a higher priority than the one being serviced. That is the rule this page describes. The words up to seven deep are this page's own, not Intel's, and are still owed a source.
  • MITS price list, 1 April 1975 — the list the prices above come from, as text rather than as a scan. It reads “8800 Altair 8800 Computer S 439 00 S 621.00”, which is where $439 and $621 come from, and it is readable so a gate can check that rather than take it on trust.
  • Altair 8800 Theory of Operation Manual & Schematics — MITS, Inc., 1975. Where EXAMINE, DEPOSIT, the ready line and the RUN/STOP flip-flop are described by the people who built them.
  • Dunfield Altair archive — scans of the Operator's Manual, Assembly Manual, Theory of Operation and the parts/price lists.
  • Altair 8800 Assembly Manual — the build instructions, and the source of what the basic kit shipped with.
  • Altair 8800 Operator's Manual, Part 3 — switch and lamp semantics.
  • Altair BASIC Reference Manual — MITS, 1975. Appendix A has the three bootstrap loaders and the toggle-them-in procedure; Appendix I says the cassette format carries no checksum.
  • bitsavers, MITS 8800 — the bus definition, and the card manuals for the 88-2SIO, 88-PMC and 88-ACR this page emulates. The 88-VI/RTC manual lives on deramp.com and classiccmp.
  • Litronix RL20/RL21 data page — a 1975/76 distributor databook scan, and the only located source for the panel LED's 0.7 millicandela rating and 180° viewing angle.
  • MITS Altair computers, Fonts In Use — the typeface identification, from a Computer History Museum specimen.
  • Dompier's music listing — as he published it in the People's Computer Company newsletter, May 1975, after playing it at the Homebrew Computer Club on 16 April.
  • Kill the Bit — Dean McDaniel, 15 May 1975, original listing.
  • 8080 CPU diagnostics — the suite used to verify the processor.
  • Palo Alto Tiny BASIC 2.0 — Li-Chen Wang, translated to Intel mnemonics by Roger Rauskolb, 1976.
  • MITS company history — the collected account of the four founders, the calculator crash, the $60,000 loan, the lost prototype and the Pertec sale, with a footnote trail into Forrest Mims's and Les Solomon's own tellings. Chapter 9 leans on it and says so.
  • S-100 bus history — the draftsman's connector, the clone makers' naming problem, Garland and Melen's 1976 coinage, and IEEE 696-1983. Chapter 8's sidebar rests on it.
  • Reimer, "Total share" — Ars Technica, 2005 — where the 25,000-units figure comes from; this page quotes it as the estimate it is.
  • RR Auction, lot 7011 — serial 222514K, sold $3,328; the FAQ's price and serial data point.
  • Computer History Museum catalog 102626725 and Smithsonian NMAH object 334396 — the museum holdings the FAQ points at.

Built by Cisco Caceres. If you want the other end of the same story, you can train a language model in your browser.

8 What was in the box

An Altair was a bus in a case. What it could do was exactly which cards were plugged into it, and nothing else. The kit arrived with no memory at all, and no way to talk to anything, so the first thing every owner did was start buying boards.

The two primary documents disagree, and this page prints both rather than picking a winner quietly. The January 1975 Popular Electronics launch article describes the basic computer as having 256 words. MITS's own later promotion prices those 256 words as something you add: Altair Computer plus 256 words of memory (save $45.00) only $497.00, which is $439 plus the 88-MCS card's $103 less $45, and that arithmetic only works if the computer alone has none.

Both can be true of different configurations sold months apart, which is the likeliest reading. The card cage above starts empty because the arithmetic is the harder evidence to explain away and because an empty machine is the more interesting one to press. This page used to state the empty version flatly, as though the launch article did not exist.

Why 256 and not some rounder number: the 1K static board holds eight Intel 8101 chips, each 256 words by four bits, so two chips make one 256-byte bank and the board can be bought a quarter-stuffed. MITS treated that as an ordinary configuration: the assembly manual's IC-installation step says “The basic 8800 kit is provided with 256 words of memory”, that this means only two 8101s are fitted, and then walks the builder through adding chips 256 words at a time. So 256 is not a product tier, it is the smallest number of chips that makes a working bank.

So here is the cage. Take the serial card out and the Teletype stops, because nothing drives the port. Take the memory out and Tiny BASIC will not fit, which is the entire reason anybody bought a memory board. The boards this page cannot honestly emulate are here too, marked, explaining themselves. Prices are MITS's own, from the list dated 1 April 1975; the famous $397 is the January 1975 magazine figure and appears in no MITS document.

And the cage counts, because MITS counted: “Basic unit has 4 slots available, one of which is used up with CPU Board.” Three free, in a machine where the disk controller alone was two boards and 64K of memory is four. The 88-EC expander bolted four more slots to the bus for sixteen dollars, up to sixteen in the case, and the machine this page runs by default already needs one — try pulling it. Boards had to agree with each other too: each memory board was strapped by hand to its own address range, and the assembly manual walks through the hole you get in the address space when a partly-filled board is placed ahead of a full one (p.78). This page straps them for you, from zero up, which is where the manual tells you to aim anyway.

One write-only port runs the whole interrupt board

The 88-VI/RTC has a single port at 376 octal, and you cannot read it. Eight bits, each doing a job: the low three carry the current interrupt level, bit 3 gates whether the level comparison applies at all — the coherent reading of a page that contradicts itself, see below — bit 4 thanks the clock — the RTC's flip-flop holds its request until software writes that bit high, which the manual is at pains to say is not how other boards clear interrupts — bit 5 clears the divider chain, bit 6 enables the clock's interrupt and bit 7 enables the whole structure. Power-on-clear starts everything disabled, so a machine that never speaks to the port never gets interrupted.

The mechanism is a bus trick worth admiring. When the processor acknowledges, the board drives only data bits 3 to 5 with the level; the other five lines float high on the bus pull-ups, and those pulled-up ones supply the rest of a RST instruction's frame — 11 AAA 111. The processor fetches an instruction nobody stored anywhere, and jumps to eight times the level. Eight vectors, eight bytes apart, at the bottom of memory. Priority is an Intel 8214's rule: a request preempts only a strictly higher-priority service, so the nesting can run up to seven deep. That last phrase is this page's own and not Intel's, which is why it is not in quotation marks.

And one honest footnote from 1976: the manual's own example program loads constants that contradict its own register table — the level lands in the wrong bits, complemented, systematically, across all eight rows. The schematic and the electrical theory both side with the table, so that is what this page implements. MITS shipped a manual whose sample code disagrees with its register map, and both survived into every scan of it.

The clock half offers eight rates — the power line divided by 1, 10, 100 or 1000, or a 10 kHz source divided down from the 2 MHz system clock through the same chain — and the manual's advice on choosing is a period piece: use line frequency for long-term accuracy, on the reasoning that power companies constantly adjust frequency and so keep it consistent. The 88-VI/RTC manual is not on bitsavers, not on dunfield's Altair page and not on deramp's 8800 shelf, so that sentence is reported rather than quoted. This page straps what the 1977 clock driver strapped: 60 Hz, divide by one, level 7.

MITS 88-Vector Interrupt / 88-Real Time Clock documentation, 1976: Theory of Operation pp.2–3, port bit table p.3, Electrical Theory pp.7–8, RTC rate table p.6; Altair Time Sharing BASIC 1.0 manual, 1977, §4-1.

88-PIO parallel interfacenothing to drive1975 · MITS · $92 kit, $114 assembled · Addressable anywhere from 0 to 255.Eight bits in and eight bits out at once, with handshake flags, for a printer or anything else you could wire to it.Not modelled: there is nothing on the other end of it here.
Processor Technology VDM-1a choice, not a gap1976 · third partyMemory-mapped video: sixteen lines of sixty-four characters, on a screen.Not modelled, and the one whose absence is a decision rather than a gap. A screen is what made people stop looking at the front panel, and the front panel is what this page is about.
Cromemco Dazzlera choice, not a gap1976 · third partyColour graphics on a television, and the first colour graphics card for a personal computer.Not modelled. It would need a second display surface and a second emulator, and it still would not be a front panel.
88-DCDD disk controllerdocumented1975 · MITS · $1480 kit, $1980 assembledTwo boards, two slots, driving up to sixteen eight-inch floppy drives. The drive itself was another $1,180 on top.Not modelled. Between controller and drive this cost six times the computer, and by the time it mattered nobody was using the front panel.

64K of memory fitted and a serial card, so there is somewhere for BASIC to live and something for it to talk to. 7 of 8 slots taken, counting the CPU board.

The connector outlived the company

Every card above plugs into the same 100-pin edge connector, and that connector is the Altair's longest-lived invention. It was not designed so much as picked: an unnamed MITS draftsman chose a military-surplus 100-pin connector from a parts catalog and assigned signals to pins more or less arbitrarily. Then the clone makers arrived, built to the same slots so they could sell into Altair systems, and found themselves marketing products for the “Altair bus” — their competitor's name. Harry Garland and Roger Melen of Cromemco coined S-100, for “Standard 100”, and talked Processor Technology into adopting it on a flight to a computer show in August 1976. The name stuck, dozens of manufacturers built for it, and in 1983 it was formalized as IEEE 696: the microcomputer industry's first standard bus, born as one company's parts-catalog shortcut. This page does not emulate the bus's electrical timing, and says so in chapter 7; what it borrows is the idea the connector proved, that a computer could be a cage anyone could fill.

9 Where it came from, and where it went

The machine above was not built by a computer company. It was built by a model-rocket electronics firm in Albuquerque that was losing the calculator war and had one bet left.

MITS — Micro Instrumentation and Telemetry Systems — was founded in the autumn of 1969 by four people: Ed Roberts, Forrest Mims, Stan Cagle and Robert Zaller, to sell telemetry kits for model rockets. Mims wrote the article that started it, a tracking light for night-launched rockets in the September 1969 Model Rocketry; Roberts wanted to call the company Reliance Engineering and was talked out of it. Calculators made it a real company: by 1973 it had 110 employees running two shifts and sold every unit it could build. Then the semiconductor houses began selling single-chip calculators under their own names, and by early 1974 Roberts could buy a finished calculator in a store for less than his parts cost him. Bowmar, the biggest name in the business, went bankrupt. Texas Instruments won the price war and still lost sixteen million dollars doing it. MITS, down to twenty employees, was not going to outlast the companies that made the chips.

The bet was a $60,000 bank loan and an order for a thousand Intel 8080s at $75 each, a fraction of the chip's list price, which is what made a $397 computer kit arithmetic instead of fantasy. Roberts and his chief engineer Bill Yates finished the one prototype in October 1974 and shipped it to New York to be photographed for the January 1975 Popular Electronics cover. It never arrived: Railway Express, itself months from collapse, lost it during a strike, and the print deadline did not move. So the machine on the cover that started the industry is an empty box wearing a dress panel, built as a stand-in — the article was written from photographs of the lost prototype, and production machines used a different board layout anyway. Nobody ever received the computer on the cover. The notebook's typeface note is physical evidence of exactly that gap: the cover shell wears lettering no shipped panel wore.

Orders arrived faster than machines could be built. MITS toured a demonstration van between hobbyist clubs, and in March 1976 David Bunnell, a MITS technical writer, organized the World Altair Computer Convention in Albuquerque: seven hundred people from forty-six states and seven countries, the first convention personal computing ever had, weeks after the open letter in chapter 6 was written. By 1977 sales reached six million dollars a year.

That was the year it ended. Pertec, a maker of disk and tape drives, bought MITS in 1977, and the name was absorbed within a few years. Roberts left the industry he had started, went to medical school, and spent the rest of his working life as a small-town doctor in Georgia. The machine's legacy had already left the building: the 100-pin connector on its boards became the industry's first standard bus, and the two young men who wrote its BASIC kept the company they had founded to sell it.

10 Questions people ask

Short answers, each one traceable to a source. Where the record is genuinely contested, the answer says so rather than picking the better story.

What is this?

A working reconstruction of the front panel of the MITS Altair 8800, the computer kit that went on sale in 1975 and is usually called the first commercially successful personal computer. The switches and lamps here do what the real ones did.

Why doesn't it have a screen?

Because the real one did not. The base Altair had no screen, no keyboard and no storage. You talked to it through the toggle switches and read it off the lamps. A terminal was something you bought separately and wired in yourself.

What were all those switches for?

The sixteen switches of the long row set an address, or a byte of data on the low eight, switches 7 to 0. You set an address, pressed EXAMINE, set a byte, pressed DEPOSIT, and did that again for every byte of your program. The control switches on the row beneath are the commands — run, stop, single step, examine, deposit, reset, protect — with the power switch at their left.

Did it really start Microsoft?

Yes. Bill Gates and Paul Allen wrote a BASIC for the Altair in early 1975 without owning one, testing it against an 8080 simulator on a Harvard mainframe. MITS licensed it, and they founded Micro-Soft in Albuquerque in April 1975 to sell it. Altair BASIC was the first product Microsoft shipped. Allen wrote the paper tape bootstrap loader on the plane to the demo, having realised they had forgotten it, which is the same job the loader in this page's walkthrough does.

Could it actually do anything useful?

Not as it came, because as it came it had no memory at all. Once you bought a card it ran demonstrations: adding two numbers, chasing a bit along the lamps. It became useful when you added memory boards, a serial card, a Teletype and a language, all of which cost more than the computer. What mattered was that one person could afford to own it and add to it.

What did it cost?

$397 for the complete kit and $498 assembled, as printed in the January 1975 Popular Electronics article — which also offered a $298 partial kit with no case, switches or power supply. By MITS's own price list of 1 April 1975 it was $439 and $621. Either way the base machine on its own could not do much, and a usefully equipped one ran well past a thousand dollars.

How much memory did it have?

It depends which document you read. The January 1975 Popular Electronics launch article says the basic computer has 256 words; MITS’s own promotion prices those 256 words as a $103 accessory, and its arithmetic only works if the base machine has none. Probably both, of configurations sold months apart. Memory came on boards you bought separately, and MITS's own 4K board was unreliable enough that they cut its price and refunded part of it in their own newsletter. Better boards from other companies filled the gap, which is roughly how the add-on hardware industry started.

Why does it look like that?

Because that is what a computer's front panel looked like. Minicomputers like DEC's PDP-8 had the same switches and lamps, and the Altair followed the convention rather than inventing one. There was no cheaper way to get bytes in and out of a small machine yet.

Why is the name Altair contested?

The popular story is that a Popular Electronics editor's daughter named it after a Star Trek episode. That editor, Les Solomon, told it himself more than once. But Forrest Mims, MITS's own co-founder, and Arthur Salsberg, the magazine's editorial director, separately recorded a staff brainstorm instead: the working name PE-8 was thought dull, someone said it is a stellar event so name it after a star, and an assistant editor said Altair. Both were in a position to know, and the accounts do not agree.

Did people copy the software?

Yes, and it became the first famous argument about it. A pre-release tape of Altair BASIC went missing at a MITS demonstration in 1975 and copies were handed out at the Homebrew Computer Club. Gates reckoned fewer than one in ten Altair owners had paid for it and said so in an open letter in February 1976. There is a chapter on this page about it.

What happened to MITS?

Ed Roberts sold it to Pertec in 1977 and the name was absorbed within a few years. Roberts left computing, went to medical school, and practised as a doctor in Georgia. The longer version is chapter 9.

How many were actually sold?

No authoritative count survives in public. The figure usually cited is 25,000, and it traces to Jeremy Reimer's 2005 market-share survey for Ars Technica — an estimate, not a ledger. Surviving machines carry serial plates in the 220000s; collectors read a final K as a kit build and an A as factory-assembled. The auctioned example in the next answer is 222514K.

What is an original worth now?

One documented data point: RR Auction sold serial 222514K, still wearing its original white-ceramic Intel 8080, for $3,328 including premium. Asking prices for complete working systems vary widely with cards, condition and completeness, so treat any single figure as a snapshot. For scale, the $439 kit of April 1975 is roughly $2,600 in today's money, so a surviving Altair has done little more than keep its real price.

Where can I see a real one?

The Computer History Museum in Mountain View holds one, and so does the Smithsonian's National Museum of American History. Regional computer museums and Vintage Computer Federation festivals show working examples. A running one is worth the trip: the lamps blur exactly the way this page's do, and there is no substitute for the fan.

Can I still buy one?

Originals surface at auction and in estates. For new hardware, the actively sold replica is the Altair-Duino, an Arduino-based kit in a full-size case from Adwater & Stir; the earlier Altair Clone stopped taking orders but keeps its documentation and support forum online. Buy from the maker's own site rather than a marketplace listing, and expect to solder.

How does it compare with the Apple II?

Two years and a philosophy apart. The Altair of 1975 is a processor with switches: no keyboard, no screen, no storage, and each of those is a card and a cable you add yourself. The Apple II of 1977 built the keyboard, the video, the BASIC and the expansion slots into one appliance that plugged into a television. Chapter 5 of this page, giving the machine a keyboard, is the step the whole industry took between those two machines.

Is this emulator accurate?

The processor passes the standard 8080 diagnostics, and the panel geometry is measured off a head-on photograph and cross-checked against MITS's own parts list and the circuit artwork for the board the lamps mount to. Where this page departs from the original on purpose, it says so in the chapter on how it was built.

Why do the lamps blur when a program runs?

Because they are wired straight to the address and data buses, with one resistor each and no latch, so they show whatever the bus is doing millions of times a second. MITS put it more bluntly in the operator's manual: while running a program, the lamps “may appear to give erroneous indications”. That blur is the machine working, not the page struggling.

11 Words used on this page

Bus
The bundle of wires the processor uses to name an address and move a byte. The lamps are soldered to it.
Byte
Eight bits. One setting of the eight data switches, 7 to 0.
Octal
Base eight. Three bits make one octal digit, which is why the switches are grouped in threes.
Opcode
The byte that says which operation to perform. Everything after it is data for that operation.
Program counter
The processor's bookmark: the address it will read from next. RESET sets it to zero.
Sense switches
Address switches 15 to 8, the magenta-handled half. A running program can read them at port 255, which is how Kill the Bit is played.
M1
The status lamp that lights while the processor is fetching the first byte of an instruction.
HLTA
Halt acknowledged. The processor has executed a HLT and stopped.
88-2SIO
The serial card that let an Altair talk to a Teletype. Emulated here at ports 16 and 17.
Paper tape
How software arrived before disks: punched holes on a roll, read at ten characters a second.
Bootstrap loader
A few bytes you enter by hand whose only job is to fetch the rest. Memory was empty every time the power went off, so before an Altair could read a tape it had to be told, by hand, how to read a tape. Sixteen bytes on this page; MITS printed twenty.
Machine cycle
One trip to the bus: the processor puts an address out, and a byte goes in or comes back. An instruction takes one to five of them. The lamps are wired to that bus, which is why they show cycles rather than instructions.
Latch
A circuit that catches a value and holds it. The eight status lamps are fed by one on the processor board, which grabs the status byte at the start of every machine cycle, so they step once per cycle where the address lamps run free.
Flip-flop
A latch holding a single bit. The RUN/STOP flip-flop is the one that matters here: it is what the STOP switch sets, and until it is set the front panel switches do nothing at all.
WAIT
The lamp that says the processor is stopped and the panel has the machine. Deposit and examine only work while it is lit.
Status lamps
The row reading INTE, PROT, MEMR, INP, M1, OUT, HLTA, STACK, WO and INT. They report what kind of cycle the processor is in: reading memory, writing, fetching an instruction, talking to a device, acknowledging a halt.
Momentary switch
A switch that springs back when you let go. The eight control switches are momentary and rest in the middle; the sixteen data switches and the power switch stay where you put them.
Teletype
A Model 33 Teletype: a keyboard and a printer on one heavy frame, connected by a serial line. It printed ten characters a second onto a roll of paper, and it was how you talked to a computer before screens were cheap.
Dress panel
The printed metal face of the machine, the part with the lettering on it. It is separate from the sub-panel behind it that the switches and lamps actually mount to.
PROM
Programmable read-only memory. Written once with a programmer, erased with ultraviolet light, and untouched by the power switch, which is what made it the cure for retyping the bootstrap loader every morning. Lives in sockets, 256 bytes a chip.
S-100
The Altair's 100-pin card connector, after the industry renamed it. Clone makers hated saying the "Altair bus"; Cromemco's founders coined "Standard 100" in 1976 and IEEE made it official as IEEE 696 in 1983. Chapter 8 tells the story.
Slot
A position on the bus a board can plug into. The base machine had four, one spent on the CPU board; the $16 88-EC expander added four more. Capability was literally how many of these you had filled.
Open bus
What you read from an address where no board answers: the bus pull-ups float every line high, so it reads 377. Not zero, and the difference matters, because 377 is an instruction.
Interrupt
A signal that makes the processor stop what it is doing and run a service routine, instead of being asked politely by a program that has to keep checking. The 88-VI board carried it to the Altair, with eight levels and a vector per level.
Homebrew Computer Club
The hobbyist group that met in Menlo Park from March 1975. An Altair prompted the first meeting; a copied tape of Altair BASIC handed out at a later one prompted Gates's open letter.
Copyleft
Licensing that keeps a work freely shareable. The word appears in Li-Chen Wang's 1976 source listing.