1985 · Domark

A View to a Kill

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

The five programs in the order they are loaded: the intro, the three sections you play, and the ending. Every address here is in that program's own memory.

01 · The intro

A gun barrel, a gunshot, a spoken line and the credits, all driven from one interrupt

The intro plays by itself for about 100 seconds and then waits. Nothing in it reads the joystick or loads the next program.

The Domark logo over the words D O M A R K presents you as James Bond 007
The Domark logo, put together from six sprites.
The last credits: speech by B.-Jones, and Now, James, your mission begins
The end of the credits, where the intro stops.

The running order

A raster interrupt runs one of three modes, music only, the gun barrel or the credits, and every mode ends by stepping the tune ($CC00). The main program steps through the scenes:

SecondsWhat
0.3two white dots, the films' opening spotlights, roll across the screen ($C000)
4.5the gun barrel is wiped in from the right, then scrolls left as Bond walks in ($C100, $C809)
11.0the gunshot, and blood runs down the screen ($CABC, $C840)
15.6the screen shakes ($C900)
21.1the speech ($A000)
23.3the picture dissolves ($CA80)
24.3the Domark logo flies together ($C430)
29.7D O M A R K presents you as JAMES BOND 007 ($90A0)
37.0the credits scroll, a new line every 0.8 s ($C54E)
103the music stops and the logo sparkles for good ($C476)

The times are frames of a run in a simulator at 50 a second, so a real machine takes a little longer. The barrel scrolls a pixel every two frames across two screen banks, the picture moving two character cells each time the banks swap ($CD00, $C170). The blood is the barrel's picture changed a line at a time, turning white pixels red ($C840).

The FRGCB blog compares the versions and finds that only the Commodore 64 plays the whole gun-barrel sequence, "from the beginning, with the smaller white spotlights and all, and Bond walking from the right side of the screen and turning towards the camera before shooting".

Bug: on some boots the credits never scroll

Before the credits, the intro asks for its next interrupt on a raster line the screen never reaches, and relies on a later write to put it right. That write copies back whatever line the beam is on, so if the beam is low on the screen at that moment the mistake stays, and the credits and the music stop for good. In the emulator, one boot in four did it. The Discoveries tab has the detail.

02 · Paris

Catch May Day once her altimeter reads below 60, before the damage reaches 40

May Day circles down over Paris and lands at one of eight points. The car has to touch her once she is low enough.

The Paris instruction page
The instruction page. Up and down choose music, effects or both.
The Paris chase in progress
In play: the view ahead, the cockpit with the altimeter and the map.

May Day

She starts high above the map and circles outward until her circle reaches a limit, then heads for one of eight landing points, picked with the sound chip's noise generator as a random number ($5200, $4F00). The altimeter starts at 900 and drops one for every 20 of her steps ($5315). Below 060 a catch becomes possible: the car's sprite has to touch hers ($5142). At 000 the chase is lost. A lamp in the cockpit flashes faster the closer she is, at an interval set by the distance to her in x plus y ($4850, $4A50).

The car

Speed is a delay between steps, from 1, the fastest, to 63 ($0340). Pulling back past the slowest speed puts the car in reverse. Holding the stick to one side turns to the next of eight headings and stops there. Fire shoots, and fire in reverse at speed is a handbrake turn of four steps ($5B9B). Hitting a wall or an unshot police car bounces the car back, slows it and adds one to the damage ($51A2). At 40 the chase is lost ($49A0).

Secret: the police follow the route you drove

Fourteen police cars share three sprites. A police car on a junction takes its heading from the junction's map cell ($4C9D). When the player's car leaves a junction, the game writes the way it went into that cell ($4E80). So the police turn wherever the player turned, and trail behind along the same streets.

Every other cell the player leaves adds one to a pursuit counter ($4EA0). At 20 a roadblock appears at one of 32 places and the counter drops back to 18 ($4900), so after the first there is a new roadblock every couple of cells. Driving into one clears it and costs one point of damage ($4940).

The end

A catch types out a telex whose code for City Hall is written into the program as text, CCPHJ ($8140). Losing goes back to the instruction page with a spoken comment. There is no score.

The town map, with May Day's eight landing points →

03 · City Hall

A 75-room building where the clock and the energy gauges never kill you

Bond walks through City Hall one room at a time, carrying objects and using them from a menu, to reach Stacey and take her out through a door that opens only at the end.

The City Hall memos
The memos from M and Q before the section.
City Hall in play
A room, the gauges, and the building in miniature with its lit windows.

The building

Five floors of 15 rooms, 14 bytes each ($4222). A room's bytes say which doorways it has and whether Bond can pass, which furniture stands in it, whether it is burning, and its temperature from 0 to 15. Lifts move 15 rooms, one floor, at a time ($6C60). The miniature building under the room lights the windows of the burning rooms.

Objects and words

Fire opens a strip of three item icons that scrolls, then a list of words: RETURN, DROP, SEARCH, USE, FOLLOW, STAY, GIVE, ABORT ($7A00, $8000). There are 91 objects, each with a room, a weight and a use ($63D0); the load Bond can carry is limited by weight ($7D6A). USE picks one of 24 handlers ($7CA6). Buckets are filled at a tap and thrown to hold a room's fire back; keys open doors between given rooms; a tool forces doors and uses something up each time; some objects restore energy, and others turn into ones that do in two particular rooms. Stacey follows only after one particular object is used in one particular room ($7F00). Six kit pieces, found one by one, build up the object that opens the last doorway ($8356).

The clock and the gauges are for show

The fire spreads once every 14 × 256 frames, about 72 seconds, and a room catches when its temperature reaches 15 ($94F0). Bond's and Stacey's energy figures shrink by a row every 4 × 256 frames ($8900), and the clock counts up from 10:00:00 ($6E40). Neither gauge nor clock ends the game: nothing acts on an empty gauge, and nothing reads the clock at all. Only the fire does, as the next part says.

Bug: a burning room ends the section through the middle of an instruction

The main loop checks whether Bond's room is burning ($7069). If it is, a branch lands in the middle of another instruction, at $7090, and the processor runs three bytes as instructions they were never meant to be, one of them undocumented, before reaching the end test's check of the code. With CCPHJ typed at the start, that shows the mission-complete screen and the next code; without it, a new game starts. Both were seen in the emulator by setting Bond's room on fire.

The end

The intended end is room 76, past the last doorway, with Stacey following ($708A). With the code typed, the section shows CONGRATULATIONS 007 and the code for the mine, DB4CT, fixed text at $1334. Without it, the game simply starts again.

The map of the building, when each room catches fire, and two ways to finish →

04 · The mine

Five digits, one key and one column: how the bomb is defused

A cave 150 tiles wide and 100 deep scrolls around Bond, who stays in the middle of the screen. The clock counts down from 90 minutes.

The mine briefing
The briefing.
The mine in play
In play: the panel's clock, the meter and the item strip.

Moving

Bond walks, jumps, falls and climbs ($2700). A long fall hurts him, and so does touching a lit hazard. Every hurt costs the clock about 29 seconds: for 30 passes the clock runs 48 extra ticks each ($2B2C). There are no lives. Conveyor belts carry him, and a lever turns them round ($1900, $3A0D). A lift is called with GET LIFT and ridden with the stick ($3A95).

May Day and the winch

Explosive placed near a rock fall marks it, and the detonator clears it with a shake of the screen ($3827, $39E0). Blasting the right rock fall frees May Day ($3E00). The winch takes four parts, and WINCH DOWN works only once May Day is free and Bond stands in the right place ($3F23).

The bomb

Numbered objects enter digits, 1 to 7, when used in the right part of the mine ($389C). With five digits entered and the winch complete, Bond can take the key ($375B). Carried to one column of the map, it runs the end test ($25E0): the digits must be 6, 7, 1, 3, 4 ($26F0) and the code DB4CT must have been typed. Then the screen shows the code for the ending, ILVCT. Otherwise the bomb goes off: four flashes, and the section starts again ($25D0). Both were seen in the emulator by setting the digits and running the test.

DigitsDB4CT typedResult
6 7 1 3 4yesCONGRATULATIONS 007, code ILVCT
6 7 1 3 4nothe bomb goes off
anything elseeitherthe bomb goes off

MI6-HQ gives the combination as 32768. The program checks 67134.

The map of the mine and the order to do things in →

05 · The ending

Three seconds of animation, and no score

The last program asks for the mine's code, ILVCT, and then plays a short scene over two pictures. It never loads anything else or prints a message.

Bond and Stacey in the shower, seen through binoculars
The first picture: the shower, seen through binoculars.
The binocular lenses cracked
The second picture: the same lenses, cracked.

What plays

The code prompt is the same routine as City Hall's and the mine's ($804C). Here RETURN without the code only asks again, so the ending cannot be seen without ILVCT. The scene itself is straight-line code ($1000): the shower picture in high resolution, then eight steps of sprites over it with a pause of about a third of a second after each. A man's head seen from behind turns to the left. A bar grows out of the small machine at the lower left, and a round object flies from the machine towards the head, growing to double size on the last step. Then the program switches to the cracked picture, turns the sprites off and stops ($1186).

The scene is the film's last one. The FRGCB blog describes it as "viewed through the eyes (or cameras) of Q's remote-controlled security dog droid thing", which is why the pictures have the shape of two lenses.

The whole scene lasts about 2.8 seconds. There is no sound, and no code or score is printed. RESTORE brings the prompt back, over the cracked picture, and typing ILVCT blind plays the scene again.