Ball A and ball B
Ball A is the ball the game serves. Ball B joins it when the game puts a second one into play.
Ball state record
Everything the game knows about one ball in flight – where it is heading, how fast, and what it last bounced off. Ball A and ball B each have one.
Brick index
A brick's place in the brick field as a single number, 0 to 80. It counts along each row in turn.
Brick slot
One of the 81 positions in the brick field. A slot may contain a brick or be empty.
Brick state map
One entry per brick slot: the class of its break animation and the current sub-frame of that animation, or none for a settled slot. An entry that holds the finished marker has a revealed glyph at rest in the cell.
Dirty counter
A mark on one screen cell. It says the cell's picture changed and the screen does not show it yet.
Durability class
How a brick stands up to hits: how many hits it survives, and what it leaves behind when it breaks.
Frame
One pass of the game's main loop. It lasts as long as that pass's work takes.
Heading code
Which way a ball or another object travels, as one of 72 headings around the circle.
Level index
Which level record is in play, counted from 0.
Logic record
An object's movement state: its heading, its speed and its animation frame.
Losing edge
The edge the bat plays from, where a ball that gets past it is lost.
Object pool
The nine slots that hold everything the game moves and draws.
Pool slot
One of the object pool's nine places.
Principal heading
One of eight headings: the four along the axes, and the four diagonals at 41°, 139°, 221° and 319°.
Return window
The band around the bat inside which a ball counts as returned.
Slot code
What the level designer put in a brick slot: which brick design stands there, or nothing.
Source bank
The sprite bitmaps as loaded, from which the sprite bank is filled.
Sprite bank
The sprite bitmaps the game draws from, one 16×16 bitmap per animation frame.
Terminator
A byte that marks the end of a run whose length is not written down.
Tile code
Which 8×8 picture stands in a cell of the tile map.
Tile map
What stands in every cell of the screen, one tile code per cell. This is the surface the game reads to find out what is in a cell.
Wave script
The eight things a level can spawn. Each one is an object type, or nothing.
Work buffer
The dirty counters, one per screen cell.
Fork me on GitHub