1-2 to 8-1 wrong warp??
2 years ago
Calgary, AB, Canada

I know I have no experience speedrunning this game, so take my theory as you will, however, I had an idea. I do not have a sophisticated understanding of programming, so I am not at all sure if what I am suggesting is possible, but if it is, it could lead to a huge time save. The reason the minus world spawns is because when you go past a certain position on the screen, it parses a scroll lock object which increments the value at $06D6 from 00 to 01. All of the game’s warp zones are technically the same, but just send you to different places based on where you are. 01 corresponds to the warp zone which sends you to world 5, and because the values on what are normally invisible pipes next to it are blank (value 36), the game sends you to world 36-1, or -1. The specifics aren’t super important here, but all that is is that the value 02 corresponds to the warp zone that takes you to world 8. So, if you could somehow parse the scroll lock object, clip back out, parse it again, and clip through the wall to enter the furthest left pipe (like in getting to the minus world), the value would be incrementes twice, to 02, and therefore, if you enter the pipe before the regular warp zone loads in, the game would send you to world 8. I’m not sure if you can parse a scroll lock object twice; maybe it’s like a barrier where you can clip in and out, or maybe it’s an object that you pick up that cannot be picked up again; I’m not sure, but if it’s possible to increment twice, and it’s not too precise, this would save two levels worth of time. Please let me know if my idea is bogus or if I’m onto something.

Edited by the author 2 years ago
Cookie1284, linny356 and 2 others like this

no because the loaded warp zone early will take you to world 5 or the minus world not world 8

and also you can't walk beck through the wall because of the screen not scrolling back

Calgary, AB, Canada

If the scroll lock object is like a wall, you should be able to clip back through it. I’m trying to figure out if it is.

New York, USA

The screen doesn't scroll backwards. Wall or not. Interesting idea though.

LDAMAN, linny356 and 5 others like this
Illinois, USA

I don't think that it is possible to unload a warpzone, however there may be some way that you can load it then die and keep it loaded to maybe come back with a pipe clip and load it for a second time? This may theoretically let you double the value in the original minus world pipe sending you to world 72, but I have no clue what world 72 would even be. It may just be the same as the minus world, or maybe -2 which could save time in MWE.

Crudmuffin64 likes this
Massachusetts, USA

"I know have no experience speedrunning this game" is kind of a massive red flag but this is really interesting in concept

Elijah, Mitsuthecat123 and 9 others like this
Calgary, AB, Canada

Based on my knowledge, the value wouldn’t double to 72, it would change the warp zone, but you’re probably right that you can’t parse it twice; thank you for the interest though.

Basque Country

in case of world 72 i imagine a few reasons to think it would send you to minus world but interesting concept to look at

Greater Sudbury, ON, Canada

Why not TAS it and find out?

Calgary, AB, Canada

Okay so to be clear it would not double the value of the warp zone from 36 to 72, it would increase the value at $06D6 from 01 to 02. All of the games warp zones are the same, the game just loads different warp pipe values based on the value at $06D6. 01 corresponds to the warp zone beneath ground in 4-2, which has world 36 (blank tile), world 5, and world 36 (blank tile) pipes. Since you increment it once when you clip through the wall to get to the warp zone, the value is 01, and so the value of the pipe on the left is world 36. If you increment it twice, the value is now 02, which corresponds to the aboveground warp zone in 4-2 with world 8, 7, and 6 pipes, so the left pipe would then send you to world 8. The issue is figuring out how to parse the scrollock object twice.

Elijah, Cookie1284 and 2 others like this
Calgary, AB, Canada

So I did a proof of concept where I manually set the value to 02, and it did warp me to world 8-1. Therefore, if the value can be incremented twice, then you can warp from 1-2 to 8-1

Elijah, Cookie1284 and 2 others like this
New Brunswick, Canada

if you could possibly set the value AND find a way to get back,then it might be possible

Greater Sudbury, ON, Canada

The value changes to 1 before clipping into the wall? Also the value changes to 4 when the numbers load.

Washington, USA

I've looked into how the game loads warpzones before. When a warpzone is loaded, it doesn't just increment the value. It runs a section of code that determins what that number should be. It goes something along the line of "if you're in world 1, load the first warpzone. Else if the palette is above ground, load the second. Else load the third." Even if you could load the warpzone multiple times, it would still be the same. Interesting idea though.

Edited by the author 2 years ago
Calgary, AB, Canada

Yes, that’s true, but only after you hit the second scroll lock object. It sets the value to 4, the alters it based on the conditions, and subtracts 4 from it. That subroutine sets the value and alters it, and results in either 00, 01, or 02. The pipe clip avoids that subroutine, so the value isn’t influenced by the conditions. Therefore, the value is set independent of that subroutine, which is why the independently set 01 takes you to the minus world (using the underground 4-2 warp zone values), and isn’t changed by the subroutine to the correct value, as that routine is never triggered.

Calgary, AB, Canada

So if you can increment the value twice (and avoid the subroutine which would otherwise change the value; the subroutine is skipped via the clip), you’ll get to value 02, and warp to world 8.

Edited by the author 2 years ago
Greater Sudbury, ON, Canada

Do you have any ideas how to increment the value twice?

Calgary, AB, Canada

I’ve done some experimentation, and, unfortunately, as far as I can tell, you can’t parse the object twice, and thus you cannot increment the value twice. Therefore, unless someone discovers a way to do so, then we are unable to warp to world 8 from world 1-2.

Edited by the author 2 years ago
United States

The reason this wouldn't work (backwards scroll or not) is because you're in the underground section of the warpzone, when the scroll lock is passed, it looks at where mario is, if he is in an above ground level or a below ground level, and then the appropriate warpzone is loaded from there. This can be proven by hacking the game to make 1-2 an above ground level or have the game treat 1-2 as an above ground level, the warpzone will load the 6-7-8 warpzone

Game stats
Followers
7,783
Runs
8,788
Players
1,781
Latest news
Requirements for High-Level Any% Runs

Any% (NTSC) runs below 4:57.000 must now fulfill additional requirements in order to be verified.

  • The run's full session must be included in the submission description.
  • For emulator runs below 4:57.000, some form of input display must be visible for the duration of the run. A hand-cam or input
3 months ago