![]() |
Routines |
| Prev: 38064 | Up: Map | Next: 38137 |
|
Used by the routine at 36307.
|
||||
| 38098 | LD A,(33004) | Pick up the number of the room below from 33004 | ||
| 38101 | LD (33824),A | Make it the current room number by copying it to 33824 | ||
| 38104 | XOR A | Set Willy's y-coordinate (at 34255) to 0 | ||
| 38105 | LD (34255),A | |||
| 38108 | LD A,(34257) | Pick up the airborne status indicator from 34257 | ||
| 38111 | CP 11 | Is it 11 or greater (meaning Willy has already been falling for a while)? | ||
| 38113 | JR NC,38120 | Jump if so | ||
| 38115 | LD A,2 | Otherwise set the airborne status indicator to 2 (Willy will start falling here if there's no floor beneath him) | ||
| 38117 | LD (34257),A | |||
| 38120 | LD A,(34259) | Willy should now appear at the top of the room, so adjust his attribute buffer coordinates (at 34259) accordingly | ||
| 38123 | AND 31 | |||
| 38125 | LD (34259),A | |||
| 38128 | LD A,92 | |||
| 38130 | LD (34260),A | |||
| 38133 | POP HL | Drop the return address (35281, in the main loop) from the stack | ||
| 38134 | JP 35090 | Draw the room and re-enter the main loop | ||
| Prev: 38064 | Up: Map | Next: 38137 |