Apollo 11 Daylight Launch

Video Playback

Apollo 11's Saturn V climbing out of its own smoke cloud, on real 16 mm KSC film from 16 July 1969 — heavy grain, a bright exhaust plume, and a rocket that actually moves frame to frame. The hardest realistic input the SVX2 codec has been handed: it compresses to only 78.9% of raw, and is still presented at 600 frames per 600 VBlanks with zero deadline slips — a locked true 59.94 fps, one decoded frame every VBlank.

loading core…

No input — the 600-frame loop plays continuously at one frame per VBlank. Every frame is decoded from the cartridge in real time; nothing is pre-rendered to VRAM.

Click the screen, then play. (Tab away and it pauses.)

Why this clip is the hard case

The companion SVX2 FastROM reel plays Artemis I — a night launch, mostly black frames whose sensor noise an H.264 derivative had already smoothed before our converter ever saw it. Its 31–57% compression ratios are a best case for “real footage.” This cartridge is the opposite, and was picked to be: daylight film grain, a bright continuous exhaust flame, and a smoke plume of fine high-frequency edges. Measured cost of that hardness under the shipping codec, on this shot: SVX2 compresses to 78.91% of raw, against 57.04% for the Artemis night launch — 21.9 ratio points worse.

Film grain plus real subject motion decorrelates consecutive frames enough to undercut the assumption an interframe codec rests on. The clearest symptom: across seek intervals of 15, 30, 60 and 120 frames the stream barely moves (2,115,279 → 2,121,044 bytes, and shorter intervals win) — on this content a delta packet costs about as much as a fresh keyframe, so extra keyframes are nearly free. Sharper still: intraframe-only gallery LZSS, a comparison baseline rather than a shipping path, comes out 13.4 points smaller than interframe SVX2 here — 1,760,997 vs 2,121,044 bytes. Within-frame compression beats between-frame compression once the frames stop resembling each other. That never happened on the night leg, where SVX2 won at both dithers.

Doubling the frame rate barely helps the delta codec

This cartridge used to run at 30 fps, because the converter threw away every other frame of a master that was 59.9401 fps all along. Rebuilding it at the source's real rate was an obvious win for smoothness — and a natural experiment, because frames sampled twice as close together should be twice as easy for a between-frame codec. They are not:

frame spacing      LZSS      SVX2     LZSS ahead by
1/15 s  (30 fps)   65.31%    79.62%      14.31 points
1/30 s  (59.94)    65.51%    78.91%      13.40 points
1/59.94 (1x speed) 67.93%    78.06%      10.13 points

Halving the temporal gap bought SVX2 0.91 ratio points; a real-time control with frames four times closer bought 4.18. The residual between consecutive frames on this footage is not subject motion — it is Floyd–Steinberg dither noise, which is decorrelated no matter how close in time the frames are. That is a property of the dither, not of the film, and it is why the keyframe interval is nearly free here too.

What the cartridge contains

Frames600 — 20.02 seconds of source sampled at 29.97 fps, played back at 59.94 fps (2× speed, one frame per VBlank)
Framingcentre half-frame crop, so the rocket fills the 80×45 raster instead of being a speck in a wide shot
DitherFloyd–Steinberg
CodecSVX2 — PackBits keyframes plus replacement/copy delta spans
Packed stream2,141,080 B = 2,120,365 delta packets + 17,042 seek keyframes (5, K=120) + 3,673 loop delta
Raw equivalent2,688,000 B indexed (600 × 4,480) — SVX2 ratio 78.91%
Cartridge32 Mbit (4 MiB) Fast HiROM — the stream begins at bank $C1 and occupies 33 of the 63 banks available to it

Cadence, measured both ways

The metric is the one the 60 fps work established — presented frames per 600 VBlanks — so this content is directly comparable to the Artemis figures. It was recorded for a slow-ROM build and a FastROM build of the same source, at the 1-VBlank operating point:

build      presented   vblanks   per 600   slips
slow ROM         600       600       600       0
FastROM          600       600       600       0

Both hold a locked 59.94 fps with zero deadline slips — including the build with no FastROM at all. The hardest realistic input the decoder has been handed, at twice the frame rate, still does not cost it a single frame: the mean packet is 3,534 bytes and the worst is 3,685, and each one stages over the bus and decodes inside a single 16.7 ms frame. The 21.9 ratio points show up as cartridge bytes, not as dropped frames.

Byte-exact, and provably so

A separate self-test build decodes all 600 frames with the screen force-blanked and checks each one against a Fletcher 16 oracle computed by the host encoder, then compares the final frame byte for byte, then decodes the wrap-around delta that closes the loop and re-checks frame 0. A frame-zero-only check would pass on a decoder that corrupted every delta; this one cannot. That sweep is bit-serial and costs over a minute of console time, so it belongs to the build gate — the cartridge you are running goes straight to its title card and starts playing in about three seconds.

The gate carries a negative control, because a checksum that cannot fail proves nothing: flipping one byte of the packed stream (offset 400,000, 0x2d → 0x2c) makes the whole-loop check reject the cartridge. The Verify fidelity button above runs the shipped ROM's own assert — two complete playback loops with zero decode failures. The build is also -verify-machineinstrs clean, and renders one identical picture across six power-on entropy settings, so nothing here inherits PPU state the ROM never sets.

Source: NASA / Kennedy Space Center, item KSC-19690716-MH-NAS01-0001, “Video – Apollo 11 Pre-Launch and Launch,” date_created 1969-07-16. Interval 00:56:50–00:57:10 of the 3,634-second, 59.9401 fps master — a continuous colour run showing ignition and early ascent, clear of the burned-in countdown-clock overlay and of the B&W tracking cameras whose burned-in camera-ID tags appear elsewhere in the reel. Video stream only; audio discarded entirely. Centre half-frame crop, Lanczos to 80×45, padded to 80×56, sampled at 29.97 fps by frame selection with no optical flow (hence 2× playback). NASA-produced 1969 archival footage, not subject to copyright for US distribution under NASA's media guidelines.