Page Byte Address Description
96 194 60C2
Data block at 60C2
97 167 61A7
JP (HL) trampoline
97 168 61A8
Initialize the object free list: chain B 24-byte records starting at DE (each record's first word points to the next)
97 193 61C1
Reset object system
97 227 61E3
New-game initialization
98 84 6254
Set object position (IX+5/+6) from grid index A (cell centre: row*8+4, col*8+4)
98 105 6269
Set current room to A: locate its description record and build the room
98 249 62F9
Test whether the current room is this level's Plug Room
99 13 630D
Plug Room grid setup
99 41 6329
Build the door/exit bitfield at $612B from the room description's byte1
99 68 6344
Draw single-piece doors, for $612B bits 0 and 3
99 119 6377
Draw three-piece doors, for $612B bits 1 and 2
99 208 63D0
Clear shadow screen
99 222 63DE
Data block at 63DE
100 47 642F
Draw the fixed wall/decoration layout selected by $6129
100 112 6470
Redraw one terrain grid cell (index in BC), used to restore terrain hidden behind an object's sprite
100 187 64BB
Draw loop shared with 6470: resolve a grid/terrain value to a sprite via the 74CE/750B tables and draw it
100 243 64F3
Redraw the whole room's terrain grid
100 255 64FF
Data block at 64FF
101 3 6503
Per-frame rust/oil tick: advances the rust timer, killing the player at $52
101 63 653F
Data block at 653F
101 67 6543
Draw one rust-gauge segment: compute its screen column from A and its sprite from table $653F, then draw via 8128
101 94 655E
Draw the rust/oil gauge: base icon plus repeated 6543 icons, scaled by the rust timer $6502
101 128 6580
Tick the rust/oil gauge
101 147 6593
Draw the message window's border/frame: corner icon plus 8-wide top and bottom edge strips, all via 8128
101 207 65CF
Data block at 65CF
101 219 65DB
Draw message window: room/creature title line + rotating clue/joke message line
102 34 6622
Use an oil can (kind $6E pickup, see 8AFB): resets rust timer, decrements oil-can count, plays sound
102 59 663B
Draw the oil-can icon and its remaining count on HUD ($6198)
102 83 6653
Prepare room with color 0
102 87 6657
Get room color from room description and store to 6175
102 99 6663
Spawn the room's creature (dynamic object)
102 146 6692
Insert a record pointer (DE) into the draw queue (60EC), sorted by the record's offset+2 byte
102 206 66CE
Room build: spawn each active object then settle it to the ground (height field +0x07, via collision test 9BF0)
103 40 6728
Queue this room's dropped items for drawing
103 67 6743
Draw the room title, awarding a first-visit bonus the first time this room is entered
103 109 676D
Draw current room
103 241 67F1
Attempt to move to an adjacent room (horizontal, via a door) in the direction given by ($8DC1)
104 128 6880
Count item-table entries whose room byte matches A
104 149 6895
Draw the currently-held item's icon, and its ammo count if it's a weapon, on HUD
104 193 68C1
Consume one shot of ammo; auto-drop the weapon when empty
104 222 68DE
Data block at 68DE
105 151 6997
Message at 6997
105 172 69AC
Draw the room's background
106 170 6AAA
Interrupt service routine: advance the frame counter, drive the AY music chip, then run per-frame game logic
106 231 6AE7
ISR continuation setup: latch the resume address and clear the frame-ready flag
106 241 6AF1
Idle loop: enable interrupts, drive the sound-effect player each pass
106 248 6AF8
Jump to new-game initialization
106 251 6AFB
Self-modified per-frame hook, called by the ISR 6AAA (currently a RET stub, patched by 6AFC)
106 252 6AFC
Patch 6AFB to RET (disabling the hook), then jump to new-game initialization
107 5 6B05
New-game initialization
107 113 6B71
Main game loop
108 6 6C06
Sprite number -> mask sprite number table (indexed by sprite number, read by 8128)
108 207 6CCF
Room descriptions.
114 134 7286
Data block at 7286
114 171 72AB
Data block at 72AB
114 177 72B1
Room-type template pointer table
114 209 72D1
Room-type templates
115 181 73B5
Room/creature title table
116 65 7441
Warning-sign / clue message table
116 206 74CE
Data block at 74CE
117 86 7556
Data block at 7556
117 174 75AE
Data block at 75AE
117 181 75B5
Decoration/creature spawner table (room-gated, see 8F82)
120 138 788A
Data block at 788A
124 137 7C89
Creature hit/defeat lookup table (see 9401)
124 154 7C9A
Data block at 7C9A
124 236 7CEC
Print engine entry point
124 249 7CF9
Print char routine (default mode)
125 50 7D32
Print engine mode: set inverse video flag
125 63 7D3F
Print engine mode: dispatch control code $16
125 72 7D48
Print engine mode: set cursor row
125 87 7D57
Print engine mode: set cursor column
125 99 7D63
Data block at 7D63
125 104 7D68
Print string routine
125 183 7DB7
Data block at 7DB7
125 199 7DC7
Print engine: plot one character glyph into the shadow-screen font buffer, then blit it
126 76 7E4C
Variables to use in routine 7E4F
126 79 7E4F
Flip sprite horizontally
126 169 7EA9
Scan all 6 keyboard half-rows into the row-snapshot buffer at $6184 down to $617F, used by 7EBE's input reader
126 190 7EBE
Read input: normalize the active control method into the 5-bit mask at 6186
127 142 7F8E
Reset the redraw bounding-box trackers ($6194-$6197) to empty
127 155 7F9B
Fold a screen rectangle (DE = top/left, HL = bottom/right pair) into the running redraw bounding box $6194-$6197
127 189 7FBD
Data block at 7FBD
127 192 7FC0
Reset the sprite-draw clip window ($610A-$610D) to the full play-field
127 205 7FCD
Compute the current sprite's own screen bounding box, clamped to the play-field, and fold it into the redraw tracker
128 17 8011
Sprite draw: clip the current sprite against the screen window ($610A-$610D), adjusting its data pointer and dimensions
128 157 809D
Sprite draw: build the per-row blit queue for the shadow screen, from the clipped sprite
129 7 8107
Sprite draw: execute the blit queue built by 809D, copying 2 planes (pixels+attributes?) per queued row
129 36 8124
Data block at 8124
129 40 8128
Draw sprite C with its mask at screen position DE (mask sprite number from the table at 6C06; A bit 7 = mirror flag)
130 38 8226
Data block at 8226
130 48 8230
Sprite draw: masked blit (AND mask, OR sprite data) into the shadow screen -- full-width and partial-width paths
130 158 829E
Data block at 829E
130 166 82A6
Non-aligned sprite blit: copy the nibble-merged buffer (built by 82DB) to the destination, row by row
130 207 82CF
Data block at 82CF
130 219 82DB
Sprite draw: RRD nibble-shift tail for 5 planes, non-byte-aligned blit variant
130 240 82F0
Sprite draw: full-width unmasked row copy (no mask needed, direct LDIR per row)
131 21 8315
Draw a wall/decoration piece
131 94 835E
Flush the queued redraw requests at $9D3C: draw each piece via 8315, then clear the queue
131 151 8397
Data block at 8397
132 69 8445
Per-frame sound-effect player: step the currently-playing effect's tone commands
132 142 848E
Request sound effect A (queued at $61A2, gated by the $61A0/$61A1 flags)
132 174 84AE
Dynamic object allocator
132 237 84ED
Load a sprite's A5DC record into the "current sprite" scratch variables at 618D, ready for 8128 to draw it
133 1 8501
Print string at HL until terminator byte $5E or $2B
133 14 850E
Print an inline string embedded right after the caller's CALL instruction
133 19 8513
Print a message-window string
133 35 8523
Print a BCD number
133 76 854C
Print one digit (JP target self-modified by 8523)
133 79 854F
Print BCD byte A as two digits, high digit blanked to a space if zero
133 103 8567
Entry-point room number table (menu keys A/B/C/D)
133 107 856B
Controls sub-menu text
133 150 8596
System/interrupt setup before the main menu
133 161 85A1
Main menu screen: title, entry list A-D, controls menu; loops until a selection starts the game
134 204 86CC
Draw the end-game stats screen
136 90 885A
Redraw the score display on HUD (last 4 BCD digits of 611B via 8523)
136 116 8874
Unused
136 121 8879
Add a 5-digit BCD value at 8874 to the score (611B)
136 142 888E
Add a bonus (HL, 5-digit BCD) to the score, then redraw the score display
136 148 8894
Subtract a BCD value from the score
136 185 88B9
Read the next value from a small circular queue, head pointer at IY+0/1, wrap pointer at IY+2/3, advancing the head
136 215 88D7
Add a bonus to the score, value from a circular queue via 88B9
136 221 88DD
Subtract a BCD value from the score, value from a circular queue via 88B9
136 227 88E3
Search the buffer at $7C83 for byte A (CPIR, length from $7C88)
136 239 88EF
Data block at 88EF
137 104 8968
PLAYER per-frame behaviour handler
138 135 8A87
Attempt to move to an adjacent room (vertical, via whirlpool/bubble)
138 179 8AB3
Direction -> screen position delta table, indexed by (facing_code AND $0E): 4 (dx,dy) pairs -- Up=(-2,0), Down=(+2,0), Right=(0,+2), Left=(0,-2). Read by 8ABB.
138 187 8ABB
Apply the object's facing direction to its position (IX+5/+6), returning the OLD position in BC
138 217 8AD9
Take one walk step
138 251 8AFB
Fire/pick-up button handler: attack with the held weapon, or pick up/drop an item
140 53 8C35
Weapon hit-response text: print "BLOCKED" via 8513, then return
140 72 8C48
Data block at 8C48
140 217 8CD9
Message at 8CD9
140 220 8CDC
Data block at 8CDC
140 223 8CDF
Player dive-depth step
140 248 8CF8
Data block at 8CF8
141 17 8D11
Alternate PLAYER behaviour handler (swapped into $8DB9 by 9564; see 8968 and 8DB6)
141 141 8D8D
Attack: fire the held weapon (reached from 8AFB when a weapon is held)
141 182 8DB6
PLAYER object record + 2 more fixed object records
142 55 8E37
Message at 8E37
142 59 8E3B
Data block at 8E3B
142 63 8E3F
Special grid-value spawn routine (value $68) -- rearing snake
142 110 8E6E
Creature spawn: compute initial height
142 167 8EA7
Special grid-value spawn routine (values $66/$6A) -- bubble source ($6A full-strength, $66 weak; see 9602)
142 242 8EF2
Special grid-value spawn routine (value $67) -- plant/coral
143 30 8F1E
Special grid-value spawn routine (value $69) -- whirlpool
143 76 8F4C
Special grid-value spawn routine (value $6B) -- plug
143 129 8F81
Unused
143 130 8F82
Spawn room-membership-gated decoration pairs
144 33 9021
Per-frame animation-table stepper
144 119 9077
Message at 9077
144 123 907B
Data block at 907B
144 124 907C
Message at 907C
144 128 9080
Data block at 9080
144 133 9085
Object type stub: dispatch into 90A8's creature AI setup
144 141 908D
Message at 908D
144 145 9091
Data block at 9091
144 168 90A8
Creature idle/wander AI
145 154 919A
Data block at 919A
145 166 91A6
Creature pause/transform step
145 226 91E2
Data block at 91E2
146 8 9208
Object type stub: dispatch into 9232's shared setup
146 16 9210
Data block at 9210
146 50 9232
Object type stub: dispatch into 90A8's creature AI setup
146 62 923E
Save continuation
146 70 9246
Data block at 9246
146 92 925C
Creature waypoint movement
147 61 933D
Unused
147 65 9341
Room-creature per-frame behaviour handler
148 1 9401
Creature hit/defeat sequence, called from 9341 when the "just hit" flag (bit 2 of +0x0D) is set
148 99 9463
Data block at 9463
148 113 9471
Behaviour handler of the fixed object record at $8E0F (object identity not yet known)
148 137 9489
Data block at 9489
148 149 9495
Message at 9495
148 153 9499
Data block at 9499
148 158 949E
Behaviour handler of the fixed object record at $8E27 (object identity not yet known)
148 202 94CA
Object lifetime tick
148 233 94E9
99D5 sprite-animation table for the plant/coral object (94EE)
148 238 94EE
Per-frame behaviour handler for value-$67 objects -- plant/coral
148 244 94F4
Plug Room win-condition trigger
149 38 9526
99D5 sprite-animation table for the whirlpool object (952D)
149 45 952D
Per-frame behaviour handler for value-$69 objects -- whirlpool
149 119 9577
99D5 sprite-animation table for the bubble source object (957C)
149 124 957C
Per-frame behaviour handler for value-$66/$6A objects -- bubble source
149 193 95C1
Data block at 95C1
150 2 9602
Per-frame behaviour handler for the individual rising-bubble particle spawned by 957C
150 132 9684
Per-frame behaviour handler for value-$68 objects -- rearing snake
151 35 9723
Data block at 9723
151 69 9745
Mark and redraw the static terrain cells behind an object's sprite, so moving objects don't leave trails
151 186 97BA
Draw an object's sprite
151 252 97FC
Change current room to A = new room number
152 6 9806
Data block at 9806
152 8 9808
Per-frame main loop entry
152 60 983C
Per-frame dynamic object dispatcher (walks the active object list from the head at 610E)
153 0 9900
Draw all queued objects: walk the record-pointer list at $60EC (count at $60EB), drawing each via 97BA
153 26 991A
Data block at 991A
153 35 9923
Spawn the weapon projectile object (thrown from the player's position, facing $8DC1), handler 9963
153 94 995E
Data block at 995E
153 99 9963
Weapon projectile per-frame handler: move (double step) and detect a hit on collision
153 161 99A1
Direction-indexed sprite-animation stepper
153 209 99D1
NEG / not NEG
153 213 99D5
Sprite-animation stepper: read next entry from a per-object sprite-number table, advancing a phase counter
154 73 9A49
Snap the object's position (IX+5/+6) to its grid-cell centre, then finalize via 9A60
154 96 9A60
Dynamic object finalizer
154 171 9AAB
Search the (key,data) pair table at $74CE for key A; returns Z with HL pointing at the matched pair's data byte
154 186 9ABA
Data block at 9ABA
154 188 9ABC
Terrain collision test for one screen point (B,C): convert to a grid cell and check its content
154 253 9AFD
Terrain sub-cell shape resolver
155 90 9B5A
Collision/overlap scan
155 210 9BD2
Data block at 9BD2
155 212 9BD4
Depth-tie resolver
155 240 9BF0
Collision test
156 50 9C32
Data block at 9C32
156 53 9C35
End-of-frame screen flip
157 60 9D3C
Data block at 9D3C
164 0 A400
Font 59 characters, 8 bytes each, 472 bytes
165 216 A5D8
Current mask sprite data address (set by 8128 before drawing)
165 220 A5DC
Table of Sprites, 201 records, 4 bytes each
169 0 A900
Dynamic object pool (creatures, bubble sources, snakes, whirlpools, plugs -- anything not baked into the static room grid; see 612C)
169 44 A92C
Data block at A92C
169 222 A9DE
Sprite, 24x32 pixels. Player sitting
170 62 AA3E
Sprite, 32x24 pixels. Player
170 158 AA9E
Sprite, 32x24 pixels. Player
170 254 AAFE
Sprite, 32x24 pixels. Player
171 94 AB5E
Sprite, 32x24 pixels. Player
171 190 ABBE
Sprite, 32x24 pixels. Player laying on back, hands up
172 30 AC1E
Sprite, 32x24 pixels. Player laying on back, dead
172 126 AC7E
Sprite, 32x24 pixels. Player
172 222 ACDE
Sprite, 32x16 pixels. Player shadow
173 30 AD1E
Sprite, 32x16 pixels. Player shadow
173 94 AD5E
Sprite, 32x16 pixels. Player shadow
173 158 AD9E
Sprite, 32x16 pixels. Player shadow
173 222 ADDE
Sprite, 24x24 pixels. Fish cloud
174 38 AE26
Sprite, 24x24 pixels. Fish cloud
174 110 AE6E
Sprite, 24x32 pixels. Jellyfish
174 206 AECE
Sprite, 24x32 pixels. Jellyfish
175 46 AF2E
Sprite, 24x32 pixels. Jellyfish
175 142 AF8E
Sprite, 24x24 pixels. Fish cloud
175 214 AFD6
Sprite, 24x32 pixels. Jellyfish
176 54 B036
Sprite, 32x24 pixels. Player
176 150 B096
Sprite, 32x24 pixels. Player
176 246 B0F6
Sprite, 32x24 pixels. Player
177 86 B156
Sprite, 32x24 pixels. Player
177 182 B1B6
Sprite, 32x32 pixels. Explosion
178 54 B236
Sprite, 32x24 pixels. Explosion
178 150 B296
Sprite, 16x24 pixels. Explosion small
178 198 B2C6
Sprite, 24x24 pixels. Fish cloud
179 14 B30E
Sprite, 32x24 pixels. Player
179 110 B36E
Sprite, 32x32 pixels. Fish
179 238 B3EE
Sprite, 32x32 pixels. Fish
180 110 B46E
Sprite, 32x32 pixels. Fish
180 238 B4EE
Sprite, 32x32 pixels. Fish
181 110 B56E
Sprite, 16x8 pixels. Snake, rearing phase
181 126 B57E
Sprite, 16x16 pixels. Snake, rearing phase
181 158 B59E
Sprite, 16x24 pixels. Snake, rearing phase
181 206 B5CE
Sprite, 16x32 pixels. Snake, rearing phase
182 14 B60E
Sprite, 16x32 pixels. Sea Horse
182 78 B64E
Sprite, 16x32 pixels. Sea Horse
182 142 B68E
Sprite, 32x32 pixels. Baby whale
183 14 B70E
Sprite, 32x32 pixels. Baby whale
183 142 B78E
Sprite, 32x32 pixels. Baby whale
184 14 B80E
Sprite, 32x32 pixels. Baby whale
184 142 B88E
Sprite, 16x24 pixels. Gnome item
184 190 B8BE
Mask, 16x24 pixels. Gnome item
184 238 B8EE
Sprite, 16x24 pixels. Bucket item
185 30 B91E
Mask, 16x24 pixels. Bucket item
185 78 B94E
Sprite, 16x24 pixels. Tin item
185 126 B97E
Mask, 16x24 pixels. Tin item
185 174 B9AE
Sprite, 16x24 pixels. Key item
185 222 B9DE
Mask, 16x24 pixels. Key item
186 14 BA0E
Sprite, 16x24 pixels. Horseshoe item (weapon; kills Sea Horses)
186 62 BA3E
Mask, 16x24 pixels. Horseshoe item
186 110 BA6E
Sprite, 16x24 pixels. Bone item (lures fish shoals away)
186 158 BA9E
Mask, 16x24 pixels. Bone item
186 206 BACE
Sprite, 16x24 pixels. Boot item
186 254 BAFE
Mask, 16x24 pixels. Boot item
187 46 BB2E
Sprite, 32x32 pixels. Treasure chest
187 174 BBAE
Mask, 32x32 pixels. Treasure chest
188 46 BC2E
Sprite, 16x32 pixels. Rock
188 110 BC6E
Mask, 16x32 pixels. Rock
188 174 BCAE
Sprite, 32x24 pixels. Plug
189 14 BD0E
Mask, 32x24 pixels. Plug
189 110 BD6E
Sprite, 16x16 pixels. Seaweed sprig
189 142 BD8E
Mask, 16x16 pixels. Seaweed sprig
189 174 BDAE
Sprite, 32x16 pixels. Whirlpool, animation phase 1
189 238 BDEE
Sprite, 32x16 pixels. Whirlpool, animation phase 2
190 46 BE2E
Sprite, 24x32 pixels. Plant/coral
190 142 BE8E
Mask, 24x32 pixels. Plant/coral
190 238 BEEE
Sprite, 24x32 pixels. Plant/coral
191 78 BF4E
Mask, 24x32 pixels. Plant/coral
191 174 BFAE
Sprite, 32x16 pixels. Closed clam shell
191 238 BFEE
Mask, 32x16 pixels. Closed clam shell
192 46 C02E
Sprite, 32x32 pixels. Open clam shell
192 174 C0AE
Mask, 32x32 pixels. Open clam shell
193 46 C12E
Sprite, 16x40 pixels. Seaweed
193 126 C17E
Mask, 16x40 pixels. Seaweed
193 206 C1CE
Sprite, 16x16 pixels. Small rock
193 238 C1EE
Mask, 16x16 pixels. Small rock
194 14 C20E
Sprite, 8x24 pixels. Small debris/particle
194 38 C226
Sprite, 8x24 pixels. Small debris/particle
194 62 C23E
Sprite, 8x24 pixels. Small debris/particle
194 86 C256
Sprite, 8x24 pixels. Small debris/particle
194 110 C26E
Sprite, 16x16 pixels. Disc/wheel
194 142 C28E
Sprite, 16x16 pixels. Disc/wheel
194 174 C2AE
Sprite, 16x16 pixels. Disc/wheel
194 206 C2CE
Sprite, 16x16 pixels. Disc/wheel
194 238 C2EE
Sprite, 16x16 pixels. Disc/wheel
195 14 C30E
Sprite, 16x16 pixels. Disc/wheel
195 46 C32E
Sprite, 16x16 pixels. Small stars
195 78 C34E
Sprite, 16x16 pixels. Small stars
195 110 C36E
Sprite, 16x16 pixels. Small stars disappearing
195 142 C38E
Sprite $68, 16x8 pixels. Bubble source object 957C, animation frame 1
195 158 C39E
Sprite $69, 16x8 pixels. Bubble source object 957C, animation frame 2
195 174 C3AE
Sprite, 32x32 pixels. Urn/well with seaweed
196 46 C42E
Mask, 32x32 pixels. Urn/well with seaweed
196 174 C4AE
Sprite, 32x32 pixels. Clam shell with pearl
197 46 C52E
Sprite, 16x24 pixels. Empty/unused frame
197 94 C55E
Sprite, 16x24 pixels. Oil can (anti-rust oil, refills Sweevo's suit)
197 142 C58E
Mask, 16x24 pixels. Oil can
197 190 C5BE
Sprite, 16x24 pixels. Shell item
197 238 C5EE
Mask, 16x24 pixels. Shell item
198 30 C61E
Sprite, 16x24 pixels. Harpoon item
198 78 C64E
Mask, 16x24 pixels. Harpoon item
198 126 C67E
Sprite, 16x24 pixels. Spoon item (weapon; kills Jellyfish)
198 174 C6AE
Mask, 16x24 pixels. Spoon item
198 222 C6DE
Sprite, 16x24 pixels. Ball or pearl
199 14 C70E
Mask, 16x24 pixels. Ball or pearl
199 62 C73E
Sprite, 16x24 pixels. Item icon, unidentified
199 110 C76E
Mask, 16x24 pixels. Item icon, unidentified
199 158 C79E
Sprite, 16x24 pixels. Item icon, unidentified
199 206 C7CE
Mask, 16x24 pixels. Item icon, unidentified
199 254 C7FE
Sprite, 40x24 pixels. Wall
200 118 C876
Sprite, 40x96 pixels. Wall
202 86 CA56
Sprite, 48x96 pixels. Wall
204 150 CC96
Sprite, 40x80 pixels. Wall
206 38 CE26
Sprite, 8x160 pixels. Font: alphanumeric character set, used for HUD/score text (not a game sprite)
206 198 CEC6
Mask, 24x32 pixels. Diver silhouette
207 38 CF26
Mask, 32x24 pixels.
207 134 CF86
Mask, 32x24 pixels.
207 230 CFE6
Mask, 32x24 pixels.
208 70 D046
Mask, 32x24 pixels.
208 166 D0A6
Mask, 32x24 pixels.
209 6 D106
Mask, 32x24 pixels.
209 102 D166
Mask, 32x24 pixels.
209 198 D1C6
Mask, 24x24 pixels. Fish cloud
210 14 D20E
Mask, 24x24 pixels. Fish cloud
210 86 D256
Mask, 24x32 pixels. Jellyfish
210 182 D2B6
Mask, 24x32 pixels. Jellyfish
211 22 D316
Mask, 24x32 pixels. Jellyfish
211 118 D376
Mask, 24x24 pixels. Fish cloud
211 190 D3BE
Mask, 24x32 pixels. Jellyfish
212 30 D41E
Mask, 32x24 pixels.
212 126 D47E
Mask, 32x24 pixels.
212 222 D4DE
Mask, 32x24 pixels.
213 62 D53E
Mask, 32x24 pixels.
213 158 D59E
Mask, 32x32 pixels. Round
214 30 D61E
Mask, 32x24 pixels.
214 126 D67E
Mask, 16x24 pixels.
214 174 D6AE
Mask, 24x24 pixels. Fish cloud
214 246 D6F6
Mask, 32x24 pixels.
215 86 D756
Mask, 32x32 pixels. Round
215 214 D7D6
Mask, 32x32 pixels. Round
216 86 D856
Mask, 32x32 pixels. Round
216 214 D8D6
Mask, 32x32 pixels. Round
217 86 D956
Mask, 16x8 pixels. Snake, rearing phase
217 102 D966
Mask, 16x16 pixels. Snake, rearing phase
217 134 D986
Mask, 16x24 pixels. Snake, rearing phase
217 182 D9B6
Mask, 16x32 pixels. Snake, rearing phase
217 246 D9F6
Mask, 16x32 pixels. Sea Horse
218 54 DA36
Mask, 16x32 pixels. Sea Horse
218 118 DA76
Mask, 32x32 pixels. Baby whale
218 246 DAF6
Mask, 32x32 pixels. Baby whale
219 118 DB76
Mask, 32x32 pixels. Baby whale
219 246 DBF6
Mask, 32x32 pixels. Baby whale
220 118 DC76
Sprite, 8x24 pixels. Spark/debris
220 142 DC8E
Sprite, 8x24 pixels. Spark/debris
220 166 DCA6
Sprite, 8x24 pixels. Spark/debris
220 190 DCBE
Sprite, 8x24 pixels. Spark/debris
220 214 DCD6
Sprite, 8x8 pixels. Gem/diamond icon
220 222 DCDE
Sprite, 8x8 pixels. Gem/diamond icon
220 230 DCE6
Sprite, 8x8 pixels. Gem/diamond icon
220 238 DCEE
Sprite, 8x8 pixels. Gem/diamond icon
220 246 DCF6
Sprite, 8x8 pixels. Gem/diamond icon
220 254 DCFE
Sprite, 32x32 pixels. Cube/pedestal
221 126 DD7E
Sprite, 32x32 pixels. Passage, closed/blocked
221 254 DDFE
Sprite, 16x16 pixels. Passage, part
222 30 DE1E
Sprite, 16x16 pixels. Passage, part
222 62 DE3E
Sprite, 16x16 pixels. Passage, part
222 94 DE5E
Sprite, 16x16 pixels. Passage, part
222 126 DE7E
Sprite, 16x16 pixels. Passage, part
222 158 DE9E
Sprite, 16x16 pixels. Passage, part
222 190 DEBE
Mask, 16x24 pixels.
222 238 DEEE
Mask, 16x16 pixels.
223 14 DF0E
Mask, 16x16 pixels.
223 46 DF2E
Sprite, 88x16 pixels. RUSTOMETER gauge graphic
223 222 DFDE
Sprite, 32x32 pixels. Passage, open
224 94 E05E
Sprite, 88x32 pixels. Sign: "PIRANHA / DO NOT TAP GLASS"
225 190 E1BE
Data block at E1BE
227 144 E390
Shadow screen 256x192, 32*192=6144 bytes
251 144 FB90
Menu tune + key-wait driver
251 168 FBA8
Data block at FBA8
251 180 FBB4
Melody-index table reader/advancer, used by FBD7
251 193 FBC1
Melody-index to period lookup, used by FBD7
251 207 FBCF
Continuation of FBB4
251 215 FBD7
Play one note / check key selection
252 48 FC30
NOTE: not a real string
252 52 FC34
Tone generator loop (continued)
252 70 FC46
Plain delay loop (no sound)
252 100 FC64
Note/period table for the FC04 tone generator
252 154 FC9A
Melody-index table (start)
254 52 FE34
Data block at FE34
255 206 FFCE
Data block at FFCE