Super Mario Land 2 - Memory Exploration

Поділитися
Вставка
  • Опубліковано 26 гру 2024

КОМЕНТАРІ • 829

  • @RichardAspdenOfficial
    @RichardAspdenOfficial 6 років тому +1789

    Having the memory map up and following Mario as he moved through the memory space was a fantastic addition to the video, and really helped visualise where the runner was going.

    • @Domarius64
      @Domarius64 6 років тому +65

      I can't click Like on your post, because it's 255, and I'm now afraid the value will wrap around to zero likes :(

    • @RichardAspdenOfficial
      @RichardAspdenOfficial 6 років тому +49

      It'll cause an integer overflow and allow you to edit the original comment.

    • @otesunki
      @otesunki 6 років тому +22

      Clint Hobson
      UA-cam patched it!

    • @css1323
      @css1323 6 років тому +6

      Pro Odermonicon TIL!

    • @pumpkin6429
      @pumpkin6429 5 років тому +9

      I enjoy this trend of commenters explaining the obvious. Something tells me that he didn't put it there for the sake of his health.

  • @Akfamilyhome
    @Akfamilyhome 6 років тому +2317

    The hardest custom level ever built: the ROM itself.

    • @hydrochloricacid2146
      @hydrochloricacid2146 6 років тому +20

      lol

    • @calebland6246
      @calebland6246 6 років тому +69

      Haha! I always like a bit of ROMCom.

    • @Noxedwin
      @Noxedwin 6 років тому +114

      Mario RogueLike. The level changes, and moving carelessly will permakill you.

    • @tomrow32
      @tomrow32 6 років тому +29

      MARIOLAND ZONE

    • @musicmaker368
      @musicmaker368 6 років тому +6

      lol nice one...XD

  • @Ferreus1
    @Ferreus1 6 років тому +527

    9:45 "Falling through the entire adress space" is such an awesome phrase in this context.

    • @otesunki
      @otesunki 6 років тому +9

      I was looking for this comment!

    • @nvcbl
      @nvcbl 2 роки тому +1

      sounds like something a nerd would say if he and a bunch of others got stuck in a game

    • @kargaroc386
      @kargaroc386 2 роки тому

      Mario is like a NOP slide

  • @avoqado89
    @avoqado89 6 років тому +418

    Super Mario Land 2: Mario finds out he lives in a game, travels through the memory to portal his way out! Almost like the Truman Show.

  • @ShyGuyXXL
    @ShyGuyXXL 6 років тому +781

    Holy shit that's freaky.... He's literally bashing the code around... And I thought that part in Wreck-it Ralph was far-fetched.

    • @Atlas_Redux
      @Atlas_Redux 6 років тому +183

      That's nothing. On AGDQ, they showed you can reprogram Mario World in somewhat the same way (code manipulation by using glitches) and reprogrammed the entire game into Pong. Just by playing the game.

    • @benox50
      @benox50 6 років тому +109

      They programed a primitive editor too that way, then edited the level with said editor

    • @lindholmaren
      @lindholmaren 6 років тому +58

      I remember one year where they made a chat interface and used the controllers as input data and showed the live twitch chat
      You can do some crazy shit when you don't have memory safety

    • @ChadDidNothingWrong
      @ChadDidNothingWrong 5 років тому +4

      Wow you guys, this is so interesting

    • @truepixelgamer8779
      @truepixelgamer8779 5 років тому +28

      They even re-programmed A Link to the Past to play Super Mario 64 and Portal (both as videos) and even a Skype call, using Megaman 1 and Super Mario Bros 3 audio to create Stereo audio.

  • @alex283d
    @alex283d 6 років тому +773

    I must say, I absolutely love the visualization and representation created for these videos.
    Your ability to show abstract concepts, such as data maps, memory layouts, matrices and vertices, and assembly procedures as understandable images is marvellous, and I always look forward to how you make the inner workings of a game visible.
    I was hoping there'd be a full map of the garbage tile world, and my wish was granted and even surpassed by the overview visuals of Mario moving through the world.
    Thank you for these great videos, and I hope to continue seeing them in the future.

    • @Hiandbye95
      @Hiandbye95 6 років тому +34

      I completely agree! I also love what he did at 8:19, where he showed how the tiles would look like if the game updated them at every change instead of only when they're drawn to the screen. That can't have been easy. I assume he either modified or added his own assembly code at the right place in the ROM, or did it with lua scripting. Either way it's impressive and the effort is very appreciated!

    • @alex283d
      @alex283d 6 років тому +8

      Agreed, that's a great way to show the logic underlying the game's behaviour, which is usually invisible since tiles are only loaded once.
      I suspect it was either done by video post-editing, or modifying the level loading routine so the entire screen is reloaded from memory on every frame.

    • @nneeerrrd
      @nneeerrrd 6 років тому +2

      Alex283 Can't agree more!

    • @KyleChamberlin
      @KyleChamberlin 6 років тому +1

      Ditto!

    • @SearinoxNavras
      @SearinoxNavras 6 років тому +3

      Agreed. Without it, the video wouldn't be remarkable because it'd be too hard to follow.

  • @neoxus30
    @neoxus30 5 років тому +125

    Mario, the man who travels through parallel universes, can literally hold the concept of victory on his hands, get the fruit back and walk through the code of reality while also keeping his job as a plumber)

    • @Jake28
      @Jake28 5 років тому +1

      In oddesey I heard he got fired sadly

    • @GlitchCityMissingNo
      @GlitchCityMissingNo 3 роки тому +8

      and he STILL gets the fruit back! (im happy to see another scykoh fan lol)

    • @silvertotodile6958
      @silvertotodile6958 3 роки тому +3

      If game logic was a part of vs. debating, Mario would be literally universe shattering.

    • @kargaroc386
      @kargaroc386 3 роки тому +6

      @@silvertotodile6958 Given that this, Mario 3, Mario World, and Yoshi's Island have ACE which allow anything possible within the hardware, Mario basically becomes a god, with feat-backed omnipotence.

    • @abraveastronaut
      @abraveastronaut 7 місяців тому +1

      What do you mean "also?" My understanding is that this is what plumbers do

  • @lukamagicc
    @lukamagicc 6 років тому +608

    Why haven’t people put this much effort into their content before wow. THIS is how you explain something complex to literally anyone! This could literally be used in a classroom and it’s genius and I applaud you man. Great idea for a channel

    • @ewthmatth
      @ewthmatth 6 років тому +12

      You've never seen a video that is this in-depth on UA-cam?? I've seen hundreds.

    • @ewthmatth
      @ewthmatth 6 років тому +7

      Tell me what your interests are and I'll try to direct you to some quality vids :)

    • @pgarcia17
      @pgarcia17 5 років тому

      Watch game theory they have in depth game theorys, mostly just video game lore

    • @JorgetePanete
      @JorgetePanete 5 років тому

      You forgot the question mark.

    • @dronkusdonkus9190
      @dronkusdonkus9190 4 роки тому +10

      @@pgarcia17 (except when they get everything wrong and post cringe)

  • @The_Mister_E
    @The_Mister_E 6 років тому +398

    Mario in Memory Land

  • @lmoore3rd
    @lmoore3rd 6 років тому +241

    Good times! I used to program professionally on the GameBoy / GameBoy Color in hand written Z80 assembler. Memory bounds checking was often ignored (or removed on release builds after thorough testing) to minimize the number of instruction cycles per frame. One bad address offset or an improper bank switch and the illusion of a game world is out the window and your well into stomping on random memory land. Good video, nicely explained for the new generation. I'm glad there are still folks that appreciate working on these systems.

    • @kargaroc386
      @kargaroc386 5 років тому +6

      @@RandomNameLastName811 it does have a bit of a "damn kids" "my generation is better than yours" aspect, but its very tame.

    • @amberdean1263
      @amberdean1263 5 років тому +36

      I don't think he came off that way at all... I'm glad that he shared his insight. It's rare that you get to directly correspond with actual console developers from back in those days.

    • @darkcoeficient
      @darkcoeficient 5 років тому +7

      @@kargaroc386 I have no clue where you get that.

    • @rickleverton7949
      @rickleverton7949 5 років тому +4

      @@RandomNameLastName811 it doesn't, snowflake.

    • @handsomebrick
      @handsomebrick 4 роки тому +1

      @@RandomNameLastName811 What's weird about that?

  • @kleadron
    @kleadron 6 років тому +117

    Don't you hate it when you are just taking a nice stroll down the memory map and then accidentally break something along the way? I hate when that happens.

    • @taureon_
      @taureon_ 3 роки тому

      "this broken block will cause a crash later.."

  • @franzpattison
    @franzpattison 6 років тому +171

    One theory of dreams is that our brains are making sense of garbage data and we experience that as something semi coherent we can identify with. Ergo: This is inception: we are inside Mario's dream

    • @funninoriginal6054
      @funninoriginal6054 6 років тому +16

      Franz Pattison
      Nah, we arent inside Mario's dream. I mean, where's the shy guys? The vegetables? The frog?

    • @franzpattison
      @franzpattison 6 років тому +8

      funni n original maybe he's not so anxious over his day job that he dreams about it lol

    • @ShinjiGetsGrounded
      @ShinjiGetsGrounded 6 років тому +9

      the same could be said of the reality we experience as well; its possible that everything in "real life" is simply a complex metaphor created by our brains to make sense of whatever really exists

    • @arfansthename
      @arfansthename 2 роки тому +3

      Well, what Mario's experiencing here is _raw_ data. It is what it is. Our dreams are processed data.

    • @sonetagu1337
      @sonetagu1337 2 роки тому +1

      Dreams are semi-processed though. You can only make a shape out when you focus on it, really hard.

  • @ShadyNetworker
    @ShadyNetworker 6 років тому +316

    You know what's crazy? THESE OUT OF BOUNDS areas are, to me, literally the stuff of nightmares. I dunno what it is about seeing random glitchy ROM and having an actual, correctly functioning game sprite traverse it.
    It's like the universe exploded and the gateway to hell has opened up....digitally.

    • @Dargonhuman
      @Dargonhuman 6 років тому +62

      Yup, same with finding unused or unfinished areas of games. I think it's partly the fear of the unknown, partly the uncanny valley and partly a weird extension of body horror. Fear of the unknown plays into it because we don't know what we'll find in these strange areas, or what effect our blind mucking about will cause. The uncanny valley plays into it because the controls and player sprite are familiar and we can recognize what the glitched tiles are supposed to be, but it's unfamiliar enough to trigger subconscious anxiety and tension, which leads into the extension of body horror; we know how these pieces are supposed to go together and behave so seeing them in such a corrupted state is akin to seeing a body part damaged or mutilated as with a broken bone. It's extremely unsettling to our brains as we are creatures of comfort, order and routine, so anything that shakes any of those three things up is unnerving.

    • @Grimosaur
      @Grimosaur 6 років тому +24

      I got that feeling when I accidently glitched through a wall while playing the original Doom and I got the ghost effect when there isn't a skybox. I named the save 'GLITCH WORLD'. At the time I didn't know you could just use the noclip cheat and find it in every level though haha.

    • @renakunisaki
      @renakunisaki 6 років тому +16

      There's the "beta quest" GameShark code for Ocarina of Time. (Not the ROM hack.) Playing with that as a kid, not knowing how it worked, it felt so much like the video game version of a dream. Everything kinda makes sense but also doesn't, things don't line up right...

    • @pmnt_
      @pmnt_ 6 років тому +16

      we aquired somehow a weird fear of graphical glitches - and then a game like Doki Doki Literature Club comes around and plays with this fear.

    • @Liam3072
      @Liam3072 6 років тому +23

      As a kid, these kind of glitches terrorized me. It really creeped me out, even on a physical level I would feel terrible if I had to witness it. This one is kinda soft though. I think the worst offenders were NES cartridges.

  • @MrHEck-fd6mo
    @MrHEck-fd6mo 5 років тому +19

    2:22 , I was programming a game on a Ti-84 plus SE (it’s a calculator you can make games on) and made an 8-bit tilemap test. The game was pretty straightforward you could move around and not bump into trees or house tiles, however I actually glitched out of the map and after a bit of wandering I started seeing random tiles scattered everywhere looking exactly like this. It’s so cool how a calculator and console run so similarly

  • @AlexElectric9001
    @AlexElectric9001 6 років тому +127

    I feel that I am no closer to understanding the technical wizardry of retro consoles having watched all of your videos. But I am still here, and eagerly awaiting your next upload!!

    • @vinesthemonkey
      @vinesthemonkey 6 років тому +3

      AlexElectric9001 spend some quality time with an emulator and debugger to get a hands on feel

    • @alien_man1669
      @alien_man1669 6 років тому +3

      AlexElectric9001 just lookup how cheat engine works. Its not just for hacking games. It is a memory manipulation tool/debugger.. its all process of elimination.

    • @Domarius64
      @Domarius64 6 років тому +3

      If it helps, no one has to "read the matrix" code like this. They develop level editors etc. so that no one has to deal with these strange arcane values directly, for very long anyway.

  • @Asticky_
    @Asticky_ 6 років тому +194

    This is awesome. It makes me kind of sad that game programming has become so advanced. Don’t get me wrong, I love modern games - but these kinds of hacked-together solutions are long gone and we don’t get to see things like this anymore.

    • @TenaciousJ728
      @TenaciousJ728 6 років тому +53

      That's the beauty of legacy consoles. Witnessing more being done with less is a wonderful thing. Real work was poured into working with the hardware's limitations while making the games look and play fantastic.

    • @radioactium
      @radioactium 6 років тому +26

      It would be cool to see a modern take on a game that you could still do memory or even RNG manipulation on. If companies put a functional mechanic in a platformer or dungeon crawler that mimicked those kinds of things I would honestly love to try it, but since that's probably not what the average consumer wants I doubt that'll happen anytime soon.

    • @cube2fox
      @cube2fox 6 років тому +10

      I find it interesting that even on rather modern games, it is often still possible to glitch though a wall if you find out how to do it. E.g. in Zelda Wind Waker, there is a video on how speed runners tried really long to glitch through a double wall to Hyrule castle early in the game. They eventually managed to do it. I don't get why it wasn't simply impossible. To be fair, maybe Wind Waker is still too old, and walls in modern games are really impenetrable.

    • @weardanaether5539
      @weardanaether5539 6 років тому +30

      To be fair, it's not that the hacked-together solutions are gone, rather - the hardware, operating systems and programming languages are now clever enough to fail the game in a predictable way when something unexpected occurs.

    • @SleepyAdam
      @SleepyAdam 6 років тому +11

      Homebrew communities and fantasy consoles like PICO-8 keep programming with limitations alive. I recommend trying it sometime if you find exercising your brain with those kinda programming challenges fun.

  • @marklonergan3898
    @marklonergan3898 2 роки тому +20

    Mario travels through the floor and lands on actual memory. In this sacred land of unstable volatility, mario immediately gets the urge to spin and break as many blocks as he can...

  • @YaroKasear
    @YaroKasear 6 років тому +167

    Small correction, it's 65,536 bytes, not 65,535. 65,535 just happens to be the highest VALUE for an unsigned 16-bit integer, but it's stil 65,536 because of 0x0000.

    • @SylveonTrapito
      @SylveonTrapito 6 років тому +5

      Yaro Kasear wow... To see that level of technical detail. I am envy of you.

    • @Stavvy0
      @Stavvy0 6 років тому +47

      Agustin Goicoechea It's actually basic coding knowledge but an easy mistake. Good thing to note, regardless.

    • @LegoWormNoah101
      @LegoWormNoah101 6 років тому +3

      @@SylveonTrapito And 65536 is the same memory number as the Commodore 64, in exact numbers!

    • @TheMrKeksLp
      @TheMrKeksLp 6 років тому +8

      Now that's an off-by-one error

    • @fakefirstnamefakelastname8305
      @fakefirstnamefakelastname8305 5 років тому

      Yaro Kasear Not relevant at all but fine

  • @bamster64
    @bamster64 6 років тому +33

    Speedrunning through the game's memory? Now that's amazing.

  • @LieLikesMusic
    @LieLikesMusic 5 років тому +19

    Hey this is a great niche for a channel! Super interesting video too! Thanks for making this.

  • @329link
    @329link 2 роки тому +10

    I love this glitch to death because of how this can be interpreted. Mario is literally *travelling through the very fabric of his reality,* and it's completely unintentional. It's like discovering god's workshop. I kinda wish ACE looked more like this in other games, instead of just being a bunch of inexplicable actions before suddenly cutting to whatever you did.

  • @Architector_4
    @Architector_4 6 років тому +49

    2:35
    65536* bytes - byte 0000 matters too!

    • @RGMechEx
      @RGMechEx  6 років тому +24

      Whoops, you are so right.

    • @BradCorrupts
      @BradCorrupts 6 років тому +1

      I was looking for this comment

  • @fatcerberus
    @fatcerberus 4 роки тому +9

    Game Boy glitches in general are always really fun, but this one was always the one that fascinated me most of all. Just the idea of having your character, in a very literal sense, explore the game's memory space and directly change in-game variables simply by interacting with it as usual... I mean, there must be an actual game concept somewhere in here, right? I would totally play a game based on this.

  • @Architector_4
    @Architector_4 6 років тому +34

    Woah. This sparks some thinking about recursion.
    I wonder if this also means we can use this to change the value of Mario's position to get him back on map, just for the sake of it.
    Imagine someone playing through this game, accidentally doing this glitch, then making their way to that value, and changing it to teleport back to map. lol

    • @bored_person
      @bored_person 6 років тому +5

      That would depend entirely on if the associated tiles are breakable, and even then, the value that his position could be set to would be limited, and would not necessarily lie within the level.

    • @Architector_4
      @Architector_4 6 років тому +2

      Yeah, I know.
      But still, that'd be cool.

  • @JamesR624
    @JamesR624 6 років тому +157

    I wonder if this means you could "Jailbreak" Super Mario Land 2 in a similar vein to how Sethbling did with Super Mario World. It seems you might be able to, in game, read, write, and execute, arbitrary code anywhere in the RAM or ROM since Mario, in theory, has access to all of it.

    • @nin10doadict
      @nin10doadict 6 років тому +37

      True, though many of the tiles couldn't be changed in-game because Mario can't interact with them. Only certain values like 00 could be changed because they're displayed as tiles that Mario can interact with, so I think this would be limited in what you could do with it.

    • @Architector_4
      @Architector_4 6 років тому +37

      Well, Mario doesn't have full access. Some of those blocks are unbreakable, some are simply 00 i.e. he can just walk through them and can't interact with them too. And even then, he can't change the values to whatever he wants.
      Although it's probably possible to change RAM around a little to use other properties for the blocks and change them that way, but that's not really likely.

    • @Noxedwin
      @Noxedwin 6 років тому +35

      The problem is the way SethBling does codes like that is that he has extremely fine control over the values that get written. They rely on how far along a sprite is scrolled, which you can do down to the pixel. And then shenanigans execute that sequence as an interpretable code.
      In this, it looks like the player can only change one block into another block, if _that._ It is as Architector #4 says. They have no fine control. No ability (as of yet) to orchestrate a sequence of objects that "coincidentally" can be executed as code. Only Mario and his stupid brick-busting feet.

    • @Architector_4
      @Architector_4 6 років тому +13

      +Noxedwin Tepes
      Wait, can entities in Super Mario Land 2 exist off-screen? If so, maybe we could orchestrate them up in a way similar to SethBling's approach, then jump down into RAM and maybe flick the right block to tell it to execute from that spot of RAM where entities are stored?
      The chance of this being possible are abysmal, but what if.
      :o

    • @Noxedwin
      @Noxedwin 6 років тому +8

      I seriously doubt that there is even a possibility. When you change a tile or bonk a block in that memory space, you're only *changing* a value, not reading it.
      I don't claim to know how arbitrary code execution works, only my understanding of it thus far. So anyone with actual knowhow can pipe up whenever they feel like it.
      But you have 65535 discrete bytes of memory. That's 65535 blocks (inclusive of level geometry and that mangled wraparound beneath the level).
      *You would need:*
      • A tile whose opcode representation is that of a Jump instruction.
      • Have that tile, and *only* that tile, execute on VBlank (the brief window before the picture updates each frame). Or, at the very least, have other executing tiles not change this parameter or hang the CPU or anything like that. Arbitrary code execution often relies on the CPU not being picky enough to ragequit when it gets certain kinds of nonsense.
      • Four tiles (or so) next to it that, using the same rules as the above point, corresponds to "that spot of RAM where entities are stored" (people generally refer to that as the "sprite table" or "object table" or some variant thereof).
      • A set of entities that Mario can pick up and put down without him destroying them or being hurt by them (in SMW, Koopa shells do this because you can stomp them to pacify them, and then gently put them down).
      • The ability to place those entities in a way that represents the operands to give the Jump instruction a destination address (jump to "this").
      • KNOW what order those entities exist in the table in order to form a coherent address.
      • The knowledge and ability to place them correspondent to the place in the program you want to go. This could be the end credits script, the new game script, or even just an instruction to make the GB speaker beep at C-flat for 5.68 seconds. Or 5.69 seconds. Or B-sharp.
      • For those entities to NOT DESPAWN or change in any way while Mario is not using them (in the case of Koopas, for them to not uncurl and move about on their own), as that would obliterate the code.
      And _probably_ half a dozen more variables. The chances of these all being true are not merely "abysmal", they're completely incomprehensible. The human mind is not structured to understand a number with that many zeroes in it. That's the sort of number where smarter people than me use the letter "E" in the middle to describe how bloody long that number is. Boffins have to *cheat* to write numbers like that.
      As a person of science, I can't say "it's impossible" with a clear conscience. But it's so *freakishly unlikely* that trying to find a number small enough that's still bigger than zero to represent it is exhausting me far more than it is for me to write this post explaining how bollock-crushingly improbable that is.
      If anyone could make a video on UA-cam of them placing an undoctored _Super Mario Land 2_ game pak in an unmodified Game Boy and, step-by-step (in a way that a layperson could replicate and come to the exact same result, accounting for all confounding factors like RNG), create an instruction using the memory zone and sprite table (or some other versatile and easily-manipulable part of the RAM) to control what the game does or where it sends the player in a way that can be written down on a chart and peer-reviewed, I would fear what they could do next.
      Given enough time and dedication, it might happen. Which is why I can't say it's impossible. I will say "it's certainly impossible *now*." There are too many factors that need to be perfectly aligned. Down to 1/65535. Multiplied by however many variables there are.
      You would be better off building a romhack of _Super Mario Land 2_ where the only change is a single block that turns into an executable Jump instruction leading to a static operand which is the end credits. But they already did that. It's that block on the right, several layers down that morass beneath the level.

  • @RobertSzasz
    @RobertSzasz 6 років тому +52

    C thousand... I never heard it referred to that way before.

    • @animowany111
      @animowany111 6 років тому +9

      I always refer to hex numbers that way, reading A-F as if they were normal digit names, it's way nicer than "Cee Zero Zero Zero". I avoid that in the xx1A-xx1F range, though, because "Ay-teen" is confusing.
      Works in my native language, though.

    • @NativS2002
      @NativS2002 5 років тому

      animowany111
      Works in Hebrew too!

    • @VectorKappa
      @VectorKappa 5 років тому +2

      @@animowany111 bdziesiąt :p

    • @lev7509
      @lev7509 4 роки тому

      In hexadecimal sense that is a thousands place.

  • @jmalmsten
    @jmalmsten 6 років тому +56

    This actually sounds like a cool game concept. Rewriting the code while playing. A bit like the matrix.
    I do remember a pc game that had the player fighting against a propagating computer virus and the levels where based on the folder structure of the actual computer that it was running on. I never got to play it myself but it was fascinating reading the back of the bo as it promised weird battles where the virus could get control over the settings files and mess with the input and graphics as you were playing. It probably wasn't that good, but the concept and idea always intrigued me.

    • @CutePuppy351
      @CutePuppy351 6 років тому +5

      jmalmsten Yeah, that's a crappy came to today's standards. That doesn't really hold up very well today lol.
      You can still see it on this guy's channel, he reviews viruses on different operating systems using virtual machines. Search it on UA-cam!

    • @resort-anthem
      @resort-anthem 6 років тому +1

      jmalmsten check out danoct1

    • @kirbycreep
      @kirbycreep 5 років тому +7

      Baba is you
      A game where you literally change the behavior of things to solve puzzles

    • @Sypaka
      @Sypaka 5 років тому +6

      There are two games like this. First the one written above and the other one is called Lose/Lose for Macs.
      In the latter, killing an enemy literally deletes the file of the HDD.
      Needless to say, this game is now deemed Malware.

    • @TrigramThunder
      @TrigramThunder 4 роки тому +2

      there is also the opposite case in a part of the game DDLC (a game character opens up a file dialog for you and tells you to delete a file which will erase another character's existence from the game, which is true and that's what happens). sadly, this only works within the scripted part of the game, and messing with the files in any other way like adding them back, editing them, deleting more of them, or adding new ones that weren't there before, won't actually have any discernible effect on the game. not even crashing it.

  • @MrBillgonzo
    @MrBillgonzo 6 років тому +9

    Your videos are soooo good. Very nice visual representation, must take a lot of time to put together. I appreciate it!

  • @zenniththefolf4888
    @zenniththefolf4888 4 роки тому +2

    Mario is now canonically a god, he can go through the written rules of the universe in the form of level tiles and modify them as he pleases. But Mario is also a chaotic god, as he can leave a wake of destruction and disarray in his path.

  • @RobinLSL
    @RobinLSL 6 років тому +2

    The production value in this I find really great. And the explanations were well done too. Thanks for making this!

  • @DiscoMouse
    @DiscoMouse 5 років тому +3

    Super interesting, and the memory “world map” you made makes it really easy to understand. Thanks for the video.

  • @PhoenixClank
    @PhoenixClank 6 років тому +1

    I always had an idea of what was going on, but it's very nice to get a detailed explanation like this!
    The audio sounds like you're giving a talk in a large room xD

  • @GreyJolly
    @GreyJolly 6 років тому +35

    It seems like some types of glitches are common in old games for example this really looks like the glitch towns in pokemon red/blue

    • @hi-i-am-atan
      @hi-i-am-atan 6 років тому +15

      +GreyJolly They're both indeed glitches of the same nature, where the lack of memory protection on the GameBoy means that the playsim will gladly accept data as tile data, even if it's half the memory map away from where the tile data is _supposed_ to be stored.

    • @cube2fox
      @cube2fox 6 років тому

      Arctangent Do you know whether the same type of glitch is responsible for the glitch dungeons in Zelda Link's Awakening?

    • @hi-i-am-atan
      @hi-i-am-atan 6 років тому +2

      +Trurl I'm not too familiar with those, but I think you don't actually go into non-map data with that glitch. It's moreso that all dungeon maps are stored in the same place, even those from different dungeons, so going out of bounds results in ending up in an entirely different dungeon - it's just not the easiest to tell, because the game doesn't know to load the right graphics ( or palette on GBC ), so you end with the right layout but it just looks like a complete mess of incorrect tiles.
      I might be confusing this with what happens in another Zelda game, though. I'm pretty sure I'm thinking of one of the GB Zelda games, at least.

    • @cube2fox
      @cube2fox 6 років тому

      Arctangent No I think you are right, I believe the layout actually is fine and just the graphics look broken. Though the glitch dungeons behave different in the DX version I believe, so they must have changed something. Regarding the other GB Zeldas, I think neither Oracle of Seasons nor Oracle of Ages have known glitch areas.

    • @Oneiroclast
      @Oneiroclast 6 років тому +2

      The reason is because old consoles generally used unmanaged code as opposed to managed code. When a game using managed code tries to read data that it isn't supposed to, it just crashes.

  • @duothehybrid
    @duothehybrid 2 роки тому +1

    The link between the garbage data and the memory is the reason this is so fascinating

  • @ElTaitronAnim
    @ElTaitronAnim Рік тому

    8:18 This part showing what it would look like if the BG refreshed each frame is really impressive. Your video wizardry knows no bounds.

  • @RetroRynn
    @RetroRynn 6 років тому +1

    I just found out about your videos, and I've gotta say, these are some of the most informative and well made explanations of glitches that I've seen! Your animations are amazing at showing the viewer what is happening in the game and you really know your stuff when it comes to how these games' code works! Keep up the great videos man! : )

  • @meatpockets
    @meatpockets 6 років тому +16

    Watching Mario traverse the game’s rom reminds me of the 5th dimension in the movie Interstellar.

    • @renakunisaki
      @renakunisaki 6 років тому +1

      Meatpockets maybe Mario can knock on some blocks in binary to tell the princess in the past to not get captured by Bowser. (Even though she's not in this game...)

    • @priyanshugoel3030
      @priyanshugoel3030 6 років тому

      Maybe they can add it in GTA 6 traversing in the code and changing the 256 gbs of data manually .....when cheats and haccks are not game breaking enough.

    • @kneesurgerytomorrow
      @kneesurgerytomorrow 4 роки тому

      NO TIME FOR CAUTION

  • @Tigrou7777
    @Tigrou7777 6 років тому

    Fantastic work, as always. I'm the author of an editor for WL1 (which use same engine as SML2) and since I had to dig around to reverse level format there is a bunch of things you explained that I already found out but this was a great reminder.

  • @Enterim
    @Enterim 6 років тому +1

    The visualization of Mario traveling through the memory map in realtime was incredible! Excellent video.

  • @thorn9382
    @thorn9382 2 роки тому +1

    It's surprising just how many old video game visual or level glitches revolve around incorrect parts of the rom being loaded as part of the level

  • @benbaez6044
    @benbaez6044 6 років тому

    There's all sorts of amazing comments down here, but I want to both let you know A) I can hear the echo from your surroundings, and B) It actually doesn't detract from your video at all. In fact, dare I say it made me more interested? Maybe that's a stretch. Still, great video with amazing content! Love it!

  • @StephenChapman
    @StephenChapman 6 років тому

    Absolutely fantastic video, man. No idea how I've never heard of you until now, but I'm glad I now have! Your explanations and visualizations are awesome. Per my own experience, I fully understand just how much time and effort you've put into this. I really appreciate your efforts and look forward to going back through your previous videos now. Well done!

  • @ProximitySound
    @ProximitySound 6 років тому +12

    Silly nitpick - audio person here. There's a reverb I'm hearing that I haven't heard in your other videos. If that was intentional my suggestion would be to not employ that going forward. If it's not intentional, some mild noise reduction may help. Sounds good otherwise, just a bit distracting. Great explanation!

    • @masonneil4184
      @masonneil4184 3 роки тому +4

      I know this is like two years old, but it sounds like, in this video, he is in a big room with an echo.

  • @almoni127
    @almoni127 5 років тому +1

    Your explanations and editing skills are unreal (and probably required a lot of time and effort). Kudos!

  • @Sparkette
    @Sparkette 5 років тому +3

    I love how the way you describe this glitch makes it sound like something from Wreck-It Ralph or some shit, but it's actually entirely accurate to a real game's technical functioning.

  • @Zye1984
    @Zye1984 5 років тому +2

    Interesting. I'm amazed how you were able to create an image of the entire memory like that. Heck at one point I wanted to make maps for Blaster Master: Enemy Below and was screen shooting and pasting things together; that took forever and I gave up..
    Anyway, I'd like to see Metroid II's "secret world" the same way you did this for this game. I'm not sure if anyone has ever mapped the whole thing out before..

  • @_lunartemis
    @_lunartemis 2 роки тому +2

    Imagine someone using this trick in order to custom-make a brand-new level, or to re-unlock the first level of the game.

  • @threemothsETC
    @threemothsETC 5 років тому +8

    imagine having to traverse through a shifting mass of reality to change the course of the universe

    • @troncrash7912
      @troncrash7912 4 роки тому +2

      The quest to fix the McDonalds icecream machine

  • @RaposaCadela
    @RaposaCadela 6 років тому

    You've just made a game I didn't even like that much, into the most interesting game I have ever come to knowing. THIS is how you explain a glitch! This is probably one of the most well made videos I have ever had the pleasure of seeing.

  • @CutePuppy351
    @CutePuppy351 6 років тому +17

    What other kinds of games do this?
    If any of you ever find something like this, post it to UA-cam under "Memory manipulation" or some title. I'd like to see how many games people can break like this. Even if it's seeing the RAM but not modifying it. It's creepy. You're so used to playing 3D/HD games, imagine if a 3D/HD game spat out tons of textures in your face?
    It's obviously not possible in 3D games, or HD games. But it's weird seeing the whole RAM, ROM and other bits and pieces of memory in 2D ones. I'll settle for that.

    • @cannedspaghetti1854
      @cannedspaghetti1854 6 років тому

      If you recreate that but in a 3D space, you could get similar results.

    • @mariannmariann2052
      @mariannmariann2052 6 років тому

      I think the Sonic 1 special stages and Pokemon Gen 1 do that too.

    • @SMARTBoardSBMInchInteractiveWh
      @SMARTBoardSBMInchInteractiveWh 5 років тому

      Mariann Mariann pokémon has so much glitch areas

    • @romajimamulo
      @romajimamulo 4 роки тому

      The glitch worlds in the original mario are like this too

  • @cupriferouscatalyst3708
    @cupriferouscatalyst3708 3 роки тому +1

    Man, this gets existential. Imagine if we could glitch through the world in real life and start literally punching atoms to reprogram the universe itself. Maybe that's what DMT is?

    • @JRPapollo
      @JRPapollo 3 роки тому +1

      That was my thought exactly. Maybe that's where lucid dreaming and Astral projection come into play, or looking for the cracks in reality. That's what physicists are doing. Trying to learn how to hack existence.

  • @Hyperboid
    @Hyperboid 3 роки тому +2

    This brings a whole new meaning to "memory lane"

  • @bobstevenson3130
    @bobstevenson3130 6 років тому

    Nice job on this video, absolutely loved the visuals! It's clear that you put a lot of time and effort into this explanation, and everything made perfect sense as a result. Cheers man.

  • @iau
    @iau 6 років тому +4

    My goodness. That visualization of Mario traversing the address space sent shivers down my spine.
    It was incredible. Thank you for doing it. This level of quality and dedication is almost unheard of in UA-cam. Bravo!

  • @minerturtle45
    @minerturtle45 6 років тому +32

    Mario's Adventures in Coding

    • @blickblocks
      @blickblocks 6 років тому +17

      Mario Teaches Memory Addressing

  • @urban_gabor
    @urban_gabor 6 років тому +1

    Thank you for making these animations, they make everything much more understandable!

  • @piemagaming4183
    @piemagaming4183 6 років тому +1

    at 6:20 you could just write the rom in assembly based on the blocks that are there. Well, that is as long as there would be only 1 type of ?-block.

    • @CutePuppy351
      @CutePuppy351 6 років тому +1

      PieMa Gaming This is so interesting. The fact that Mario can run around ON the code and bump it around is such a cool concept.

  • @Davideb87
    @Davideb87 6 років тому +9

    Interesting, as usual. Greetings from Italy :)

  • @ADreamingTraveler
    @ADreamingTraveler 6 років тому +1

    I barely thumb up videos but you did such a good job and took the effort to learn and explain all of this that you deserve it. I hate it that some people put in the bare minimum effort and get rewarded while people like you do but don't.

  • @thetinpin
    @thetinpin 6 років тому

    It's always mind boggling to find out something completely new about a game you have played through SO MANY TIMES over 25+ years!
    I applaud you, sir!

  • @jansenart0
    @jansenart0 5 років тому +2

    This was awesome! I loved the live updating memory map !!!

  • @digivince
    @digivince 6 років тому

    I've just started learning a bit about assembly on the Gameboy and this video is a really awesome way of showing the memory map. Keep it up!

  • @Diceyed
    @Diceyed 6 років тому +16

    so my question is, what about that single interupt number? what happens if Mario interacted with it?

    • @mariannmariann2052
      @mariannmariann2052 6 років тому +8

      That may shut down the LCD screen, and damage the hardware if it is done outside of V-Blank.

    • @davidmcgill1000
      @davidmcgill1000 5 років тому +3

      It's the interrupt enable register. The bits in that number correspond with which ones are enabled.

  • @jek__
    @jek__ 2 роки тому +2

    Now this is the real mario maker. Program your own levels in mario by playing mario!

  • @jacklazzaro9820
    @jacklazzaro9820 6 років тому +12

    I've never played or owned Super Mario Land 1 or 2. This is all new, thx.
    So, as far as your SNES functionalities series is going, how ya doing?

    • @2mccue4u27
      @2mccue4u27 6 років тому

      Mario Land 2 was my first Mario Brothers game and it's honestly still fun to this day. Great level design, fun power-ups, fun bosses, and amazing music.

    • @jnerdsblog
      @jnerdsblog 6 років тому

      Mario Land 2 is my favorite GB game, hands down. Both are worth a playthrough though!

  • @braindeaddog
    @braindeaddog 6 років тому

    ive only started watching this channel recently and i love it so much!!! such interesting topics and explained so plainly that theyre easy to understand :-) and your voice is very nice to listen to, ive binge watched all your videos! very very underrated channel

  • @Lostcontroller
    @Lostcontroller 6 років тому

    Another solid explanation on the inner workings of this great game and the Game Boy itself. Thanks for uploading this.

  • @konstantinospalapanidis6414
    @konstantinospalapanidis6414 Рік тому +1

    What a wonderful video. It is as amusing for me as an adult as it was the game itself 25 years ago.

  • @DeadwingDork
    @DeadwingDork 6 років тому

    Y'all really need to get better at clickbait or marketing or something because your vids deserve a bigger audience. Very well done as always dude!

  • @kittykat5483
    @kittykat5483 6 років тому +16

    Mario... Have you been messing with the code again?

  • @Alexs23743
    @Alexs23743 2 роки тому +1

    Wario: "OBEY WARIO, DESTROY..."
    Mario, after glitching through time and space: "Surprise-a!"
    Wario: "...Why do I even bother? I guess I'll start my own business back home in Diamond City or something..."

  • @Soundole
    @Soundole 6 років тому

    All the visualisations you added to this really helped the explanations. Awesome video!

  • @IanMcBride
    @IanMcBride 4 роки тому

    Wonderful explanation, graphics, and composure throughout the video. Very impressive!

  • @SaltyRamen.
    @SaltyRamen. 6 років тому +1

    Omg that’s a lot of work you just put in for this. Appreciate it

  • @moosemaimer
    @moosemaimer 6 років тому +1

    I just watched that GDQ video which featured this a few days ago, so the timing on this is perfect.

  • @FinalManaTrigger
    @FinalManaTrigger 5 років тому +1

    Thanks so much for this, it helps me visualize how custom code was made for Super Mario World as well!

  • @Domarius64
    @Domarius64 6 років тому +2

    I love how you can show us Mario moving through The Matrix... Mario is Neo!

  • @serenasamborski6856
    @serenasamborski6856 6 років тому

    I love these videos. I don't understand all of it but you do such a good job explaining it, it's just super fascinating.

    • @CutePuppy351
      @CutePuppy351 6 років тому

      Serena Samborski Yeah, this game is a rare case.

  • @cameronmoore7675
    @cameronmoore7675 6 років тому +1

    This was a fascinating, informative video. The work you put into editing this helps immensely in helping viewers understand what's going on.
    I never knew about this glitch! Does the "secret worlds" glitch in Metroid 2 work in a similar manner? I'd love to see a video about that!

  • @pmnt_
    @pmnt_ 6 років тому

    This is the best visual explanation of the SML2 credits warp glitch. Thanks a lot!

  • @arbitrario3845
    @arbitrario3845 4 роки тому +1

    2:19
    RGMEX here: We'll explain this in a bit
    Also RGMEX: I'm a one man crew
    whaet?

  • @catspawsminecraftgaming9753
    @catspawsminecraftgaming9753 6 років тому

    This is absolutely amazing. Thank you so much for making these videos, and I hope you continue to do so. Instant subscribe.

  • @alessio_cali
    @alessio_cali 6 років тому

    Each of your videos is just amazing. Glad to have found your channel!

  • @chrisakaschulbus4903
    @chrisakaschulbus4903 4 роки тому +2

    imagine falling out of bounds would let you access the other parts of ram on your pc... punching blocks in minecraft is changing hex values in windows and other programs :D
    probably the fastest bluescreen ever, but you can still dream, right? ;)

  • @renakunisaki
    @renakunisaki 6 років тому +7

    I'd love to see runs with the screen updating every frame like that.

    • @lev7509
      @lev7509 4 роки тому

      SEIZURE ALERT!

  • @kargaroc386
    @kargaroc386 2 місяці тому +1

    Probably one of my favorite glitches of all time.

  • @pikapomelo
    @pikapomelo 6 років тому

    Thanks for the explanation of the memory and the meaning of abbreviations like wram. I was just learning about this and found that very helpful. If anyone is interested, BGB will let you view the RAM, ROM, and assembly code in real time.

  • @deerstreams
    @deerstreams 6 років тому +1

    Amazing video! Now I finally (somewhat) understand what I'm doing in the speedrun!

  • @CheeseDudInTheOven
    @CheeseDudInTheOven 2 роки тому +1

    I remember this area from doing the bunny fly over glitch, it feels so surreal seeing it finally mapped out and explained, like the wild west being over somewhat

  • @MrXana91
    @MrXana91 5 років тому +1

    Omg i think i fell in love with this kind of videos

  • @benplus1503
    @benplus1503 6 років тому

    Finally an RG Mech X video! Keep up the good work. I always wondered how this glitch worked.

  • @johneygd
    @johneygd 6 років тому +2

    Wow ,that’s some really really some impressive technical stuff.

  • @CrucialMuzic
    @CrucialMuzic 6 років тому +1

    I love these videos so much, they're always so informative and interesting. :)

  • @YellowYoshi398
    @YellowYoshi398 6 років тому +6

    Where No Plumber Has Gone Before

  • @evanseifert8858
    @evanseifert8858 6 років тому

    Great video as always! I just have to point out that you're incorrect at 2:30. There should be 65,536 unique bytes, not 65,535 as you said in the video.

  • @Boomproof
    @Boomproof 6 років тому

    Very interesting pieces of work you hand out. Cudos and best wishes for this year.

  • @tuckMCWizard
    @tuckMCWizard 6 років тому

    Just found your channel today. I must say, I only have half a clue whats going on, but man is it cool.

  • @toadfrommariokart64
    @toadfrommariokart64 2 роки тому +1

    these videos are amazing. the attention to detail... 😚👌

  • @UXXV
    @UXXV 6 років тому

    The amount of work you put in here is amazing. Well done.

  • @Koohiisan
    @Koohiisan 5 років тому

    Fascinating! Thanks for putting so much detail into this explanation!