So for the past few months I've been doing a lot with this game and found a number of good finds.
http://tasvideos.org/userfiles/info/23426970216360348
One good thing that I did was I restarted the TAS using the Japanese version. The advantages (as far as I know) are obviously shorter text for those rare unskippable text boxes, but more importantly, there's no "Licensed by Nintendo" logo when loading the rom and no language selection. Overall this only saves 109 frames, but it's frames saved and more frames used actually playing the game.
Second, I've been digging into the memory and finding Jack's speed address helped me plan out some of the movement more efficiently.
Jumping to get Jack running faster could be more precisely monitored as well:
Speed Address - $55D0 – 2byte - IWRAM>sgd.
Jump duration------Max speed achieved in:
0 frames------------19 frames
1 frames------------18 frames
2 frames------------21 frames
3 frames------------16 frames
4 frames------------19 frames
|Running speed caps at|163840|
|Jumping speed caps at|131072|
Maintaining max speed while damage boosting was also helped by memory examination.
* For some reason, if Jack happens to jump on the same frame as he lands from another jump his speed resets to 0. This doesn’t actually affect his speed, but it makes it hard to monitor. Sometimes this effect can last for one frame or for the entire time the player holds the ‘A’ button.
Jumping to turn around is faster than simply holding the other direction.
Mega Spider
Mega Spider’s health address is $569C.
The nice thing about this address is that it also acts as the invulnerability timer, making optimization (and RAM searching) easier. Mega Spider’s damage isn’t counted until the I-frame timer runs out- 32 frames after the hit connects.
This boss starts out with 25 HP and loses 2 HP per hit. This means that before the final hit the boss is left with 1 HP, this implies that the boss must be below zero (rather than simply zero) to die. This could lead to some nice glitches if that number could be under flowed somehow. But that’s theoretical.
What’s not is that in game timers are paused when in the menu or the map screen. So no Yellow Devil trick as far as I know – the menu/map fades in and out slowly anyway so it would be much slower if it was possible.
Oddly,
my last Eng wip wasn't too bad. I was only able to chop off 3 frames. In fact, altogether this wip saved 144 frames off of my last Eng wip. (But as you can imagine, the work flow was more calculated and less trial and error this time around) I was also able to kill enemies along the way without losing a single frame this time.