← 8F0A Re-arm the object pool to serve a ball Map 8FB9 → Game font glyphs
8F67: 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.
object_count 8F67 DEFB $00 Pool entry count
object_table 8F68 DEFB $E6 Bat pixel X
bat_y 8F69 DEFB $60 Bat pixel Y
8F6A DEFB $05,$00,$00,$00 Bat record: the four bytes after the pixel X and Y
bat_sprite_ptr 8F6E DEFW slot_bat_normal Bat sprite-data pointer
8F70 DEFB $01 Bat active flag
ball_a_object 8F71 DEFB $DE,$60,$09,$00,$00,$00 Ball A record head: the pixel X and Y, and the four bytes after them
ball_a_sprite_ptr 8F77 DEFW slot_ball Ball A sprite-data pointer
8F79 DEFB $01 Ball A active flag
obj2_object 8F7A DEFB $6E Secondary object pixel X
obj2_y 8F7B DEFB $A0 Secondary object pixel Y
8F7C DEFB $05,$00,$00,$00 Secondary object's sprite record: the four bytes after the pixel X and Y
obj2_sprite_ptr 8F80 DEFW slot_visor_1 Secondary object sprite-data pointer
obj2_active 8F82 DEFB $00 Secondary object active flag
inhabitant_objects 8F83 DEFB $28,$96,$02,$00,$00,$00,$00,$5C,$00 Sprite records for the five inhabitants, in the layout above. Each inhabitant also has a logic record.
8F8C DEFB $64,$3C,$08,$00,$00,$00,$00,$5C,$00
8F95 DEFB $7C,$7F,$04,$00,$00,$00,$00,$5C,$00
8F9E DEFB $E6,$3C,$0A,$00,$00,$00,$00,$5C,$00
8FA7 DEFB $32,$8C,$02,$00,$00,$00,$00,$5C,$00
bat_ext_object 8FB0 DEFB $32 Bat extension pixel X, the segment attached to the expanded bat
bat_ext_y 8FB1 DEFB $8C Bat extension pixel Y
8FB2 DEFB $05,$00,$00,$00 Bat extension record: the four bytes after the pixel X and Y
bat_ext_sprite_ptr 8FB6 DEFW slot_visor_1 Bat extension sprite-data pointer
bat_ext_active 8FB8 DEFB $00 Bat extension active flag
← 8F0A Re-arm the object pool to serve a ball Map 8FB9 → Game font glyphs
Fork me on GitHub