SVX2 FastROM Animated Video
Video PlaybackArtemis launch and return animations at an intentional 2×, followed by ten seconds of genuine ~59.94p Apollo 11 launch footage: 1,200 distinct SNES frames in a 64 Mbit (8 MiB) Fast ExHiROM cartridge.
Start pauses/resumes; A resumes; L/R step one frame; Left/Right seek one second or shuttle at 2×/4×/8× when held. Keyboard and touch use the matching on-screen SNES controls.
Click the screen, then play. (Tab away and it pauses.)
Launch spectacle at one frame per VBlank
Frames 0–299 and 300–599 preserve consecutive frames from NASA SVS’s progressive 29.97p Artemis animations and deliberately present them at 2×. Frames 600–1199 preserve all 600 consecutive temporal samples from NASA Images’ progressive ~59.94p Apollo 11 press-site master. No optical-flow frames are synthesized. The Apollo cut begins exactly at logical stream offset $3F0000, crossing from ExHiROM region A into file $410000 / CPU bank $41. Start pauses/resumes, A resumes after seeking, L/R step one frame, and Left/Right seek one second or shuttle at 2×, 4×, then 8× when held.
Sources: NASA SVS item 14191, Artemis I Mission Animations, and NASA Images’ Apollo 11 press-site film KSC-19690716-MH-NAS01-0001. No Duck and Cover footage or animated turtle sequence is present.
The cartridge, measured
This is a complete player result, not a desktop encoder estimate.
How one frame moves
Each frame is 70 tile-major Mode 7 tiles: 80 × 56 indexed pixels. A replacement span copies changed bytes from the staged packet. A copy span means “retain what is already in the framebuffer,” so the hot decoder advances its cursors without copying bytes onto themselves. Sequential playback stays entirely delta-coded—including each cut and the loop—while separate independent keyframes keep seeking bounded. Frame 600, the cut to Apollo, begins exactly at the ExHiROM region seam: logical $3F0000 becomes file $410000 / CPU bank $41.
Mode 7 owns scanlines 0–191. An HDMA split switches the lower region to Mode 1 BG3 for the time, measured FPS, scene label, health, and transport. Automatic joypad results are read from $4218/$4219 off the decode-critical path.
Why SVX2?
| Codec or path | Packed size | Raw ratio | 65816 rate |
|---|---|---|---|
| Raw block copy | 1,368,600 B | 101.83% | 87.6 fps |
| Gallery LZSS | 747,548 B | 55.62% | 2.1–2.3 fps |
| SVC1 | 755,658 B | 56.22% | 0.6 fps |
| SVX1 XOR + PackBits | 705,621 B | 52.50% | 15.6–34.3 fps |
| SVX2 replacement/copy | 766,569 B | 57.04% | 60.8–69.4 fps |
SVX1 wins on size, but its target decoder misses even the 20 fps goal. SVX2 is the smallest tested representation whose target-native decoder clears the cadence requirement. Gallery LZSS is shown only as an independent-frame baseline: at roughly two frames per second, it is not the video codec.
Full-pipeline timing
| Phase | p50 | p99 | Maximum |
|---|---|---|---|
| FastROM stage | 8,192 | 10,240 | 11,264 |
| SVX2 decode | 64,512 | 69,632 | 254,976 |
| VRAM presentation | 10,240 | 10,240 | 10,240 |
| Combined | 83,968 | 89,088 | 275,456 |
The release gate presented 9,000 frames in 9,000 eligible intervals after the animated title, with zero decoder errors and zero deadline slips. The two Artemis sections use 300 consecutive progressive 29.97p source frames apiece and intentionally play at 2×. The Apollo section preserves 600 consecutive progressive ~59.94p source samples at one per VBlank. All 1,200 of 1,200 quantized SNES frames are distinct; no optical-flow intermediates are synthesized.
The cartridge dashboard reports the nominal playback cadence as 60.0 fps. Physical NTSC SNES refresh is approximately 60.099 Hz; that hardware-rate detail belongs in timing analysis, not in the player’s nominal-cadence readout.
Verification and source
- Host round-trip checks every sequential packet and seek keyframe.
- Target gates compare all 4,480 decoded bytes and monitor decode, loop, and deadline state.
- Rendezvous captures cover frames 599 and 600 on opposite sides of the ExHiROM seam, the dashboard, and exact frame order.
- Controller replay covers pause, frame step, ±1-second seek, shuttle, resume, and both directions across the seam.
Player scheduler65816 hot pathCodec implementationFull profileCodec corpus
Published 64 Mbit (8 MiB) Fast ExHiROM · 1,200 distinct frames · 20 secondsd71382c8fec7320eed6b2f75f6f6a4a1a1158c5604de66bfd7e43debf0b52525