![]() |
Routines |
| Prev: 47155 | Up: Map | Next: 47311 |
|
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.
|
||||||||
| 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 |