| ← / → (num 4/6) | bank left / right (roll through 360° — loops and barrel rolls work) |
| ↓ / ↑ (num 2/8) | pull the nose up / push it down (flight-sim yoke) |
| Z / C (num 7/9) | rudder: flat turn without banking |
| + / − or W / S | throttle up / down (some layouts eat + — W/S always work) |
| A | afterburner — double thrust, drinks fuel |
| hands off | the plane rights itself and trims to level |
| Enter | lock the jet inside the aiming ring (TARGET / FRIEND + callsign); Enter on empty sky drops the lock |
| Backspace | missile — 4 rails, homing on the lock, dumb-fire without one; one reloads every ~20 s |
| Space (hold) | cannon — real tracer rounds; hits land on whatever sits inside the ring; the belt refills while you hold fire |
| M | right MFD: island map ↔ sensor view of the locked target |
| V | sound: all → effects only → silence (the S letter on the panel: amber / white / red) |
| F2 | cockpit on / off (the HUD tapes stay) |
| F3 | chase view: your own jet from behind, banking for real |
| F4 | orbit the locked target — the arrows steer the camera; if the target dies, the camera follows the debris down |
| F5 | arm the missile camera (M on the panel): the next launch is ridden to impact, 3 s of aftermath, then back |
| N | day / night — the stars are a real celestial sphere |
| Space | after GAME OVER: take a fresh jet |
| ESC | quit to DOS |
The whole machine is documented, and every claim links into the real assembly at the v1.0 tag: ARCHITECTURE — the 64K one-segment discipline, the memory map, where it stops and why · 3D GRAPHICS — painter's algorithm three ways, fixed-point trig, the guarded projection, the hardened clipper · 3D FOR BEGINNERS — the same machine explained to a high-schooler, real assembly included · AVIONICS — tapes, the levelled gunsight, the radar, the lamps, the compiled cockpit · EXAMPLES — standalone teaching .COMs a few KB each: the island factory, the ring mixer, the hangar, the avionics · LESSONS — what 40 kilobytes taught us: eight transferable engineering lessons.
Two squadrons in an attrition war over a procedural island: VIPERS — you plus 19 green squares — against 20 BANDIT yellow diamonds. The dead stay dead; when a team is wiped out the winner banner lights up and two fresh squadrons take the sky. The radar scoreboard shows this round's kills per team (tagged with the team's marker shape); the white number is your personal log and survives across rounds.
A jet soaks 2–5 cannon hits or one missile — and so do the buildings: a levelled block breaks into wall slabs, burns where it falls and stays a ruin forever. Falling wreckage can bring the neighbours down in a chain. Everything collides: jets with jets, jets with towers, wrecks with everything. Ramming works. Once.
You take 5 hits — the aiming ring flashes red and pips light up on the radar. The fifth, or a hillside, replays your last five seconds as a flashback, then the camera watches your jet come apart. GAME OVER — Space — again.
Watch the tapes: the red line on the speed tape is the stall, the one on the altitude tape is the terrain right below you. The gunsight bar always stays level with the horizon and its tick points at the sky; lose the horizon in a loop and a standby horizon appears at the ring.
Left MFD — radar (heading-up): you are the centre tick, blips are jets (IFF-coloured, a dot above/below = higher/lower than you), amber sparks are missiles in the air, pips are your rails, the amber number is the cannon belt, red pips are your damage. Centre MFD — artificial horizon. Right MFD — the island map, or the target camera (M). Caution letters on the struts: Fuel, Stall, Terrain, Lock.