deramp5113
Because early microcomputers lack built-in ROM monitors or storage controllers, operators must manually key in octal bootstrap routines and feed software directly through 110-baud terminal input streams.
AI-assisted summary of Altair 8800 - Video #7.1 - Loading 4K BASIC with a Teletype — original source. Check the original for full context.
Source published:
Key ideas
- Loading Altair 4K BASIC version 3.2 on an Altair 8800 using an ASR-33 Teletype requires a multi-stage process: manually toggling a bootstrap loader into RAM, using it to read a checksum loader from paper tape, and then loading the interpreter itself. (0:01)
- The 110-baud transfer rate of the Teletype's paper tape reader limits throughput to roughly 10 characters per second, requiring seven to eight minutes to load the 4K BASIC interpreter into memory. (3:51)
- Because Altair 4K BASIC lacks a dedicated LOAD command, user programs stored on paper tape are fed directly through the terminal input stream, appearing to the interpreter as if keyed manually by the operator. (5:24)
- The hardware featured in the demonstration is an Altair Clone, which precisely replicates the bus timings, front panel switches, and operational behavior of the original 1975 microcomputer. (8:08)
Detailed notes
## Background Published on YouTube by deramp5113 on October 5, 2013, this video demonstrates how to load and operate Altair 4K BASIC using a front panel bootloader and an authentic ASR-33 Teletype.
## TL;DR To boot an uninitialized Altair 8800 microcomputer, the presenter manually toggles a machine-code bootstrap loader into RAM using the front panel switches. The bootstrap routine initiates the ASR-33 Teletype's paper tape reader, loading a checksum loader that subsequently streams Altair 4K BASIC Version 3.2 into memory over roughly eight minutes at 110 baud. After completing the initialization dialogue and testing basic calculations, a prime number program on paper tape is fed directly through the terminal interface and executed. The host concludes by explaining that the demonstration runs on an Altair Clone, which reproduces the exact physical switches, timings, and electrical behaviors of the 1975 original.
## Atmosphere & style The presentation maintains a calm, instructional, and documentary-like tone that captures the painstaking reality of early personal computing. Watching the process feels tactile and hypnotic, filled with the rapid manual clicking of front-panel toggles, the shifting rhythm of flashing LEDs, and the steady, deafening clatter of the Teletype churning paper tape onto the floor. When the tape finishes and the room suddenly goes quiet, the emergence of the interactive terminal prompt delivers a distinct sense of retro satisfaction and technical accomplishment.
## Bulletin - [00:01](https://www.youtube.com/watch?v=qv5b1Xowxdk&t=1s) Loading Altair 4K BASIC version 3.2 on an Altair 8800 using an ASR-33 Teletype requires a multi-stage process: manually toggling a bootstrap loader into RAM, using it to read a checksum loader from paper tape, and then loading the interpreter itself. - [03:51](https://www.youtube.com/watch?v=qv5b1Xowxdk&t=231s) The 110-baud transfer rate of the Teletype's paper tape reader limits throughput to roughly 10 characters per second, requiring seven to eight minutes to load the 4K BASIC interpreter into memory. - [05:24](https://www.youtube.com/watch?v=qv5b1Xowxdk&t=324s) Because Altair 4K BASIC lacks a dedicated LOAD command, user programs stored on paper tape are fed directly through the terminal input stream, appearing to the interpreter as if keyed manually by the operator. - [08:08](https://www.youtube.com/watch?v=qv5b1Xowxdk&t=488s) The hardware featured in the demonstration is an Altair Clone, which precisely replicates the bus timings, front panel switches, and operational behavior of the original 1975 microcomputer.
## Key takeaways - [00:01](https://www.youtube.com/watch?v=qv5b1Xowxdk&t=1s) Because the Altair 8800 powers on with uninitialized RAM and lacks a ROM monitor or operating system, it cannot read peripherals until a bootstrap loader is entered manually. - [01:26](https://www.youtube.com/watch?v=qv5b1Xowxdk&t=86s) The bootstrap loader code consists of approximately 20 octal bytes toggled directly into address 0 via the front panel switches according to MITS documentation for the SIO board. - [01:26](https://www.youtube.com/watch?v=qv5b1Xowxdk&t=86s) Front panel sense switches serve as hardware configuration flags, informing the software which serial interface card is installed (all set to zero for the standard SIO board in 4K BASIC v3.2). - [01:26](https://www.youtube.com/watch?v=qv5b1Xowxdk&t=86s) Operating instructions mandate that the Teletype's paper tape reader must be physically running before the operator flips the Altair's RUN switch. - [03:51](https://www.youtube.com/watch?v=qv5b1Xowxdk&t=231s) A shift in the Altair's front panel LED activity patterns visually confirms when execution transitions from the manual bootstrap loader to the tape's checksum loader. - [03:51](https://www.youtube.com/watch?v=qv5b1Xowxdk&t=231s) Loading the complete 4K BASIC interpreter over an ASR-33 Teletype at 110 baud takes between seven and eight minutes, expelling a sizable pile of punched tape onto the floor. - [05:24](https://www.youtube.com/watch?v=qv5b1Xowxdk&t=324s) Upon successfully loading, 4K BASIC displays an interactive initialization dialog requesting memory size, terminal width, and whether to retain sine/trigonometric functions in RAM. - [05:24](https://www.youtube.com/watch?v=qv5b1Xowxdk&t=324s) Without a dedicated storage LOAD command in 4K BASIC, source programs on tape are processed directly as terminal console input line by line. - [05:24](https://www.youtube.com/watch?v=qv5b1Xowxdk&t=324s) When running a prime number generator program, the 8080 CPU eventually slows down between calculations as numbers increase, becoming compute-bound rather than Teletype print-bound. - [08:08](https://www.youtube.com/watch?v=qv5b1Xowxdk&t=488s) The Altair Clone replicates original cosmetics, mechanical toggle switches, and bus timings on modern circuitry, enabling authentic vintage workflows without endangering rare vintage hardware.
## Detailed walkthrough ### [00:01](https://www.youtube.com/watch?v=qv5b1Xowxdk&t=1s) Preparing the Altair 8800 and Teletype Setup
This demonstration shows how to load Altair 4K BASIC into an Altair 8800 microcomputer using an ASR-33 Teletype and its built-in paper tape reader. While a similar video was produced six months earlier using a PC terminal emulator over a serial port to feed the paper tape image, this demonstration features genuine vintage electro-mechanical hardware. As the presenter explains, “In the meantime, I've had the joy of purchasing and refurbing a Teletype, so now I can do the demo for real.” The earlier video retains supplementary background information, but this presentation focuses on the authentic historical process and all the effort required in the early days of personal computing just to get a working BASIC interpreter operational.
When an Altair boots up, it contains empty, uninitialized RAM with no operating system or ROM monitor. To read data through an input device, the operator must manually toggle in a small bootstrap loader via the front panel switches. This tiny program provides just enough logic to communicate with the paper tape reader over a serial interface board. The paper tape itself begins with a secondary stage known as the checksum loader. Once ingested by the bootstrap loader, the checksum loader takes control of the machine to read the remainder of the tape containing the actual BASIC interpreter into memory.
```mermaid flowchart LR accTitle: Altair 4K BASIC Bootstrapping Process accDescr: Sequence showing manual front panel entry leading to checksum loader and full 4K BASIC in memory.
subgraph FrontPanel["Front Panel Entry"] A["Manual Toggle Switches"] -->|"Enters octal code"| B["Bootstrap Loader in RAM"] end
subgraph TapeLoading["Paper Tape Read"] B -->|"Reads tape leader"| C["Checksum Loader (~256 bytes)"] C -->|"Reads main tape at 110 baud"| D["4K BASIC v3.2 Engine"] end
subgraph Interactive["Terminal"] D -->|"Prompts user"| E["Teletype Terminal Console"] end ```
[01:26](https://www.youtube.com/watch?v=qv5b1Xowxdk&t=86s) Toggling in the Bootstrap Loader
The bootstrap loader routine depends directly on the hardware configuration and software version. In this setup, the machine is configured for Altair 4K BASIC version 3.2 using an Altair Serial Input/Output (SIO) board, referencing the exact instructions provided in MITS documentation. Starting at memory address 0, the machine code bytes are toggled into the front panel switches in octal notation:
- Address 000: `041` - Address 001: `256` - Address 002: `017` - Address 003: `061` - Address 004: `022` - Address 005: `000` - Address 006: `333` - Address 007: `000` - Address 010: `017` - Address 011: `330` - Address 012: `333` - Address 013: `001` - Address 014: `275` - Address 015: `310` - Address 016: `055` - Address 017: `167` - Address 020: `300` - Address 021: `351` - Address 022: `003` - Address 023: `000`
Once the program is toggled in, the operator must configure the sense switches to tell the software which serial interface card is installed. In 4K BASIC version 3.2, all sense switches must remain set to zero for the standard SIO board. The operating instructions specifically mandate starting the Teletype's paper tape reader before pressing the run switch on the front panel. The Altair is reset to ensure execution begins precisely at memory location zero.
[03:51](https://www.youtube.com/watch?v=qv5b1Xowxdk&t=231s) Executing the Tape Read Sequence
The paper tape begins with a repeating punch pattern that serves as the tape leader. The Teletype is switched on and the tape reader is engaged, followed immediately by flipping the **RUN** switch on the Altair front panel. The LED lights on the Altair display a distinct activity pattern while the bootstrap loader executes:
> “Now, if you look over here on the Altair, what you're seeing is the bootstrap loader running. That's the light pattern you see. And when it's done loading the bootstrap loader, we'll see the light pattern change when it jumps into the checksum loader that then turns around and reads the rest of BASIC.”
After reading roughly 256 bytes—encompassing the leader section and the secondary loader—the front panel LEDs visibly shift cadence, confirming that the checksum loader has taken over execution. The checksum loader continuously ingests the primary body of 4K BASIC. Operating at 110 baud (roughly 10 characters per second), the transfer requires between seven and eight minutes to complete, spilling a sizable heap of punched paper tape directly onto the floor.
[05:24](https://www.youtube.com/watch?v=qv5b1Xowxdk&t=324s) Initialization and Executing BASIC Programs
As the trailing end of the tape clears the reader, the loader completes execution and transfers control to the newly loaded interpreter, producing a sudden, welcome silence from the loud mechanical clatter of the Teletype. The Teletype printer springs to life with the standard 4K BASIC startup dialog:
- `MEMORY SIZE?` — answered by pressing Return to automatically allocate all available contiguous memory. - `TERMINAL WIDTH?` — answered by pressing Return to accept default line width. - `WANT SIN?` — answered with `Y` (Yes) to keep trigonometric mathematical functions in memory.
BASIC announces itself with its sign-on banner and enters the interactive prompt. An immediate calculation test—`PRINT 2+2`—returns `4`.
``` MEMORY SIZE? TERMINAL WIDTH? WANT SIN? Y
4431 BYTES FREE
BASIC VERSION 3.2 [4K VERSION]
OK PRINT 2+2 4 OK ```
Because 4K BASIC does not feature a dedicated `LOAD` command for storing and retrieving code from storage peripherals, user programs on paper tape are loaded directly through the standard terminal input channel. As the presenter explains, “As far as BASIC is concerned, this is literally just typing in the program. So BASIC doesn't know that wasn't just typed in. So as far as it knows, you just typed it in.”
A short paper tape containing a prime number generator program is loaded into the reader. The Teletype feeds the tape through, printing each line as if it were keyed by hand. Once loaded, typing `RUN` executes the program, and the system begins computing and printing prime numbers. As the numerical values grow larger, the computational workload causes the processor to pause and think between calculations, causing the execution to run slower than the Teletype's mechanical 10-character-per-second output speed.
[08:08](https://www.youtube.com/watch?v=qv5b1Xowxdk&t=488s) The Hardware Platform: Altair Clone
The machine featured throughout the demonstration is an Altair 8800 Clone. The unit accurately replicates the exterior cosmetic design, mechanical switch response, operational characteristics, bus timings, and exact limitations of an original 1975 MITS Altair, while running on modern hardware underneath. This allows enthusiasts to recreate authentic vintage workflows—including driving original ASR-33 Teletypes over serial lines—without risking damage to rare, fragile vintage circuit boards. Viewers are directed to `altairclone.com` for additional technical details about the reproduction hardware.
## Mentioned Altair 8800, Altair 8800 Clone, ASR-33 Teletype, Altair 4K BASIC, Altair Serial Input/Output (SIO) board, MITS, deramp5113, altairclone.com
## Video description Loading and operating Altair 4K BASIC using a front panel bootloader and an ASR-33 Teletype.
[Source](https://www.youtube.com/watch?v=qv5b1Xowxdk)