Prev: 26049 Up: Map Next: 26154
26097: Data block at 26097
_TEMP_A_STORE 26097 DEFB 0
Screen cx offset of hit alien. Aliens are 2 bytes wide so this goes 0, 2, 4, etc. So hit the the leftmost alien this will be 0, the one next to it will be 2, etc. Divide this number by 2 to get the number of the alien which has been hit, 0 to 10, counted from the left side.
_CX_OFFSET_HIT_ALIEN 26098 DEFB 0
This holds the score value of a hit alien divided by 10. So a green alien, worth 20, would put 2 in here.
_HIT_ALIEN_ROW 26099 DEFB 0
Looks like a bug here. _EXPLOSION_CX_CY should be 2 bytes of storage for the bullet cx,cy location at the point of making the alien explode, but _COLL_YAXIS_TEMP_STORE shares that second byte. Clearly the temp store thing doesn't clash with the bullet location information otherwise the explosion would appear in the wrong place.
_EXPLOSION_CX_CY 26100 DEFB 0
Y axis collision code stores A register here
_COLL_YAXIS_TEMP_STORE 26101 DEFB 0
Address of top row of explosion graphic to be drawn is placed here. It'll be the UDG_TOP to draw it and UDG_CLEAR to clear it
_EXPLOSION_GFX_TOP 26102 DEFB 0,0
Address of bottom row of explosion graphic to be drawn is placed here It'll be the UDG_TOP to draw it and UDG_CLEAR to clear it
_EXPLOSION_GFX_BOTTOM 26104 DEFB 0,0
UDGs, interleaved. It's a 16x11 image, so 0th row bytes 0 and 1, then 1st row bytes 0 and 1, etc. The bottom 5 scans are empty.
0 1
2 3
_EXPLOSION_UDG_TOP 26106 DEFB 16,128
26108 DEFB 9,16
26110 DEFB 73,32
26112 DEFB 38,64
26114 DEFB 16,128
26116 DEFB 0,0
26118 DEFB 16,128
26120 DEFB 102,96
_EXPLOSION_UDG_BOTTOM 26122 DEFB 137,48
26124 DEFB 9,128
26126 DEFB 16,128
26128 DEFB 0,0
26130 DEFB 0,0
26132 DEFB 0,0
26134 DEFB 0,0
26136 DEFB 0,0
_EXPLOSION_UDG_CLEAR 26138 DEFB 0,0
26140 DEFB 0,0
26142 DEFB 0,0
26144 DEFB 0,0
26146 DEFB 0,0
26148 DEFB 0,0
26150 DEFB 0,0
26152 DEFB 0,0
Prev: 26049 Up: Map Next: 26154