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

แชร์
ฝัง
  • เผยแพร่เมื่อ 4 ม.ค. 2014
  • This was also streamed live at AGDQ 2014 on a real console: • AGDQ 2014 - TASBot pla...
    Publication: tasvideos.org/2513M.html
    Submission (Explanation): tasvideos.org/4156S.html
  • เกม

ความคิดเห็น • 841

  • @atomicV1sion
    @atomicV1sion 8 ปีที่แล้ว +3039

    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 8 ปีที่แล้ว +29

      +Zane Whitney Yep

    • @homestuck_official
      @homestuck_official 8 ปีที่แล้ว +162

      "You are already a soprano"

    • @alxndr2000
      @alxndr2000 8 ปีที่แล้ว +34

      ima try this

    • @adracamas
      @adracamas 8 ปีที่แล้ว +17

      +Just a youtube commenter ROFLMAO You freaking win

    • @renakunisaki
      @renakunisaki 8 ปีที่แล้ว +35

      Randomly poking at someone's brain and suddenly they're Einstein.

  • @michaelpowell3204
    @michaelpowell3204 10 ปีที่แล้ว +837

    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 ปีที่แล้ว +21

      reminds me to that súper mario land 2 bug

    • @NomeCreativo
      @NomeCreativo 2 ปีที่แล้ว +15

      @@witchymaoki5165 what bug?

    • @f.n.8540
      @f.n.8540 2 ปีที่แล้ว +60

      @@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)

    • @sn0wgaIaxy
      @sn0wgaIaxy ปีที่แล้ว +8

      this is why TAS is such a cracked gamer

    • @h8GW
      @h8GW 6 หลายเดือนก่อน

      Killed your 666 likes, sorry.

  • @artman40
    @artman40 8 ปีที่แล้ว +706

    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 ปีที่แล้ว +8

      yes

    • @tausifislam4971
      @tausifislam4971 8 ปีที่แล้ว +54

      +artman40 seth bling actually made a video injecting code for flappy bird in smw

    • @jongyon7192p
      @jongyon7192p 7 ปีที่แล้ว +18

      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 7 ปีที่แล้ว +3

      +DeRockProject & the Attack of the Really Long Channel Name it was done by hand the very first time

    • @jongyon7192p
      @jongyon7192p 7 ปีที่แล้ว +3

      game4life12 but not in real time.

  • @toasterman3000
    @toasterman3000 10 ปีที่แล้ว +1249

    Super Mario World should be taught as a new programming language

  • @RemX405
    @RemX405 9 ปีที่แล้ว +323

    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 9 ปีที่แล้ว +1

      You sound very knowledgeable... how does this all work, exactly?

    • @RemX405
      @RemX405 9 ปีที่แล้ว +32

      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 9 ปีที่แล้ว +14

      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 2 หลายเดือนก่อน

      ​@@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.

  • @jakebeach1364
    @jakebeach1364 9 ปีที่แล้ว +159

    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

  • @JackBond1234
    @JackBond1234 10 ปีที่แล้ว +94

    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.

  • @the_many
    @the_many 10 ปีที่แล้ว +179

    this is some next level shit
    this is the hardest you can dominate a game

  • @superdonavanbrosgaming6206
    @superdonavanbrosgaming6206 5 ปีที่แล้ว +179

    Them: are you a computer programmer
    Me: yes
    Them: what you use
    Me: super Mario world

  • @DangerousPictures
    @DangerousPictures 8 ปีที่แล้ว +455

    and if we switch to gamemode 3, you can See the armor stands

    • @dotrain5844
      @dotrain5844 5 ปีที่แล้ว +1

      xdxdxdxdxdxd

    • @rodmod
      @rodmod 5 ปีที่แล้ว +1

      Matta's Account
      It’s called a JOKE.

    • @MewtwoMaster
      @MewtwoMaster 5 ปีที่แล้ว +3

      Matta's Account
      Yes
      That's the joke

    • @kiaydemir
      @kiaydemir 5 ปีที่แล้ว +1

      @@mattasaccount1663 fucking idiot

    • @aiwjdaiwkdwadkodawdawd
      @aiwjdaiwkdwadkodawdawd 4 ปีที่แล้ว +3

      @@kiaydemir you're the fucking idiot he was joking dumbass

  • @aleckermit
    @aleckermit 10 ปีที่แล้ว +210

    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 2 ปีที่แล้ว +7

      @@knuti27 that's something completely different

    • @Oscar97o
      @Oscar97o 2 ปีที่แล้ว +1

      @@skapaloka222 They did something similar for Pokémon Yellow though, where they play Zelda and other games.

    • @skapaloka222
      @skapaloka222 2 ปีที่แล้ว

      @@Oscar97o yea that one was amazing

  • @Beldraen
    @Beldraen 10 ปีที่แล้ว +56

    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 5 หลายเดือนก่อน +4

      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.

  • @e-block9358
    @e-block9358 9 ปีที่แล้ว +229

    Now THIS is "beating the game"

    • @silasreel983
      @silasreel983 9 ปีที่แล้ว +1

      *****
      sethbling did this with one controller one a real console!
      th-cam.com/video/14wqBA5Q1yc/w-d-xo.html

    • @akudlac
      @akudlac 8 ปีที่แล้ว +2

      +Silas Reel no that is credits warp

    • @franciscop.3279
      @franciscop.3279 8 ปีที่แล้ว +6

      It's more of "beating up" the game

    • @Mainyehc
      @Mainyehc 2 ปีที่แล้ว

      @@franciscop.3279 yep. Into a pulp. And then fashioning into something else.

  • @FlipZFox
    @FlipZFox 8 ปีที่แล้ว +60

    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.*

  • @LanIost
    @LanIost 10 ปีที่แล้ว +79

    As a programmer, this nearly brought me to tears.
    Its.. so.. beautiful...

  • @winstonpayne2163
    @winstonpayne2163 8 ปีที่แล้ว +135

    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 8 ปีที่แล้ว +2

      YAY I WISH IT WAS A REAL LANGUAGE...exept this looks much harder than c# :(

    • @winstonpayne2163
      @winstonpayne2163 8 ปีที่แล้ว +9

      Gaming Dudester
      Real talk, i'd rather stab myself with a fork than try to program anything in SMW XD

    • @alxndr2000
      @alxndr2000 8 ปีที่แล้ว +2

      +Gaming Dudester its just writing processor instructions, not that hard XD

    • @winstonpayne2163
      @winstonpayne2163 8 ปีที่แล้ว +2

      Robert Stafford
      Yeah but it's writing processor instructions using fucking Super Mario World, dude...
      That's batshit!

    • @drekthgrek5896
      @drekthgrek5896 8 ปีที่แล้ว

      Winston Payne yeh.

  • @soulcalibrII
    @soulcalibrII 10 ปีที่แล้ว +34

    TAS of the year already? Absolutely brilliant!

  • @MrCrazyToad
    @MrCrazyToad 8 ปีที่แล้ว +122

    I legitimately want to see someone use Arbitrary Code Execution in Yoshi's Island to recreate Doom.

    • @coatlessali
      @coatlessali 8 ปีที่แล้ว +7

      That isn't possible. This exists because of an exploit specific to this game.

    • @Optimus6128
      @Optimus6128 8 ปีที่แล้ว +25

      That would be another level of "It Runs Doom!"

    • @MrCrazyToad
      @MrCrazyToad 8 ปีที่แล้ว +2

      Optimus6128 That is exactly what I was thinking.

    • @MrCrazyToad
      @MrCrazyToad 8 ปีที่แล้ว +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.

  • @Kaytsey
    @Kaytsey 10 ปีที่แล้ว +35

    I've just seen this live on AGDQ and it's so awesome!

  • @aurafox1
    @aurafox1 8 ปีที่แล้ว +254

    Next thing is someone programming Fallout 4 into A Link to the Past.

    • @omegazeta
      @omegazeta 8 ปีที่แล้ว +4

      Can't wait for the G.E.C.K.

    • @alxndr2000
      @alxndr2000 8 ปีที่แล้ว +14

      brb doing

    • @chiefhydropolis
      @chiefhydropolis 5 ปีที่แล้ว +5

      Someone HAS to program Sonic Mania into Super Mario World.

  • @MushroomRetainer
    @MushroomRetainer 10 ปีที่แล้ว +17

    This is without a doubt the most impressive thing I have ever seen come out of TASing, and I've seen some crazy shit.

  • @TheLoveMario
    @TheLoveMario 9 ปีที่แล้ว +100

    next episode-masterjun turns Super Mario World in Sonic the Hedgehog with the same glitch.

    • @potatosackstudios6374
      @potatosackstudios6374 9 ปีที่แล้ว +29

      Bitch please I turned it into Halo 6 and that game isn't even out yet.

    • @darkplaya123
      @darkplaya123 9 ปีที่แล้ว +10

      Brendan Harward not funny at all..

    • @potatosackstudios6374
      @potatosackstudios6374 9 ปีที่แล้ว +20

      was pretty funny to me

    • @BinaryCounter
      @BinaryCounter 9 ปีที่แล้ว +3

      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 9 ปีที่แล้ว +4

      7mario6 Yeah you're right. Sometimes my brain likes to switch things around for no reason... :/

  • @docsigma
    @docsigma 10 ปีที่แล้ว +48

    I'm crying

  • @CautiousJonny
    @CautiousJonny 10 ปีที่แล้ว +45

    All I could thing of was, "WTF IS GOING ON?!"

  • @185TNTsChannel
    @185TNTsChannel 8 ปีที่แล้ว +149

    soon we can play smw in smw
    in smw

    • @snoopweed4208
      @snoopweed4208 8 ปีที่แล้ว +3

      Or maybe GTA V in SMW
      in SMW

    • @ego9939
      @ego9939 8 ปีที่แล้ว +7

      +Alter Kühlschrank smw on smw on smw on windows virtual machine on windows virtual machine on a mac

    • @YungOstrich
      @YungOstrich 8 ปีที่แล้ว +3

      +Ego Probably not

    • @solarflare9078
      @solarflare9078 6 ปีที่แล้ว

      & Knuckles

    • @inkorporeal204
      @inkorporeal204 5 ปีที่แล้ว +1

      @@ego9939 smw on smw on smw on virtual console on wii emulator on windows virtual machine on windows virtual machine on a Mac

  • @scrimblocoded
    @scrimblocoded 8 ปีที่แล้ว +49

    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 8 ปีที่แล้ว +50

      He programmed a game by playing a game... basically.

    • @Amaraticando
      @Amaraticando 8 ปีที่แล้ว +16

      +SayFuzzyPickles it's not purely showing off, it's part of the setup with some funny things to complement.

    • @Optimus6128
      @Optimus6128 8 ปีที่แล้ว +12

      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 7 ปีที่แล้ว +11

      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 7 ปีที่แล้ว +4

      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* TH-cam 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 ^^

  • @TriploonGD
    @TriploonGD 5 ปีที่แล้ว +9

    >Hey man can you code?
    >yeah
    >what language?
    >Super Mario World

  • @smbmadman1
    @smbmadman1 9 ปีที่แล้ว +184

    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 ปีที่แล้ว +84

      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 ปีที่แล้ว +2

      Deathbrewer Not really insane, code injections via interfaces are nothing new :p

    • @TLuigi003
      @TLuigi003 8 ปีที่แล้ว +74

      +Shadowriver Well, using control input and sprites positions to create pong using a Mario game is really insane

    • @ShadowriverUB
      @ShadowriverUB 8 ปีที่แล้ว +3

      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 8 ปีที่แล้ว +15

      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.

  • @nlicky
    @nlicky 10 ปีที่แล้ว +6

    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.

  • @somerandomguy39
    @somerandomguy39 10 ปีที่แล้ว +9

    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.

  • @wangus
    @wangus 10 ปีที่แล้ว +31

    I'm not sure a game can be broken more than this.

    • @Yimo92
      @Yimo92 10 ปีที่แล้ว

      definetly more broken than OoT ;D

    • @keiyakins
      @keiyakins 10 ปีที่แล้ว +1

      Vetras Fckyougooglplus I'm pretty sure there's an arbitrary code exploit for OoT somewhere.

    • @noahlovotti7722
      @noahlovotti7722 6 ปีที่แล้ว +5

      We will use it to gain access to the 4th dimension

    • @xxEzraBxxx
      @xxEzraBxxx 3 ปีที่แล้ว +1

      @@keiyakins YOU PREDICTED THE FUTURE!

    • @xpex1209
      @xpex1209 3 ปีที่แล้ว +1

      @@keiyakins bruh nice guess

  • @Dgfrmxon
    @Dgfrmxon 10 ปีที่แล้ว +7

    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.

  • @JohnSmith-wx7zh
    @JohnSmith-wx7zh 8 ปีที่แล้ว +284

    I personally prefer java...

    • @ezekieldiaz
      @ezekieldiaz 8 ปีที่แล้ว +2

      Or just play it online

    • @JohnSmith-wx7zh
      @JohnSmith-wx7zh 8 ปีที่แล้ว +3

      What?

    • @rosabelleaster3705
      @rosabelleaster3705 8 ปีที่แล้ว

      Nah, Unity is better

    • @DeltaPixelMusic
      @DeltaPixelMusic 8 ปีที่แล้ว

      Nice programming reference.

    • @ivanmegafanboy1981
      @ivanmegafanboy1981 8 ปีที่แล้ว +15

      NOOOOOO Super mario world is the second best tool for making videogames, the best one is Game maker. 100% true.

  • @CounterfeitGTX460
    @CounterfeitGTX460 10 ปีที่แล้ว +2

    I've seen all kinds of crazy things in Super Mario World but this takes the cake. Excellent job.

  • @vAznNoob
    @vAznNoob 10 ปีที่แล้ว +50

    THIS IS WHAT HAPPENS WHEN YOU DIVIDE BY ZERO

    • @deoxal7947
      @deoxal7947 5 ปีที่แล้ว +1

      It didn't work, here's the error code. Exception in thread "main" java.lang.ArithmeticException: / by zero

    • @deoxal7947
      @deoxal7947 5 ปีที่แล้ว

      @Hawk Deal with it.

  • @PaulKinlan
    @PaulKinlan 10 ปีที่แล้ว +38

    I don't even understand how this is possible!

    • @bhagwantabind3526
      @bhagwantabind3526 10 ปีที่แล้ว

      Nice. ...

    • @ChristianHeilmann
      @ChristianHeilmann 10 ปีที่แล้ว

      wut?

    • @TimWintle
      @TimWintle 10 ปีที่แล้ว +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 10 ปีที่แล้ว

      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 10 ปีที่แล้ว

      Very cool..

  • @TicoMachi
    @TicoMachi 10 ปีที่แล้ว +4

    This is the first 2160p video I have seen on youtube. I'm glad that it was SNES Mario.

  • @MiguelPais
    @MiguelPais 9 ปีที่แล้ว +164

    Great. Now can you turn it into Half Life 3?

    • @nataliepatalie3834
      @nataliepatalie3834 8 ปีที่แล้ว +16

      after 193812782382220912610126191102028920110100298292696901289292379201 years in development we hope its been worth the wait, thanks and protect your wallets this summer
      -gaben

    • @TheDiego908
      @TheDiego908 6 ปีที่แล้ว +1

      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

  • @gwkeller
    @gwkeller 10 ปีที่แล้ว +4

    I'm dying so hard. Seeing this unfold live was amazing.

  • @LuigiFan2
    @LuigiFan2 10 ปีที่แล้ว +2

    After seeing this live, I have to say, "This was incredible!" Great job! :D

  • @WingZero172
    @WingZero172 10 ปีที่แล้ว +21

    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 10 ปีที่แล้ว +1

      That might be my favorite part of the whole video.

    • @bagelhunt
      @bagelhunt 10 ปีที่แล้ว +3

      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 10 ปีที่แล้ว +4

      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 10 ปีที่แล้ว +1

      Pretty sure it's for the lolz in this case, guys.

    • @bagelhunt
      @bagelhunt 10 ปีที่แล้ว

      Bram Swarr I'm not saying get 4k to watch this video, I'm saying it's nothing to freak out about.

  • @AdamSmithNES
    @AdamSmithNES 10 ปีที่แล้ว +1

    Can't wait to see the replay of this from AGDQ, as I sadly missed it. Incredible stuff!

  • @Dragonnight666
    @Dragonnight666 10 ปีที่แล้ว +2

    Kudos to Masterjun3 and everybody that helped, was simply awesome saw it live aswell.
    greets

  • @mattnorton9333
    @mattnorton9333 10 ปีที่แล้ว +1

    That was the coolest thing I've ever seen. Congratulations amigo:)

  • @lauson1ex
    @lauson1ex 10 ปีที่แล้ว +8

    Masterjun, I love you.

  • @kurtilein3
    @kurtilein3 10 ปีที่แล้ว +7

    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/

  • @sendylie1774
    @sendylie1774 8 ปีที่แล้ว +43

    *****​! What kind of drug you put into that game? Cocaine!? 

    • @themightypikachu2829
      @themightypikachu2829 8 ปีที่แล้ว +1

      No, it's a glitch to get a game of pong, snake, and the end with a blue smiley face

    • @sendylie1774
      @sendylie1774 8 ปีที่แล้ว

      Yes I know

    • @themightypikachu2829
      @themightypikachu2829 8 ปีที่แล้ว +3

      Which is the same as weed, not cocaine

    • @linguicaguy
      @linguicaguy 8 ปีที่แล้ว +7

      +Sendy Lie (Lv.? Freelancer) Shrooms. Lots of fucking shrooms.

    • @LuckyBacon
      @LuckyBacon 8 ปีที่แล้ว +1

      +TheMighty Pikachu You ruined her/his joke...

  • @theroxorzyourboxorz
    @theroxorzyourboxorz 10 ปีที่แล้ว +4

    This is beyond incredible. You seriously programmed games inside another game by feeding input into that game. You deserve one free internet.

  • @PoisonedPocky
    @PoisonedPocky 10 ปีที่แล้ว +2

    I loved the audience reaction at AGDQ.

  • @johnnobon
    @johnnobon 8 ปีที่แล้ว +12

    This reminds me of a fever dream I had when I was eight.

  • @nesquickyt
    @nesquickyt ปีที่แล้ว +1

    1:42 the fact that he used 24 controllers to code the games is just awesome.

  • @Optimus6128
    @Optimus6128 8 ปีที่แล้ว +2

    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.

  • @TheFinalBoss726
    @TheFinalBoss726 10 ปีที่แล้ว +5

    Stunning.

  • @justanotherfpsplayer
    @justanotherfpsplayer 8 ปีที่แล้ว +6

    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 ปีที่แล้ว +1

      Really? I constantly get spaghetti code in Scratch when trying to make a space shooter!

    • @justanotherfpsplayer
      @justanotherfpsplayer 8 ปีที่แล้ว

      Tux Mux simplest not easiest

  • @Bromageddon
    @Bromageddon 10 ปีที่แล้ว +1

    this is absolutely crazy, so awesome

  • @flirtykurty79
    @flirtykurty79 10 ปีที่แล้ว +2

    This exploit is genius.. very well done. Kudos to you for discovering it. Liked & subbed.

  • @gypsyjosh8903
    @gypsyjosh8903 9 ปีที่แล้ว +1

    man this is crazy!! good stuff man

  • @colonthree
    @colonthree 10 ปีที่แล้ว +2

    I saw'r it live on AGDQ and was incredibly amazed then I became dizzy and almost fainted. :3

  • @nekk011
    @nekk011 10 ปีที่แล้ว +5

    some of the highest resolution pixels i have ever seen

  • @MarkHooperMegalev
    @MarkHooperMegalev 10 ปีที่แล้ว +1

    This is completely next level.

  • @catethps
    @catethps 10 ปีที่แล้ว +1

    I saw this video debut live on AGDQ 14' and it was fucking beautiful

  • @ALEXGIBSONCMG
    @ALEXGIBSONCMG 5 ปีที่แล้ว +1

    that's friggin sick dude!

  • @Sparkette
    @Sparkette 11 หลายเดือนก่อน

    I like how you used the secret exit sound effect for the menu. Works well.

  • @WildSeven19
    @WildSeven19 10 ปีที่แล้ว +1

    I really have no idea what to say. This is completely mind blowing.

  • @Fortuna1
    @Fortuna1 10 ปีที่แล้ว

    See this in the AGDQ event, and this incredible

  • @jessiebeck8891
    @jessiebeck8891 5 ปีที่แล้ว +2

    Holy cow. I never knew how possible it is to manipulate a game into making some minigames. That is so awesome.

  • @kosmar
    @kosmar 10 ปีที่แล้ว +16

    oh

  • @Pczito
    @Pczito 4 ปีที่แล้ว

    Foi um dos melhores vídeos que eu já vi na minha vida :)

  • @ShimmeringSpectrum
    @ShimmeringSpectrum 10 ปีที่แล้ว +14

    More like speed hacking than a traditional speed run. This is amazing.

  • @Willian125677
    @Willian125677 10 ปีที่แล้ว

    Why I'm not surprised with this? Anyway, amazing TAS!

  • @NeuroEnhancer
    @NeuroEnhancer 10 ปีที่แล้ว +8

    Amazing man. Just fucking amazing.

  • @spoods4628
    @spoods4628 8 ปีที่แล้ว +2

    This should've been in the ads for this game. IT'S 3 GAMES IN 1!

  • @komario5822
    @komario5822 8 ปีที่แล้ว +2

    THIS GUY IS A GENIUS

  • @1BenDoverWilson
    @1BenDoverWilson 8 ปีที่แล้ว +31

    So if I were to plug in my snes, put in Super Mario World, and do exactly what he did on the screen, I can play pong and snake?

    • @arbitrarycake2212
      @arbitrarycake2212 8 ปีที่แล้ว +13

      Hypothetically yes.

    • @ikasu00
      @ikasu00 8 ปีที่แล้ว +17

      +SuperNikio2 Sethbling's going to do it by hand tomorrow on stream.
      How

    • @ikasu00
      @ikasu00 8 ปีที่แล้ว +2

      SuperNikio2 still amazing

    • @Amaraticando
      @Amaraticando 8 ปีที่แล้ว +9

      +Ben Wilson yes, it's has been reproduced in a real SNES, but with 4 custom controllers (with 4 extra buttons each) and with TASBot feeding the input, as no human could do it.
      BTW, the normal controller has 12 buttons, but sends 16 bits of information. The console just assumes those 4 extra bits are not set.

    • @KiraSlith
      @KiraSlith 8 ปีที่แล้ว +4

      +Ben Wilson only if you have the whole of humanity simultaniously and perfectly inputing button presses across a huge chain of SNES controllers on multitaps.

  • @someguy4252
    @someguy4252 3 หลายเดือนก่อน

    i would LOVE to see some of these ace tas vids get animations with them reacting to the nonsense.

  • @lucianothewindowsfan
    @lucianothewindowsfan 2 ปีที่แล้ว

    Expert: Which programming language you use?
    Masterjun3: _Super Mario World_

  • @JulianR2JG
    @JulianR2JG ปีที่แล้ว +1

    Imagine if this was an actual easter egg left in the game and someone randomly discovered this

  • @PibbXtraPls
    @PibbXtraPls 10 ปีที่แล้ว

    This is the same run and person who made the run for the AGDQ 2014 TAS Block. Masterjun3 is awesome.

  • @terribletanner805
    @terribletanner805 5 ปีที่แล้ว +1

    Legend has it that all games are made with SMW arbitrary code execution.
    Even SMW itself was created this way.

  • @Disgenser
    @Disgenser ปีที่แล้ว +1

    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

  • @benedictprove3937
    @benedictprove3937 2 ปีที่แล้ว +1

    Ah, this is the Super Mario World that I remember from my childhood!

  • @heejaekang6549
    @heejaekang6549 10 ปีที่แล้ว +1

    this is the clearest hd i have ever seen in my life

  • @nstinson
    @nstinson 10 ปีที่แล้ว

    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

  • @Aladato
    @Aladato 10 ปีที่แล้ว

    The power of TAS!

  • @FrankSandqvist
    @FrankSandqvist 8 ปีที่แล้ว

    This blew my mind

  • @ubirajarajubatus7130
    @ubirajarajubatus7130 2 ปีที่แล้ว +2

    caraca isso é literalmente um perfect frame

  • @SMWKing2000
    @SMWKing2000 10 ปีที่แล้ว +7

    Who still needs Lunar Magic?

  • @loszhor
    @loszhor 6 ปีที่แล้ว +2

    Well done.

  • @Slamm
    @Slamm 10 ปีที่แล้ว

    Beautiful.

  • @SneakiestChameleon
    @SneakiestChameleon 9 ปีที่แล้ว +5

    Holy crap.

  • @InvaderZim897
    @InvaderZim897 9 ปีที่แล้ว +7

    Did it program the menus in too? And what about the smiley face on the End screen?

    • @hristaki99
      @hristaki99 9 ปีที่แล้ว +16

      Everything...

  • @michaelj9153
    @michaelj9153 3 ปีที่แล้ว

    This is a good game you made

  • @ChuckPebble
    @ChuckPebble 10 ปีที่แล้ว +4

    Art.

  • @siinxx7656
    @siinxx7656 ปีที่แล้ว

    So you basically Rick'ed that simulation but with extra steps. Beautiful

  • @JollyGiant64
    @JollyGiant64 8 ปีที่แล้ว +2

    I feel like this is what Mario would do if he found out he was in a game.

  • @tsvtsvtsv
    @tsvtsvtsv 2 ปีที่แล้ว

    i can't believe i haven't seen this before, i'm familiar with ace but i had no idea people could do this kind of thing with it

  • @nathanisbored
    @nathanisbored 10 ปีที่แล้ว +22

    this game is pretty glitchy

    • @solarflare9078
      @solarflare9078 6 ปีที่แล้ว +4

      Not as glitchy as Sonic 06 or Donkey Kong 64 though....

    • @terribletanner805
      @terribletanner805 5 ปีที่แล้ว +2

      This is the only game in the world that can be glitched so hard it becomes other games.

  • @danieldx2
    @danieldx2 2 ปีที่แล้ว +1

    my brain still hurts from this

  • @yeoucheoub3535
    @yeoucheoub3535 ปีที่แล้ว

    lex fridman and andrej karpathy mentioning this brought me here. very nice

  • @fernandolemon9204
    @fernandolemon9204 9 ปีที่แล้ว +1

    It still surprises me what can be done with this game.