Full technical explanation: ruclips.net/video/t7yj_ypLUYk/видео.htmlh25m56s Hope you enjoy :) and many thanks to people who made this possible, such as p4plus2, ownasaurus, masterjun, etc.
so let me get this straight: the tasbot here first makes specific inputs to be able to alter the code so that the next set of inputs will write stuff into memory and once it reached that point it uses the controller ports to make specific inputs to write the entire code of SMB1 into the memory. Like it's not using the port to copy the game into SMW. It's as if someone had perfectly memorized Hamlet by Shakespear and instead of just giving you a retail copy of the book he just pulls out some empty paper and a pen and writes it all down on that paper. The paper here being SMW prepared in such a way that you can use the controllers as a pen to write on it. Does that make sense?
So in other words: Tasbot actually writes all the code for Super Mario Bros into Super Mario World from the controller port, which it can do because it can write things on the game’s memory by inputting specific button combinations. Hope that makes sense
My mind was melting watching him do the intro. I was like “how in the actual f does anyone at all casually become this good?” Especially because I could tell he was setting up for code execution, and doing that by hand for a whole game is … incomprehensible.
I adore that ACE basically consists of crazy specific gameplay inputs which reminds me of the good old schoolground hoaxes. "Yeah man you got to go exactly 45 steps over the nugget bridge then 3 to the left and then you fight 1 trainer, catch 10 female pikachu and then you go to Bill and he will give you the mewthree, but only if you have 6 level 100 pokemon in your party!" They were actually right all along, haha!
Even the real working Mew glitch sounds like it. “Just press start as a trainer sees you and teleport away, then fight this specific other trainer then when you get back to nugget bridge, Mew will spawn.”
Sethbling is a wizard when it comes to ace RTA. I never imagined anyone would actually seriously attempt that when it was discovered. And seeing how quickly he got it was nuts. This is hilarious. As someone with a lot of programming experience, this is the kind of thing I always imagined was possible, but never expected to see happen.
Started watching Sethbling for his Minecraft videos, but the code injection stuff he's done just blows my mind, remember when he did that Flappy Bird injection RTA?
@@Sharpman76 haha that's exactly how I found him too. Stuff like his absurdly long timers and such. And yeah the flappy bird video is great. It still blows my mind that people have actually used controller inputs and in-game actions to inject code into completely closed systems, and literally build a game inside another.
That’s an epic glitch in the recreation of SMB where each Bowser seems to turn into a living enemy rather than a dead enemy after being hit with 5 fireballs.
By the way, the Minus Worlds vary on what Super Mario World ROM you use. Therefore, there are infinitely many possibilities of the Minus World. However, world D-D, or world 36-57 is the furthest you could go as that world is 00/80/Underwater Coin Bonus. Your's is: -1=26/A6/5-3, -2=44/C4/Underground 4-4, p4plus2's is -1=1A-9A/Underwater 4-2, -2=38/B8=Overworld Coin Bonus, -3=55/D5, -4/6A/EA, -5=14/94/Underwater 5-2. Game crashes in this world.
Would be cool, but unlikely. SM64 and OoT are both N64 games, and the N64 doesn't have enough RAM to hold all of SM64. Also, SM64 is 1728 times the size of SMB1 (54 MiB vs 32 KiB), but the data transmission speed of controller ports didn't change much from one console to the next. So instead of taking just a few seconds to load a game, it would likely sit at a blank screen for over an hour while it sent data. But maybe someone could do SM64 inside Skyward Sword. And maybe the Wii could speed up the transfer by using a network adapter, or run SMB1 for an hour while transmitting data for SM64.
@@Bagel_Le_Stinky Yes, the OP was obviously meant to be humorous. And I'm an embedded systems developer who enjoys pushing the limits of old hardware. And you're an aspiring game reviewer. Glad we got that sorted out. Good luck with that, BTW!
5:55 Kosmic said "like button" by accident and the like button lit up, I was so confused until I went back and noticed he actually did say it unintentionally lol
I know this was 2 years ago, but I am requesting a speedrun category for SMW: Name: Minus% How to play: Step 1: Boot up Mario World and go to Yoshi's Island 2. Step 2: Pull off the exact inputs Kosmic does from 0:48 to 1:30 Step 3: Speedrun worlds 1-1 and 1-2 in SMB. Step 4: Pull off the Minus World glitch. Step 5: Speedrun worlds -1 and -2. Step 6: Stop the clock.
@@irok1 it’s called quantum mechanics and shared consciousness. Those could be exploited for the fastest suicide percentage to score a time of -6 months, for a 14 year timespan for the get laid speed run, or maybe even the past life gravestone% playtrghough.
@@HarrisonDotNET what if mario allstars had those exact nes versions of those games bundled in,with whether snes audio or digitized nes audio, i bet it would,ve sold waaay less.
A game is just a "program" (code) and SNES is a "computer". The catch to understanding Arbitrary Code Execution is that the SNES can execute code not just from the cartridge which contains the ROM chips (by the way, modern computers can't do that, since there aren't any devices equivalent to the role of a cartridge), but also from the RAM chips (located on the motherboard instead, modern computers execute code only from RAM). There might not be any official use for executing code from RAM in a game console that can execute directly from ROM, but since it was based on an architecture of a regular general-purpose computer and a general-purpose CPU, it can do that. By moving objects around in a certain way in SMW you're just copying some code into the RAM and finally executing it (running that code).
2 года назад+1
Self-modifying code might be useful for a game console with cartridges, too. Devs like to play crazy tricks.
sorry for the late response, but _in theory_ it is, though it would be a lot harder than SMB in SMW. although i didn't personally work on the project, i suspect that one of the reasons why this was possible was because the snes and the nes are in the same processor family. both make use of 6502 derivatives, and the snes cpu is fully compatible with the nes 2a03, so the hardest part is gonna be audio and graphics, but not the game logic. the n64 and snes on the other hand are completely different. they are completely different cpus; different architecture, manufacturer, and even different programming language. the nes and snes are programmed in assembly, but the n64 is programmed in C. for something similar to happen, they'd probably need to write an entire emulator so smw could run, which is gonna be a lot more than the 40-ish kibibytes of SMB.
@@SoulcatcherLucario tbf, c compiles down to machine code, and assembly is basically just human readable machine code. The problem isn't the different programming languages used. Just the fact the different processors use different machine code.
(4:39) Wow, that miracle Bullet Bill save. (12:38-12:44) Heh, the second death theme kicked in early, cutting off the castle clear music earlier than I expected. (21:57) LOL, the Blooper's alive, having risen from the fake Bowser's corpse! (22:38) "GRAVATOS: This is why you stay till the end of the stream. You get some nice Bloopers!" (23:17) Bowser must be wearing fireproof armor now. (25:46) Congratulations on your 5:02 in SMB in SMW!
A very short summary of why this is possible is: Super Mario World stores game data in the same memory space it stores its own code. Certain glitches can make the program attempt to execute game data as if it were code. And game data can be manipulated precisely using TAS, meaning you can make it have the same values as certain commands in the game's engine. With a very, very creative use of the flaws in the game's engine, its possible to rewrite the game from the inside.
@@RilGames. After the game crashes the TAS robot starts inputing commands every frame to rewrite the memory using button presses, so there's a lot more going on than just Mario's visible movements.
That was super cool to watch Kosmic! I loved the guests and their input on the technical issues of how they created this game within a game. Thanks for the awesome vod.
I would love to have this happen in the NSO service. Feel like that would require an entirely different method of injecting inputs though, but I'd still wanna see this done on Switch
5:55 You accidentally said "Like" as a filler word. In one of RUclips's recent updates, it starts detecting words in the audio such as "Like" or "Subscribe" and highlights the respective button when the word is said. It's ironic that it picked up you're usage of the word as a call-to-action, when actually you said it accidentally as, like, a filler word.
6:38 Shout-out to SethBling for executing the SMW credits warp glitch! I'll never forget seeing him show/discover that was humanly possible for the first time, it was insane
I’ve heard how it’s been done but I don’t understand it at all, how was this possible? How’d it generate all the code and assets down to the glitches? Did it use the SMB1 source code? Questions aside, this is REALLY cool. Amazing video!!!
@@ultranitro2361 An accessory is used to match the exact pixel-perfect positioning required to achieve this without wasting hours of your life. No accessory is needed for the actual code execution, though.
The subscription ratio you showed really surprises me because your content is always so high-quality, entertaining, and well-edited. I definitely think more people should subscribe!
I was debating whether I should bother watching past the beginning since I figured it'd just be a normal SMB1 playthrough from that point, but you succeeded in making it VERY entertaining VERY quickly and worth watching
Know what would be even more impressive??? Do ACE in Mario Oddyssey to play Mario Sunshine, then ACE in Sunshine to play Mario 64, then ACE in 64 to play SMW, then ACE in SMW to play SMB, then ACE in SMB to play Donkey Kong.
I’m wondering about the legal ramifications of this, because while distributing a version of super Mario brothers is illegal without Nintendo’s permission, but distributing a chain of inputs is not, so that brings up the question of is it illegal to distribute a line of inputs that works on ANY snes game, but just so happens to recreate an unofficial, unlicensed version of super Mario bros when the inputs are specifically used on one specific game
Oh yeah, that's such a fascinating question. Like technically it's a distribution of the "code" of the game? But also, reverse engineer decompiling of gamecode has court precedence for being legal, so it should be fine under that...? Haha
26:01 I'm not sure if putting the payload in manually in that way is possible for a human but what you could technically do is putting the code in via the SMW Hex editor that Sevbling made
Dude, when you’re an ignoramus like me, and you slowly realize what these people actually did, the feeling that sweeps over you is beyond description. Wow you guys. Beyond words amazing.
This in fact proves that SNES CPU is binary compatible with NES code, and thus backwards compatibility is actually possible at the time. There's a story that apparently Nintendo was contemplating on adding backwards compatibility with NES, hence the use of a slower CPU compared to its peers. The compatibility feature is axed, but the CPU was kept. I don't know if it's true or it's just an urban legend though, so don't quote me on it.
Imagine glitching Super Mario World into Super Mario World. Not just by running code to reset the game - I mean like making the international version run the Japanese version or vice versa, or making it run the NES bootleg SMW. Or even glitching the GBA version into the SNES version if that's possible somehow?
If it counts i wrote the flappybird ACE exploit for seth too. Glad people enjoyed that as much as they did and remember it. Maybe I should do a tech write up about the "how it works" and how to cram a game like flappy bird into 300 bytes of code/data. (Quick edit: And huge thanks goes to seth for the testing and execution/presentation of that ACE, it took tons of testing and practice!)
@@p4plus2 Hey, I am so sorry to bother you about this, I probably just completely missed it. But is there any write up/documentation of the payload used here, converting the old NES ROM/Data into the payload for the SNES SMW ACE? I found some rather indicative repos on your GitHub concerning tooling for such tasks (at least I imagine them to be), but I'd love to learn more about the whole process, mostly concerning the nes2snes game/engine conversion! :D If there is no write up I can totally understand though, I'm sure such things take an immersive amount of time! Anyway, love your incredibly impressive work, concerning Flappy Birds and this one here!! Edit: ah, I just now realise there is a ~1h technical explanation in the uncut version, which is giving some interesting insight, tyvm! :)
@@PJMM there is also some even more details in the comments of the technical video. One of these days i do need to make a proper writeup, in the mean time if you ever have any questions be sure to ask and I'll try to answer when i have time :)
@@p4plus2 Wow, thank you so much for your kind response, it's really appreciated! :) And while I'd certainly love to read a full writeup, I do understand that a proper one takes quite some time to make! And as it still is a hobby project (albeit a very cool one!), please do take your good time! :D
This is absolutely mental. It should be impossible. You just briefly do something out of ordinary in a game and boom, you've just coded a completely different game which you can play. Just doesn't compute.
Hey Kosmic, this is a lil' off topic but, have you ever played the arcade version of SMB1? It's really not much of a difference, except for some subtle changes between the two (ie. world 1-1's power-up block after the first enter-able pipe is in the first block of the top row, instead of in the middle of the bricks on the bottom row.) There ARE, however, a few levels that are really different from one another...and, I bring it up, because I'm curious about what a speedrun would look like using this version. Would you be up to the "challenge?"
I havent ran it but I've dabbled in high score. I'm not really interested in speedrunning it but some day I'll get a cabinet and do high score runs. Most of the levels that are different are from SMB2-J/Lost Levels. VS. SMB is like an interesting middle game between the two, where it's half smb1 and half lost levels. Here's the speedrunning leaderboard: www.speedrun.com/vssmb
Full technical explanation: ruclips.net/video/t7yj_ypLUYk/видео.htmlh25m56s
Hope you enjoy :) and many thanks to people who made this possible, such as p4plus2, ownasaurus, masterjun, etc.
Link to the full TAS?
@@briban65 In the description I linked to the GDQ showcase where it premiered
soup
I was just about to comment "wish you explained the tech and setup more". Thanks
Your smile makes me happy.
so let me get this straight:
the tasbot here first makes specific inputs to be able to alter the code so that the next set of inputs will write stuff into memory and once it reached that point it uses the controller ports to make specific inputs to write the entire code of SMB1 into the memory. Like it's not using the port to copy the game into SMW. It's as if someone had perfectly memorized Hamlet by Shakespear and instead of just giving you a retail copy of the book he just pulls out some empty paper and a pen and writes it all down on that paper. The paper here being SMW prepared in such a way that you can use the controllers as a pen to write on it.
Does that make sense?
epic
magical
Writing a memorized book in another book
quoth the raven "it was the best of times, it was the worst of times"
So in other words:
Tasbot actually writes all the code for Super Mario Bros into Super Mario World from the controller port, which it can do because it can write things on the game’s memory by inputting specific button combinations.
Hope that makes sense
Yoshi: "Mario help me save my friends!"
Mario: "Actually I just need you so I can travel back in time to save the Mushroom Kingdom."
So Yoshi was a time machine and not just some random friendly dinosaur...
"Mario, you gotta help me rescue my friends!"
"Yeah, hang on, I'm gonna go back in time and prevent that from happening in the first place."
Yoshi : ....wut?
We’re going back in time to the first Super Mario game to get the princess out of the castle.
@@darthadipose1920That’s right. We’re going back in time to the first Super Mario game to get the princess out of the castle.
I cant wait for "speedrunning super Mario 64 in smb1"
ruclips.net/video/HGmpdMJTShM/видео.html
@@Kosmicd12 oh
@@Kosmicd12 ye i know i made it as meme that someone Will make smb 64 Romhack in smb1
@@Kosmicd12 the other way around, fixel meant. The link is SMB1 in SM64, and fixel asked for SM64 in SMB1.
@@Kosmicd12 wrong way around
The beginning was a tas? Dang, for a sec I really thought kosmic was secretly an smw kaizo master with those midairs
My mind was melting watching him do the intro. I was like “how in the actual f does anyone at all casually become this good?”
Especially because I could tell he was setting up for code execution, and doing that by hand for a whole game is … incomprehensible.
If my memory serves correctly Sethbling actually did this and managed ace to warp to the end credits
Exactly wtf
I adore that ACE basically consists of crazy specific gameplay inputs which reminds me of the good old schoolground hoaxes. "Yeah man you got to go exactly 45 steps over the nugget bridge then 3 to the left and then you fight 1 trainer, catch 10 female pikachu and then you go to Bill and he will give you the mewthree, but only if you have 6 level 100 pokemon in your party!"
They were actually right all along, haha!
Even the real working Mew glitch sounds like it. “Just press start as a trainer sees you and teleport away, then fight this specific other trainer then when you get back to nugget bridge, Mew will spawn.”
I’d assume because ACE is injecting data into the game, it can probably get more information in if the list of potentially actions is longer
ACE setups in 1st gen pokemon are crazy. 8f can do literally anything with the correct execution.
I liked when one person said "OH NO I KNOW WHAT ABOUT TO HAPPEN" right before the game loaded smb1
I love that the details about how the SMW sound engine was removed and replaced with SMAS' engine. This is super cool!
Sethbling is a wizard when it comes to ace RTA. I never imagined anyone would actually seriously attempt that when it was discovered. And seeing how quickly he got it was nuts.
This is hilarious. As someone with a lot of programming experience, this is the kind of thing I always imagined was possible, but never expected to see happen.
Started watching Sethbling for his Minecraft videos, but the code injection stuff he's done just blows my mind, remember when he did that Flappy Bird injection RTA?
@@Sharpman76 haha that's exactly how I found him too. Stuff like his absurdly long timers and such. And yeah the flappy bird video is great. It still blows my mind that people have actually used controller inputs and in-game actions to inject code into completely closed systems, and literally build a game inside another.
this is literally such a technical marvel and we use it to play older games on slightly newer hardware. I love it.
I mean what else is it good for besides modifying SMW anyways. It's an SNES not like you're gonna run Windows on it lmao.
@@tripletsborn Don't worry, I'm working on that.
@@theblackwidower have fun lol. You porting the NES bootleg Windows 95 or smth?
@@theblackwidowerhow’s it going with it
@@theblackwidowerYeah bro, how's it going?
when people ask Kosmic "whats your favorite emulator, Project64? ZSNES? Dolphin?"
...Kosmic answers "Super Mario World"
5:55 bro says "a reset, uh, like button combination" and the like button starts glowing, lmao
That’s an epic glitch in the recreation of SMB where each Bowser seems to turn into a living enemy rather than a dead enemy after being hit with 5 fireballs.
how did you get the TAS?
@@channel-uz9fz its in the video
Thanks for demoing this and allowing me on stream to talk about the ACE. Had a lot of fun, looking forward to when i give you the secret project :)!
Thank you for all you've done throughout the years! I legitimately admire your capabilities and these things have entertained me so much!
WAIT THEY FINALLY DID IT?? I remember they said they wanted to make this but they ran out of time so they made pong and snake instead.
they made it in 2015 lol
@@Kosmicd12 I have been living under a rock you know that
@Michael M I feel that
@@ju2tunknown I feel that
@@psychotheunsane7285 I feel that
I’m honestly glad that the game does run slower. No chance that anyone could argue that playing SMB in SMW is the new Any%. No.
I didn't know that bowser's final form was as a blooper, truly his strongest form he's gotten in the mario franchise yet!
Bowser having a second boss form to fight was quite a fun surprise!
Kosmic's "Hey, friends" ("Alright, friends" in this one) is one of the most wholesome intros I've seen on this site.
I agree
Next:Typing "Mario Teaches Typing" code inside of SMW
"It's literally the same except for the parts that are different."
Ah yes, that clears everything up. Thanks!
Your reaction at 21:54 is absolutely priceless
By the way, the Minus Worlds vary on what Super Mario World ROM you use. Therefore, there are infinitely many possibilities of the Minus World. However, world D-D, or world 36-57 is the furthest you could go as that world is 00/80/Underwater Coin Bonus. Your's is: -1=26/A6/5-3, -2=44/C4/Underground 4-4, p4plus2's is -1=1A-9A/Underwater 4-2, -2=38/B8=Overworld Coin Bonus, -3=55/D5, -4/6A/EA, -5=14/94/Underwater 5-2. Game crashes in this world.
with the arbitrary code execution glitch found in zelda OOT we could play (in theory) SMB1 on the N64
I keep thinking there's only so many ways to play smb1 and every time I'm pleasantly surprised
in 15 years: playing sm64 inside OoT
Would be cool, but unlikely. SM64 and OoT are both N64 games, and the N64 doesn't have enough RAM to hold all of SM64.
Also, SM64 is 1728 times the size of SMB1 (54 MiB vs 32 KiB), but the data transmission speed of controller ports didn't change much from one console to the next. So instead of taking just a few seconds to load a game, it would likely sit at a blank screen for over an hour while it sent data.
But maybe someone could do SM64 inside Skyward Sword. And maybe the Wii could speed up the transfer by using a network adapter, or run SMB1 for an hour while transmitting data for SM64.
@@ToyKeeper it was a joke
@@Bagel_Le_Stinky Yes, the OP was obviously meant to be humorous. And I'm an embedded systems developer who enjoys pushing the limits of old hardware. And you're an aspiring game reviewer. Glad we got that sorted out. Good luck with that, BTW!
Sm64 already got a strat by playing oot (i know he said that as a joke)
Worst thing someone can do in yt comments section is reply "it was a joke" unnecessarily. It's so damn annoying.
4:39 even when you're going to die, your skills and the game itself won't let you do that xD
4:42 I imagine you were almost going to say "Saved by the Bill".
Imagine owning one of those devices back in the day, and bringing it to a friend’s place.
Mario entered a straight up pocket dimension just to save Peach
5:55 Kosmic said "like button" by accident and the like button lit up, I was so confused until I went back and noticed he actually did say it unintentionally lol
I know this was 2 years ago, but I am requesting a speedrun category for SMW:
Name: Minus%
How to play:
Step 1: Boot up Mario World and go to Yoshi's Island 2.
Step 2: Pull off the exact inputs Kosmic does from 0:48 to 1:30
Step 3: Speedrun worlds 1-1 and 1-2 in SMB.
Step 4: Pull off the Minus World glitch.
Step 5: Speedrun worlds -1 and -2.
Step 6: Stop the clock.
Wow, it's easy to forget that Arbitrary Code Execution really does mean arbitrary...
Can't wait for someone to ACE in real life
@@irok1 It’s been done to beat the game and to play flappy bird
@@irok1 it’s called quantum mechanics and shared consciousness. Those could be exploited for the fastest suicide percentage to score a time of -6 months, for a 14 year timespan for the get laid speed run, or maybe even the past life gravestone% playtrghough.
HECK YES!!!
Imagine if Super Mario Bros was actually coded into Super Mario World and you had to glitch the yoshi to access it.
Imagine
yeah but this is far more impressive
Ngl I thought that at first
if they did it probably would've been all stars smb1
@@HarrisonDotNET what if mario allstars had those exact nes versions of those games bundled in,with whether snes audio or digitized nes audio, i bet it would,ve sold waaay less.
That was really cool. Also bowser being a blooper was unexpected. Amazing job making this!
A game is just a "program" (code) and SNES is a "computer". The catch to understanding Arbitrary Code Execution is that the SNES can execute code not just from the cartridge which contains the ROM chips (by the way, modern computers can't do that, since there aren't any devices equivalent to the role of a cartridge), but also from the RAM chips (located on the motherboard instead, modern computers execute code only from RAM). There might not be any official use for executing code from RAM in a game console that can execute directly from ROM, but since it was based on an architecture of a regular general-purpose computer and a general-purpose CPU, it can do that.
By moving objects around in a certain way in SMW you're just copying some code into the RAM and finally executing it (running that code).
Self-modifying code might be useful for a game console with cartridges, too. Devs like to play crazy tricks.
5:06 Those underground bloops are cool!
This is actually the most amazing thing I've ever seen done with video games
But can you insert Super Mario World into something like Ocarina of Time? And if so, how deep could the games-in-games rabbit hole run?
yes
this needs to happen
sorry for the late response, but _in theory_ it is, though it would be a lot harder than SMB in SMW. although i didn't personally work on the project, i suspect that one of the reasons why this was possible was because the snes and the nes are in the same processor family. both make use of 6502 derivatives, and the snes cpu is fully compatible with the nes 2a03, so the hardest part is gonna be audio and graphics, but not the game logic.
the n64 and snes on the other hand are completely different. they are completely different cpus; different architecture, manufacturer, and even different programming language. the nes and snes are programmed in assembly, but the n64 is programmed in C.
for something similar to happen, they'd probably need to write an entire emulator so smw could run, which is gonna be a lot more than the 40-ish kibibytes of SMB.
@@SoulcatcherLucario tbf, c compiles down to machine code, and assembly is basically just human readable machine code. The problem isn't the different programming languages used. Just the fact the different processors use different machine code.
@@GhostGlitch. that's what i meant to say
They had us in the first half not gonna lie
I know u keep on commentingsaa a. A a a a
@@fixel5578 yep I'm basically a guy who comments for fun
YOOOO I GOT A HEART
@@MashupProductions22 coollll
@@MashupProductions22 smart to not edit it, you wouldve lost the heart
(4:39) Wow, that miracle Bullet Bill save.
(12:38-12:44) Heh, the second death theme kicked in early, cutting off the castle clear music earlier than I expected.
(21:57) LOL, the Blooper's alive, having risen from the fake Bowser's corpse!
(22:38) "GRAVATOS: This is why you stay till the end of the stream. You get some nice Bloopers!"
(23:17) Bowser must be wearing fireproof armor now.
(25:46) Congratulations on your 5:02 in SMB in SMW!
A very short summary of why this is possible is: Super Mario World stores game data in the same memory space it stores its own code. Certain glitches can make the program attempt to execute game data as if it were code. And game data can be manipulated precisely using TAS, meaning you can make it have the same values as certain commands in the game's engine.
With a very, very creative use of the flaws in the game's engine, its possible to rewrite the game from the inside.
that doesnt explain making a entire game with sound in 4 minutes with just some movement
@@RilGames. After the game crashes the TAS robot starts inputing commands every frame to rewrite the memory using button presses, so there's a lot more going on than just Mario's visible movements.
I’m waiting for the day Kosmic uploads a video titled “speedrunning super Mario bro’s inside super Mario bro’s”
That was super cool to watch Kosmic! I loved the guests and their input on the technical issues of how they created this game within a game. Thanks for the awesome vod.
i love how kosmic goes full question mark at 21:55
I would love to have this happen in the NSO service. Feel like that would require an entirely different method of injecting inputs though, but I'd still wanna see this done on Switch
5:55 You accidentally said "Like" as a filler word.
In one of RUclips's recent updates, it starts detecting words in the audio such as "Like" or "Subscribe" and highlights the respective button when the word is said.
It's ironic that it picked up you're usage of the word as a call-to-action, when actually you said it accidentally as, like, a filler word.
6:38 Shout-out to SethBling for executing the SMW credits warp glitch! I'll never forget seeing him show/discover that was humanly possible for the first time, it was insane
ACE in Legend of Zelda: Ocarina of Time -> ACE in Super Mario World -> ACE in Pokémon Red or Blue -> Some obscure game nobody's ever heard of.
Man, seeing Kosmic speedrunning SMB makes me feel nostalgic. Even if it's a Frankenstein's version of it.
I’ve heard how it’s been done but I don’t understand it at all, how was this possible? How’d it generate all the code and assets down to the glitches? Did it use the SMB1 source code?
Questions aside, this is REALLY cool. Amazing video!!!
basically just injecting smb1 code into mario world whit an accesory or something idk
@@ultranitro2361 it isnt an accesory, it's what's possible in the unedited smw cart
@@olds86307 This is even cooler then
@@ultranitro2361 An accessory is used to match the exact pixel-perfect positioning required to achieve this without wasting hours of your life. No accessory is needed for the actual code execution, though.
@@GarryDumblowski Oh ok, make sense
This is so impressive it just blows my mind. To the team that pulled this off, nice job!
Next I’d love to see Kosmic collab with suckerpinch to play Super Mario World on an NES
super mario bros in super mario world on nes
21:54 here goes the blooper reel :)
5:56 lmao youtube registers it as "like button" instead of "like, button" and the like button lights up
I love how it retains all the original bugs. And more!
That's because they basically replayed the SMB1 cartridge's binary data into SMW here.
@ how is all that done in 1 minute of inputs?
@@homeyworkeyVia 4 (virtual) controllers and computers doing the input.
@ i know that, but still a minute of inputs to write who how many millions of 0's and 1's? thats where i get confused and no one rly explains it.
I really enjoyed watching this live and I’m glad I can rewatch it here! :D
12:06 I loved the water music so much!
“Princess Peach help I have time traveled back to the past after doing some shit with Yoshi and now I’m here
I can't believe how many world records he got in this video!
Mario goes back in time to save peach.
okay for a second i thought you were actually that cracked at mario world
The subscription ratio you showed really surprises me because your content is always so high-quality, entertaining, and well-edited. I definitely think more people should subscribe!
I love these lonely little comments
@@Sadeness99 I have nothing to gain from Kosmic. The statement is genuine.
@@RaycrowX yea I know, its a lonely little polite comment
@@Sadeness99 kk haha
You have to remember that it's like a bus. If you miss the bus, you have to wait for the next one.
Arbitrary code execution is basically glitching the game so hard you can make it do whatever you want
That is kind of cool. I assume any game should be possible as long as it fits right.
God it was such a weird experience hearing the all stars sound effects on original smb1 gameplay.
38% of people are subscribed! WOW! I swear it was 2% last year. That’s pretty cool Kosmic
I was debating whether I should bother watching past the beginning since I figured it'd just be a normal SMB1 playthrough from that point, but you succeeded in making it VERY entertaining VERY quickly and worth watching
What a masterpiece this arbitrary code execution is!
Backdoor glitches taken to their logical endpoint
So this means Mario could Time Travel in Super Mario World before Link did Legend of Zelda: Ocarina of Time.
It's honestly amazing how some words go in one ear and then just out the other
Know what would be even more impressive??? Do ACE in Mario Oddyssey to play Mario Sunshine, then ACE in Sunshine to play Mario 64, then ACE in 64 to play SMW, then ACE in SMW to play SMB, then ACE in SMB to play Donkey Kong.
Ace is possible in only 1 of those games lol
Nooooo
Bowser still lives in 8-4 under the lava on Kosmic's snes
Why does nobody talk about how 3:39 is a perfect cut?
Because this is from 3 years ago 😛
I’m wondering about the legal ramifications of this, because while distributing a version of super Mario brothers is illegal without Nintendo’s permission, but distributing a chain of inputs is not, so that brings up the question of is it illegal to distribute a line of inputs that works on ANY snes game, but just so happens to recreate an unofficial, unlicensed version of super Mario bros when the inputs are specifically used on one specific game
Oh yeah, that's such a fascinating question. Like technically it's a distribution of the "code" of the game? But also, reverse engineer decompiling of gamecode has court precedence for being legal, so it should be fine under that...? Haha
Ok, i was nervous you were better than the majority of speedrunners on smw
26:01 I'm not sure if putting the payload in manually in that way is possible for a human but what you could technically do is putting the code in via the SMW Hex editor that Sevbling made
The sequel to doom can run on anything
kid: i want super mario bros
mom: no i already baught you super mario world
kid:
mario seriously jusy time travelled back to the NES days just to save peach again and all he did was move randomly
Dude, when you’re an ignoramus like me, and you slowly realize what these people actually did, the feeling that sweeps over you is beyond description. Wow you guys. Beyond words amazing.
This in fact proves that SNES CPU is binary compatible with NES code, and thus backwards compatibility is actually possible at the time.
There's a story that apparently Nintendo was contemplating on adding backwards compatibility with NES, hence the use of a slower CPU compared to its peers. The compatibility feature is axed, but the CPU was kept.
I don't know if it's true or it's just an urban legend though, so don't quote me on it.
Imagine glitching Super Mario World into Super Mario World. Not just by running code to reset the game - I mean like making the international version run the Japanese version or vice versa, or making it run the NES bootleg SMW. Or even glitching the GBA version into the SNES version if that's possible somehow?
1:09 the moment I realized that you're doing some wacky bit manipulation shite
I wonder if you could do this on Switch SMW… some kind of USB controller TASbot
hmmm i wonder
it may be possible, but there's a crash screen on the emulator i've seen whilst trying SMB3 wrong warp a few times
When I saw you setting up the ACE I immediately thought of SethBling
If it counts i wrote the flappybird ACE exploit for seth too. Glad people enjoyed that as much as they did and remember it. Maybe I should do a tech write up about the "how it works" and how to cram a game like flappy bird into 300 bytes of code/data. (Quick edit: And huge thanks goes to seth for the testing and execution/presentation of that ACE, it took tons of testing and practice!)
@@p4plus2 good to know
@@p4plus2 Hey, I am so sorry to bother you about this, I probably just completely missed it.
But is there any write up/documentation of the payload used here, converting the old NES ROM/Data into the payload for the SNES SMW ACE?
I found some rather indicative repos on your GitHub concerning tooling for such tasks (at least I imagine them to be), but I'd love to learn more about the whole process, mostly concerning the nes2snes game/engine conversion! :D
If there is no write up I can totally understand though, I'm sure such things take an immersive amount of time!
Anyway, love your incredibly impressive work, concerning Flappy Birds and this one here!!
Edit: ah, I just now realise there is a ~1h technical explanation in the uncut version, which is giving some interesting insight, tyvm! :)
@@PJMM there is also some even more details in the comments of the technical video. One of these days i do need to make a proper writeup, in the mean time if you ever have any questions be sure to ask and I'll try to answer when i have time :)
@@p4plus2 Wow, thank you so much for your kind response, it's really appreciated! :)
And while I'd certainly love to read a full writeup, I do understand that a proper one takes quite some time to make! And as it still is a hobby project (albeit a very cool one!), please do take your good time! :D
21:56 that reaction omfg
Still more accurate than NESticle.
i feel like a lot of people wouldn't get this joke
I'm starting to think TAS ingenuity has gone too far
...Just kidding, let's keep going!
The alternate timeline where mario was just starting his vacation before realizing bowser kidnapped the princess again
This is absolutely mental. It should be impossible. You just briefly do something out of ordinary in a game and boom, you've just coded a completely different game which you can play. Just doesn't compute.
There’s a lot of different things happening that go on behind the scenes
Hey Kosmic, this is a lil' off topic but, have you ever played the arcade version of SMB1? It's really not much of a difference, except for some subtle changes between the two (ie. world 1-1's power-up block after the first enter-able pipe is in the first block of the top row, instead of in the middle of the bricks on the bottom row.)
There ARE, however, a few levels that are really different from one another...and, I bring it up, because I'm curious about what a speedrun would look like using this version.
Would you be up to the "challenge?"
I havent ran it but I've dabbled in high score. I'm not really interested in speedrunning it but some day I'll get a cabinet and do high score runs. Most of the levels that are different are from SMB2-J/Lost Levels. VS. SMB is like an interesting middle game between the two, where it's half smb1 and half lost levels. Here's the speedrunning leaderboard: www.speedrun.com/vssmb
this is just like that animal crossing video lol
Agree lol also I thought ur pfp was a blue water ballon kirby lol no offense bro ur pfp kinda kool
@@Princy_K ty my friend made it
Np!
YESSSSSS KOSMIC DOING ACE
TWO OF MY FAVORITE THINGS
I need to turn on notifications because I don't know if he's done ace before
shout-outs to the guy who said the SNES ram was smaller than smb1. like imagine being so confident and so wrong
Since I first saw the tas I wanted someone to play it
hearing all stars music in regular smb sounds cursed
Cant wait to see New super mario bros world 64 wii deluxe 3d world oddyessy galaxy, played with an origianal cartridge of tetris, of course