No clue. All I know is that my math is right and this is confirmed on a logic calculator. I calculate the character's slope collision position (X+16, Y+32) within the tile by using their absolute position in the world and using bitwise AND against 0xF, which gives me the position within a 16x16 tile. That allows me to normalize their position within the tile, which is done when the character lands on the slope (otherwise, they'd just fall through it). Then, when the character is within the bounds of a slope tile, the code raises or lowers them based on the direction of the slope and the direction of the move. Except... it doesn't actually work properly all the time. It works great if there is no actual correction required (like walking along the ground and entering a slope... this works perfectly) but when correction is required, it doesn't correct the position properly and the character often gets stuck at peaks, bounces down the slope, etc. It's very frustrating.
Tilemap arrangement for a slope in 4-1
O S /
/
S/
/ O
^^ ok that representation sucks but meh.
To calc the collision position within the tile:
tileX = yukiX + vmapx + 16;
tileY = yukiY + vmapy + 32;
^^^ this works every time