Page Byte Address Description
98 251 62FB
Graphics for title screen
114 187 72BB
Title theme tune
116 225 74E1
In-game theme tune
118 198 76C6
End of game automatic movement data
120 0 7800
Character set
123 0 7B00
Movement table for final room
125 114 7D72
Unused
125 192 7DC0
Buffer for room flags
125 242 7DF2
Unused
126 0 7E00
Buffer for moving objects
126 208 7ED0
Buffer for Ted's current graphic
127 208 7FD0
Buffer for conveyor belts
128 0 8000
Copy of screen 1
144 0 9000
Copy of screen 2
160 0 A000
Copy of attributes 1
162 0 A200
Copy of attributes 2
164 0 A400
Height of the current sprite being drawn
164 1 A401
Width of the current sprite being drawn
164 2 A402
Current background colour
164 3 A403
Various flags
164 4 A404
Pointer to movement table
164 6 A406
Current screen address of Ted
164 8 A408
Pointer to graphic buffer containing Ted's graphic set (A47B or A57B)
164 10 A40A
Offset from (A408) to the current graphic data for Ted's position
164 12 A40C
Current sound (length and frequency) to play while Ted is moving through the air
164 14 A40E
Height Ted has fallen by
164 15 A40F
Next bitmask to consider when considering pixel-accurate collision detection
164 16 A410
Pointer to flags when entering the room
164 17 A411
Pointer to movement table when room was entered
164 19 A413
Screen address of Ted when entering the room
164 21 A415
Pointer to graphic set of Ted when entered the room
164 23 A417
Offset from (A415) to the current graphic data for Ted's position
164 25 A419
Sound playing if Ted entered the room in mid-air
164 27 A41B
Height Ted fell by from the previous room
164 28 A41C
Collision detection mask when Ted entered the room
164 29 A41D
Pointer to current static object collision table
164 31 A41F
Pointer to current conveyor belt table
164 33 A421
Current border colour
164 34 A422
Current room
164 35 A423
Pointer to static UDGs
164 37 A425
Current time
164 42 A42A
Current frame of conveyor belt graphic to draw
164 44 A42C
Next location on screen to erase a life from
164 45 A42D
Number of lives
164 47 A42F
Time available for a "megaquickly" task
164 48 A430
Attribute of first task button being drawn
164 49 A431
Character offset of first task button being drawn
164 51 A433
Attribute of current task button being drawn
164 52 A434
Character offset of current task button being drawn
164 54 A436
Holds the "megaquickly task" flag in bit 5
164 55 A437
Room that the last task was completed in
164 56 A438
Tick counter
164 57 A439
164 58 A43A
Last room visited before this one
164 59 A43B
Game status buffer entry at A43B
164 61 A43D
Game status buffer entry at A43D
164 63 A43F
Game status buffer entry at A43F
164 64 A440
Timing speed (number of ticks to increment on each frame)
164 65 A441
Address of current static UDG being drawn
164 67 A443
Attribute of current static UDG being drawn
164 68 A444
Game status buffer entry at A444
164 69 A445
Size and direction of UDG being drawn
164 70 A446
Game status buffer entry at A446
164 71 A447
Game status buffer entry at A447
164 72 A448
Bitmask to use for keypresses
164 73 A449
Game status buffer entry at A449
164 75 A44B
Game status buffer entry at A44B
164 77 A44D
Base address of current screen to draw to
164 79 A44F
Current pitch of music note to play
164 80 A450
Current length of music note to play
164 81 A451
Pointer to current theme tune data
164 83 A453
Pointer to current theme tune data entry
164 85 A455
Current note frequency being played
164 87 A457
Current room flags
164 89 A459
Pointer to current interruptable command table
164 91 A45B
Various flags
164 92 A45C
Game status buffer entry at A45C
164 93 A45D
Game status buffer entry at A45D
164 94 A45E
Number of tasks completed
164 95 A45F
Character of task button being drawn
164 97 A461
Game status buffer entry at A461
164 98 A462
Working bitset for static objects
164 99 A463
Working bitset for moving objects
164 100 A464
Game status buffer entry at A464
164 101 A465
Pointer to conveyor belt graphics
164 103 A467
Pointer to task button graphics
164 105 A469
Pointer to moving graphics offsets
164 107 A46B
Pointer to moving graphics data
164 109 A46D
Pointer to default room flags
164 111 A46F
Pointer to next rooms
164 113 A471
Pointer to room offsets
164 115 A473
Pointer to room data
164 117 A475
Pointer to main theme tune
164 119 A477
Pointer to in-game tune
164 121 A479
Pointer to end of game movement routine
164 123 A47B
Ted left
165 123 A57B
Ted right
166 123 A67B
List of musical note pitches for theme tune
167 47 A72F
Check for input based on a particular table. Returns with the zero flag set if there was a match.
167 82 A752
Offsets for LEFT input
167 92 A75C
Offsets for RIGHT input
167 100 A764
Offsets for JUMP input
167 108 A76C
Movement table - jumping
167 189 A7BD
Movement table - game over
168 19 A813
Movement table - game won
168 68 A844
Happy Ted (sprite)
168 84 A854
UDG for megaquickly tasks
168 92 A85C
UDG for main title text character
168 100 A864
FEATURING 'TECHNICIAN TED'
168 124 A87C
Tasks completed
168 139 A88B
Time
168 143 A88F
You Have Run Out Of Time
168 175 A8AF
Graphic for energy bar
168 183 A8B7
Start of day
168 188 A8BC
End of day
168 193 A8C1
Sound data for "lose a life" effect
168 201 A8C9
Positions for the graphics on the title screen to fall into
169 89 A959
"Terminate interrupts" command
169 90 A95A
Text for instructions
170 11 AA0B
Unused
170 17 AA11
Directives for interrupt states
170 45 AA2D
Jump table for interrupt states
170 73 AA49
Decryption table
170 101 AA65
Main entry point
173 190 ADBE
Adjust movement in the final room
173 219 ADDB
Enter the final room - game over
174 40 AE28
Enter the final room and display the ending sequence - game won!
174 78 AE4E
Move Ted by one pixel
174 119 AE77
Enter a new room
175 93 AF5D
Play the game until we exit the room or lose a life
176 220 B0DC
Flash the screen
177 64 B140
Print the room name and status area
178 3 B203
Print a set of task buttons
178 182 B2B6
Copy task box attributes into all the screen buffers
178 201 B2C9
Copy task box attributes onto the screen buffer
178 210 B2D2
Perform an action after hitting a button
179 152 B398
Draw a conveyor belt
179 200 B3C8
Draw a section of conveyor belt
179 228 B3E4
Copy a moving object's frame to the screen buffer
180 64 B440
Redraw Ted to a new location
180 165 B4A5
Put moving objects into the live buffer
181 230 B5E6
Calculate space for a graphic
181 250 B5FA
Read static UDG information and store it in a screen buffer
182 245 B6F5
Print a number
183 45 B72D
Print a character from the main character set
183 74 B74A
Print a high 7 bit terminated string
183 85 B755
Print spaces
183 96 B760
Copy a UDG
183 112 B770
Advance the time and print it
183 116 B774
Print the current time
183 135 B787
Advance the timer by one minute
183 163 B7A3
Check if we've run out of time
183 184 B7B8
Print "You have run out of time"
183 204 B7CC
Put a frame of a graphic on screen
184 3 B803
Copy an object between screen buffers
184 46 B82E
Set next position for moving objects
185 156 B99C
Update a moving object's data
185 239 B9EF
See if Ted is touching anything, and if so call the collision detection routine on attributes
186 52 BA34
Collision detection (preserving HL)
186 59 BA3B
Collision detection based on attributes
186 139 BA8B
Hit both task boxes, change the state of the game
186 170 BAAA
Hit the first task box in a room - see if it triggers something else
186 189 BABD
Hit a lift button
186 229 BAE5
Set colour for moving objects
187 23 BB17
Move one frame and check for input
189 158 BD9E
Move one frame in the final room
190 207 BECF
Adjust position in the final room
190 246 BEF6
Play a sound
191 27 BF1B
Play a "hit task box" sound
191 53 BF35
Invert the screen (caused when losing a life)
191 75 BF4B
Interruptable routine A
191 141 BF8D
Interruptable routine B
191 185 BFB9
Interruptable routine C
191 221 BFDD
Interruptable routine D
191 251 BFFB
Interruptable routine 9
192 13 C00D
Interrupt routines
192 92 C05C
Execute next interruptable command
192 117 C075
Reset the interruptable tick counter
192 126 C07E
Interruptable routine 8 - Move back one state
192 132 C084
Interruptable routine 3 - Determine if ENTER was pressed
192 150 C096
Interrupt a command
192 184 C0B8
Interruptable routine 0 - Play a musical note
193 14 C10E
Music command FF (rest)
193 27 C11B
Music command FD (set timbre)
193 64 C140
Music command FC
193 88 C158
Interruptable routine 1
193 139 C18B
Decrement the interrupt tick counter and yield
193 145 C191
Interruptable routine 2
193 192 C1C0
Animate the title sequence
193 254 C1FE
Decrement the interrupt tick counter and yield
194 4 C204
Interruptable routine 4 - print a UDG or text
194 96 C260
Interruptable routine 5
194 115 C273
Interruptable routine 6
194 136 C288
Interruptable routine 7
194 193 C2C1
UDG 00
194 201 C2C9
UDG 01
194 209 C2D1
UDG 02
194 217 C2D9
UDG 03
194 225 C2E1
UDG 04
194 233 C2E9
UDG 05
194 241 C2F1
UDG 06
194 249 C2F9
UDG 07
195 1 C301
UDG 08
195 9 C309
UDG 09
195 17 C311
UDG 0A
195 25 C319
UDG 0B
195 33 C321
UDG 0C
195 41 C329
UDG 0D
195 49 C331
UDG 0E
195 57 C339
UDG 0F
195 65 C341
UDG 10
195 73 C349
UDG 11
195 81 C351
UDG 12
195 89 C359
UDG 13
195 97 C361
UDG 14
195 105 C369
UDG 15
195 113 C371
UDG 16
195 121 C379
UDG 17
195 129 C381
UDG 18
195 137 C389
UDG 19
195 145 C391
UDG 1A
195 153 C399
UDG 1B
195 161 C3A1
UDG 1C
195 169 C3A9
UDG 1D
195 177 C3B1
UDG 1E
195 185 C3B9
UDG 1F
195 193 C3C1
UDG 20
195 201 C3C9
UDG 21
195 209 C3D1
UDG 22
195 217 C3D9
UDG 23
195 225 C3E1
UDG 24
195 233 C3E9
UDG 25
195 241 C3F1
UDG 26
195 249 C3F9
UDG 27
196 1 C401
UDG 28
196 9 C409
UDG 29
196 17 C411
UDG 2A
196 25 C419
UDG 2B
196 33 C421
UDG 2C
196 41 C429
UDG 2D
196 49 C431
UDG 2E
196 57 C439
UDG 2F
196 65 C441
UDG 30
196 73 C449
UDG 31
196 81 C451
UDG 32
196 89 C459
UDG 33
196 97 C461
UDG 34
196 105 C469
UDG 35
196 113 C471
UDG 36
196 121 C479
UDG 37
196 129 C481
UDG 38
196 137 C489
UDG 39
196 145 C491
UDG 3A
196 153 C499
UDG 3B
196 161 C4A1
UDG 3C
196 169 C4A9
UDG 3D
196 177 C4B1
UDG 3E
196 185 C4B9
UDG 3F - Lift 1
196 217 C4D9
UDG 43 - Lift 2
196 249 C4F9
UDG 47 - Lift 3
197 25 C519
UDG 4B - Lift 4
197 57 C539
UDG 4F - Lift 5
197 89 C559
UDG 53 - Lift 6
197 121 C579
UDG 57
197 129 C581
UDG 58
197 137 C589
UDG 59
197 145 C591
UDG 5A
197 153 C599
UDG 5B
197 161 C5A1
UDG 5C
197 169 C5A9
UDG Conveyor belt 1 (4 frames)
197 201 C5C9
UDG Conveyor belt 2 (4 frames)
197 233 C5E9
UDG Conveyor belt 3 (4 frames)
198 9 C609
UDG - Task button 00
198 41 C629
UDG - Task button 01
198 73 C649
UDG - Task button 02
198 105 C669
UDG - Task button 03
198 137 C689
UDG - Task button 04
198 169 C6A9
UDG - Task button 05
198 201 C6C9
UDG - Task button 06
198 233 C6E9
UDG - Task button 07
199 9 C709
UDG - Task button 08
199 41 C729
UDG - Task button 09
199 73 C749
UDG - Task button 0A
199 105 C769
UDG - Task button 0B
199 137 C789
UDG - Task button 0C
199 169 C7A9
UDG - Task button 0D
199 201 C7C9
UDG - Task button 0E
199 233 C7E9
UDG - Task button 0F
200 9 C809
UDG - Task button 10
200 41 C829
UDG - Task button 11
200 73 C849
UDG - Task button 12
200 105 C869
UDG - Task button 13
200 137 C889
UDG - Task button 14
200 169 C8A9
UDG - Task button 15
200 201 C8C9
UDG - Task button 16
200 233 C8E9
UDG - Task button 17
201 9 C909
UDG - Task button 18
201 41 C929
UDG - Task button 19
201 73 C949
UDG - Task button 1A
201 105 C969
UDG - Task button 1B
201 137 C989
UDG - Task button 1C
201 169 C9A9
UDG - Task button 1D
201 201 C9C9
UDG - Task button 1E
201 233 C9E9
UDG - Task button 1F
202 9 CA09
Moving graphics offset table
202 81 CA51
Sprite 00 : 0000 - penny farthing right
202 209 CAD1
Sprite 01 : 0080 - penny farthing left
203 81 CB51
Sprite 02 : 0100 - funnel
204 81 CC51
Sprite 03 : 0200 - transistor
205 81 CD51
Sprite 04 : 0300 - chip
205 177 CDB1
Sprite 05 : 0360 - microscope
206 49 CE31
Sprite 06 : 03E0 - 1 ton weight
206 177 CEB1
Sprite 07 : 0460 - dud box
207 49 CF31
Sprite 08 : 04E0 - oscilloscope
208 49 D031
Sprite 09 : 05E0 - capacator
208 177 D0B1
Sprite 0A : 0660 - silicon wafer
208 209 D0D1
Sprite 0B : 0680 - minicomputer
209 209 D1D1
Sprite 0C : 0780 - pickaxe
210 209 D2D1
Sprite 0D : 0880 - lamp
211 145 D391
Sprite 0E : 0940 - face
212 17 D411
Sprite 0F : 09C0 - acid bottle
212 145 D491
Sprite 10 : 0A40 - droplet
212 209 D4D1
Sprite 11 : 0A80 - redisual heat
213 17 D511
Sprite 12 : 0AC0 - box in lift
213 145 D591
Sprite 13 : 0B40 - fire extinguisher
214 17 D611
Sprite 14 : 0BC0 - executive toy
214 209 D6D1
Sprite 15 : 0C80 - big face (3 wide)
215 241 D7F1
Sprite 16 : 0DA0 - cup of tea 1
216 113 D871
Sprite 17 : 0E20 - cup of tea 2
216 241 D8F1
Sprite 18 : 0EA0 - flower in pot
217 241 D9F1
Sprite 19 : 0FA0 - box thingy
218 241 DAF1
Sprite 1A : 10A0 - syringe (1 wide)
219 177 DBB1
Sprite 1B : 1160 - silicon wafer
220 177 DCB1
Sprite 1C : 1260 - sine wave
221 177 DDB1
Sprite 1D : 1360 - gun (3 wide)
222 113 DE71
Sprite 1E : 1420 - industrial waste bag
222 241 DEF1
Sprite 1F : 14A0 - small silicon wafer (1 wide)
223 49 DF31
Sprite 20 : 14E0 - big boss (top)
223 113 DF71
Sprite 21 : 1520 - big boss (bottom)
223 241 DFF1
Sprite 22 : 15A0 - bin
224 113 E071
Sprite 23 : 1620 - cheque
224 241 E0F1
Initial room flags
225 34 E122
Next room table
225 230 E1E6
Offsets to room data
226 72 E248
Room 00 - The Factory Gates
226 190 E2BE
Room 01 - Reception
227 72 E348
Room 02 - Ted's Desk
227 224 E3E0
Room 03 - Silicon Slice Store
228 114 E472
Room 04 - Slice Diffusion Furnaces
229 13 E50D
Room 05 - The Fuming Cupboard
229 190 E5BE
Room 06 - The Clean Room
230 104 E668
Room 07 - The Silicon Etching Tank
231 15 E70F
Room 08 - The Canteen
232 18 E812
Room 09 - The Photocopier
232 205 E8CD
Room 0A - The Boardroom
233 135 E987
Room 0B - Slice Surface Abrasion
234 26 EA1A
Room 0C - Laser Slice Separation Plant
234 203 EACB
Room 0D - Bay 7
235 122 EB7A
Room 0E - Microchip Mounting Furnace
236 37 EC25
Room 0F - The Tea Machine
236 197 ECC5
Room 10 - Power Generator
237 86 ED56
Room 11 - The Electroplating Bath
238 22 EE16
Room 12 - Quality Assurance Department
238 170 EEAA
Room 13 - Abrasion Dust Extraction
239 88 EF58
Room 14 - Matthew's Lair
239 233 EFE9
Room 15 - We Call Him Sir!
240 164 F0A4
Room 16 - The Wage Department
241 85 F155
Room 17 - On Top Of The Factory
241 202 F1CA
Room 18 - Electrical Conduit Tubing
242 63 F23F
Room 19 - Tradesman's Entrance
242 174 F2AE
Room 1A - The Fire Escape
243 65 F341
Room 1B - The Official Union Flag
243 214 F3D6
Room 1C - A Bit Of Fresh Air!
244 30 F41E
Room 1D - The Acid Bottle Store
244 237 F4ED
Room 1E - The Picket Line
245 161 F5A1
Room 1F - The Cloakroom
246 63 F63F
Room 20 - The Shop Steward
246 203 F6CB
Room 21 - Main Corridor
247 86 F756
Room 22 - Danger! High Voltage Testing
247 202 F7CA
Room 23 - Under A Diffusion Furnace
248 97 F861
Room 24 - Power Cables
248 213 F8D5
Room 25 - Beaker Store
249 41 F929
Room 26 - Beaker Store - Tea Machine
249 179 F9B3
Room 27 - Down In The Sewerage
250 31 FA1F
Room 28 - The Cellar
250 166 FAA6
Room 29 - Under MUDL's Tea Machine
251 65 FB41
Room 2A - The Lift
251 241 FBF1
Room 2B - The Forgotten Room
252 99 FC63
Room 2C - Prehistoric Caves
252 244 FCF4
Room 2D - Satelite Communication System
253 123 FD7B
Room 2E - Surbiton Colliery
254 19 FE13
Room 2F - OK ! Where Do I Get My Reward ?
254 139 FE8B
Room 30 - ###