Prev: F46C Up: Map Next: F4C6
F48B: Explode Ship
Used by the routine at RunLife.
Runs the frames of the explosion of the ship, once it has been destroyed, with the scroll speeds at zero and the fuel gauge empty, until the explosion counter at 8F53 gets to 50. It then plays a tune, fades out the playfield and takes away a life, and goes on to PrepareLife.
ExplodeShip F48B XOR A Clear A.
F48C LD ($CCBB),A Update the horizontal scroll speed.
F48F LD ($CCBA),A Update the vertical scroll speed.
F492 LD HL,$BE00 The rotate step of doubling a number.
F495 LD ($CC4B),HL Update the fuel level.
F498 CALL DrawShipTop Call DrawShipTop.
F49B CALL DrawMainFlame Call DrawMainFlame.
ExplodeShip_Loop F49E CALL RunFrame Call RunFrame.
F4A1 CALL CheckPause Call CheckPause.
F4A4 CALL UpdateFuelGauge Call UpdateFuelGauge.
F4A7 CALL UpdateEnemies Call UpdateEnemies.
F4AA CALL CheckItemDelivery Call CheckItemDelivery.
F4AD CALL UpdateFuelGauge Call UpdateFuelGauge.
F4B0 LD A,($8F53) The ship state.
F4B3 CP $50 Jump to ExplodeShip_Loop if A is not 50.
F4B5 JR NZ,ExplodeShip_Loop
F4B7 LD DE,$F4DD The tune: ship destroyed.
F4BA CALL PlayMusic Call PlayMusic.
F4BD CALL FadeOutAndClearPlayfield Call FadeOutAndClearPlayfield.
F4C0 CALL LoseLife Call LoseLife.
F4C3 JP PrepareLife Jump to PrepareLife.
Prev: F46C Up: Map Next: F4C6