Prev: 93BE Up: Map Next: 9421
93E3: Put a carried object down
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