![]() |
Routines |
| Prev: 935C | Up: Map | Next: 946E |
| 940C | LD SP,$5FFE | Reset the stack to 5FFE. | ||
| 940F | LD A,($9649) | Get the current room (9649). | ||
| 9412 | CP $15 | Is it the final room? | ||
| 9414 | JP Z,$F858 | Jump forward if so. | ||
| 9417 | CP $2C | Is it the first room? | ||
| 9419 | JP Z,$CD41 | Jump forward if so. | ||
| 941C | DI | Set up interrupts at C700 which points to 5B5B. | ||
| 941D | IM 2 | |||
| 941F | LD A,$C7 | |||
| 9421 | LD I,A | |||
| 9423 | LD HL,$8F9F | Use 8F9F as the routine to be called. | ||
| 9426 | LD ($5B5C),HL | |||
| 9429 | LD A,$C3 | Put a "JP" command as the first byte. | ||
| 942B | LD ($5B5B),A | |||
| 942E | CALL $94C3 | Copy the current room's data to the working set. | ||
| 9431 | CALL $9551 | Display the room. | ||
| 9434 | LD A,($9649) | Are we on room 10? | ||
| 9437 | CP $10 | |||
| 9439 | JP Z,$96D9 | Jump forward if so. | ||
|
Run the main loop in this room. This entry point is used by the routine at 96D9.
|
||||
| 943C | HALT | Let interrupts run. | ||
| 943D | CALL $8751 | Move the nasties. | ||
| 9440 | CALL $935C | Check for picking up coal. | ||
| 9443 | CALL $95B3 | Animate the coal. | ||
| 9446 | CALL $9298 | See if Monty collided with a white nasty. | ||
| 9449 | CALL $82A6 | Check for player input. | ||
| 944C | CALL $89D4 | Update Monty's position. | ||
| 944F | CALL $927E | Check for picking up a collectable item. | ||
| 9452 | LD A,($5C7B) | Move to a new room (94D9) if Monty is off the edge of the room. | ||
| 9455 | OR A | |||
| 9456 | JP Z,$94D9 | |||
| 9459 | CP $F0 | |||
| 945B | JP Z,$94D9 | |||
| 945E | LD A,($5C7C) | |||
| 9461 | CP $21 | |||
| 9463 | JP C,$94D9 | |||
| 9466 | CP $AF | |||
| 9468 | JP NC,$94D9 | |||
| 946B | JP $943C | Otherwise loop back. | ||
| Prev: 935C | Up: Map | Next: 946E |