Prev: 72BD Up: Map Next: 730E
72E1: Handler: Room 05
Handles room 05 logic. The current level in B controls which objects are initialised or updated on each pass.
Levels Baddies
01 Helicopter
02 Helicopter, Cat
03 Helicopter, Cat, Plane
04 Helicopter, Cat, Plane, Walking Paratrooper
05+ Helicopter, Cat, Plane, Walking Paratrooper
Input
B Current level
Handler_Room05 72E1 LD A,B Copy the current level into A.
Add the helicopter.
72E2 LD IX,$DAC8 IX=Sprite02_3Wide_X_Position.
72E6 PUSH AF Stash the current level on the stack.
72E7 CALL Handler_Helicopter Call Handler_Helicopter.
72EA POP AF Restore the current level from the stack.
72EB CP $01 Return if this is level 01.
72ED RET Z
72EE PUSH AF Stash the current level on the stack.
Add the cat.
72EF LD IX,$DACC IX=Sprite03_3Wide_X_Position.
72F3 CALL Handler_Cat Call Handler_Cat.
72F6 POP AF Restore the current level from the stack.
72F7 CP $02 Return if this is level 02.
72F9 RET Z
Add the plane.
72FA LD IX,$DAD0 IX=Sprite04_3Wide_X_Position.
72FE PUSH AF Stash the current level on the stack.
72FF CALL Handler_Plane Call Handler_Plane.
7302 POP AF Restore the current level from the stack.
7303 CP $03 Return if this is level 03.
7305 RET Z
Add the walking paratrooper.
7306 LD IX,$DAD4 IX=Sprite05_3Wide_X_Position.
730A CALL Handler_Walking_Paratrooper Call Handler_Walking_Paratrooper.
730D RET Return.
Prev: 72BD Up: Map Next: 730E