Routines |
Prev: B09D | Up: Map | Next: B0E6 |
B09F | LD IY,($B09D) | Point IY at the current player buffer. | ||
B0A3 | LD A,(IY+$0F) | Mark the current player's room as the current one. (B951). | ||
B0A6 | LD ($B951),A | |||
B0A9 | CALL $AFC4 | Drop the player to ground if they are in mid-air. | ||
B0AC | LD A,(IY+$46) | Set flag (?) to 0. (BCAD) | ||
B0AF | OR A | |||
B0B0 | JP NZ,$B1B9 | If not zero, make the character jump. | ||
B0B3 | LD A,(IY+$37) | Is the character on the ground? (???) | ||
B0B6 | OR A | |||
B0B7 | JP NZ,$B197 | If not, make them fall one level. | ||
B0BA | CALL $B06D | Was 'jump' pressed? | ||
B0BD | OR A | |||
B0BE | JP NZ,$B1A6 | If it was, make the character jump. | ||
B0C1 | LD (IY+$3C),$00 | |||
B0C5 | CALL $B00B | Was 'right' pressed? | ||
B0C8 | OR A | |||
B0C9 | JR Z,$B0D6 | Jump forward if it wasn't. | ||
B0CB | LD (IY+$3C),$01 | Set the direction to "right". | ||
B0CF | LD (IY+$41),$01 | |||
B0D3 | JP $B288 | Move the character. | ||
B0D6 | CALL $B03C | Was 'left' pressed? | ||
B0D9 | OR A | |||
B0DA | RET Z | Return if it wasn't, no input made. | ||
B0DB | LD (IY+$3C),$FF | Set the direction to "left". | ||
B0DF | LD (IY+$41),$FF | |||
B0E3 | JP $B288 | Move the character. |
Prev: B09D | Up: Map | Next: B0E6 |