OFF/ON
STOP
RUN
SINGLE STEP
EXAMINE
EXAMINE-NEXT
DEPOSIT
DEPOSIT-NEXT
RESET
A15
A14
A13
A12
A11
A10
A09
A08
A07
A06
A05
A04
A03
A02
A01
A00
A15-A0
D7-D0
WAIT
CTRL-C (BREAK)
RUBOUT (_)
KILL LINE (@)
LINE FEED
CLEAR PAPER
Type here. Nothing echoes by itself - the machine has to be
running a program that reads the serial board, so pick
tty-echo from Example Programs in the Debugger tab and RUN it
first.
Load 4K BASIC
Load Data
Load Binary File
256 B · as it shipped
4 KB · one 88-4MCS
8 KB · two 88-4MCS
Zero All Memory
Power
Stop
Run
Single Step
Reset
Copy Link
How to input and run the following program to calculate 1 + 2 = 3:
LDA 0080H ; 00 111 010
; 10 000 000
; 00 000 000
MOV B,A ; 01 000 111
LDA 0081H ; 00 111 010
; 10 000 001
; 00 000 000
ADD B ; 10 000 000
STA 0082H ; 00 110 010
; 10 000 010
; 00 000 000
JMP 0000H ; 11 000 011
; 00 000 000
; 00 000 000
- Turn on Altair 8800 by clicking OFF/ON switch.
- Set switches A7-A0 to 00 111 010 (up for 1, down for 0).
- Click "DEPOSIT".
- Set switches A7-A0 to 10 000 000.
- Click "DEPOSIT NEXT".
- Repeat step 4-5 to input the following bytes one by one: 00 000 000, 01 000 111, 00 111 010, 10 000 001, 00 000 000, 10 000 000, 00 110 010, 10 000 010, 00 000 000, 11 000 011, 00 000 000, 00 000 000.
- Set switches A7-A0 to 10 000 000.
- Click "EXAMINE".
- Set switches A7-A0 to 00 000 001 (the first number to be added, or 1 in decimal).
- Click "DEPOSIT".
- Set switches A7-A0 to 00 000 010 (the second number to be added, or 2 in decimal).
- Click "DEPOSIT NEXT".
- Click "RESET".
- Click "RUN" and wait for a few seconds.
- Click "STOP".
- Set switches A7-A0 to 10 000 010 (the address that holds the sum).
- Click "EXAMINE".
- The LEDs D7-D0 show the result 00 000 011 (3 in decimal).
- Turn off Altair 8800.
The Altair's first piece of software, and Microsoft's: Altair BASIC 3.2, written in 1975 by Bill Gates, Paul Allen and Monte Davidoff. How to start it:
- Go to the Debugger tab and choose 4 KB (or 8 KB, for room to write longer programs) under Installed Memory. Installing memory switches the machine off, which is what opening the case would have done.
- Click Load 4K BASIC. The machine powers up, the tape is read for you, and RESET is pressed.
- Before going any further, look at the memory map above the dump. Fifteen of the sixteen pages of a 4 KB machine are full: that is BASIC, and the one page left over is all the room you have for a program. This is what "4K BASIC" means.
- The address switches A15-A8 tell BASIC which terminal board to use: all down is the 88-SIO at ports 00H and 01H, switch A11 up is the 88-2SIO at 10H and 11H. The teletype here is wired to both slots, so either setting works - a real Altair would have had only one of the two boards fitted, and the wrong setting left it silent.
- Go to the Simulator tab and click RUN.
- Go to the Teletype tab. BASIC asks MEMORY SIZE? - press Enter to take everything it found. Press Enter again for TERMINAL WIDTH?, then Y for WANT SIN? to keep the maths functions.
- It prints how many bytes are free, then OK. Try PRINT 22/7 for an answer straight away. To enter a program, type these lines one at a time, pressing Enter after each:
10 FOR I=1 TO 10 20 PRINT I,I*I 30 NEXT I RUN
- The keyboard is upper case only. Underscore rubs out the last character, at-sign throws away the line, and Ctrl-C stops a running program.
What Load 4K BASIC skips: on a real Altair you first toggled a 28 byte boot loader in through the front panel, one byte at a time, then started the paper tape reader and waited about seven minutes while BASIC clattered in. Get one switch wrong and you did it again.
- Wikipedia: Altair 8800
- Wikipedia: Intel 8080 CPU
- Intel 8080 instruction set - an opcode encoding quick reference (text)
- Original Altair 8800 manuals - scanned PDFs archived at altairclone.com
- Altair 8800 Operator's Manual - the original manual as a scanned PDF
- Altair 8800 Operator's Manual v2.0 - an HTML edition by Kevin Cole
- Intel 8080 Assembly Language Programming Manual - Intel's original manual as a scanned PDF
- Demystifying Computers - an open source book by Chris Jones and Jeff Elkner
- Wikipedia: Altair BASIC - what it is, and how Microsoft started with it
- MITS Altair BASIC Reference Manual (1975) - the language itself: a tutorial, every statement and function, the startup questions in Appendix B, and the error codes in Appendix C
- Altair BASIC 3.2 (4K) - an annotated disassembly of the exact program this simulator runs
- MITS Altair Simulator - another JavaScript simulator, running Microsoft BASIC on a simulated teletype