Prev: 47155 Up: Map Next: 47311
47255: Make Shot Row
Used by the routine at UpdateSpecialShot.
Builds the picture of a shot from one of the six patterns in the table at ShotPatternTable, picked by the bottom four bits of offset 21, which go round from zero to five as the shot is updated. The picture is made in the buffer at 63488 and its size is stored in 41431. MakeShotColumn does the same for the buffer at BuildTables_Buffer and 41432.
Input
IX Address of the shot
MakeShotRow 47255 LD DE,63488 Use 63488.
47258 CALL FindShotPattern Call FindShotPattern.
47261 LD A,(IX+21) Read offset 21 of IX.
47264 AND %00001111 Keep the bits of A that are set in 15.
47266 INC A Advance A.
47267 CP 6 Jump to MakeShotRow_Store if A is not 6.
47269 JR NZ,MakeShotRow_Store
47271 XOR A Clear A.
MakeShotRow_Store 47272 OR %10000000 Set the bits of A that are set in 128.
47274 LD (IX+21),A Write A to offset 21 of IX.
47277 EX DE,HL Swap DE and HL.
47278 LD A,(DE) Read DE.
47279 LD (41431),A The rows of the shot picture.
47282 JP BuildShotPattern Jump to BuildShotPattern.
This entry point is used by the routine at UpdateSpecialShot.
MakeShotColumn 47285 LD DE,63616 The build buffer.
47288 CALL FindShotPattern Call FindShotPattern.
47291 EX DE,HL Swap DE and HL.
47292 LD A,(DE) Read DE.
47293 LD (41432),A The rows of the shot column.
47296 JP BuildShotPattern Jump to BuildShotPattern.
FindShotPattern 47299 LD A,(IX+21) Read offset 21 of IX.
47302 AND %00001111 Keep the bits of A that are set in 15.
47304 LD C,A C=A.
47305 LD HL,47311 The shot pattern table.
47308 JP GetTableEntry Jump to GetTableEntry.
Prev: 47155 Up: Map Next: 47311