This beats the existing run
by 52 frames. Mostly from mundane sub-pixel optimizations here and there, and a few new strategies.
- Emulator used: bizwhack 2.4.2
- Korea BIOS
- Genre: Platform
- Tier: Stars
Mario's xposition increases until it hits 99, which locks it in place. This is when the screen starts "scrolling". Mario's velocity is increased by 2 for every frame 2 is held, with a cap of 50. In the air it's slower, 1 every 2 frame, so if it ever drops from 50 you ought to get on the ground as fast as possible. To lose acceleration at top speed, you have to hold left until the velocity drops from 50 to 0, since Mario will only turn once his velocity is fully reset (because there are two velocity addresses, one for moving right and one for moving left). Mario doesn't lose velocity from running on a moving platform or jumping on an enemy, but he does whenever he hits a ceiling (block or not). So it's best to keep your jumps precise.
You can get a boost at the start of a level by tweaking Mario's pixels at the flagpole of the previous level. Because this requires you to press left and lose acceleration, this only saves time if you can't grab the flagpole immediately and have to briefly fall to get it. And, even then, it's a gamble, because the screen may scroll regularly anyway or you could lose a frame grabbing the flagpole because of the frame rule.
Enemies are generated based on the same timer from level to level, this is why sometimes you see killed enemies reappear on the other side of the screen. You can adjust it with other enemies that may use the timer, since there are various timers throughout the RAM. With this knowledge, I was able to manipulate a koopa in 1-3 to bounce Mario over the wall at the end, saving some time.
It wouldn't be Super Mario Bros. without frame rules. There are a lot of frame rules in this game, which I didn't notice when I made the first run. Screen transitions, moving platforms, and fireballs are all locked to a non-manipulatable timer. This can be frustrating as it negates many minor precision gains, but on the bright side it does make a few tough sections easier to TAS since the frame rule means you don't need to be 100% perfect to get the best result.
If you wait for a little bit on the title screen, the game plays a demo. You can press 1 or 2 to leave the demo to return to the title screen. However, the game severely glitches out if you hold the button down. The graphics can become mutilated and, if you start the game after returning to the title screen, Mario becomes invincible. He'll be able to walk on pits, and running into enemies - including fireballs - will kill them. Unfortunately, given that it takes over 540 frames to execute, this demo glitch is pretty useless to a TAS, since there are not many moments where you have to lose time because of an enemy. But it's still funny enough to chronicle here.
- EZGames69 and Memory for their published run
- Bizpuck devs, since SMS emulation is clearly way better than it was when I made the first movie back in 2013
- Zemina, who give Nintendo a run for their money
: Processing. Zinfidel is handling the encodes for this one.