(2021-05-05: made the patch less unwieldy, single-file, and compatible with newer Asar versions.)
This patch aims at making the game's controls more responsive while also lessening the impact of input lag (such as in BSNES or Higan).
So far, two different tricks are supported in the patch and both of them are based on simple timers that add some kind of tolerance window to the game.
The first trick (aka "Coyote Time") allows Mario to perform late jumps. This means that if Mario is about to fall down a platform, as long as a certain amount of time hasn't passed yet, Mario can still perform a jump.
The second trick (aka "Input buffering") basically does the exact opposite to this, as it allows Mario to perform early jumps. This means that if Mario is currently still in the air and pressing a jump button, if he lands on a platform within the next few frames, he will immediately jump off that platform, as if the jump button was pressed the exact moment he landed on it.
By default, both hacks are set to use a frame count of 3 frames (which is equal to about 50 ms of time), but this can be adjusted in the patch. I personally think that 3 frames is a great starting point, but depending on your hack's design, other settings might work even better for you. You can also activate and deactivate both hacks independently from each other. Just take a look at ttconfig.cfg for details on each setting.
Please play around with the patch for yourself to see how much of a difference it makes, espcially in hacks with tight and precise (single block to single block) jumps.
Requires up to 5 bytes of free RAM, depending on which features you enable (3 for late jumps and 2 for early jumps).
Oh, right, I never updated this for the newer Asar versions. Thanks for doing that.
If you wanna do me a solid, please also add "coyote time" and "input buffering" somewhere to the title or description, because that's what these things are officially known as.