Prev: EAEF Up: Map Next: EB06
EAFD: Data buffer - Maroc/servant/spell cursor controls and position data
EAFD DEFB $00 Store for control left/right calculated value of 0, 1 (right) or -1 (255) (left), plus the value stored at EAAB which is set when Maroc enters a new room
EAFE DEFB $00 Store for control up/down calculated value of 0, 1 (up) or -1 (255) (down), plus the value stored at EAAC which is set when Maroc enters a new room
EAFF DEFB $00 Vertical (Y) position (in pixels) for controllable icon/servant graphic
Calculated from top of playing area in pixels
Set to 40 (just above Maroc's head) in routine at E840 after servant or other 'cursor control' spell cast
EB00 DEFB $00 Horizontal (X) position (in pixels) for controllable icon/servant graphic
Calculated from left of playing area in pixels
Set to 112 (centre of screen) in routine at E845 after servant or other 'cursor control' spell cast
EB01 DEFB $00 Servant/controllable cursor's horizontal movement speed. Negative values = left, positive = right
EB02 DEFB $00 Servant/controllable cursor's vertical movement speed. Negative values = up, positive = down
EB03 DEFB $00 Maroc's direction/rotation - see Trivia: Maroc's sprite rotational movement
Direction Value
DOWN 0
DOWN and LEFT 32
LEFT 64
UP and LEFT 96
UP 128
UP and RIGHT 160
RIGHT 192
DOWN and RIGHT 224

Repeatedly adding 32 causes Maroc to rotate in a clockwise direction, like in the animated routine when he runs out of energy at E46C
EB04 DEFB $00 Maroc's horizontal movement speed
Negative values = right, positive = left, e.g. 224 = full speed right, 32 = full speed left
Graphic position is adjusted by speed/4 pixels - e.g. a speed of 32/-32 would result in a movement step of 8/-8 pixels
EB05 DEFB $00 Maroc's vertical movement speed.
Negative values = down, positive = up, e.g. 224 = full speed down, 32 = full speed up
Graphic position is adjusted by speed/4 pixels - e.g. a speed of 32/-32 would result in a movement step of 8/-8 pixels
Prev: EAEF Up: Map Next: EB06