The movement is too optimized at this point. I expect at most 10-20 more seconds can be saved, maybe a minute with TAS. People will continue competing for a while, but it would take inhuman luck in addition to perfect execution to beat this time. I wouldn't be surprised if this record stands forever.
Amazing how were still discovering this, can't wait for someone to figure out how to use SMB1 as a coding language to and wrong warp if that's even possible.
The explanation for how this was achieved is interesting, but also pretty complicated for someone who doesn't know how the game's code works (which is almost everyone including me)
kind of agree. but personally. i dislike how i watched it thinkning it would be intersesting lol...this video is click bait!. thats why the ending is recorded to make the video longer. i thought it would explain the process
@@paulreynolds5751 The video records the entire credits to prove that the game doesn't crash. It's possible to reach the princess cutscene faster, though preventing the game crash in the credits is the real accomplishment. If you didn't find the video interesting, you can rest easy knowing the video wasn't made for you.
Does the "for _more_ information" imply that everyone else watched one second and was like "Ah yes The Non Maskable Interrupt (NMI) happens at the start of V-Blank, and the programmable interrupt (IRQ) is set to fire just a few scanlines above that..."
Haha! It's not the easiest TAS to explain, but if I explained every ounce of jargon in the writeup it would double the length. It's already an impressive wall of text, so I just attached a "I hope you know assembly" disclaimer and left it at that. If I go back and make a video fully explaining this run, I'll be sure to explain everything so a general audience could follow along.
@@100thCoin I've never done NES assembly, but know just enough about low level programming that I understood enough of the explanations to be impressed :)
This is honestly so cool that you can beat this game THAT quick, this might be one of my favorite TASes from a technical level, once you know how in depth this credits warp goes in complexity. Loved it 💜
Think about this in Bowser's point of view: you just spent your day stealing the princess and trapping her in a room that you're guarding inside a castle in a land far from the mushroom kingdom. A little less than an smb1 framerule later and Mario appears in the room and takes her back.
"We just kidnapped the princess again! You done in there, Kamek?" "Your terribleness! She's gone!" "What? I just barely put her in there!" "No really, she's -gone-! Last thing I saw was a red blur before she vanished!"
@@JumboDS64 ^ This. People always seem to forget that for the vast majority of SMB3, the princess is absolutely fine and in no way captured or even really endangered. This is why she is able to send letters and "jewels" (not sure if that was a localization/translation mistake or what, but I generally wouldn't consider P-Wings, Jugem's Cloud, etc. to be jewels, but I digress) so easily to Mario each time he saves one of the kings. Bowser just captures her at the end of World 8 since he's butthurt.
I plan on making a video to do that, but It's going to take a while. There's seriously just too much to explain, especially if I want a casual audience to be able to follow along.
It took Nintendo 2 years to make smb3 with over 10 people in development and it was a historic moment in gameing history, one of the biggest hits in 1988 Well here it is in under half a second Question: what if you used game genie codes what times could you get then Or is this just perfict
>What if you used game genie? Well, if you're using game genie you could just write code to win the game immediately. (All game genie does is force a specific address to hold a specific value.) You could make the first instruction read after the console starts be a jump to credits, which defeats the whole purpose. > is this just perfect? I think it might be possible to take off a frame or two by loading X with 20 without any stalling, but I've been working through that for the past week with no leads. It's also possible that there's a completely different set of instructions that you could write to win the game faster, but this is the best I've come up with so far.
In addition to discovering a debug code, I’d find codes that jumped straight to the ending (although debug makes that partially redundant with an optional controller sequence to do the same.) Jumping directly to the end was rather useless though, as there was no way to play even the 2nd quest, unless your goal is just to see the ending.
@@katistrofic1522 I’d have to dig through boxes to find my old notebook paper from the 90s for some codes, but at least I have the debug codes memorized (and I made a video that describes it a while back.)
This is especially interesting to me because I'm learning 6502 nes assembly and literally this morning had a bug where the code was jumping to the vast sea of BRKs in internal RAM. Why was it doing this? Because I'd used an RTS instead of an RTI in my nmi routine, which is part of what is going on here. Wacky how the TAS gets into that by stalling nmi, stalling again to apparently avoid a crash, and breaks out of ZP again all to the credits scene *in 19 frames* using a bit of tinfoil, string, and bellybutton lint. Also this really puts into perspective how fast setting up the PPU is, which I hadn't contextualised in my mind properly. Before you can start writing graphics data to the PPU you have to wait a minimum of around 27,000 cycles, just under one frame. Then because sometimes the CPU and PPU clocks get misaligned at reset and forget the vblank flag, you have to wait for another vblank. You have to wait so long that you have time to clear all the internal memory while you wait. When you finish the second vblankwait, that puts you at around 57,000 cycles. It feels annoying when writing the code to have what feels like an arbitrary wait timer foisted onto you. Yet that's an eternity ago from the end of this run, around 575,000 cycles ago. And this run *isn't even 35% of a single second.* You could literally set up the PPU and reclear all the internal memory again _from scratch_ another *10 times* in the time this run takes. It's all so much faster than my primate brain built it up to be. Man this TAS is such a ride to look at. You guys are smart cookies.
I had to at minimum show the the credits, as it's possible to load the princess's chamber even faster, though without the credits appearing, which would invalidate the run. I decided to just show the entirety of the credits to be as clear as possible with my demonstration.
Expectation: [TAS] NES Super Mario Bros. 3 "Game End Glitch" in 00:00.xx by [TASer(s)] or [TAS] FC Super Mario Bros. 3 "Game End Glitch" in 00:00.xx (Date: *way* after 2021) Reality: [TAS] NES Super Mario Bros. 3 "Game End Glitch" in 00:00.31 by 100th Coin (Region = NA) Question 1: Could [TAS] FC Super Mario Bros. 3 "Game End Glitch" in 00:00.xx by TASer(s), [TAS] NES Super Mario Bros. 3 "Game End Glitch" in 00:00.xx by TASer(s) (Region = PAL) or [TAS] SNES Super Mario All-Stars: Super Mario Bros. 3 "Game End Glitch" in 00:00.xx by TASer(s) (Region = PAL) be faster? Q2: Is SFC Super Mario Collection: Super Mario Bros. 3 "Game End Glitch" in 00:00.xx by TASer(s) / SNES Super Mario All-Stars: Super Mario Bros. 3 "Game End Glitch" in 00:00.xx by TASer(s) possible?
> Could FC or PAL be faster? Probably not; I imagine they would be the same length regardless of the version, though I haven't looked into it. All the issues I ran into with the creation of this TAS exist on the other versions as well, so I doubt there's any improvement by simply using a different version. > Is it possible on the SFC / SNES All Stars Version? No. The developers rewrote the code for reading the controllers, and didn't include a loop to read the inputs until there are two consecutive matches. Since the loop exists in the NES version to prevent a hardware bug that the SNES didn't have, it makes sense to remove the loop.
Being someone who doesn't know much about assembly and doesn't want to read the entirety of the submission, I'm tempted to ask "is this code injection?"
@@PretzelBS This was actually one of the ideas I had, though it's not as simple as 16 bits per frame. You need to consider the "stalling period" which forces the inputs to loop for a controlled duration. In total, you can stall for 121 polls, so let's round that to 128, or 2^7. The game masks away conflicting left / right, up / down inputs, leaving us with only 128 of the possible held inputs instead of the full 256, which is another 7 bits per controller. So each frame has 2^21 possible options. To beat this time, we're aiming for 8 frames (ignoring the first 10 where the controllers aren't read) or faster, so 2^(21*8), which is 3 * 10^50
By pressing buttons at incredibly inhuman speeds, I can get the game stuck in a loop. This happens until the game wants to draw the checkerboard floor, because due to how the curtains can rise, the screen position needs to be updated before the floor gets drawn. Since I'm still inside the controller reading loop when that happens, the wrong code is loaded when trying to update screen positions for the floor, which leads to the game executing code from address $0001. I then write code through pressing buttons to win the game.
@@diegocrusius I'm not sure how they did it but this run is console verified (video here: ua-cam.com/video/R2Zzw4ahQVQ/v-deo.html - Big Bass: "[TAS Verified] NES Super Mario Bros. 3 (game end glitch) in 00:00.316"). So either the console or controllers have been modified, or inputs are being sent to the console at least, irl.
@@diegocrusius Yeah, Bigbass created something called a "replay device" that let's a tool assisted speedrun be played on real hardware. I don't know all of the details behind it, but I'm pretty sure it uses modded controllers.
Not only has this TAS been verified on console, but it's also obsolete. An even faster (also console verified) TAS exists, and I think if you would take the time to learn how it works you might be interested to find out how such a run isn't fake at all.
Kinda fast
yeah just a little
Kinda....
find a fast mario video comment section where kosmic isn't top comment challenge (impossible!)
@@GarFierield Kosmic be like: SMB UA-cam comment Speedrun Any% [World Record]
could be better
Bowser's entire family and army go on an extended vacation and absolutely nothing bad happened to them.
They forgot to lock or even close the back door.
this is the Fastest Mario we were warned about
if this doesn't become the top comment of this video, I'm gonna be disappointed, because the refference here is immaculate
This do be elevating alternative sexual architypes
feel like theres still a lot of potential for saving time, this category as a whole hasnt even begun to mature
The movement is too optimized at this point. I expect at most 10-20 more seconds can be saved, maybe a minute with TAS. People will continue competing for a while, but it would take inhuman luck in addition to perfect execution to beat this time. I wouldn't be surprised if this record stands forever.
@@TheArmyofWin i made that copypasta!
@@jongyon7192p I remember seeing when you posted that, as well as the original serious post. Seriously great speedrunning copypasta.
best response
Amazing how were still discovering this, can't wait for someone to figure out how to use SMB1 as a coding language to and wrong warp if that's even possible.
that would be very cool
Oh hi, played your NPCs are becoming smart game on Roblox
Blink and you’ll miss it, literally.
You'll miss it regardless. As soon as I open the video, the game is beaten.
In 0 seconds
I know, right?
Ha ha ha! Bye bye.
Cross † Pixel
COMMENT BOT
I like how I watched this thinking it would be at all interesting
The explanation for how this was achieved is interesting, but also pretty complicated for someone who doesn't know how the game's code works (which is almost everyone including me)
kind of agree. but personally. i dislike how i watched it thinkning it would be intersesting lol...this video is click bait!. thats why the ending is recorded to make the video longer. i thought it would explain the process
@@paulreynolds5751 The video records the entire credits to prove that the game doesn't crash. It's possible to reach the princess cutscene faster, though preventing the game crash in the credits is the real accomplishment.
If you didn't find the video interesting, you can rest easy knowing the video wasn't made for you.
Does the "for _more_ information" imply that everyone else watched one second and was like "Ah yes The Non Maskable Interrupt (NMI) happens at the start of V-Blank, and the programmable interrupt (IRQ) is set to fire just a few scanlines above that..."
Haha! It's not the easiest TAS to explain, but if I explained every ounce of jargon in the writeup it would double the length. It's already an impressive wall of text, so I just attached a "I hope you know assembly" disclaimer and left it at that. If I go back and make a video fully explaining this run, I'll be sure to explain everything so a general audience could follow along.
@@100thCoin please do so, im extremelt interested in how this works and im sure many other people are aswell :)
@@100thCoin I've never done NES assembly, but know just enough about low level programming that I understood enough of the explanations to be impressed :)
@@100thCoin link is broken. leads to a 404
"Wanna see me beat Mario 3?"
"Wanna see me do it again?"
Is it spongebob reference?
@@fan0 Yes when he was very fast
@@mamonsin I knew that!
Protip for watching on UA-cam: press period button (.) on your keyboard to advance to the next video frame.
Wait how did i not know that xD i was always spamming the spacebar :D
you can also press the comma button (,) to go back to the previous frame.
Bowser never found out about Mario teleporting to that room.
To this day, he is still waiting for Mario to come to his castle to save the princess.
This is honestly so cool that you can beat this game THAT quick, this might be one of my favorite TASes from a technical level, once you know how in depth this credits warp goes in complexity.
Loved it 💜
Let's go frame by frame on this speedr- aaaaaand it's done
No kidnapping, just Mario walking into Peach's room and cheering her up when she was feeling depressed.
Think about this in Bowser's point of view: you just spent your day stealing the princess and trapping her in a room that you're guarding inside a castle in a land far from the mushroom kingdom. A little less than an smb1 framerule later and Mario appears in the room and takes her back.
Mom: -Son, stop playing this game, food is ready in one second.
-Hold my beer
Can't wait for the Terminal Montage version
This the kinda thing your friend at school would tell you he did when you'd get into an argument over who could beat a game faster.
Thanks for uploading the ending cutscene of Mario 3.
exactly lol
What a nice showcase of the smb3 ending cutscene
This TAS guy is pretty fast👍
me watch an ad for 5 seconds just for me to see the 0.316 second speedrun
I like how Peach actually loads in before Mario
new summoning salt video comes out:
this stayed unattainable until legendary speedrunner Kosmic beat it in RTA
lol
"that's it? That's the Speedrun? That was just a bunch of cheap ACE!"
"We just kidnapped the princess again! You done in there, Kamek?"
"Your terribleness! She's gone!"
"What? I just barely put her in there!"
"No really, she's -gone-! Last thing I saw was a red blur before she vanished!"
Technically he hadn't even kidnapped the princess yet, she only gets kidnapped by World 8! Mario saved her before she was kidnapped!!
@@JumboDS64 ^ This. People always seem to forget that for the vast majority of SMB3, the princess is absolutely fine and in no way captured or even really endangered. This is why she is able to send letters and "jewels" (not sure if that was a localization/translation mistake or what, but I generally wouldn't consider P-Wings, Jugem's Cloud, etc. to be jewels, but I digress) so easily to Mario each time he saves one of the kings. Bowser just captures her at the end of World 8 since he's butthurt.
This is the kinda speed where you just have to figure out how to overclock your NES to improve on it
the category name did not disappoint lol
awesome!! :D
Someone needs to pull this apart in a pannen style video
I plan on making a video to do that, but It's going to take a while. There's seriously just too much to explain, especially if I want a casual audience to be able to follow along.
POV: You just made to the theater after heavy traffic
This is how some people read books.
Skip right to the end.
Great value, money well spent.
When you hand the controller to your brother:
Obligatory "The credits are longer than the entire run".
The first frame of animation as Mario takes a step is longer
The period in the ending cutscene before Mario appears is longer than the entire run
It took Nintendo 2 years to make smb3 with over 10 people in development and it was a historic moment in gameing history, one of the biggest hits in 1988
Well here it is in under half a second
Question: what if you used game genie codes what times could you get then
Or is this just perfict
>What if you used game genie?
Well, if you're using game genie you could just write code to win the game immediately. (All game genie does is force a specific address to hold a specific value.) You could make the first instruction read after the console starts be a jump to credits, which defeats the whole purpose.
> is this just perfect?
I think it might be possible to take off a frame or two by loading X with 20 without any stalling, but I've been working through that for the past week with no leads. It's also possible that there's a completely different set of instructions that you could write to win the game faster, but this is the best I've come up with so far.
In addition to discovering a debug code, I’d find codes that jumped straight to the ending (although debug makes that partially redundant with an optional controller sequence to do the same.) Jumping directly to the end was rather useless though, as there was no way to play even the 2nd quest, unless your goal is just to see the ending.
@@DavidWonn whats the codes I'm interested
@@katistrofic1522 I’d have to dig through boxes to find my old notebook paper from the 90s for some codes, but at least I have the debug codes memorized (and I made a video that describes it a while back.)
This is especially interesting to me because I'm learning 6502 nes assembly and literally this morning had a bug where the code was jumping to the vast sea of BRKs in internal RAM. Why was it doing this? Because I'd used an RTS instead of an RTI in my nmi routine, which is part of what is going on here. Wacky how the TAS gets into that by stalling nmi, stalling again to apparently avoid a crash, and breaks out of ZP again all to the credits scene *in 19 frames* using a bit of tinfoil, string, and bellybutton lint.
Also this really puts into perspective how fast setting up the PPU is, which I hadn't contextualised in my mind properly. Before you can start writing graphics data to the PPU you have to wait a minimum of around 27,000 cycles, just under one frame. Then because sometimes the CPU and PPU clocks get misaligned at reset and forget the vblank flag, you have to wait for another vblank. You have to wait so long that you have time to clear all the internal memory while you wait. When you finish the second vblankwait, that puts you at around 57,000 cycles. It feels annoying when writing the code to have what feels like an arbitrary wait timer foisted onto you. Yet that's an eternity ago from the end of this run, around 575,000 cycles ago. And this run *isn't even 35% of a single second.* You could literally set up the PPU and reclear all the internal memory again _from scratch_ another *10 times* in the time this run takes. It's all so much faster than my primate brain built it up to be.
Man this TAS is such a ride to look at. You guys are smart cookies.
Thanks for the kind words! You should check out my new TAS, because this one is already obsolete by 6 frames.
@@100thCoin I absolutely will! That's so cool!
"We're finally landing" playing in background
Oh shoot I blinked, can you do it again?
This video would have been much more of a gut punch if you cut out the ending (minus the first frame of the ending to show completion).
I had to at minimum show the the credits, as it's possible to load the princess's chamber even faster, though without the credits appearing, which would invalidate the run. I decided to just show the entirety of the credits to be as clear as possible with my demonstration.
holy shit....... an even faster one?? what?????
Not Fast enough I can still see some pixels of the gameplay
Yeah, it's (probably) impossible to finish SMB3 any faster then this xD
Super Mario 64 fans: "Super Mario 64's TAS is the most game breaking and crazy Mario TAS."
Super Mario 3: *Hold my beer*
My favorite part was the credits!
If I understand this correctly: does this mean that if you push random buttons every frame while the game boots could crash the game?
You'd have to be inhumanly fast.
that's crazy jarvis
How long until MitchFlowerPower gets this one?
That subscriber count is gonna blast off lmao
Sorry can you do that again? I blinked.
Expectation: [TAS] NES Super Mario Bros. 3 "Game End Glitch" in 00:00.xx by [TASer(s)] or [TAS] FC Super Mario Bros. 3 "Game End Glitch" in 00:00.xx (Date: *way* after 2021)
Reality: [TAS] NES Super Mario Bros. 3 "Game End Glitch" in 00:00.31 by 100th Coin (Region = NA)
Question 1: Could [TAS] FC Super Mario Bros. 3 "Game End Glitch" in 00:00.xx by TASer(s), [TAS] NES Super Mario Bros. 3 "Game End Glitch" in 00:00.xx by TASer(s) (Region = PAL) or [TAS] SNES Super Mario All-Stars: Super Mario Bros. 3 "Game End Glitch" in 00:00.xx by TASer(s) (Region = PAL) be faster?
Q2: Is SFC Super Mario Collection: Super Mario Bros. 3 "Game End Glitch" in 00:00.xx by TASer(s) / SNES Super Mario All-Stars: Super Mario Bros. 3 "Game End Glitch" in 00:00.xx by TASer(s) possible?
> Could FC or PAL be faster?
Probably not; I imagine they would be the same length regardless of the version, though I haven't looked into it. All the issues I ran into with the creation of this TAS exist on the other versions as well, so I doubt there's any improvement by simply using a different version.
> Is it possible on the SFC / SNES All Stars Version?
No. The developers rewrote the code for reading the controllers, and didn't include a loop to read the inputs until there are two consecutive matches. Since the loop exists in the NES version to prevent a hardware bug that the SNES didn't have, it makes sense to remove the loop.
This is what happens when you start your NES in second gear.
I opened the link, blinked and literally missed it
did you use two controllers for this?
Yeah, this was done with two controllers.
Reminds me of my first time beating Mario3.
aww mario did you turn into sonic again
I think if you do a BLJ on frame 2, it should be 0.1 seconds faster.
So is this the end of speed running Mario 3
Cus if so thats really sad
Being someone who doesn't know much about assembly and doesn't want to read the entirety of the submission, I'm tempted to ask "is this code injection?"
yeah, I wrote code exclusively through pressing buttons.
Let's see Mitch flower power top this
Nah like 99.7% of this run is a cutscene, so glad cutscene time isn't counted lol
TAS timing ends at last input, but even still more than 50% is waiting for the game to load the title screen
Now beat it in 0.00000000000000001 seconds.
sorry I sneezed did I miss anything?
The whole tas is 19 frames lmao you could brute force this
Like 16 possible inputs in 8 frames so 65536^8 which is 3.4 * 10^38… maybe not lol
@@PretzelBS This was actually one of the ideas I had, though it's not as simple as 16 bits per frame. You need to consider the "stalling period" which forces the inputs to loop for a controlled duration. In total, you can stall for 121 polls, so let's round that to 128, or 2^7. The game masks away conflicting left / right, up / down inputs, leaving us with only 128 of the possible held inputs instead of the full 256, which is another 7 bits per controller. So each frame has 2^21 possible options.
To beat this time, we're aiming for 8 frames (ignoring the first 10 where the controllers aren't read) or faster, so 2^(21*8), which is 3 * 10^50
Took less thank blinking
I wish the video waited a few seconds before actually starting. Ha
can someone explain the glitch plz?
By pressing buttons at incredibly inhuman speeds, I can get the game stuck in a loop. This happens until the game wants to draw the checkerboard floor, because due to how the curtains can rise, the screen position needs to be updated before the floor gets drawn. Since I'm still inside the controller reading loop when that happens, the wrong code is loaded when trying to update screen positions for the floor, which leads to the game executing code from address $0001. I then write code through pressing buttons to win the game.
@@100thCoin would it be possible to mod a nes controller to do that irl?
@@diegocrusius I'm not sure how they did it but this run is console verified (video here: ua-cam.com/video/R2Zzw4ahQVQ/v-deo.html - Big Bass: "[TAS Verified] NES Super Mario Bros. 3 (game end glitch) in 00:00.316"). So either the console or controllers have been modified, or inputs are being sent to the console at least, irl.
@@diegocrusius Yeah, Bigbass created something called a "replay device" that let's a tool assisted speedrun be played on real hardware. I don't know all of the details behind it, but I'm pretty sure it uses modded controllers.
Nah...could go faster. --Sonic
???
I'm sorry, WHAT
que pro
what
OH **claps** SUB 1
i thought it was 3:16 not 00:00.316 i am fucking blind
no way ☺
fast
Controller go brrrrrr
@Niftski can beat that
I’ve seen faster.
its too sloooow
What is this mess
316 MILLISECONDS!? FAKE!
Not only has this TAS been verified on console, but it's also obsolete. An even faster (also console verified) TAS exists, and I think if you would take the time to learn how it works you might be interested to find out how such a run isn't fake at all.
Meh. Ive seen faster
bruh
Bad run, not even sub 0.3 smh.
Too slow!
Too slow
Bruh
?????