![]() |
Routines |
| Prev: 94B0 | Up: Map |
|
Used by the routine at 8DD3.
|
||||||||
| 94D2 | LD A,($80EC) | Pick up the number of the room below from 80EC | ||||||
| 94D5 | LD ($8420),A | Make it the current room number by copying it to 8420 | ||||||
| 94D8 | XOR A | Set Willy's pixel y-coordinate (at 85CF) to 0 | ||||||
| 94D9 | LD ($85CF),A | |||||||
| 94DC | LD A,($85D1) | Pick up the airborne status indicator from 85D1 | ||||||
| 94DF | CP $0B | Is it 0x0B or greater (meaning Willy has already been falling for a while)? | ||||||
| 94E1 | JR NC,$94E8 | Jump if so | ||||||
| 94E3 | LD A,$02 | Otherwise set the airborne status indicator to 2 (Willy will start falling here if there's no floor beneath him) | ||||||
| 94E5 | LD ($85D1),A | |||||||
| 94E8 | LD A,($85D3) | Willy should now appear at the top of the room, so adjust his attribute buffer coordinates (at 85D3) accordingly | ||||||
| 94EB | AND $1F | |||||||
| 94ED | LD ($85D3),A | |||||||
| 94F0 | LD A,$5C | |||||||
| 94F2 | LD ($85D4),A | |||||||
| 94F5 | POP HL | Drop the return address (89D1, in the main loop) from the stack | ||||||
| 94F6 | JP $8912 | Draw the room and re-enter the main loop | ||||||
| Prev: 94B0 | Up: Map |