![]() |
Routines |
| Prev: 93BE | Up: Map | Next: 9421 |
|
Run every pass by the drop controller, the sprite-$31 record at $EE58 whose room MOVE_PLAYER keeps equal to the player's. With the player in play, the pick-up key held and the press not yet used (PICKUP_USED clear), it marks the press used, lets the third slot's object fall at the player's feet (DROP_CARRIED), shifts the queue along, clears the first slot and redraws the inventory. When the key is up it clears the used bit, so each press does one thing. So a press with nothing underfoot moves the queue on one place; an object falls out only when pushed past the third slot (measured in the simulator).
|
||||
| PUT_DOWN | 93E3 | LD A,($EA90) | ||
| 93E6 | DEC A | |||
| 93E7 | CP $30 | |||
| 93E9 | RET NC | |||
| 93EA | LD A,($5E20) | |||
| 93ED | AND A | |||
| 93EE | JR Z,PUT_DOWN_1 | |||
| 93F0 | LD A,($5E1F) | |||
| 93F3 | AND $03 | |||
| 93F5 | JR NZ,PUT_DOWN_0 | |||
| 93F7 | OR $02 | |||
| 93F9 | LD ($5E1F),A | |||
| 93FC | CALL DROP_CARRIED | |||
| 93FF | CALL SHIFT_CARRIED | |||
| 9402 | LD HL,$0000 | |||
| 9405 | LD ($5E30),HL | |||
| 9408 | LD ($5E32),HL | |||
| 940B | CALL DRAW_INVENTORY | |||
| PUT_DOWN_0 | 940E | LD A,($5E1F) | ||
| 9411 | AND $FE | |||
| 9413 | LD ($5E1F),A | |||
| 9416 | RET | |||
| PUT_DOWN_1 | 9417 | LD A,($5E1F) | ||
| 941A | AND $FD | |||
| 941C | LD ($5E1F),A | |||
| 941F | JR PUT_DOWN_0 | |||
| Prev: 93BE | Up: Map | Next: 9421 |