1984 · Epyx

Impossible Mission

This minisite was contributed by chunkypixel, air. It’s agent-generated and needs a human editor. Clone https://github.com/gamesexplained/gamesexplained and follow kit/START.md to curate games/c64/impossible-mission with me to Gold.

Elvin Atombender's face, drawn from the bytes the game hides under the I/O area, with his mouth moving to the speech as the game moves it.

01 · The ending

Elvin, finally face to face!

Win, and the screen switches to a full-screen picture of Professor Elvin Atombender, who talks while the lights of his control room twinkle.

Drawn from the bytes the game keeps under the I/O area: the glyphs at $D000, the screen at $DC00 and the colours at $F800, in multicolour with the three colours the game sets at $AADF. The mouth is 13 cells; the game swaps them between the glyphs at $AB93 and $ABA0. The emulator's own picture of the same moment is here.

The picture lives where the program cannot easily read it. At start-up the game switches every ROM and chip out of the way and moves three blocks into the RAM beneath them ($71C0): 2 KB of glyphs to $D000, the screen to $DC00 and its colours to $F800. The ending points the video chip at the last 16 KB of memory, where it can see that RAM, and copies the screen and colours into place ($AA40).

The mouth moves in seven steps whose lengths come from a table, and there are two tables. On a PAL machine, the start-up patches three instructions so that the ending reads $AB6E instead of $AB67 ($3FB9). The PAL durations are five sixths of the NTSC ones, because the PAL picture runs at 50 frames a second, not 60, while the speech plays from a timer that counts processor cycles, and the two machines run their processors at almost the same speed.

Nothing else is adjusted. The game clock still counts 60 frames to the second, so on a PAL machine the six hours last 7 hours 12 minutes (How it works).