Impossible Mission E001: the first pixel controller works
The first local objective passed in 5/5 episodes: leave the starting elevator and settle at x=250 ±4 pixels for three observations. The policy uses only rendered pixels and action history. It reacts after every bounded pulse; no training or large model was needed for this first skill.
The 31.08-second silent film is reconstructed from actual RGB observations. Each image is held until the next measured game-clock point at 0.25x speed, with opening and episode-ending holds. Controller pauses are omitted. The full 320x200 game field is visible. Exact replay mapping.
Frozen evaluation
| Episode | Starting x | Ending x | Result | Game seconds | Wall seconds |
|---|---|---|---|---|---|
| 1 | 157.89 | 247.89 | Success | 1.413 | 0.305 |
| 2 | 157.89 | 247.89 | Success | 1.413 | 0.293 |
| 3 | 157.89 | 247.89 | Success | 1.413 | 0.281 |
| 4 | 201.11 | 251.11 | Success | 0.754 | 0.157 |
| 5 | 201.11 | 251.11 | Success | 0.754 | 0.150 |
The first three episodes restore a fresh-game laboratory snapshot, obtained by
normal loading with neutral inputs. The other two add ordinary right/neutral
movement before scoring. These are correlated repeats in one corridor, not five
independent worlds. Policy corridor-v1 was frozen before these five episodes.
The entire benchmark process including startup/cleanup took 2.074 wall seconds.
Before evaluation, three replicas of a fixed control sequence matched at all six corresponding RGB hashes and cycle offsets. Repeatability evidence. The actual integration test passed movement, release, reset, invalid-action rejection and cleanup after an injected exception. A separate crash test confirmed that the independent remote watchdog terminates only the owned emulator.
Emulation and timing
VICE SDL2 x64sc 3.10 r46274 runs in PAL/software-rendering mode. Control uses port-2 I/O simulation. The original user disk is preserved and a private copy is attached read-only. Its SHA256 is recorded in the evidence; edition/crack provenance is unresolved, and no trainer was selected. No game RAM was written. Game disks and snapshots are excluded from publication.
Decisions are made while paused. A pulse requests 20000 CPU instructions; measured duration was 80.57–84.48 ms of emulated time. Instructions are not frames. The diagnostic transport clock comes from the last executed instruction, with endpoint/raster uncertainty; register/opcode data is discarded. Snapshot reset advances neutral instructions to invalidate stale image/clock caches.
Acquisition averaged 1.186 ms, maximum 1.918 ms. Perception/decision averaged 0.326 ms, maximum 1.168 ms. Action calls took 6.076–14.247 ms. These measurements and the slowed replay do not establish real-time play.
Resources and failures
Sampled emulator peak RAM: 63.48 MiB. Peak emulator CPU: 453.6% summed across logical cores; whole-system CPU: 93.1%. The short run has 59 resource samples, not continuous hardware maxima; Python-controller peak RAM was not sampled. No GPU inference is used. The machine exposed two RTX 3090s, each 24 GiB. Whole-device peaks were 8402 MiB/18% for GPU 0 and 7964 MiB/0% for GPU 1; those include other workloads and are not attributable to this agent.
Useful failures preceded the result: remote GTK rendering was black/slow; the stable DisplayGet response was truncated; wrong joystick port/device and snapshot build mismatches caused errors; Escape opened the SDL menu. The EPYX title was still a loading screen, and the first scene had an introductory input lock. Waiting for the settled HUD/corridor, pinning r46274 and refreshing after reset resolved the control path. Earlier private RAM/CIA diagnosis was separate from the pixel-only agent.
All retained attempts are inventoried. Some early console errors lack a complete per-run capture and remain explicitly unscored. Early execution is charged conservatively; later runs have exact wall-duration logs. The combined execution charge is below the 30-minute cap. No overnight campaign was run.
What this result leaves open
The current bottleneck is the fixed perception/behavior scope, not compute. The sprite reader is calibrated for this corridor and stops if the background changes or the sprite becomes ambiguous. A death classifier has not been independently validated. Robots, searching, lifts, puzzles and whole-game completion remain untested.
Next smallest test: enter the adjacent room, recognize its changed scene and stop safely, with a frozen success/failure definition and the same timing budget. Training is not justified by this evidence yet.
Download and reproduce
Full report · Results and timing · Attempt audit · Source and exact dependency versions · Evidence hashes · Project Impossible Mission.
The source includes PowerShell commands, a bounded runner, real-emulator tests and an explicit execution ledger. Supply your own game image. No disk, snapshot, raw game memory, game-code dump or emulator executable is in the source archive.
Official VICE protocol and r46274 release. The original EPYX manual scan specifies port 2 and left/right corridor movement; these were checked in the actual game.
