Lazarus AP — the emulator itself, running in your browser

Not a recording. The AP-101S emulator is compiled to WebAssembly and executing here: 228 KB of machine, running real flight-compiler output. ← back to the guided resource

Program output — LAZARUS.hal, compiled by the Shuttle's own compiler

Machine state

Address · next · condition code

In routine

The redundant set — five computers, live

Flight routines and machine limits — run them yourself

Thirty genuine NASA routines, plus three programs written to expose what this computer cannot do.

Crew stations — three CRTs, three computers

Click a station, then type on the DPS keypad. Each computer polls only its own CRT; GPC 3 listens to CRT 1 without transmitting.

Guidance — NASA flight math on a sensor reading you choose

Set a direction. The Shuttle’s own UNIT VECTOR routine normalises it (reaching through VV0SN into the flight SQRT), then its dot product measures the angle to the reference axis +X. The reading is simulated; every instruction that processes it is recovered NASA code.

set a direction and press Compute

Built with cargo build --target wasm32-unknown-unknown --release — no JavaScript framework, no bundler, no dependencies.

What this is, and what it is not

Everything above is really executing: a cited emulation of the IBM AP-101S, running images built by the Shuttle's own compiler and assembler. The routine badge in the machine-state panel is read from the linker's own section table, so it names the actual routine the processor is inside.

What is not here: the primary flight software. The orbiter's ascent, entry and autopilot code — roughly 400,000 lines — has never been publicly released. What runs here is the runtime library those programs called, plus a redundancy mechanism reconstructed from documentation, not NASA's own voting code. There is no cycle-accurate clock, so nothing here says whether work would have fitted in a 40 Hz frame.

39 flight routines are re-checked against modern mathematics on every build. The full accounting is in the resource page.