Prev: 33824 Up: Map Next: 33841
33825: Left-right movement table
Used by the routine at 36564. The entries in this table are used to map the existing value (V) of Willy's direction and movement flags at 34256 to a new value (V'), depending on the direction Willy is facing and how he is moving or being moved (by 'left' and 'right' keypresses and joystick input, or by a conveyor, or by an urge to visit the toilet).
One of the first four entries is used when Willy is not moving.
33825 DEFB 0 V=0 (facing right, no movement) + no movement: V'=0 (no change)
33826 DEFB 1 V=1 (facing left, no movement) + no movement: V'=1 (no change)
33827 DEFB 0 V=2 (facing right, moving) + no movement: V'=0 (facing right, no movement) (i.e. stop)
33828 DEFB 1 V=3 (facing left, moving) + no movement: V'=1 (facing left, no movement) (i.e. stop)
One of the next four entries is used when Willy is moving left.
33829 DEFB 1 V=0 (facing right, no movement) + move left: V'=1 (facing left, no movement) (i.e. turn around)
33830 DEFB 3 V=1 (facing left, no movement) + move left: V'=3 (facing left, moving)
33831 DEFB 1 V=2 (facing right, moving) + move left: V'=1 (facing left, no movement) (i.e. turn around)
33832 DEFB 3 V=3 (facing left, moving) + move left: V'=3 (no change)
One of the next four entries is used when Willy is moving right.
33833 DEFB 2 V=0 (facing right, no movement) + move right: V'=2 (facing right, moving)
33834 DEFB 0 V=1 (facing left, no movement) + move right: V'=0 (facing right, no movement) (i.e. turn around)
33835 DEFB 2 V=2 (facing right, moving) + move right: V'=2 (no change)
33836 DEFB 0 V=3 (facing left, moving) + move right: V'=0 (facing right, no movement) (i.e. turn around)
One of the final four entries is used when Willy is being pulled both left and right; each entry leaves the flags at 34256 unchanged (so Willy carries on moving in the direction he's already moving, or remains stationary).
33837 DEFB 0 V=V'=0 (facing right, no movement)
33838 DEFB 1 V=V'=1 (facing left, no movement)
33839 DEFB 2 V=V'=2 (facing right, moving)
33840 DEFB 3 V=V'=3 (facing left, moving)
Prev: 33824 Up: Map Next: 33841