# Impossible Mission E001 — first pixel controller

9 October 2026. **5/5 successful short local episodes.** The agent leaves the
initial elevator and stops at x=250 ±4 pixels for three successive observations.
The policy reads rendered RGB only, reacts after each input pulse and uses no
training or model inference. This verifies one starting-corridor skill, not a
whole game, robot avoidance, room search, puzzle solving or real-time play.

## Evidence

| Episode | Initial sprite x | Final x | Outcome | Emulated seconds | Episode 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 |

Episodes 1–3 restore one normally booted fresh-game snapshot. Episodes 4–5 add
ordinary right/neutral input before scoring. These are correlated repeats in
one corridor, not five independent game worlds. Policy `corridor-v1` was frozen
before evaluation; its hash is recorded in results.json. No policy changes or
additional benchmark episodes followed. Startup and cleanup bring the whole
five-episode benchmark process to 2.074 wall seconds. Disk loading is preparation,
separate from these episode times: the first scene appeared after roughly 140
emulated seconds, and the introductory HUD still needed time to settle.

Before evaluation, the same fixed control sequence was repeated three times.
All six corresponding rendered RGB hashes and relative cycle offsets matched
exactly: 0, 81815, 162957, 243849, 324653, 405902. This establishes repeatability
within this snapshot/build/control sequence. It does not prove universal emulator
determinism or exact video-frame alignment.

## Timing and resources

Controlled mode pauses during perception and decisions. A pulse requests 20000
CPU instructions; measured game duration was 80.57–84.48 ms, depending on executed
instructions. CPU instructions are not frames. Time comes from the last executed
instruction's start clock at PAL 985248 Hz, with endpoint/raster-phase uncertainty.
Only this debug transport clock enters timing; register/opcode data is discarded.

Maximum observed acquisition latency: 1.918 ms (mean 1.186 ms).
Maximum perception/decision latency: 1.168 ms (mean 0.326 ms).
Input-command round-trip: 0.0245–0.0677 ms. Full action call: 6.076–14.247 ms.
Image-file/video encoding time is outside these acquisition measurements but
inside episode wall time where performed. The independent watchdog enforces
300 seconds per owned emulator; the benchmark separately stops at success,
perception loss, blocked movement, 120 game seconds or 300 wall seconds.

Sampled emulator peak RSS: 66560000 bytes (63.48 MiB). Emulator peak CPU usage:
453.6%, using psutil's sum across logical cores. Whole-system peak CPU: 93.1%.
There are 59 resource samples over this very short process: these are sampled
peaks, not continuous hardware maxima. Python-controller peak RSS was not sampled.
No GPU inference is used. The machine exposed **two RTX 3090 devices**, each
24 GiB, rather than the three assumed in the prompt. Whole-device sampled peaks:
GPU 0, 8402 MiB and 18% utilization; GPU 1, 7964 MiB and 0% utilization.
These GPU/system values include other concurrent workloads and are not agent
resource attribution. Those workloads were left running.

Early startup/control diagnostics predate exact cleanup timing. The execution
ledger charges them conservatively at 965.45 seconds: 185.45 seconds of retained
file spans, 30 seconds allowance for each of 24 launches with metadata, and 60
seconds for one launch lacking structured metadata. Later runs have measured
runtime.json entries. The exact combined charge is in results.json and remains
below the 1800-second cap. This is an explicit accounting approximation for
early runs; it is not a claimed exact total experiment duration. Installation,
writing and publication are outside emulator-execution charges.

## Control, reset and provenance

VICE SDL2 x64sc 3.10 r46274, C64 PAL, software rendering, port-2 I/O-simulation
device 37. Binary joystick port is zero-based 1 and electrical lines active-low.
The original disk remains unchanged, SHA256
`2af32fc34cd6156cb57d4e887583cf38282b9f6760413c4a86571e1680d7675b`.
A private copy is attached read-only. Edition/crack provenance is not established;
no trainer was selected. No game memory was written. The EPYX manual specifies
port 2 and left/right corridor movement; those controls and release were verified
in the real game. Fire, lift/search and puzzle mechanics remain outside this
validated skill. Keyboard Feed does not implement held physical keys; the baseline
uses joystick inputs only.

The snapshot was created from normal disk loading with neutral inputs, before
directional movement. It is restored before each episode. Loading a snapshot can
leave the monitor's rendered image and CPU-history clock stale; reset now advances
60000 neutral instructions to refresh both before taking the initial observation.
The tested essential integration loop verifies observation, actual movement,
neutral release, exact reset image, invalid-action rejection and cleanup after an
injected caller exception. An independent fault test deliberately crashes its
controller; the remote watchdog attempts neutral and terminates the owned emulator.
PID, creation time and exact executable checks prevent killing unrelated jobs.
No owned emulator remained after the checks. The delivered adapter adds a tested
watchdog-exit wait to avoid an earlier harmless subprocess ResourceWarning.

Earlier loader/CIA diagnostics read private RAM/code to diagnose faults. They
are separate from the policy and excluded from public code/evidence. The agent
receives only RGB and observed action history, with a palette/crop calibrated for
the visible initial corridor. No internal position, hidden rooms or puzzle
solutions reach its decisions.

## Failures and remaining limits

All retained emulator runs are inventoried in attempt-audit.json. Early console
exceptions were not completely retained per attempt; unknown diagnostics remain
unscored rather than being converted into successful tests. Relevant failures:

- A SourceForge response was HTML rather than a ZIP; official GitHub binaries were
  then verified against release archive digests.
- GTK rendering in the remote session was black/slow; SDL software rendering works.
- Stable 3.10 DisplayGet truncated four bytes outside the visible canvas; r46274
  returns the complete field and fixes related monitor locking behavior.
- Wrong binary joystick port/device and snapshot/build mismatches caused errors
  or timeouts during integration. The working transport is now pinned and tested.
- Fire/keyboard attempts on the EPYX title had no gameplay effect because this
  was still the disk-loading screen. Escape opened the SDL menu and froze progress.
- The first game scene still had an introduction lock; waiting for the HUD and
  settled corridor made left/right movement observable.
- Immediate snapshot images/clocks were stale; neutral advancement resolves this.
- Windows BOM configuration parsing failed before launching an emulator; corrected.

Missing/ambiguous sprite or a changed room background stops with a perception
failure. There is no independently validated death classifier; the local corridor
contains no tested hazard. The current main limit is **perception and behavior
scope**: fixed corridor crop/palette and one target, with no room navigation or
planning. Compute capacity is not the limiting factor in this test.

## Video and next step

The 31.08-second silent video uses real sampled 320x200 observations, enlarged
without cropping the field. Each observation is held until the next measured game
timestamp at 0.25x game speed. Opening and episode-ending holds are added; pauses
for controller work are omitted. No interpolation or invented gameplay frames.
It is evidence of controlled-mode movement, not a native-speed continuous recording.

The smallest next experiment is to enter the adjacent room with ordinary input,
detect the scene change and stop safely. Freeze a room-entry condition and compare
success/perception-failure counts and cycle latency against this corridor policy.
Training is not justified yet.

## Sources

[VICE invocation](https://vice-emu.sourceforge.io/vice_2.html),
[binary monitor protocol](https://vice-emu.sourceforge.io/vice_13.html),
[UI actions](https://vice-emu.sourceforge.io/vice_3.html),
[official r46274 release](https://github.com/VICE-Team/svn-mirror/releases/tag/r46274).
[Original EPYX manual scan](https://evercade.info/wp-content/uploads/2022/07/Impossible_Mission_-_1984_-_Epyx_Inc..pdf)
and [Project 64 manual transcription](https://www.lemon64.com/doc/impossible-mission/301).
