![]() |
Routines |
| Prev: 730E | Up: Map | Next: 73A4 |
Handles room 07 logic. The current level in B controls which objects are initialised or updated on each pass.
|
||||||||||||||||||||||
| Handler_Room07 | 7367 | LD A,B | Copy the current level into A. | |||||||||||||||||||
|
Add the helicopter.
|
||||||||||||||||||||||
| 7368 | LD IX,$DAC8 | IX=Sprite02_3Wide_X_Position. | ||||||||||||||||||||
| 736C | PUSH AF | Stash the current level on the stack. | ||||||||||||||||||||
| 736D | CALL Handler_Helicopter | Call Handler_Helicopter. | ||||||||||||||||||||
| 7370 | POP AF | Restore the current level from the stack. | ||||||||||||||||||||
|
Add a cat if this is level 02 or 05.
|
||||||||||||||||||||||
| 7371 | LD IX,$DACC | IX=Sprite03_3Wide_X_Position. | ||||||||||||||||||||
| 7375 | PUSH AF | Stash the current level on the stack. | ||||||||||||||||||||
| 7376 | CP $02 | Call Handler_Cat if this is level 02 or 05. | ||||||||||||||||||||
| 7378 | CALL Z,Handler_Cat | |||||||||||||||||||||
| 737B | CP $05 | |||||||||||||||||||||
| 737D | CALL Z,Handler_Cat | |||||||||||||||||||||
| 7380 | POP AF | Restore the current level from the stack. | ||||||||||||||||||||
| 7381 | CP $01 | Return if this is below level 04. | ||||||||||||||||||||
| 7383 | RET Z | |||||||||||||||||||||
| 7384 | CP $04 | |||||||||||||||||||||
| 7386 | RET C | |||||||||||||||||||||
|
Add the balloon for level 04 and above.
|
||||||||||||||||||||||
| 7387 | LD IX,$DAD0 | IX=Sprite04_3Wide_X_Position. | ||||||||||||||||||||
| 738B | PUSH AF | Stash the current level on the stack. | ||||||||||||||||||||
| 738C | CALL Handler_Balloon | Call Handler_Balloon. | ||||||||||||||||||||
| 738F | POP AF | Restore the current level from the stack. | ||||||||||||||||||||
| 7390 | CP $04 | Return if this is level 04. | ||||||||||||||||||||
| 7392 | RET Z | |||||||||||||||||||||
|
Add the dog if this is level 05.
|
||||||||||||||||||||||
| 7393 | LD IX,$DAD8 | IX=Sprite06_3Wide_X_Position. | ||||||||||||||||||||
| 7397 | PUSH AF | Stash the current level on the stack. | ||||||||||||||||||||
| 7398 | CALL Handler_Dog | Call Handler_Dog. | ||||||||||||||||||||
| 739B | POP AF | Restore the current level from the stack. | ||||||||||||||||||||
|
Add the UFO if this is level 05.
|
||||||||||||||||||||||
| 739C | LD IX,$DADC | IX=Sprite07_3Wide_X_Position. | ||||||||||||||||||||
| 73A0 | CALL Handler_UFO | Call Handler_UFO. | ||||||||||||||||||||
| 73A3 | RET | Return. | ||||||||||||||||||||
| Prev: 730E | Up: Map | Next: 73A4 |