1986 · Micro Power

Doctor Who and the Mines of Terror

This minisite was contributed by air, unorig. It’s currently claimed by unorig who is editing it to reach a Gold tier standard.

What the Doctor must do, what he carries, how Splinx is programmed, what kills him, and how the game marks his escape.

The quest

Stop the machine, take what matters, get out alive

The game has one goal it insists on: leave the mine alive, in the TARDIS or in an escape pod (game_event_handler, $9102). Everything else is optional. Each optional goal doubles the escape bonus, which decides how well the Time Lords think the Doctor did (scoring), and each links to how it is done on the Solution tab:

GoalNeededHowCode
Leave the mineMustBy the TARDIS, with empty hands and F5 on the second TARDIS, halfway up on the far right map, or by an escape pod, launched with the ACTIVATOR at the top of the mine. Losing the last regeneration ends the game instead.$9102
Halt the heatonite machineOptionalThe machine's CIRCUITs spell START. Swap the A and the R in slots 3 and 4, halfway up on the left, for the O and the P found elsewhere so they spell STOP, then carry out one of the CIRCUITs taken out map.$B9B6
Carry out the CRYSTALOptionalIt lies on the left, two thirds of the way up the mine map. A creature comes to take it back.$916F
Carry out the CAPSULEOptionalThe capsule holds the TIRU plans the Master stole; the end screen names it THE TIRU PLANS. It lies near the top right corner of the mine map.$9177
Bring Splinx homeOptionalThe Doctor carries Splinx out like any other item: the game checks that Splinx is in his hands or one of his pockets when he leaves (item_bonus_check). Following him to the exit is not enough.$917F
Leave in the TARDISOptionalThe TARDIS rather than an escape pod.$918D

Rock, clamped ladders, bad air, a security gate, and a code lock stand in the way, and the tools that clear them lie around the mine.

The Maps tab shows where each of them is, and the Solution tab takes the steps in order.

Pockets and items

Everything the Doctor can pick up

Twenty-four objects lie in the mine when a game starts, and the Doctor can carry any of them, Splinx too. Each pin in the Map column opens the Maps tab on that object, one pin for each copy.

ObjectWhat it is forMap
SPLINXThe Doctor's robot cat. It follows him, or runs a program of up to ten commands to fetch things he cannot reach (below). Carried out at the end, it doubles the bonus ($917F).
PICK AXEDigs through rock. Three blows at any of three dig sites wear the rock away and open a passage ($BC1C). Three Rijan miners pass it between them, so the Doctor has to take it while it lies free (Solution).
SPANNERUndoes the eight bolts that clamp ladders high in the mine, so he can climb them. Each bolt redraws its block with the clamp open (block $E0 becomes $E1, use_spanner, $BBBC). Bolt 6 works only from below.
AIR MASKHeld in his hands, it fills his air again, so he can cross the bad-air blocks high in the mine without suffocating ($CAB1).
PASS CARDHeld in his hands, it opens the security gate ($BB15).
ACTIVATORUsed at one of three points at the top of the mine, it launches the escape pod, one of the two ways out ($BCDA, use_activator, $BCE0).
EXPLOSIVESSet with F5, they go off after a fuse, and the blast destroys anything close, the Doctor too. Blown at one point low on the right, they start a level rising that counts as halting the machine but drowns him if it reaches him ($C202). Blown at another, they open a walled-up doorway ($C22E).
DETONATORThree of them. Set with F5, each goes off after a fuse, and the blast destroys anything within 32 pixels, a controller or the Doctor ($C1CB). A blast in the right place opens a walled-up doorway ($C22E).123
CIRCUITFive sit in the heatonite machine at the start, each marked with a letter, and in order they spell START. Taking out the A and the R in slots 3 and 4 is the first half of stopping the machine. With the machine stopped, the halt counts at the end only if the Doctor carries out the A, the R, or one of the two Ts ($41, $42, $43, $4A; $9190).12345
CIRCUITTwo more lie elsewhere in the mine, marked O and P. Put into slots 3 and 4, they make the word STOP, and the machine stops (machinery_update, $B9B6; letters wanted in each slot at $B989; Solution). You can tell it has stopped: three red lumps riding the pipes and a crate on its belt stand still ($BA3C).11 Spelling START again starts it again ($BA06).12
CRYSTALCarried out at the end, it doubles the bonus ($916F). The Master comes to take it back, even from a pocket ($B48A).
CAPSULEThe TIRU plans the Master stole. Carried out at the end, it doubles the bonus ($9177).
MATLeft lying in a controller's path, it stops the controller when the two are level and within ten pixels ($CDD6).
PLATFORMLeft lying in the mine, it works like an invisible ladder. Once he jumps up beside it, he can move up and down anywhere up to 80 pixels above it, until he comes back down onto it or steps more than 20 pixels away ($C975, doctor_ride_platform, $CCE2). He cannot pick it up while he is using it.
EGGThe madrag's two eggs. Going near one that lies free hatches a baby madrag, which kills ($B861). The madrag carries a moved egg back to its nest, and takes one from Splinx if he holds it ($B752), which is how the Doctor gets past her to the AIR MASK (Solution).12
BOXWhat it is for is not known. No code refers to the BOX on its own: only the routines shared by every item pick it up, carry it, and draw it.
CHEMICALSDropped in the pool, within 80 pixels of its middle, they turn the pool purple and stop two controllers for good. The two turn red, stand still, and can no longer kill (machinery_update, $BA8D). Losing a life does not restart them ($93C7).

Each object drawn from its starting frame ($1D30) in its own colour ($1850), with its name from the game's own table: ten characters at $1770 plus the offset in $1720, in the game's private alphabet.

The Doctor carries one item in his hands and up to four more in his pockets, and the status bar shows all five. F5 picks up any object within reach, from $30 to $4F, or Splinx (pickup_nearby, $A929). Using an object that works only in certain places compares his position with that object's table of points (use_item_update, $BACC). The keys that move things between hands and pockets are on the Controls tab.

Splinx

A robot cat with a ten-step program

Splinx can follow the Doctor, stay put, or run a program of up to ten commands, written in a language the story calls CYBAL.16 Press S to open its programming screen.

The Splinx Programmer screen: a list of commands on the left, SHUT DOWN, FOLLOW DOCTOR and EXECUTE PROGRAM on the right, and a battery gauge
The Splinx Programmer. The game shows it from a screen of its own at $0C00, with its own character set.
CommandWhat Splinx does
1-4 GOTO MARKERwalks to one of the four markers the Doctor has dropped
R RETURN TO DOCTORwalks back to him
W WAITstands still
P PICK UP OBJECTtakes the nearest free item, if one is within 16 by 8 pixels
D DROP OBJECTputs it down
C RECHARGEon a charging point, gains one unit of battery every 8 frames

Splinx fetches items the Doctor cannot reach or carry. To send it somewhere, the Doctor drops one of his four markers there with F3. The markers are objects $30-$33, kept in the marker box of the status bar.

On the programming screen the joystick moves between the commands and along the ten steps of the program, and fire writes the command into the step. The three choices on the right set Splinx's mode: shut down, follow the Doctor, or execute the program (splinx_update, $B1A0).

The battery starts full at 24 units. It loses one every 1,024 frames, about 20 seconds, while Splinx follows the Doctor or runs a program, so a full charge lasts about eight minutes of work. Shut down, Splinx uses nothing. The gauge on the programming screen is a sprite the game redraws from the battery level ($B07D).

The lift and the car

A lift with eight stops, and a car that runs sideways

Ladders are not the only way around the mine. A lift carries the Doctor up and down, and a car carries him sideways along two stretches of track.

The lift (lift_update, $A13C) travels between eight stops, from the top one to the bottom one and back, waiting at every stop before it moves on ($A12C). It takes a passenger only at the end of a wait: just before it sets off, it checks whether the Doctor is standing on its floor within 18 pixels of its middle (lift_check_board, $A252). A player who steps on as the lift leaves is left behind. Close to the lift, the pocket keys do nothing ($A1F1), so the Doctor cannot drop or use anything beside it.

The car ($A2B9) works the same way sideways. It shuttles from one end of its track to the other, waits longer than the lift at each end, and checks for the Doctor just before it leaves ($A2B0).

The prisoner

One controller takes the Doctor prisoner instead of killing him

Every other controller kills the Doctor at a touch. The one that patrols high on the right of the mine marches him through a doorway the first time it catches him, and walls him in.

Controller $22 starts at x $0C40, y $0588, just right of the doorway. When it reaches the Doctor while he stands on a floor (his height is 8 more than a multiple of 16), it does not shock him. It sets a flag instead (controller_touch, $CE28), and while the flag is set the game takes the joystick away: the Doctor cannot fire or use his pockets, and he walks by himself to a point just inside the doorway ($C9AB). Once he is within 16 pixels of that point, the controller walls up the doorway behind him, redrawing its block with a column of rock (block $04 becomes $F1, controller_wait, $CF44), and goes back to its patrol.

That wall is the one a blast opens ($C22E). A DETONATOR or the EXPLOSIVES going off within 32 pixels of the doorway clears it, and the same blast destroys any controller in reach (blast_damage, $C1CB). Until the wall is blown, no controller comes after the Doctor ($CE8A). He is taken prisoner only once: the flag survives a regeneration ($937F), and every later touch from a controller is fatal.

Dangers

Five regenerations, and the ways to lose them

When the Doctor dies, he fades away pixel by pixel, the cause scrolls across the status bar, and he comes back at the last restart point he passed. Choose a cause to decode its message from the game's tables.

The Doctor starts with five lives. They are drawn as five stars in the status bar's item field, which is why the stars disappear when he picks something up ($94AC). After the last one, the game is over.

Decoded from the table of causes at $90EF and the message pointers at $95CB/$9626. A death stores twice the cause's number in $E8.

CauseWhat happensWhere
An explosionthe Doctor is too close when a charge goes offblast_damage $C1CB
A controllerhe touches one of the patrolling controllers; the first touch from controller $22 takes him prisoner insteadcontroller_touch $CE08
A fallhe drops 96 pixels or morefall_check $CD62
A stalagmitehe touches one of the sixteen stalagmite blocksdoctor_tile_checks $CA58
Suffocatinghis air runs out. Walking into one of the four bad-air blocks high in the mine starts a countdown of 50 ($F1). The countdown runs while he is high in the mine ($1C60 of 2 or more), except in open cavern, and holding the AIR MASK fills his air again every time ($CAB1). A fifth bad-air block lies lower down, where the test is never made.doctor_tile_checks $CA58, $CA90
A madrag bitethe madrag reaches him$B956
A baby madraghe goes near an egg and it hatches$B902
The rising levelafter the explosives are set off in one place, a level rises through the minefuse_update $C09A
Forced regenerationthe player presses R$9051

The fade is the TARDIS's own effect turned on the Doctor (doctor_draw, $CB6B). For the last 127 frames of the death, every fourth frame, the game copies his two frames afresh and clears more of their pixel pairs, six more each time, in the shuffled order the TARDIS landing uses (dissolve_sprite, $FEA9). The Graphics tab plays it.

Creatures

Who else is in the mine

The Doctor shares the mine with Splinx, the Rijans who work it, the Master's controllers, a madrag and her eggs, and the Master himself. Each is drawn here from its own frames, as the game animates it.

WhoHow manyWhat they do
Splinx1The Doctor's robot cat, a rolling ball while it moves ($B197) and a sitting cat when it stops ($B219). It follows him or runs its program (above).
Rijan miners3Mine at the bottom left of the mine and pass the PICK AXE from one to the next (trio_update, $C28E).9 They do the Doctor no harm.
Patrolling Rijans4Walk their own routes (patrol_think, $C45E). They are Rijans too, drawn from the same frames as the miners,9 and they do the Doctor no harm either.
Controllers25Follow fixed routes, stored as lists of waypoints at $764A, and kill the Doctor if he touches one (controllers_update, $CD9A). Controller $22 takes him prisoner the first time.
The madrag1Guards her two eggs. If an egg is moved, she fetches it and carries it back to its nest, and she takes one from Splinx too ($B752). She bites the Doctor if she reaches him, and she is fast: her code runs twice in every pass of the main loop, where the other creatures' code runs once (madrag_update, $B680).
Baby madragup to 1Hatches from an egg lying free when the Doctor comes near, and kills him ($B861).
The Master1Goes after the CRYSTAL, takes it from the Doctor's hands or even from his pockets, and carries it away ($B48A, $B520-$B535). Taking the crystal knocks the Doctor flat for a count of 121 ($B544, $CB60). The Master then walks to a door at x $0DA8, y $0380, which opens for him ($B5AD), and the crystal turns up high in the mine at x $06C8, y $06A8, free to be taken again ($B587). Players get it past him by having Splinx carry it,911 and it still doubles the bonus at the end while Splinx holds it ($928C). The code never names him: he is object $0C, a figure in blue drawn at twice the usual height ($18AC). Players know him as the Master.9

Escape

How the Time Lords mark you

The game ends when the Doctor leaves in the TARDIS or in an escape pod. What he brings with him doubles his bonus, and his score decides what the Time Lords think of him.

StepEffect on the scoreWhere
Time leftthe time counter is added, unless the Doctor is low in the mine (height below $0300)$911D, $91BC
Bonusstarts at 1,024$9163
The CRYSTAL, the CAPSULE (THE TIRU PLANS on the end screen), Splinxthe bonus doubles for each one in his hands or a pocketitem_bonus_check $928C
Leaving in the TARDISdoubles again$918D
The heatonite machine halteddoubles again$9190-$91B5
Final scoreTHE TIME LORDS ARE … WITH YOUR PERFORMANCE
below 4,100VERY DISPLEASED
below 20,000DISPLEASED
below 40,000PLEASED
40,000 or moreVERY PLEASED

Doing everything gives a bonus of 1,024 doubled five times, 32,768 (game_event_handler, $9102). The time counter adds up to 10,800 more, and in practice it nearly always adds all of it, because of a slip in the frame counter. The end screen says whether the Doctor HALTED THE PRODUCTION OF HEATONITE, from the same test as the last doubling (messages at $95CB).