Routines |
Prev: 94B0 | Up: Map | Next: 94F9 |
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 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 | Next: 94F9 |