Address Length Description
5B00 16
Ball A state
Ball A's state record, 16 bytes
5B10 24
Ball B state
Ball B's state, in the same fields as ball A's state.
5B28 11
Brick-hit and sweep pointers
5B33 4
Bounce codes for the frame
Which axes the ball's move pass bounced on, and the bounce code each produced.
5B37 1
Ball selector
Which ball the physics act on this frame.
5B38 4
Ball-B-live flag and the ball's per-axis step flags
Whether ball B is in play, then the axis-step flags of the ball's current pass.
5B42 2
Overlap-test operands
The two operands the overlap test compares.
5B45 1
Bat impact side
5B46 12
Prize flags and the struck brick's index
5B52 4
Brick-break and sweep positions
Positions within the break animation and the brick-field sweep
5B56 2
Golden-twinkle timer
5B58 9
Secondary-object and missile-bat state
What the secondary object holds, and whether the missile bat is up.
5B61 6
Effect-driver arm flags
One arm flag per effect
5B67 4
Blast center, death pause and level-clear state
5B6B 4
Safety net animation state
5B6F 4
Pending points and combos
The frame's pending points and each ball's combo
5B73 7
Bat movement inputs
5B7A 8
Object scratch and step
5B82 6
Prize and despawn requests
5B88 2
Ball-capture slide flags
5B8A 1
Brick hit-type code
What struck the brick
5B8B 2
Step-collision result
What an inhabitant's attempted step ran into
5B8D 1
Wave-script spawn throttle
5B8E 3
Global freeze and its counter
5B91 2
Bat freeze and its counter
5B94 3
Spawn parameters
5B9B 1
Bat-movement gate
The bee's sting
5C78 3
ROM FRAMES counter, inside the sprite bank
The ROM FRAMES counter. The sprite bank's capsule frame-1 slot runs through these three bytes.
8E8F 3
Anti-stuck idle tracker for ball A
Ball A's last recorded position and its idle frame count
8E9C 2
Current level and lives in hand
The level in play and the lives the player has left.
8E9E 6
Options-screen settings
The options-screen choices. The INERTIA rate has its own entry.
8EA4 1
Inertia ramp rate
The INERTIA option, 1 to 9: the per-frame gain of the inertia accumulator
8EA5 1
Rally acceleration interval
Bounces per ball-speed step.
8EA6 2
Warp level-skip state
A warp in progress.
8F67 82
Object pool
The object pool: a count byte, then 9-byte sprite records. A record holds the sprite's position, its sprite pointer and its active flag.
A14F 8
Per-slot heading codes, one per object-pool slot
A157 8
Pending inhabitant-deflection headings, one cell per pool slot
A15F 8
Apply-queued-heading flags, one cell per pool slot
A341 2
Active ball's tile-map probe origin (two bytes, little-endian)
A75D 1
Which-ball selector for bounce resolution
A99A 1
Prize-reveal tune gate
Zero when silent, 1 when the prize-reveal tune is armed, and above 1 while it plays.
AA79 162
Brick state map
Per-brick state over the 9×9 field, two bytes per brick slot. The first is the class whose break animation the slot plays, or 0 for none. The second is its sub-frame counter. While a revealed glyph rests in the slot, the first holds the finished marker, or the slow ball glyph's loop class. The counter then times the glyph's lifetime.
AF1E 2
Pointer to the brick state map entry of the slot the sweep is at
B3FD 1
High-score overtake flag
Whether the live score has reached the high score: 0 for no, 1 for yes
B446 1
Name entry: cursor index along the name-entry strip
The name-entry strip cell the cursor sits on.
B77B 1
Saved ten-thousands score digit
Ten-thousands digit of the score at the last extra-life award
B9C2 4
Effect step counters
The step counters of four of the counted-step effects described at the sound primitive, one byte per effect.
B9C6 2
Sprite drawer's saved stack pointer
BC23 2
Player control state
The live control bits, then the input device.
C3BD 4
Options-menu cursor and credits-marquee state
The options-menu cursor, then the credits marquee's pixel phase and read pointer.
C872 2
Saved probe-tile pointer
The tile-map cell that an object in motion probes.
CB2C 16
Secondary object's logic record
The ball gem's movement state. No other secondary object uses it.
CB3C 80
Logic records – the five inhabitants
One 16-byte record per inhabitant slot, in the layout of the secondary object's logic record. Their sprite records are in the object pool.
D566 2
Active tune pointer
Pointer to the next byte of the tune in play.
F800 768
Tile map
One tile code per character cell of the screen, in the attribute file's own order. Each row holds 32 cells, top row first.
FB00 768
Dirty counters
One dirty counter per tile-map cell.
Fork me on GitHub