Address Description
8BA8
Program entry and the main per-frame loop
8D9C
Quit-confirmation handler (per-frame)
8DF9
Poll the quit key (Q)
8E25
Pause control (per-frame)
8E63
Poll the pause key (1)
8E92
Clear the work buffers
8EA8
Reset the play state for a new game or level
8ED3
Initialize the score and game counters for a new game
8F0A
Re-arm the object pool to serve a ball
95E0
Draw the playfield border
9610
Draw a corner block
9635
Draw or color the mirror side wall on the bat's side
9667
Draw a top/bottom border strip
9695
Copy a run of bytes
969C
Draw the side border wall
96EB
Blank the safety net band
9731
Compose the level's brick field into the tile map
9829
Clear the screen bitmap to zero
9837
Fill the attribute file with the color in A
9844
Print a font string to the screen
987B
Print a font string at double height
98C0
Move a screen address down one pixel line
98E0
Draw one glyph to a display-file cell and color it
98F7
Advance a buffer pointer down one 32-column row
98FE
Step a display-file pointer down one character row
990B
Render the tile map to the screen
995C
Clear the tile map to empty
996B
Clear the dirty counters
997A
Clear the back buffer
9988
Move the player's bat
9AF3
Drag every caught ball up with the bat
9B23
Drag every caught ball down with the bat
9B28
Compute the tile-map probe origin for a ball
9BEE
Move the bat with inertia
9C99
Drag the bat's extension up
9CA6
Drag the bat's extension down
9CB3
Per-frame prize/effect object animation manager
9F9D
Remove a ball that has passed the bat's losing edge
9FFF
Handle the loss of a ball
A0A1
Animate the safety net prize's timed barrier (per-frame)
A167
Update the balls for this frame
A299
Test for a collision ahead of the ball
A2D8
Set a ball's velocity from its heading code
A343
Move the active ball and detect bounces
A4F6
Advance the active ball by its velocity
A680
Deflect the active ball off a solid pool object it overlaps
A717
Overlap test between two named objects
A75E
Resolve both balls' bounces for the frame
A777
Resolve a ball bounce
A889
Point IX at an object-pool slot by index
A938
Speed the ball up as the rally continues
A954
Hold a ball on the bat, and release it
A99B
Register a brick hit
AF20
Scan and process the brick field
B0AE
Advance the 15-step golden-twinkle timer
B0BF
Maybe start the golden brick's idle twinkle
B0DF
Apply the prize on a removed prize glyph
B20D
Detonate the bomb prize: clear the eight slots around the hit slot
B269
Convert a brick's tile-map address to a screen pixel position
B283
Score an ordinary brick, but not a revealed prize glyph
B295
Score a struck brick
B2CB
Draw the "LEVEL nnn" status caption
B306
Draw the lives indicator
B351
Draw the score and high-score readouts
B37A
Add the pending score to the displayed score
B396
Add the points to the score and redraw it
B3FE
Increment one score digit with carry
B412
Check whether the just-finished score makes the high-score table
B447
Enter a name for the high-score table
B585
Step the name-entry cursor left
B59C
Step the name-entry cursor right
B5B3
Draw the high-score table screen
B5E0
Lose a life
B5ED
Award an extra life
B5FB
Award a bonus life when the score passes a milestone
B609
Busy-wait to slow name-entry key repeat
B77C
Play the key-press blip
B787
Play one run of shorter and shorter periods
B78F
Play the second-ball spawn sound
B79B
Sound effect: death burst
B7D2
Sound effect: inhabitant spawns
B803
Sound effect: orb chews the ball
B85A
Sound effect: name-entry cursor move
B873
Sound effect: tape-load error
B883
Sound effect: the orb spits the ball
B898
Sound effect: ball-bat bounce
B8A7
Sound effect: brick hit
B8B7
Sound effect: brick destroyed
B8DC
Sound effect: brick survives the hit
B8EC
Sound effect: bomb detonation (one step)
B915
Sound effect: bat grows
B953
Sound effect: bat shrinks
B991
Sound effect: safety net flash
B9B4
Emit one square-wave cycle (the sound primitive)
B9C8
Update and draw all active objects
B9D2
Process every active on-screen object
B9FC
Draw one object's sprite into the back buffer
BA8B
Blit an object's sprite shifted N pixels, over three columns
BB11
Compute an object's back-buffer address from its pixel position
BB38
Recompose flagged cells into the back buffer
BBA4
Blit dirty cells to the display and age their counters
BBE2
Draw the next pseudo-random byte
BC01
Horizontally mirror the object sprite bank in place
BC25
Read the player's controls into the control bitfield
BCAD
Wait until no key is pressed
BCB9
Front end: title screen, input-device menu, and attract cycle
BE03
Draw the KRAKOUT title logo
BE3C
Print the front-end menu text
C073
Options / start menu
C1D4
Post-load handler for the LOAD LEVELS tape read
C207
Redraw the options screen, then poll Q to quit
C21C
Draw the options screen
C2A3
Busy-wait delay of BC iterations
C3C1
Reset the title-screen credits marquee to the start of its message
C3D0
Advance the credits marquee one pixel and report exhaustion
C41E
Load the next credits glyph into the marquee's load column
C5C4
Compute an object's spawn position
C61D
Spawn objects from the current level's wave script
C73D
Initialize an object from the spawn tables
C76D
Fill the free inhabitant slots with wheels
C7E8
Steer an object around solid playfield tiles
C874
Test whether a candidate tile blocks movement
C897
Bias a replacement heading for the wheel
C8C2
Pick a new wander heading on a timer
C91C
Steer an object toward a target object
C977
Remove an inhabitant that has left the far playfield edge
C9A2
Test the level tiles in the path of an object in motion for a collision
CA08
Classify one tile-map cell and update the step-collision flags
CA54
Advance an object one step along its heading
CBDC
Advance an object's animation
CBFE
Spawn and death reaction state machine
CC56
Update the objects' behaviors
CCD2
Ball kill, the shared overlap helpers, then the per-type handlers
CD16
Sweep this inhabitant against the pool objects that are not balls
CD6B
Wide overlap test between two named objects
CDB1
Face-monster behavior handler
CDE8
UFO behavior handler
CE27
Diamond behavior handler
CE5F
Bowling-ball behavior handler
CEB3
Hive behavior handler
CFB1
Bee behavior handler
D00C
Capsule behavior handler
D05B
Orb (ball-capturer) behavior handler
D186
H-rotor behavior handler
D1B9
Wheel behavior handler
D20F
Visor behavior handler
D27E
Starburst behavior handler
D398
Hockey-mask behavior handler
D44B
Comet behavior handler
D47C
Warp-gate behavior handler
D4E8
Dart behavior handler
D568
Play the next note of the active tune
Fork me on GitHub