Page Byte Address Description
64 0 4000
Loading screen
91 0 5B00
Unused
91 96 5B60
Rex projectile configuration
93 34 5D22
Enemy projectiles configuration for the current room
94 78 5E4E
Drones configuration for multiple weapon
94 102 5E66
Data buffer for the state of every enemy on screen
95 230 5FE6
Stack (SP = $6000 at init game )
96 0 6000
Not used
96 24 6018
Graphic data for FOOT MAN falling/jumping
96 216 60D8
Unused
96 224 60E0
Charset and ui graphics
98 224 62E0
Tile collision behaviour
99 224 63E0
Tiles graphic data
107 224 6BE0
Tiles attributes
108 224 6CE0
Supertiles layout
117 224 75E0
Room layout
127 114 7F72
Graphics data for player, enemies, hud and room objects
148 122 947A
The game has just loaded
150 123 967B
Routine not used
150 127 967F
Active/inactive shield
150 155 969B
Draw Rex and shield
151 73 9749
Destroy all enemy projectiles
151 81 9751
Release a smartbomb
151 134 9786
Destroy an enemy if smartbomb released or Rex dead
151 195 97C3
Reset sound buffer, volume channels and check for FIRE key
151 234 97EA
Reset sound data and wait for FIRE key press
151 253 97FD
Configure explosion
152 31 981F
Destroy enemy
152 175 98AF
Handle Boss destruction. Boss semi/full destroyed
153 78 994E
Table points based on enemy types. Score = points * 100
153 104 9968
Handle train stop. Front wagon has been destroyed
153 146 9992
Update attribute color for score points in HUD
153 171 99AB
Draw score on HUD
153 187 99BB
Draws lives number on HUD
153 206 99CE
Handle shield loss
153 250 99FA
Draw shield power
154 39 9A27
Increment score
154 76 9A4C
HUD flash
154 179 9AB3
Commands table for HUD flash
154 197 9AC5
Handle Rex Dead - Last live explossion
155 218 9BDA
Handle Rex dead - Main routine
156 5 9C05
Rex offsets for compute explosion position
156 11 9C0B
Rex explosion position and index for graphic data
156 59 9C3B
Handle respawn
156 118 9C76
Handle Rex dead - Resume or finish game
157 15 9D0F
Rex visibility active
157 31 9D1F
Configure data for Rex teleporting when game begins or resume
157 71 9D47
Configure data for Rex teleporting when dead
157 113 9D71
Handle Rex visibility during teleporting
158 2 9E02
Handle Rex atoms flush during teleporting
159 12 9F0C
Graphic data for atoms based on bits2-0 x-position of atom
159 20 9F14
Rex atoms data during teleporting
159 95 9F5F
Handle Rex over special tiles
160 18 A012
FIRE key hold down
160 19 A013
Rex weapon in use
160 20 A014
Weapon energy level. Value on init $01
160 21 A015
Attribute file pointer to current weapon icon in HUD
160 23 A017
Tilt arrow tiles
160 24 A018
Weapon energy quantity - Value $00 on init
160 25 A019
Address pointer into tile type buffer based on Rex position
160 27 A01B
Address pointer into tile buffer of the tile under the entity
160 29 A01D
Counter for tile drawn on room graphic buffer
160 30 A01E
Pointer to the tile type buffer for the currently draw tile
160 32 A020
Addres pointer to static enemy definition for the current room
160 34 A022
BOSS health
160 35 A023
Nou used
160 40 A028
Horizontal position for windows
160 41 A029
Vertical position for windows
160 42 A02A
Length of the longest line for the windows
160 43 A02B
Number of lines for the windows
160 44 A02C
Enemy enters the room from left
160 45 A02D
Enemy enters the room from right
160 46 A02E
Enemy enters the room from top
160 47 A02F
Max number of enemies to be destroyed when Destroy all enemies indicator active
160 48 A030
Destroy all enemies indicator
160 49 A031
Address pointer into the enemy configuration buffer for the enemy to be destroyed when Destroy all enemies indicator is active
160 51 A033
Entity type
160 52 A034
Address for the graphic data of entity
160 54 A036
Not used
160 56 A038
Initialised but never used
160 57 A039
Address pointer into attribute file/buffers for score points
160 59 A03B
Loop counter for score points
160 60 A03C
Score points value
160 62 A03E
Score - Value $0000 on init
160 64 A040
Rapid shots active - Value $00 on init
160 65 A041
Number of rapid shots
160 66 A042
HUD flash index - Value $FF on init
160 67 A043
Counter for enemy enter the room (updated)
160 68 A044
Counter for enemy enter the room (original)
160 69 A045
Train is generating on current room. Used at routine A89D
160 70 A046
Address into train definition buffer. Used at routine A89D
160 72 A048
Counter for train appearance. Used at routine A89D
160 73 A049
Shield power active - Value $00 on init
160 74 A04A
Not used
160 76 A04C
Shield power key hold down
160 77 A04D
Shield power - Value $63 on init
160 78 A04E
Shield loss counter - Value $02 on init
160 79 A04F
Machine gun weapon on inventory indicator
160 80 A050
Double Fire weapon on inventory indicator
160 81 A051
Laser weapon on inventory indicator
160 82 A052
Multiple weapon on inventory indicator
160 83 A053
Spray weapon on inventory indicator
160 84 A054
Projectile type of enemy
160 85 A055
Rex status - Value $00 on init
160 86 A056
Rex explosion counter
160 87 A057
Address pointer into Rex explosion data buffer to compute explosion position
160 89 A059
x-position of last respawn saved - Value $A0 on init
160 90 A05A
y-position of last respawn saved - Value $60 on init
160 91 A05B
room number of last respawn saved - Value $00 on init
160 92 A05C
Room configured - Value $00 on init
160 93 A05D
Rex visibility
160 94 A05E
Number of lines of Rex to hide (used in teleporting animation)
160 95 A05F
Atoms flush during teleporting
160 96 A060
Rex teleporting
160 97 A061
Teleporting counter
160 98 A062
Teleporting (begin game or dead)
160 99 A063
Number of lives
160 100 A064
Time bar update slot index - Value $00 on init
160 101 A065
Loop counter used for title screen main loop and time bar in HUD
160 102 A066
Time bar update direction - Value $00 on init
160 103 A067
Number of time slots availables
160 104 A068
Laser duration - Value $00 on init
160 105 A069
Respawn indicator index value - Value $00 on init
160 106 A06A
Shield recharger index value - Value $00 on init
160 107 A06B
Respawn fire index value - Value $00 on init
160 108 A06C
Number of smartbombs in the inventory
160 109 A06D
Not used
160 110 A06E
Number of weapon that has energy
160 111 A06F
Bonus windows number
160 112 A070
Not used
160 113 A071
Rex inmortal - Value $00 on init
160 114 A072
Rex speed - Value $00 on init
160 115 A073
Rex speed up duration - Value $00 on init
160 116 A074
Not used
160 118 A076
Lives Score - Value $0000 on init
160 120 A078
Not used
160 122 A07A
Rex on elevator
160 123 A07B
Actor firing indicator
160 124 A07C
Water effect index value - Value $00 on init
160 125 A07D
Bonus Windows Loop Counter
160 127 A07F
Animation frame number of the enemy showed in the tile screen
160 128 A080
Not used
160 129 A081
Point address for animation definition of every enemy displayed in the tile screen
160 131 A083
Point address for the base animation definition of the enemies displayed in the tile screen
160 133 A085
Enemy windows on tile screen visible or hidden
160 134 A086
Address pointer for the next windows data to show on tile screen
160 136 A088
Type of mobile enemy for the current room
160 137 A089
Humans killed - Value $0000 on init
160 138 A08A
Not used
160 139 A08B
Minimum score for the game - Value $000A on init
160 141 A08D
Room connection - right room number
160 142 A08E
Room connection - top room number
160 143 A08F
Room connection - bottom room number
160 144 A090
Room connection - left room number
160 145 A091
Speed of Rex - Value $00 on init
160 146 A092
Max number of enemies in the current room
160 147 A093
Used in multiple routines as temporal variable
160 149 A095
Used in multiple routines as temporal variable
160 151 A097
Used in multiple routines as temporal variable
160 153 A099
Used in multiple routines as temporal variable
160 154 A09A
Not used
160 159 A09F
Color attribute for windows body
160 160 A0A0
Not used
160 161 A0A1
Seed for pseudo-random number generator.
160 163 A0A3
Seed status variable
160 164 A0A4
Charcode buffer for number conversion
160 171 A0AB
Port used to read the key pressed
160 173 A0AD
Opcode of the corresponent BIT operation to check key presses
160 174 A0AE
Input device type
160 175 A0AF
X-position of entity
160 176 A0B0
Y-position of entity
160 177 A0B1
Width of entity sprite (in bytes)
160 178 A0B2
Height of entity sprite (in pixels)
160 179 A0B3
Initialised in game, but not used
160 180 A0B4
Not used
160 182 A0B6
Rex x-position (in pixels) - Value $A0 on init
160 183 A0B7
Rex y-position (in pixels) - Value $60 on init
160 184 A0B8
Current room number
160 185 A0B9
Pointer to the address mapping table of tile graphics data and room graphics buffer
160 187 A0BB
Rex facing direction ($00 right / $01 left) - Value $00 on init
160 188 A0BC
Rex falling speed - Value $00 on init
160 189 A0BD
Rex is jumping - Value $00 on init
160 190 A0BE
Not used
160 192 A0C0
Address pointer into table for Rex jumping y-offsets
160 194 A0C2
List number of the room displayed on attract-mode
160 195 A0C3
Loop counter for run the displayed room on attract-mode
160 196 A0C4
Update timer bar in HUD
161 51 A133
Initialize time bar loop counters
161 62 A13E
Draws a windows in the display file
161 165 A1A5
Draw HUD
161 219 A1DB
Draw the sprites for the smartbomb icons in HUD (1/2)
161 241 A1F1
Data buffer for the smartbomb icons in HUD
161 247 A1F7
Draw the sprites for the smartbomb icons in HUD (2/2)
162 2 A202
Offsets graphics data for smartbombs in HUD
162 18 A212
Draw the sprites for the weapon icons in HUD (1/2)
162 51 A233
Data buffer for the weapon icons in HUD
162 57 A239
Draw the sprites for the weapon icons in HUD (2/2)
162 76 A24C
Text definition for HUD
162 138 A28A
Copy room graphic buffer to display file
162 223 A2DF
Print the text content of the windows
163 104 A368
Routine not used
163 117 A375
Pseudo-random number generator
163 174 A3AE
Reset display and attribute file
163 200 A3C8
Draw the number saved in charcode buffer at A0A4 into display file
164 2 A402
Convert a number into a list of digits charcodes
164 106 A46A
Configure and check key pressed routines for Rex movement
164 231 A4E7
Pause game
164 244 A4F4
Draw explosion debris
165 3 A503
Computes address position in tile type buffer based on (x,y) position on screen
165 53 A535
Computes address into attribute file based of (x,y)-pixel-position on screen
165 94 A55E
Update arrow tiles, shield recharger, respawn indicator, fire and water effect
165 244 A5F4
Table of graphic data addresses for tile animation
166 40 A628
Initialise drones configuration data buffer
166 57 A639
Draw drones for multiple weapon
166 203 A6CB
Offset position table for drones
167 75 A74B
Graphic data for drones
167 139 A78B
Update weapon in inventory (HUD)
167 169 A7A9
Simulate conveyor belt going up
167 186 A7BA
Simulate conveyor belt going down
167 206 A7CE
Computes and show password code for Rex 2
168 132 A884
Text definition data for end level code
168 157 A89D
Configure current room
169 12 A90C
List of rooms in attract-mode
169 21 A915
Main loop for attract-mode
169 175 A9AF
Table of position and graphic offset for missile trajectory
169 204 A9CC
Charset for the corresponding key pressed
169 244 A9F4
Data definition for train in room
170 14 AA0E
Position offsets for explosion debris
170 110 AA6E
Graphic data for explosion debris
170 174 AAAE
Text Definition Data - Start game, game over and in-game windows
171 213 ABD5
Not used
171 221 ABDD
Display file lookup table
173 93 AD5D
Invert byte lookup table
174 93 AE5D
Offsets table for animated sprites
174 141 AE8D
Graphic data for arrows tiles
174 205 AECD
Enemy configuration for every room
177 51 B133
Room directions and enemy pointers
178 5 B205
Reset room graphic buffer
178 88 B258
Draw an entity (enemy, object or player)
179 57 B339
Copy tile graphic into room graphic data
179 114 B372
Rex fires weapon
180 54 B436
Configuration data for SCANNER projectiles and REX spray weapon
180 86 B456
Handle spray weapon fire
180 211 B4D3
Configure scanner bullet projectile and Rex spray weapon projectile
180 234 B4EA
Computes offset into the room graphic data based on projectile y-delta
181 6 B506
Configure weapon sound and check for weapon free slot
181 126 B57E
Create a new projectile
182 69 B645
Draw projectiles
185 67 B943
Laser graphics
185 107 B96B
Update color attribute for weapon icon on HUD
185 142 B98E
Handle weapon energy increase
185 239 B9EF
Handle weapon energy loss
186 61 BA3D
Handle double energy loss
186 73 BA49
Initialise weapon data
186 92 BA5C
Draw enemies
190 83 BE53
Y-pixel-offsets for Boss lasers shots
190 91 BE5B
Configure projectile for swing gun
190 203 BECB
Swing gun graphic data offsets
190 211 BED3
Handle bubble bouncing and burst
191 91 BF5B
Bubble graphic data offsets
191 102 BF66
Handle explosion debris movement and draw it
191 231 BFE7
List of 'random' attribute colors for explosion
191 239 BFEF
Handle lateral movement for FOOTMAN, STOMPER, MINE, SCANNER, POD, MINE LAYER and BLOB
192 58 C03A
Scanner fire weapon
192 90 C05A
Handle POD and MINE LAYER
192 224 C0E0
Handle collision detection for BLOB
193 46 C12E
Change x/y-delta for BLOB
193 73 C149
Data buffer of x-delta and y-delta for BLOB
193 77 C14D
Handle BLOB and MINE movement
193 202 C1CA
Handle lateral collision detection for POD and MINE LAYER and shot for MINE LAYER
194 19 C213
Handle SCANNER - moves up
194 57 C239
Handler for Scanner bumping animation
194 90 C25A
List of graphic data pointers to scanner bumping animation
194 126 C27E
Handle scanner shot and collision detection horizontally
194 253 C2FD
Handle SCANNER - Moves down
195 190 C3BE
Configure scanner for bump/fire state
195 224 C3E0
Handle collision detection for entity moving right
196 166 C4A6
Handle collision detection for entity moving left
197 49 C531
Handle possible crouch for FOOT MAN
197 64 C540
Handle possible jump for FOOT MAN
197 77 C54D
Enemy configuration for FOOTMAN crouched or stand-by
197 119 C577
Handle FOOT MAN walking/stand-by state change
197 182 C5B6
Handle FOOT MAN walking/crouching state change
197 250 C5FA
Routine not used
197 253 C5FD
Enemy configuration for FOOT MAN jumping
198 32 C620
Handler for enemies going up: SCANNER, POD, MINE LAYER and FOOTMAN Jumping
198 194 C6C2
Handler for enemies going down: SCANNER, POD, MINE LAYER and FOOTMAN falling
199 43 C72B
Obtain the tile type address pointer under the entity
199 69 C745
Initialize graphic and attribute data buffers for current room
200 191 C8BF
Copy room color attribute buffer to attribute file
200 219 C8DB
Utilities routine - Wait some time
200 232 C8E8
Utilities routine - Multiply two values
200 239 C8EF
Configure room connection and enemies of the room
201 90 C95A
Check for end game room
201 101 C965
Initialize train for the current room
201 120 C978
Generate train parts: front, middle or rear wagon
201 202 C9CA
Creates a new mobile enemy on room
203 3 CB03
Check if enemy can be generated in a position
203 82 CB52
Configure static enemies for the current room
203 136 CB88
Configure entity for the current room
206 123 CE7B
Draw the windows borders in the display file
207 10 CF0A
Draw a row of borders for the windows
207 61 CF3D
Draw a 3x3 grid attribute color into attribute file if tile is background
207 110 CF6E
Copy a 3x3 grid of attribute color from attribute buffer to attribute file
207 143 CF8F
Copy the attribute file of the HUD (3 first rows) to the attribute buffer of the HUD
207 155 CF9B
Draw random attribute color for explosion
207 204 CFCC
Handle speed up duration
207 218 CFDA
Configure Rex to move right
207 246 CFF6
Configure Rex to move left
208 19 D013
Handle Rex lateral movement
208 29 D01D
Move Rex left or right
208 64 D040
Handle Rex collision detection moving right
208 86 D056
Handle Rex collision detection moving left
208 108 D06C
Check if a tile is a wall or a background
208 150 D096
List of 'wall' type tiles
208 154 D09A
List of 'background' type tiles
208 160 D0A0
Check room connection to the left
208 177 D0B1
Check room connection to the right
208 194 D0C2
Configure Rex for jump
208 216 D0D8
FOOT MAN and Rex jumping y-offsets increments
208 227 D0E3
Not used
208 228 D0E4
Handle Rex jumping
209 77 D14D
Handle Rex falling
209 185 D1B9
Handle enemy projectile collision with Rex
210 21 D215
Handle collision detection of enemy with Rex and projectiles
212 172 D4AC
Address pointers into text definition windows for bonus
212 182 D4B6
Handle Rex takes question
213 160 D5A0
Increment lives
213 174 D5AE
Reset sound data channels
213 215 D5D7
Reset the 3 channel volumes of the AY-3-8912
213 231 D5E7
Configure sound channel and mixer register
214 130 D682
Send data to the mixer register of AY-3-8912
214 140 D68C
Play sound channels
214 219 D6DB
Configure note for current channel
215 68 D744
Send channel volume command
215 89 D759
Send commands to AY-3-8912
215 99 D763
Sound data
216 50 D832
Channel data buffer por playing sound
216 74 D84A
Not used
216 85 D855
Sound data mixer
216 86 D856
Not used
216 87 D857
Channel volumne number (1-3)
216 88 D858
Check for an slot in Enemy configuration buffer to create another enemy
216 113 D871
Show weapon bonus windows
216 163 D8A3
Copy screen display file into room graphic data buffer
216 192 D8C0
Draws an sprite
217 9 D909
Fill a rectangle with a color attribute in the attribute file
217 46 D92E
Routine not used
217 48 D930
Unused
217 98 D962
Mapping table for tile graphic and room graphic buffer
218 192 DAC0
Main loop for the tile screen
219 174 DBAE
Check for key pressed in the DEFINE keys windows
220 38 DC26
Text Definition Data - Enemy showroom on title screen
221 78 DD4E
Defined keys for Rex controls
221 83 DD53
Not used
221 84 DD54
Keypress handlers for the title screen menu
223 5 DF05
Text Defintion Data - Control configuration
224 11 E00B
Draw the enemy sprite on title screen (1/2)
224 73 E049
Data buffer for the enemy sprite on title screen
224 79 E04F
Draw the enemy sprite on title screen (2/2)
224 103 E067
Animation definition for the enemies showed in the tile screen
224 224 E0E0
List of ports for read the keys
224 240 E0F0
Unused
224 246 E0F6
Graphic data for the enemies showed in the title screen
228 214 E4D6
Not used
228 255 E4FF
Title screen
255 255 FFFF
Unused