Been looking into a few more things on Deuceler’s request.
Sadly, I couldn’t find any sort of setup or helpful manipulation for the
bat jump.
I found speed addresses, but the values are a bit weird and seem slightly inaccurate (RAM speed acts really weirdly while holding R1)… Anyway, jumping is faster, but you get 1 frame of landing lag so if you’re already at top speed it’s slower (only faster to jump to accelerate). Jumping uphill is faster, and downhill slower. I don’t know if it was known, but the game has VSC (Vertical Speed Conservation). Basically when you land your Y speed gets stored rather than reset to 0, and next time you run off a ledge you get that speed back, so you can fall faster than normal. In theory you could also get a jump without jumping if you previously jumped and landed with upwards momentum, but I don’t know if that’s actually possible to do in the game.
Here’s a new Lua which should work in both USA and JPN versions, draws XYZ position/spawn, horizontal speed, calculated speed which should be a bit more accurate than the RAM one, and prints RNG/speed changes depending on which function you comment-out in the code (defaults to RNG commented out):
http://tasvideos.org/userfiles/info/28000393615146258 (calculated speed going to 0 at every lag frame is normal).
It was super bugged at first and I tried my best to make it better, but it may still have bugs or inaccuracies. Report them if you find any.