I don’t have much experience with RAM search, but I beleive I’ve found RAM addresses for X and Y pixel positions. I doubt this game has subpixels, but I may be wrong.
This is a simple script I made for Qwerty (he may TAS this game).
Language: Lua
gens.registerafter(function()
local x_pixel = memory.readword(0xFFA060);
local y_pixel = memory.readword(0xFF035A);
local speed = memory.readbyte(0xFF5B5B);
gui.text(10, 10, 'X pixel: ' .. tostring(x_pixel));
gui.text(10, 20, 'Y pixel: ' .. tostring(y_pixel));
gui.text(10, 30, 'Speed: ' .. tostring(speed) .. ' px/frame');
end);
The «speed» variable indicates current value added to X pixel position. It’s set not depending on if you are moving or not. When running, it’s always 3; when walking, it’s always 2. Also, normally jumping slightly drops the speed, but after running with the max speed for a while, it doen’t slow you down anymore.
To kill an enemy, it’s not enough just to have positive vertical speed when touching it; it’s required to touch the enemy’s top, hence it’s much easier to get hit.