Horizontal Movement

When accelerating on level ground, the X-subpixel address 0370 increases by 0x10 each frame. The X-speed address 038A increases by 1 after 0370 reaches its maximum. This continues up to maximum values based on the costume worn, as per the following table:
CostumeMax 038AMax 0370
Any Knight20x00
Thief 120x40
Thief 220x80
Thief 330x00
Any Wizard10x80
Jumping does not interfere with the pattern of the increasing values.
When decelerating, the process occurs in reverse, but X-subpixel decreases by 0x1E each frame.
When crouching or entering doors/windows, the X-speed and X-subpixel addresses are set to 0. When moving horizontally while crouching, X-speed has a constant value of 1 and X-subpixel a constant value of 0. This applies to all costumes.
Address 02D4 changes by the value of X-subpixel each frame. It increases when moving to the right and decreases when moving to the left. Unlike X-speed and X-subpixel, 02D4 does not reset to 0 or to any other value when crouching or entering doors/windows. Kuros's horizontal position changes by the X-speed value and by any carry value from the change to 02D4. Therefore, the value of 02D4 is very important for maintaining sync when copying input between movies. It needs to be "close enough" at key points in the movies so that Kuros's X-position does not change by extra amounts because of the carry.

GameResources/NES/WizardsAndWarriors3 last edited by Dacicus on 8/3/2017 4:39 AM
Page History Latest diff List referrers View Source