![]() |
Routines |
| Prev: BF4F | Up: Map | Next: C1CB |
|
Used by the routine at BFA8.
Configure extra-left projectile
|
||||
| C141 | PUSH AF | Save AF | ||
| C142 | LD A,(IX+$00) | Set into A22C the x-position of projectile based on BULB x-position | ||
| C145 | SUB $18 | |||
| C147 | LD ($A22C),A | |||
| C14A | LD A,$14 | Set A the increment for the y-position of the projectile | ||
| C14C | CALL $B5D4 | Create new projectile | ||
| C14F | LD HL,$FFFF | Set into HL the offset for the address pointer into room data buffer | ||
| C152 | LD (IY+$04),$F8 | Set the x-delta for the projectile | ||
| C156 | LD A,$02 | Set the y-delta for the projectile | ||
| C158 | JP $C172 | Jump to finish configuration | ||
|
Configure left projectile
|
||||
| C15B | PUSH AF | Save AF | ||
| C15C | LD A,(IX+$00) | Set into A22C the x-position of projectile based on BULB x-position | ||
| C15F | SUB $18 | |||
| C161 | LD ($A22C),A | |||
| C164 | LD A,$19 | Set A the increment for the y-position of the projectile | ||
| C166 | CALL $B5D4 | Create new projectile | ||
| C169 | LD HL,$FFFF | Set into HL the offset for the address pointer into room data buffer | ||
| C16C | LD (IY+$04),$F8 | Set the x-delta for the projectile | ||
| C170 | LD A,$08 | Set the y-delta for the projectile | ||
| C172 | LD (IY+$07),L | Set the offset into room graphic data buffer | ||
| C175 | LD (IY+$08),H | |||
| C178 | LD (IY+$05),$00 | Set y-delta for projectile | ||
| C17C | CALL $B530 | Computes offset into the room graphic data based on projectile y-delta | ||
| C17F | POP AF | Restore AF | ||
| C180 | RET | |||
|
Configure middle projectile
|
||||
| C181 | PUSH AF | Save AF | ||
| C182 | LD A,(IX+$00) | Set into A22C the x-position of projectile based on BULB x-position | ||
| C185 | SUB $10 | |||
| C187 | LD ($A22C),A | |||
| C18A | LD A,$19 | Set A the increment for the y-position of the projectile | ||
| C18C | CALL $B5D4 | Create new projectile | ||
| C18F | LD HL,$0000 | Set into HL the offset for the address pointer into room data buffer | ||
| C192 | LD (IY+$04),$00 | Set the x-delta for the projectile | ||
| C196 | LD A,$08 | Set the y-delta for the projectile | ||
| C198 | JP $C172 | Jump to finish configuration | ||
|
Configure right projectile
|
||||
| C19B | PUSH AF | Save AF | ||
| C19C | LD A,(IX+$00) | Set into A22C the x-position of projectile based on BULB x-position | ||
| C19F | LD ($A22C),A | |||
| C1A2 | LD A,$19 | Set A the increment for the y-position of the projectile | ||
| C1A4 | CALL $B5D4 | Create new projectile | ||
| C1A7 | LD HL,$0001 | Set into HL the offset for the address pointer into room data buffer | ||
| C1AA | LD (IY+$04),$08 | Set the x-delta for the projectile | ||
| C1AE | LD A,$06 | Set the y-delta for the projectile | ||
| C1B0 | JP $C172 | Jump to finish configuration | ||
|
Configure extra-right projectile
|
||||
| C1B3 | PUSH AF | Save AF | ||
| C1B4 | LD A,(IX+$00) | Set into A22C the x-position of projectile based on BULB x-position | ||
| C1B7 | LD ($A22C),A | |||
| C1BA | LD A,$14 | Set A the increment for the y-position of the projectile | ||
| C1BC | CALL $B5D4 | Create new projectile | ||
| C1BF | LD HL,$0001 | Set into HL the offset for the address pointer into room data buffer | ||
| C1C2 | LD (IY+$04),$08 | Set the x-delta for the projectile | ||
| C1C6 | LD A,$04 | Set the y-delta for the projectile | ||
| C1C8 | JP $C172 | Jump to finish configuration | ||
| Prev: BF4F | Up: Map | Next: C1CB |