Improvements
This TAS improves on the previous submission by utilizing two additional pipe glitches to quickly complete two levels and a bubble glitch to reach Wario faster in the castle. As a result, the route has changed.
Pipe Glitch
In version 1.0, if you exit a level while inside a pipe, the game remembers as you enter the next level. Thus, in some levels, you can proceed below the level, either to a copy of the level with no sprites, or below that to the game's memory. This glitch is used a number of times to find level clear tiles in the memory. It can not be used in every level, though, due to the level design.
A deviation from the previous TAS includes two pipe glitches that utilize death as a way to exit the level, as opposed to start and select. In Mushroom House, I use the pixel trick to speed up midair and get hit by a shell to die as I enter a pipe, then re-enter the Mushroom House and move left to land in the copy of the level and clear it. I also die in a pipe at the beginning of Macro Zone 1 then enter Pumpkin Zone 1 to fall to the game's memory and find a level clear tile.
Bubble Wario
Found by mugg, this glitch utilizes a similar mechanic as the pipe glitch and midway glitch, in that if you exit the Hippo level the frame you obtain the bubble, then the game will load the bubble the next time you enter a level. In this TAS, I grab the bubble then enter Wario's Castle, and abuse the sprite limit to manipulate the y-position to outside the bounds of the level. Mario floats up and enters the pipe to start the fight with Wario, skipping the majority of the castle, including the face-off with faces (thus eliminating the need to kill 100 enemies).
Movement
As stated in the previous TAS by andymac, the pixel trick allows Mario to move an extra pixel every 8 frames. There was talk of a more restrictive, yet better pixel trick that yielded two extra pixels every 8 frames. Since it is both visually unappealing to be constantly jumping and very restrictive, I decided not to use it at all times. There are a number of instances of it throughout the run, but only when it was convenient to do it. It also turns out that jumping constantly leads to more instances of lag, so it was overall simpler to use an outdated version to save on lag and avoid tedium.
Corner boosts are used when convenient. Most times it requires deviating from the pixel trick, which means the one pixel boost would not be worth it.
The previous TAS also stated that the two swimming speeds were (1,1,1,1,1,1,1,1) and (1,2,1,1,1,1,1,1), however, I only found the first sequence and a second sequence of (1,0,1,1,1,1,1,1). Moreover, when reviewing the previous TAS, the swimming speed achieved there was (1,1,1,1,1,1,1,1). This leads me to believe there was some confusion about the potential speeds, though the faster speed was used in both this TAS and the previous TAS.
Route
Like Leibniz and Newton with calculus, it appears I thought of this route individually before reading that mugg had come up with this route, too. The only deviation between the two is Macro Zone 1 vs Pumpkin Zone 1 to set up the pipe glitch for Tree Zone 2. Utilizing Macro Zone 1 requires using death to initiate the pipe glitch, and that requires losing the fire flower in the rat fight, and completing Tree Zone 4 as small Mario (which makes the route in the level more difficult and contains more lag due to not being able to kill the piranha plants). These two events, along with how long the death animation takes, means it was not actually faster.
Music Glitch
If you press pause 83 frames after the final hit on Wario, the ending credits music fails to start, and the Wario fight music continues indefinitely. Nod to pidgezero_one for accidentally finding this.
Special Thanks
andymac for creating the first TAS, and mugg for all of his work on this game and the previous TAS, plus his find of Bubble Wario. dotsarecool for creating a lua script that allows us to see what the tiles are in the game's memory. link_7777 for his RAM watch file. Oh_DeeR for his suggestions and motivation.
ThunderAxe31: Replacing file with a 12201 blank frames trimmed version, and judging.