[TAS] Super Mario World "Arbitrary Code Execution" in

  Рет қаралды 885,864

Masterjun3

Masterjun3

Күн бұрын

Пікірлер: 858
@atomicV1sion
@atomicV1sion 9 жыл бұрын
The human equivalent of this would be like poking someone with a stick in seemingly random places on their body and then suddenly they start singing Italian opera.
@Alzter0
@Alzter0 9 жыл бұрын
+Zane Whitney Yep
@homestuck_official
@homestuck_official 9 жыл бұрын
"You are already a soprano"
@alxndr2000
@alxndr2000 8 жыл бұрын
ima try this
@adracamas
@adracamas 8 жыл бұрын
+Just a youtube commenter ROFLMAO You freaking win
@renakunisaki
@renakunisaki 8 жыл бұрын
Randomly poking at someone's brain and suddenly they're Einstein.
@michaelpowell3204
@michaelpowell3204 11 жыл бұрын
I wasn't that impressed until I realized that he didn't hack the rom directly but glitched it to the point that he could inject code via controller inputs. That's just astonishing.
@witchymaoki5165
@witchymaoki5165 2 жыл бұрын
reminds me to that súper mario land 2 bug
@NomeCreativo
@NomeCreativo 2 жыл бұрын
@@witchymaoki5165 what bug?
@f.n.8540
@f.n.8540 2 жыл бұрын
@@NomeCreativo by clipping out of bounds mario can reach areas of RAM corresponding to the game states, edit them with his feet and cause the game to enter the credits state (after entering a level)
@TauCannon
@TauCannon Жыл бұрын
this is why TAS is such a cracked gamer
@h8GW
@h8GW Жыл бұрын
Killed your 666 likes, sorry.
@artman40
@artman40 9 жыл бұрын
If those inputs were made by a real person on a keyboard, it would look like hacking in a cheesy Hollywood movie.
@alxndr2000
@alxndr2000 8 жыл бұрын
yes
@tausifislam4971
@tausifislam4971 8 жыл бұрын
+artman40 seth bling actually made a video injecting code for flappy bird in smw
@jongyon7192p
@jongyon7192p 8 жыл бұрын
I wonder, if this was actually done in-real-time, done with fingers actually pressing buttons, maybe it would theoretically set the surrounding air on fire and break everything.
@game4life12
@game4life12 8 жыл бұрын
+DeRockProject & the Attack of the Really Long Channel Name it was done by hand the very first time
@jongyon7192p
@jongyon7192p 8 жыл бұрын
game4life12 but not in real time.
@toasterman3000
@toasterman3000 11 жыл бұрын
Super Mario World should be taught as a new programming language
@-supercoolman1543
@-supercoolman1543 9 жыл бұрын
toasterman3000 THE FACTS
@islilyyagirl
@islilyyagirl 7 жыл бұрын
101th liker
@scuidthesquid
@scuidthesquid 6 жыл бұрын
@@islilyyagirl woow i am 300th and now
@nothing5819
@nothing5819 5 жыл бұрын
that's a game idiot
@Andrew-McCormick
@Andrew-McCormick 5 жыл бұрын
And Mario 3
@jakebeach1364
@jakebeach1364 10 жыл бұрын
For those who are wondering, the glitch set up with 8 controllers put into a computer. The people who made this made a hack to put all the controllers together btw. In the frames after this glitch is completed the code of smw can be re wrote to anything they can code in the few frames. The original idea for that glitch was that they would write the code of the original super mario bros game and then TAS that. Thanks for reading :3
@ilikecreeper331
@ilikecreeper331 5 ай бұрын
your explanation is not completely correct, they did not discover ace on smb1, it does not have the capabilities to allow ace in the first place
@JackBond1234
@JackBond1234 11 жыл бұрын
I only barely followed the technical memory layouts that were required for this, but I definitely got the gist, making this, as a computer science student, the coolest thing I've ever seen.
@superdonavanbrosgaming6206
@superdonavanbrosgaming6206 5 жыл бұрын
Them: are you a computer programmer Me: yes Them: what you use Me: super Mario world
@literallylegendary
@literallylegendary 4 жыл бұрын
more like 65c816 assembly
@RemX405
@RemX405 10 жыл бұрын
Mind = blown. I did code assembly before, which by itself is hard, but coding pure machine code with specific move set while in game itself to write a program in the ram then executing it is mind-blowing.
@flyforce16
@flyforce16 10 жыл бұрын
You sound very knowledgeable... how does this all work, exactly?
@RemX405
@RemX405 10 жыл бұрын
As I said in my post, this is all very complicated, but in layman terms, his moves are like lines of codes, which he writes in the memory of the consoles in a specific place/order. Then, he forces the game to execute the first line of code which leads to the other ones, making a program.
@Rhino1004
@Rhino1004 10 жыл бұрын
RemX405 Yeah, I heard that the specifics of the actions pre-total control are him shifting bits in memory around with the weird-looking double-fruit-eating antics and whatnot. The last pre-total control action shifted the final bits around to completely break the game - inputs after that proceeded to act as arbitrary code, resulting in him being able to program Pong and Snake in.
@cerulity32k
@cerulity32k 9 ай бұрын
​@@flyforce16 Assembly/machine code explanation: We write code in various programming languages that we can read. However, the CPU cannot read what we write directly. It has to be translated into machine code, which the CPU can read. The most basic 'programming language' is Assembly, which is actually just a more readable version of machine code. Some examples of Assembly instructions are MOV, [move from here to somewhere else], ADD [add two values together], and JMP [start executing somewhere else]. Every instruction corresponds to a specific value in machine code. For example, we can give MOV a value of 0 and ADD a value of 1, so that when the CPU comes across a 0, it knows it should move something, and when it comes across a 1, it should add two values instead. How ACE (Arbitrary Code Execution) works: When programs are written, the machine code generated is very specific and fragile. If one instruction or value is out of place, the entire program can come crashing down. So that's why extra care is taken to make the code as solid as possible, and that is also why higher-level programming languages are used, so that we don't have to deal with machine code. However, everything in a computer is bytes. Textures, sounds, levels, and machine code are all the same. The only difference is how they're interpreted. The CPU is never supposed to execute an image as if it were machine code, and vice versa. But, if we carefully set up Super Mario World in a very specific way, we can set up a JMP instruction to go somewhere it isn't supposed to. Now, instead of interpreting an image as an image, we instead start executing it's bytes as if it were machine code. If we set up the game to start executing the information of the objects in the level as machine code specifically, then we can move those objects to very precise positions, and when we do the ACE glitch, those positions are executed as machine code. How the games are constructed: We can execute a few instructions, but not Snake and Pong. Those object positions allow us to form a program that will read the controller's input and write them to memory, one after another. Since the controller's input is also read as bytes, we can input any sequence of instructions we want. Now we have the full system within our grasp, we can do whatever we want. We can make Pong, Snake, Flappy Bird (which SethBling has done in a real-time run with a different setup), and literally anything else.
@Beldraen
@Beldraen 11 жыл бұрын
The short version: There is a hole in the logic when Yoshi is commanded to send out its tongue to eat something. The game design uses offsets from these pointers to represent the code to be executed, say when you spit out a turtle so a turtle is created and goes flying away. There is a list of acceptable things to eat. Each of those have an entry that points to valid code. However, it turns out it's possible to very exactly time what gets eaten so you can eat something that isn't allowed, such as a P block. This will point to a location outside of the valid code. If you can get code at that location, you will cause the machine to execute it. It also turns out that the game does some cute programmer tricks to represent other events in the game right nearby where that code is executed. You would never know this unless you decompiled the game and watched it execute. It is possible to manipulate events in the game so that you end up with just enough machine code in a location that when you spit out the correct illegal item at the exact right time, you are now executing arbitrary code. It won't be much, but just enough to "demand load" code from somewhere else and then allow it to execute. Beautiful engineering.
@nmotschidontwannagivemyrea8932
@nmotschidontwannagivemyrea8932 Жыл бұрын
And *that* code can be used to open the game up to more code being injected into it, such as with the "jailbreak" that Sethbling made a few videos about.
@LanIost
@LanIost 11 жыл бұрын
As a programmer, this nearly brought me to tears. Its.. so.. beautiful...
@the_many
@the_many 10 жыл бұрын
this is some next level shit this is the hardest you can dominate a game
@aleckermit
@aleckermit 11 жыл бұрын
Need more TAS's where the game is re-programmed entirely haha.
@knuti27
@knuti27 4 жыл бұрын
They did twitch chat in pokemon or something
@skapaloka222
@skapaloka222 3 жыл бұрын
@@knuti27 that's something completely different
@Oscar97o
@Oscar97o 3 жыл бұрын
@@skapaloka222 They did something similar for Pokémon Yellow though, where they play Zelda and other games.
@skapaloka222
@skapaloka222 3 жыл бұрын
@@Oscar97o yea that one was amazing
@e-block9358
@e-block9358 10 жыл бұрын
Now THIS is "beating the game"
@silasreel983
@silasreel983 9 жыл бұрын
***** sethbling did this with one controller one a real console! kzbin.info/www/bejne/Z2XaonV3arZkr8U
@akudlac
@akudlac 9 жыл бұрын
+Silas Reel no that is credits warp
@franciscop.3279
@franciscop.3279 9 жыл бұрын
It's more of "beating up" the game
@Mainyehc
@Mainyehc 2 жыл бұрын
@@franciscop.3279 yep. Into a pulp. And then fashioning into something else.
@DangerousPictures
@DangerousPictures 8 жыл бұрын
and if we switch to gamemode 3, you can See the armor stands
@dotrain5844
@dotrain5844 6 жыл бұрын
xdxdxdxdxdxd
@rodmod
@rodmod 6 жыл бұрын
Matta's Account It’s called a JOKE.
@MewtwoMaster
@MewtwoMaster 5 жыл бұрын
Matta's Account Yes That's the joke
@kiaydemir
@kiaydemir 5 жыл бұрын
@@mattasaccount1663 fucking idiot
@aiwjdaiwkdwadkodawdawd
@aiwjdaiwkdwadkodawdawd 5 жыл бұрын
@@kiaydemir you're the fucking idiot he was joking dumbass
@MrCrazyToad
@MrCrazyToad 8 жыл бұрын
I legitimately want to see someone use Arbitrary Code Execution in Yoshi's Island to recreate Doom.
@coatlessali
@coatlessali 8 жыл бұрын
That isn't possible. This exists because of an exploit specific to this game.
@Optimus6128
@Optimus6128 8 жыл бұрын
That would be another level of "It Runs Doom!"
@MrCrazyToad
@MrCrazyToad 8 жыл бұрын
Optimus6128 That is exactly what I was thinking.
@MrCrazyToad
@MrCrazyToad 8 жыл бұрын
CoatlessEskimo9 I thought someone found a code execution glitch for Yoshi's Island, but if not, OK. I was just saying Yoshi's Island because it's one of only two games that uses the Super FX 2 Chip that was used to make the SNES port of Doom, the other one being said port.
@coatlessali
@coatlessali 8 жыл бұрын
MrCrazyToad Wait. I'll look it up.
@soulcalibrII
@soulcalibrII 11 жыл бұрын
TAS of the year already? Absolutely brilliant!
@FlipZFox
@FlipZFox 8 жыл бұрын
This... *This..* I am genuinely confused, and awe'd in amazement on how this was even REMOTELY possible... *Now this, is the definition of talent.*
@aurafox1
@aurafox1 9 жыл бұрын
Next thing is someone programming Fallout 4 into A Link to the Past.
@omegazeta
@omegazeta 8 жыл бұрын
Can't wait for the G.E.C.K.
@alxndr2000
@alxndr2000 8 жыл бұрын
brb doing
@kellymountain
@kellymountain 6 жыл бұрын
Someone HAS to program Sonic Mania into Super Mario World.
@MushroomRetainer
@MushroomRetainer 11 жыл бұрын
This is without a doubt the most impressive thing I have ever seen come out of TASing, and I've seen some crazy shit.
@Kaytsey
@Kaytsey 11 жыл бұрын
I've just seen this live on AGDQ and it's so awesome!
@nlicky
@nlicky 11 жыл бұрын
When I first saw this, I went "eh, I did already see advanced uses of ASM to do totally different things in SMW", so I underestimated its ingenuity of this video. Now, getting that result by inputting the code via controller inputs is amazing, so kudos for achieving such a result using a more complex way to reach it.
@TheLoveMario
@TheLoveMario 10 жыл бұрын
next episode-masterjun turns Super Mario World in Sonic the Hedgehog with the same glitch.
@potatosackstudios6374
@potatosackstudios6374 10 жыл бұрын
Bitch please I turned it into Halo 6 and that game isn't even out yet.
@darkplaya123
@darkplaya123 10 жыл бұрын
Brendan Harward not funny at all..
@potatosackstudios6374
@potatosackstudios6374 10 жыл бұрын
was pretty funny to me
@BinaryCounter
@BinaryCounter 10 жыл бұрын
He originally wanted to program super mario bros 3 into it and TAS that but he found out that there wasn't enough memory to do this.
@BinaryCounter
@BinaryCounter 10 жыл бұрын
7mario6 Yeah you're right. Sometimes my brain likes to switch things around for no reason... :/
@185TNTsChannel
@185TNTsChannel 8 жыл бұрын
soon we can play smw in smw in smw
@snoopweed4208
@snoopweed4208 8 жыл бұрын
Or maybe GTA V in SMW in SMW
@ego9939
@ego9939 8 жыл бұрын
+Alter Kühlschrank smw on smw on smw on windows virtual machine on windows virtual machine on a mac
@YungOstrich
@YungOstrich 8 жыл бұрын
+Ego Probably not
@solarflare9078
@solarflare9078 6 жыл бұрын
& Knuckles
@inkorporeal204
@inkorporeal204 6 жыл бұрын
@@ego9939 smw on smw on smw on virtual console on wii emulator on windows virtual machine on windows virtual machine on a Mac
@smbmadman1
@smbmadman1 9 жыл бұрын
So let me get this straight: The game glitches he caused alternated/added in game code And he managed to take that game code and execute Pong and Snake out of it. Did I hit that straight on the head?
@DeathBringer769
@DeathBringer769 9 жыл бұрын
Ryan S. He basically figured out how to code in Assembly and have the game run it using only controller inputs/glitches. Insane.
@ShadowriverUB
@ShadowriverUB 9 жыл бұрын
Deathbrewer Not really insane, code injections via interfaces are nothing new :p
@TLuigi003
@TLuigi003 9 жыл бұрын
+Shadowriver Well, using control input and sprites positions to create pong using a Mario game is really insane
@ShadowriverUB
@ShadowriverUB 9 жыл бұрын
TLuigi003 Well i heard about varius code injection methods, so this does not shock me. What is interesting that it come out of speedrun community, which are more interested in result of code rether then code inside reason why it's happening.
@ShadowriverUB
@ShadowriverUB 9 жыл бұрын
ethanwdp Price Ok mr programmer "How does somebody CODING PONG INTO SUPER MARIO WORLD using a controller with SIX BUTTONS on TWENTY YEAR OLD HARDWARE by TAKING ADVANTAGE OF THE INNER WORKINGS OF THE GAME not surprise you? In theory you can inject anything in to memory once you know where is "rabbit hole", it is one of basics of hacking and aspecially cracking and there a lot of of methods that use that. "TWENTY YEAR OLD HARDWARE" makes this a lot easier, because back then CPU and it's code as result was way more simplistic and written in assebler where you care more about making things to work then careing about security, thats why old games are more glitchy then modern games where simple bugs in game are more ambrasing for programer. "Who sat down to play Super Mario World, and then thought "What if I use arbitrary code execution to play snake and pong?" I think you have 0 idea what console hacking community do on daily basis if you saying something like that. "He had to carefully plan out this run, and then actually completes it. Do you know how fucking INSANE this is? This guy did this on real fucking hardware. He wrote code by jumping on sprites in a very specific order." He does not use 100% physics, i remind you he used scripted speedrun bot (which is whole point of his project?) and you can see button indicators go wild when his hack result started which i assume was actual moment of code injection. I assume in first stage he use memoery states to build simple code that create the access point for actual injection, if he was to inject the program of this size it with that method it would probably take a lot longer. I also think he studied memoery states and actual SMW code to predict this behavior, making this out of random is near to impossible and besides you need to write that albitery game first right? Indeed it is a lot of work but it's not shock to me, for me it's not insane, for me it something that i could see being possible via methods he used, i seen and read about a hell a lot more things, so this does not supprice me. "It's so mind bogglingly complex that I don't see how you just scoff and say "pfft, I've seen code injections via interfaces.", while COMPLETELY IGNORING THE FACT HE DID THIS ON FRACKING SUPER MARIO WORLD." If this is "mind bogglingly complex" for you, i'm assume you are higher language programmer, like those guys who come to UE4 forums and cry about lack of C# support and and say that it's a future of software development and say how C++ is full of shit and super hard, then came here and say how this is "mind bogglingly complex" and how they are mind blowned. Once you know deeper about software and hardware, the foundations of it, is not "mind bogglingly complex", but something you could see happen with some effort put in to it, which i don't deny. And again SMW is not first software with holes that let you inject code, PSP-3000 hacking was all about it because if you flash firmware in it bricks it the console, so code injection to memory was only valid method. "You can't even piece together a sentence. Could you stop tipping your god damn fedora and appreciate something for once?" 1. Sorry i'm not native english speaker 2. I don't deny his hard work on this project, i'm just saying it is very natural to understand this once you got some knowlage.
@winstonpayne2163
@winstonpayne2163 9 жыл бұрын
Python, step the fuck aside, C++? more like C--...Java? you ain't got shit, here comes mothafuckin' SUPER MARIO WORLD....SUPER..... *SUPER MARIO WORLD++!*
@drekthgrek5896
@drekthgrek5896 9 жыл бұрын
YAY I WISH IT WAS A REAL LANGUAGE...exept this looks much harder than c# :(
@winstonpayne2163
@winstonpayne2163 9 жыл бұрын
Gaming Dudester Real talk, i'd rather stab myself with a fork than try to program anything in SMW XD
@alxndr2000
@alxndr2000 8 жыл бұрын
+Gaming Dudester its just writing processor instructions, not that hard XD
@winstonpayne2163
@winstonpayne2163 8 жыл бұрын
Robert Stafford Yeah but it's writing processor instructions using fucking Super Mario World, dude... That's batshit!
@drekthgrek5896
@drekthgrek5896 8 жыл бұрын
Winston Payne yeh.
@CautiousJonny
@CautiousJonny 11 жыл бұрын
All I could thing of was, "WTF IS GOING ON?!"
@TriploonGD
@TriploonGD 6 жыл бұрын
>Hey man can you code? >yeah >what language? >Super Mario World
@theroxorzyourboxorz
@theroxorzyourboxorz 11 жыл бұрын
This is beyond incredible. You seriously programmed games inside another game by feeding input into that game. You deserve one free internet.
@wangus
@wangus 11 жыл бұрын
I'm not sure a game can be broken more than this.
@Yimo92
@Yimo92 11 жыл бұрын
definetly more broken than OoT ;D
@keiyakins
@keiyakins 11 жыл бұрын
Vetras Fckyougooglplus I'm pretty sure there's an arbitrary code exploit for OoT somewhere.
@noahlovotti7722
@noahlovotti7722 6 жыл бұрын
We will use it to gain access to the 4th dimension
@xxEzraBxxx
@xxEzraBxxx 4 жыл бұрын
@@keiyakins YOU PREDICTED THE FUTURE!
@xpex1209
@xpex1209 3 жыл бұрын
@@keiyakins bruh nice guess
@somerandomguy39
@somerandomguy39 11 жыл бұрын
I was watching the AGDQ stream when they did this live. Ppl in chat shit brix, and the audience was having a carnival. It was something to remember. A lot of the viewers had no idea what they had just seen, though.
@scrimblocoded
@scrimblocoded 9 жыл бұрын
I feel like the first part of this was just showing off for the sake of showing off. After that you made my jaw drop in 30 seconds. How the hell did you do that?
@ShadowBoltTF2
@ShadowBoltTF2 9 жыл бұрын
He programmed a game by playing a game... basically.
@Amaraticando
@Amaraticando 8 жыл бұрын
+SayFuzzyPickles it's not purely showing off, it's part of the setup with some funny things to complement.
@Optimus6128
@Optimus6128 8 жыл бұрын
The first part of this was doing the first part of the hack, where with some glitches with stunning blocks/yousi/grabbing (don't know exactly, it's beyond my mind) they altered some sprites in memory and even added sprites with invalid IDs, that somehow jumped into another code becase of how the SNES hardware works. Now this first series of glitches would make preety painful, maybe impossible to write the games they did. But using this explot, they jump in another piece of the code having to do with the input, so now after that it's much faster to send bytes of code and execute, I guess every frame of the TAS your input sends a byte or so, although they use some multitap thing I don't know what it is, for more controllers to send more data per frame, and that would be on their TAS tools at home. But now there is the live TAS to prove theoritically it would work on real SNES, you must be flash to be able to play that much, so of course they use that kinda of robot accessory I don't know what it does, somewhere I read they might have hooked a Raspberry PI in it (that would I guess send the precalced succesion of input, timed with the game refresh), so they can show it on an actual SNES in realtime and not as a preprocessed TAS movie. Nothing is showing off, it's just so many levels of hackery, I am not sure I have grapsed everything.
@piggypig6278
@piggypig6278 8 жыл бұрын
He's actually spawning tiles in a specific order to manipulate a table in memory to write code that will allow him to use inputs to write the code instead. At the end he glitches the game into executing the table he manipulated allowing him to write the code and then a part of the code executed it when all of the code was done.
@laplongejunior
@laplongejunior 8 жыл бұрын
All the steps are needed because the setup is really complicated, and it also depends of the POSITIONS in the sprite's table : for example if you need a sprite in the 7th position, you need to manipulate ennemies in order to have exactly 6 sprites before spawning the one you need (and then carrying it across the level, of course) A *french* KZbin show has explained this TAS : /watch?v=dcbdhDqBx_g&t=26m14s The end of the video contains an awful quantity of glitches. For example in order to spawn a (pink) inexistant sprite, he hurt Mario while making Yoshi hold two objects at the same time! Then this pink sprite who in spawns another unknown sprite... Then this new sprite allow to create the Total Control Glitch by making the game read the list of loaded-on-screen sprites as executable code (so you need an half-dozen perfectly ordered sprites to have the good code!). And this glitched executable code ask to the game... to read controllers input as executable code! In other words, the TAS creator can now execute all the code he wants because, by definition, controller inputs allow a player to make any input ^^
@docsigma
@docsigma 11 жыл бұрын
I'm crying
@CounterfeitGTX460
@CounterfeitGTX460 11 жыл бұрын
I've seen all kinds of crazy things in Super Mario World but this takes the cake. Excellent job.
@gwkeller
@gwkeller 11 жыл бұрын
I'm dying so hard. Seeing this unfold live was amazing.
@Disgenser
@Disgenser Жыл бұрын
1:44 1:57 What the hell is this?! I've never seen this before. How many times i played Super Mario World and i see this in first time. It's completely out of the ordinary
@Dgfrmxon
@Dgfrmxon 11 жыл бұрын
Regarding the Matrix, I used to think it made no sense that Neo could hack the program, since he's just a "player" in it. He only has user input, which has limited ability to influence the code itself. But now I understand. This Mario is Neo.
@nesquickyt
@nesquickyt 2 жыл бұрын
1:42 the fact that he used 24 controllers to code the games is just awesome.
@MiguelPais
@MiguelPais 10 жыл бұрын
Great. Now can you turn it into Half Life 3?
@nataliepatalie3834
@nataliepatalie3834 9 жыл бұрын
after 193812782382220912610126191102028920110100298292696901289292379201 years in development we hope its been worth the wait, thanks and protect your wallets this summer -gaben
@TheDiego908
@TheDiego908 7 жыл бұрын
I did this the other day using Super Mario World++ but all I got was a card game
@thatoneguy9582
@thatoneguy9582 3 жыл бұрын
ok which one of yall fucked it up
@LuigiFan2
@LuigiFan2 11 жыл бұрын
After seeing this live, I have to say, "This was incredible!" Great job! :D
@Dragonnight666
@Dragonnight666 11 жыл бұрын
Kudos to Masterjun3 and everybody that helped, was simply awesome saw it live aswell. greets
@TicoMachi
@TicoMachi 11 жыл бұрын
This is the first 2160p video I have seen on youtube. I'm glad that it was SNES Mario.
@vAznNoob
@vAznNoob 11 жыл бұрын
THIS IS WHAT HAPPENS WHEN YOU DIVIDE BY ZERO
@deoxal7947
@deoxal7947 6 жыл бұрын
It didn't work, here's the error code. Exception in thread "main" java.lang.ArithmeticException: / by zero
@deoxal7947
@deoxal7947 6 жыл бұрын
@Hawk Deal with it.
@lucianothewindowsfan
@lucianothewindowsfan 3 жыл бұрын
Expert: Which programming language you use? Masterjun3: _Super Mario World_
@JohnSmith-wx7zh
@JohnSmith-wx7zh 9 жыл бұрын
I personally prefer java...
@ezekieldiaz
@ezekieldiaz 8 жыл бұрын
Or just play it online
@JohnSmith-wx7zh
@JohnSmith-wx7zh 8 жыл бұрын
What?
@rosabelleaster3705
@rosabelleaster3705 8 жыл бұрын
Nah, Unity is better
@DeltaPixelMusic
@DeltaPixelMusic 8 жыл бұрын
Nice programming reference.
@ivanmegafanboy1981
@ivanmegafanboy1981 8 жыл бұрын
NOOOOOO Super mario world is the second best tool for making videogames, the best one is Game maker. 100% true.
@kurtilein3
@kurtilein3 11 жыл бұрын
the amazing thing is that they did it on the ACTUAL HARDWARE (snes + super mario game cardridge) using only controller inputs. oh, and this should be in the description: arstechnica.com/gaming/2014/01/how-an-emulator-fueled-robot-reprogrammed-super-mario-world-on-the-fly/
@mattnorton9333
@mattnorton9333 11 жыл бұрын
That was the coolest thing I've ever seen. Congratulations amigo:)
@PaulKinlan
@PaulKinlan 11 жыл бұрын
I don't even understand how this is possible!
@bhagwantabind3526
@bhagwantabind3526 11 жыл бұрын
Nice. ...
@ChristianHeilmann
@ChristianHeilmann 11 жыл бұрын
wut?
@TimWintle
@TimWintle 11 жыл бұрын
IIRC it's an off-by-one bug in an array - there's some exact location in the where if you hit it just right it looks up a struct like: sprite_array[SPRITE_ARRAY_SIZE] (i.e. one over the limit) That struct contains function pointers, which (as they're never initialized as a valid struct would have been) jump to a specific location in the memory storing the game's state. All the movements before that move are setting up that memory location to act as shellcode which will allow arbitrary executable data to be entered via the gamepad. I assume that 1:40 is the executable code for the three mini-games being loaded into memory. I can't find the reference now, but IIRC the bug in the game was discovered by someone who had written an optimisation algorithm to try and attempt to (automatically) run the perfect speed-run of mario. Their fastest technique found the bug and inserted shellcode to set the level as completed. The origional paper is worth reading if you can find it - it's got some interesting ideas in it about trying to optimise games like this based on short recordings of real users IIRC.
@DavidBarnett
@DavidBarnett 11 жыл бұрын
Tim Wintle Couldn't find the paper, but there's a little more explanation here: minimaxir.com/2013/03/127-yoshis-in-slot-6/
@robertelliott107
@robertelliott107 11 жыл бұрын
Very cool..
@justanotherfpsplayer
@justanotherfpsplayer 8 жыл бұрын
interviewer: so what is the simplest coding language you can think of? me: scratch interviewer: so what is the hardest coding language you can think of? me: super mario world
@tux1468
@tux1468 8 жыл бұрын
Really? I constantly get spaghetti code in Scratch when trying to make a space shooter!
@justanotherfpsplayer
@justanotherfpsplayer 8 жыл бұрын
Tux Mux simplest not easiest
@AdamSmithNES
@AdamSmithNES 11 жыл бұрын
Can't wait to see the replay of this from AGDQ, as I sadly missed it. Incredible stuff!
@lauson1ex
@lauson1ex 11 жыл бұрын
Masterjun, I love you.
@insertcreativehandlehere
@insertcreativehandlehere 19 күн бұрын
and 10 years later, this is still the best use of ace i've ever seen
@WingZero172
@WingZero172 11 жыл бұрын
Am I the only one around here who noticed the 1440p and 2160p and the 4K thing? WHAT NEW KIND OF HD SORCERY IS THIS!?
@Brian_Fantastic
@Brian_Fantastic 11 жыл бұрын
That might be my favorite part of the whole video.
@bagelhunt
@bagelhunt 11 жыл бұрын
4k's been around for a while. It's just nobody wants to spend $500-1000 on a monitor just to use it. It's basically the new 1080p. 4k TVs are also in the $5k+ range MINIMUM. Shit's expensive.
@Bramswarr
@Bramswarr 11 жыл бұрын
bagelhunt yeah, so youre going to buy all that shit to watch 16 bit Mario videos? theres a time and a PLACE for everything, and this is NOT the place for a 4K monitor
@Brian_Fantastic
@Brian_Fantastic 11 жыл бұрын
Pretty sure it's for the lolz in this case, guys.
@bagelhunt
@bagelhunt 11 жыл бұрын
Bram Swarr I'm not saying get 4k to watch this video, I'm saying it's nothing to freak out about.
@JulianR2JG
@JulianR2JG 2 жыл бұрын
Imagine if this was an actual easter egg left in the game and someone randomly discovered this
@johnnobon
@johnnobon 8 жыл бұрын
This reminds me of a fever dream I had when I was eight.
@jessiebeck8891
@jessiebeck8891 5 жыл бұрын
Holy cow. I never knew how possible it is to manipulate a game into making some minigames. That is so awesome.
@terribletanner805
@terribletanner805 6 жыл бұрын
Legend has it that all games are made with SMW arbitrary code execution. Even SMW itself was created this way.
@agustintarroza3294
@agustintarroza3294 Жыл бұрын
1:36 Yall looking for the part, Here it is.
@Sparkette
@Sparkette Жыл бұрын
I like how you used the secret exit sound effect for the menu. Works well.
@PoisonedPocky
@PoisonedPocky 11 жыл бұрын
I loved the audience reaction at AGDQ.
@colonthree
@colonthree 11 жыл бұрын
I saw'r it live on AGDQ and was incredibly amazed then I became dizzy and almost fainted. :3
@WildSeven19
@WildSeven19 11 жыл бұрын
I really have no idea what to say. This is completely mind blowing.
@nekk011
@nekk011 10 жыл бұрын
some of the highest resolution pixels i have ever seen
@Maks7594
@Maks7594 3 жыл бұрын
Speedrunner is caually paying nostalgic games, although this is a TAS.
@ole_smokey_south
@ole_smokey_south 4 ай бұрын
Scientists: “All dreams have meanings.” My dreams:
@goofball236
@goofball236 2 жыл бұрын
is it just me or did Yoshi’s eyes at 1:20 look like he just woke up at 3 AM
@Optimus6128
@Optimus6128 8 жыл бұрын
I remember slashdot some time ago made a poll about the best hacks of all time. I am pretty sure if they did that again, this one will be on the list. Even as an assembly programmer, it took me some layers to understand what's going on, I must have seen this video some time ago in a haste and didn't understood it then and skipped it, came back now and read some more info in their site, this is beyond.
@flirtykurty79
@flirtykurty79 11 жыл бұрын
This exploit is genius.. very well done. Kudos to you for discovering it. Liked & subbed.
@sendylie1774
@sendylie1774 9 жыл бұрын
*****​! What kind of drug you put into that game? Cocaine!? 
@themightypikachu2829
@themightypikachu2829 9 жыл бұрын
No, it's a glitch to get a game of pong, snake, and the end with a blue smiley face
@sendylie1774
@sendylie1774 9 жыл бұрын
Yes I know
@themightypikachu2829
@themightypikachu2829 9 жыл бұрын
Which is the same as weed, not cocaine
@linguicaguy
@linguicaguy 9 жыл бұрын
+Sendy Lie (Lv.? Freelancer) Shrooms. Lots of fucking shrooms.
@LuckyBacon
@LuckyBacon 9 жыл бұрын
+TheMighty Pikachu You ruined her/his joke...
@JollyGiant64
@JollyGiant64 9 жыл бұрын
I feel like this is what Mario would do if he found out he was in a game.
@OryxTheMadGod3
@OryxTheMadGod3 5 жыл бұрын
0:32 remix baby
@villager322
@villager322 10 жыл бұрын
Is he programing at 1:40 and all before was just to enable it?
@rockythesolidrock
@rockythesolidrock 10 жыл бұрын
Yup
@catethps
@catethps 11 жыл бұрын
I saw this video debut live on AGDQ 14' and it was fucking beautiful
@SMWKing2000
@SMWKing2000 11 жыл бұрын
Who still needs Lunar Magic?
@JanoyCresvaZero
@JanoyCresvaZero 11 жыл бұрын
The button inputs were done by human hands only while being recorded onto the raspberry bot. The inputs were performed across 8 controllers utilized by the bot to reprogram SMW on the fly; this was done legitimately on a SNES, but everything was handled by a bot.
@PibbXtraPls
@PibbXtraPls 11 жыл бұрын
This is the same run and person who made the run for the AGDQ 2014 TAS Block. Masterjun3 is awesome.
@snescompany
@snescompany Жыл бұрын
That unknown sprite behind mario is actually what u first see when you try doing item icremation with yoshi in item box
@MarkHooperMegalev
@MarkHooperMegalev 11 жыл бұрын
This is completely next level.
@TheRidiculousR
@TheRidiculousR 3 жыл бұрын
Luigi understands his bro no more, mario thinks he can do unthinkable things like teleporting yoshi, and transforming the world into pong. It's been tough ever since he took that overdose of 1-ups, the doctor says he might never be the same again
@TheFinalBoss726
@TheFinalBoss726 11 жыл бұрын
Stunning.
@spoods4628
@spoods4628 9 жыл бұрын
This should've been in the ads for this game. IT'S 3 GAMES IN 1!
@siinxx7656
@siinxx7656 Жыл бұрын
So you basically Rick'ed that simulation but with extra steps. Beautiful
@heejaekang6549
@heejaekang6549 10 жыл бұрын
this is the clearest hd i have ever seen in my life
@NoodleTHeDragon6586
@NoodleTHeDragon6586 2 жыл бұрын
imagine this but from the Enemy's/Yoshi's point of view lol
@nathanisbored
@nathanisbored 11 жыл бұрын
this game is pretty glitchy
@solarflare9078
@solarflare9078 6 жыл бұрын
Not as glitchy as Sonic 06 or Donkey Kong 64 though....
@terribletanner805
@terribletanner805 6 жыл бұрын
This is the only game in the world that can be glitched so hard it becomes other games.
@nstinson
@nstinson 11 жыл бұрын
Here was the video of it I took live at AGDQ last night complete with chat commentary: AGDQ 2014 SMW TAS with discussion with chat
@nerdboy628
@nerdboy628 7 ай бұрын
Am I the only one who thought BYsSudlrAXLR0123 was a username at first glance?
@mr.duckie._.
@mr.duckie._. 5 ай бұрын
B = B button Y = Y button s = select S = Start u,d,l,r = up, down, left, right A = A button X = X button L = the L button, on top of the controller R = the R button on top of the controller numbers 0 to 3 = no idea
@komario5822
@komario5822 8 жыл бұрын
THIS GUY IS A GENIUS
@gypsyjosh8903
@gypsyjosh8903 10 жыл бұрын
man this is crazy!! good stuff man
@ShimmeringSpectrum
@ShimmeringSpectrum 11 жыл бұрын
More like speed hacking than a traditional speed run. This is amazing.
@benedictprove3937
@benedictprove3937 3 жыл бұрын
Ah, this is the Super Mario World that I remember from my childhood!
@mayanightstar
@mayanightstar 6 жыл бұрын
I understand how this was done but I still don't understand how this was done
@ALEXGIBSONCMG
@ALEXGIBSONCMG 6 жыл бұрын
that's friggin sick dude!
@tiddly5
@tiddly5 6 жыл бұрын
When they tried this again at AGDQ 2018, Luigi showed up. Grand POOBear was very surprised.
@artman40
@artman40 11 жыл бұрын
So now we found out that the urban legend of being able to play Snake and Pong in Super Mario World were true after all. But the way to do it is so complicated that people would think that I'm joking when describing how to do so.
@doshile
@doshile 4 жыл бұрын
I was busy watching the Button Inputs and I look back to find a shell just vibrating.
@ggallin1484
@ggallin1484 9 жыл бұрын
quick explanation for the confused. because the way the Sprites are programmed into the game, as well as x and y variables, when one exploits the locations of certain sprites they are writing arbitory code into the super Nintendo's ram memory.
@danieldx2
@danieldx2 2 жыл бұрын
my brain still hurts from this
11 жыл бұрын
Their mail goal was to code Super Mario World inside Super Mario World, and then TAS it. But there wasn't enough input/frame possible for so much code.
@fernandolemon9204
@fernandolemon9204 10 жыл бұрын
It still surprises me what can be done with this game.
@Gameboygenius
@Gameboygenius 11 жыл бұрын
But can it be done in Wii VC? What would be even cooler than this, nay, completely epic, is if you first gained execution on the VC, then potentially exploited a bug in the emulator and gained Wii execution, then lastly installed HBC.
@fisicanacho
@fisicanacho 11 жыл бұрын
It would be easier to repack the original ROM inside the Wii VC, and replace it with custom software made to exploit a WiiVC bug (wich had to be discovered first!). Of course, that's just my guess.
@Gameboygenius
@Gameboygenius 11 жыл бұрын
nacho The wii is utterly broken (edit: as in opened up) for homebrew, so anything would be easier than doing this. But this is not about easy.
How People Reprogram Games...with a CONTROLLER
18:42
GlitchDoctor
Рет қаралды 254 М.
Леон киллер и Оля Полякова 😹
00:42
Канал Смеха
Рет қаралды 4,7 МЛН
BAYGUYSTAN | 1 СЕРИЯ | bayGUYS
36:55
bayGUYS
Рет қаралды 1,9 МЛН
[TAS] Pokémon Yellow - Arbitrary Code Execution
7:45
MrWint
Рет қаралды 513 М.
What if Yoshi could eat Chargin' Chucks in Super Mario World?
2:54
KaidenThelens
Рет қаралды 4,2 М.
SNES Code Injection -- Flappy Bird in SMW
6:31
SethBling
Рет қаралды 2,8 МЛН
[TAS] Super Mario World "11 exits" in 08:07.53 by Masterjun
9:06
Arbitrary Code Execution in Animal Crossing
24:22
Hunter R.
Рет қаралды 385 М.
Super Mario World Finished In Under 10 Minutes (Speedrun)
10:47
TAS Item Abuse 3 in 7:05.47
7:20
shadowdragon121TASer
Рет қаралды 1,8 МЛН
[TAS] SNES Super Mario World "cheatfest/glitchfest" by IgorOliveira666
1:26:07