Super Mario Land 2 - Memory Exploration

  Рет қаралды 320,037

Retro Game Mechanics Explained

Retro Game Mechanics Explained

Күн бұрын

Ever wondered what is just off-screen, hidden by the game camera? It's all explained right here.
LINKS
Twitter (updates): / retrogamemechex
Patreon (support): / rgmechex
Discord (discussion): discord.rgmechex.com
INLINE LINKS
SML2 Any% Leaderboard: www.speedrun.com/sml2#Any
OTHER LINKS - SPECIAL THANKS
SML2 Disassembly by froggestspirit: github.com/froggestspirit/mar...
JackTech's "The Game Boy, a hardware autopsy" video series: / @jacktech5101
PATRONS
Thank you everyone for your help! It means so much to me.
Markus Persson, Matthew Mahorney, Jason Hughes, Matthew, Nik, Brandan Lennox, Tim Stöcker, Chris Margroff, Si Davies, FFVIMan, Alec Johnson, Gynvael, Owen Christensen, Greg Miell, Joshua Goyder, Larry Koubiak, Robert Hunt, Martin Trozell, Avi Drissman, Ange Albertini, Chris, Seth Tierney, Carsten Przyluczky, Diego Santos Leão, Ceres, yuriks, Emma, big.toni, TheJelloMaster, kaizoman, Oxygen Chen, Joseph, Yakov, Mikely Whiplash, Buddy, Zach Komon, Alex Yancey, Travis Nellor, Scott Harper, A Sentient JDAM, Max Roncace, 4F Panda, ParoXoN, Xander Webb, Tina Wuest, 333Rich333, Robert Schultz, Dan Shedd, Joel Kuhn, Jake Hickman, Mike Gerow, Garret Kelly, Corey Ogburn, Brandon Pelfrey, null, Vaendryl, LiraNuna, Daniel L, Steven, David Mazarro, Chell Jones, Jordan Wiens, Glenn Sugden, Juli Mallett, Stephen1704, Israel Jacquez, Micah Elizabeth Scott, Khalill Marsh, JockeTF, Tyler, M Young, Alex Hearn, Kieran Hayles, sapphirepaw, Daniel, Dave Voyles, foxspresso, Stephan Packard, Corrodias, Eneliko Reynaldo Smith, Terry Kramarz, AlkanKondo89, PKFC, Paul Ziegler, Eric Nusbaum, Stefan Knott, Peter Nilsson, RetroReversing.com, sfabian, Matt Tuttle, Josh Clark, Rod, Chris Apple, Tobias Jost, Oran Viriyincy, Snorburter, Nicholas, Knifa, Jesse, Nordern, Danny, Cameron Porcaro, Narien, John Cudney, Mate Varga, TheWaffleWizard, matchai, Diarmaid Roche, Douglas Confere, Clementine (Collin), TheGreatCodeholio, Sijmen Schoon, iodbc - The Black Box, Justin Carter, Daniel Granerud, Rasmus Bååth, Matias Christensen, Ellis HP, Dane Orie, Hex Witch Circe, Mike Magin, Brian Henriquez, Pablo, briandef, Nick, Manuel Tiedtke, Rob Cameron, Antti Nykanen, John H., Matt Godbolt, David, Kevin Turner, Matt Coburn, cab404, Skylar Brown, DrunkCat, Arnt Richard Johansen, Martin Harding, Robert Butler, asf, Dan Balestrieri, Jeru Sanders, Wenting, Paolo Pisati, Andrew, Navarro Parker, Salvidrim, Luke Chang, Josh Wolfe, Hans Eriksson, John Armstrong, Ryan, Sizik, Leon, Alejandro Cadavid, hyperforce, silsha fux, Curtis Ware, Andrew, Joseph Edwards, Nathan O. Marsh, Roni Mizrahi, Michael Furtak, Q, & dan

Пікірлер: 831
@Akfamilyhome
@Akfamilyhome 6 жыл бұрын
The hardest custom level ever built: the ROM itself.
@hydrochloricacid2146
@hydrochloricacid2146 6 жыл бұрын
lol
@calebland6246
@calebland6246 6 жыл бұрын
Haha! I always like a bit of ROMCom.
@Noxedwin
@Noxedwin 6 жыл бұрын
Mario RogueLike. The level changes, and moving carelessly will permakill you.
@tomrow32
@tomrow32 6 жыл бұрын
MARIOLAND ZONE
@musicmaker368
@musicmaker368 6 жыл бұрын
lol nice one...XD
@RichardAspdenOfficial
@RichardAspdenOfficial 6 жыл бұрын
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 5 жыл бұрын
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 5 жыл бұрын
It'll cause an integer overflow and allow you to edit the original comment.
@otesunki
@otesunki 5 жыл бұрын
Clint Hobson KZbin patched it!
@css1323
@css1323 5 жыл бұрын
Pro Odermonicon TIL!
@pumpkin6429
@pumpkin6429 5 жыл бұрын
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.
@Ferreus1
@Ferreus1 6 жыл бұрын
9:45 "Falling through the entire adress space" is such an awesome phrase in this context.
@otesunki
@otesunki 5 жыл бұрын
I was looking for this comment!
@nvcbl
@nvcbl Жыл бұрын
sounds like something a nerd would say if he and a bunch of others got stuck in a game
@kargaroc386
@kargaroc386 Жыл бұрын
Mario is like a NOP slide
@avoqado89
@avoqado89 6 жыл бұрын
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.
@radiorob7543
@radiorob7543 5 жыл бұрын
Or Tron.
@valoch3187
@valoch3187 4 жыл бұрын
Or Matrix.
@Preinstallable
@Preinstallable 4 жыл бұрын
Or the matrix
@JaseyStudios
@JaseyStudios 4 жыл бұрын
Or the Matrix movie
@lev7509
@lev7509 4 жыл бұрын
That's some Doki Doki Literature Club stuff right there...
@neoxus30
@neoxus30 5 жыл бұрын
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 4 жыл бұрын
In oddesey I heard he got fired sadly
@GlitchCityMissingNo
@GlitchCityMissingNo 3 жыл бұрын
and he STILL gets the fruit back! (im happy to see another scykoh fan lol)
@silvertotodile6958
@silvertotodile6958 2 жыл бұрын
If game logic was a part of vs. debating, Mario would be literally universe shattering.
@kargaroc386
@kargaroc386 2 жыл бұрын
@@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 Ай бұрын
What do you mean "also?" My understanding is that this is what plumbers do
@ShyGuyXXL
@ShyGuyXXL 6 жыл бұрын
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 жыл бұрын
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 жыл бұрын
They programed a primitive editor too that way, then edited the level with said editor
@lindholmaren
@lindholmaren 5 жыл бұрын
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
@SuperPhunThyme9
@SuperPhunThyme9 5 жыл бұрын
Wow you guys, this is so interesting
@truepixelgamer8779
@truepixelgamer8779 5 жыл бұрын
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.
@The_Mister_E
@The_Mister_E 6 жыл бұрын
Mario in Memory Land
@catspawsminecraftgaming9753
@catspawsminecraftgaming9753 6 жыл бұрын
TheIncredibleMasterE underrated comment right here!
@ryanteal8406
@ryanteal8406 6 жыл бұрын
Mario and Luigi Bowser's inside story / Dream team?
@chickeninabox
@chickeninabox 5 жыл бұрын
@@catspawsminecraftgaming9753 vram is forest of illusions
@mayra3318
@mayra3318 5 жыл бұрын
Fd
@waffleliberty89
@waffleliberty89 4 жыл бұрын
*Super Memory Land 2: 6 Golden RAMS*
@kleadron
@kleadron 5 жыл бұрын
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 жыл бұрын
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 жыл бұрын
Franz Pattison Nah, we arent inside Mario's dream. I mean, where's the shy guys? The vegetables? The frog?
@franzpattison
@franzpattison 6 жыл бұрын
funni n original maybe he's not so anxious over his day job that he dreams about it lol
@ShinjiGetsGrounded
@ShinjiGetsGrounded 6 жыл бұрын
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 жыл бұрын
Well, what Mario's experiencing here is _raw_ data. It is what it is. Our dreams are processed data.
@sonetagu1337
@sonetagu1337 Жыл бұрын
Dreams are semi-processed though. You can only make a shape out when you focus on it, really hard.
@creeper283
@creeper283 6 жыл бұрын
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 жыл бұрын
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!
@creeper283
@creeper283 6 жыл бұрын
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.
@fffUUUUUU
@fffUUUUUU 6 жыл бұрын
Alex283 Can't agree more!
@KyleChamberlin
@KyleChamberlin 6 жыл бұрын
Ditto!
@SearinoxNavras
@SearinoxNavras 6 жыл бұрын
Agreed. Without it, the video wouldn't be remarkable because it'd be too hard to follow.
@lukamagicc
@lukamagicc 6 жыл бұрын
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 5 жыл бұрын
You've never seen a video that is this in-depth on KZbin?? I've seen hundreds.
@ewthmatth
@ewthmatth 5 жыл бұрын
Tell me what your interests are and I'll try to direct you to some quality vids :)
@pgarcia17
@pgarcia17 4 жыл бұрын
Watch game theory they have in depth game theorys, mostly just video game lore
@JorgetePanete
@JorgetePanete 4 жыл бұрын
You forgot the question mark.
@dronkusdonkus9190
@dronkusdonkus9190 4 жыл бұрын
@@pgarcia17 (except when they get everything wrong and post cringe)
@marklonergan3898
@marklonergan3898 Жыл бұрын
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...
@lmoore3rd
@lmoore3rd 6 жыл бұрын
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 4 жыл бұрын
@@RandomNameLastName811 it does have a bit of a "damn kids" "my generation is better than yours" aspect, but its very tame.
@amberdean1263
@amberdean1263 4 жыл бұрын
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 4 жыл бұрын
@@kargaroc386 I have no clue where you get that.
@rickleverton7949
@rickleverton7949 4 жыл бұрын
@@RandomNameLastName811 it doesn't, snowflake.
@handsomebrick
@handsomebrick 4 жыл бұрын
@@RandomNameLastName811 What's weird about that?
@ShadyNetworker
@ShadyNetworker 6 жыл бұрын
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 жыл бұрын
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 жыл бұрын
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 жыл бұрын
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 жыл бұрын
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 жыл бұрын
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 жыл бұрын
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
@bamster64
@bamster64 6 жыл бұрын
Speedrunning through the game's memory? Now that's amazing.
@Asticky_
@Asticky_ 6 жыл бұрын
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 жыл бұрын
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 жыл бұрын
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 жыл бұрын
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 5 жыл бұрын
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 5 жыл бұрын
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.
@329link
@329link Жыл бұрын
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.
@AlexElectric9001
@AlexElectric9001 6 жыл бұрын
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 жыл бұрын
AlexElectric9001 spend some quality time with an emulator and debugger to get a hands on feel
@alien_man1669
@alien_man1669 6 жыл бұрын
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 5 жыл бұрын
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.
@YaroKasear
@YaroKasear 6 жыл бұрын
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 жыл бұрын
Yaro Kasear wow... To see that level of technical detail. I am envy of you.
@Stavvy0
@Stavvy0 6 жыл бұрын
Agustin Goicoechea It's actually basic coding knowledge but an easy mistake. Good thing to note, regardless.
@LegoWormNoah101
@LegoWormNoah101 5 жыл бұрын
@@SylveonTrapito And 65536 is the same memory number as the Commodore 64, in exact numbers!
@TheMrKeksLp
@TheMrKeksLp 5 жыл бұрын
Now that's an off-by-one error
@fakefirstnamefakelastname8305
@fakefirstnamefakelastname8305 4 жыл бұрын
Yaro Kasear Not relevant at all but fine
@Architector_4
@Architector_4 6 жыл бұрын
2:35 65536* bytes - byte 0000 matters too!
@RGMechEx
@RGMechEx 6 жыл бұрын
Whoops, you are so right.
@BradCorrupts
@BradCorrupts 6 жыл бұрын
I was looking for this comment
@fatcerberus
@fatcerberus 4 жыл бұрын
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.
@RobertSzasz
@RobertSzasz 6 жыл бұрын
C thousand... I never heard it referred to that way before.
@animowany111
@animowany111 5 жыл бұрын
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 жыл бұрын
@@animowany111 bdziesiąt :p
@lev7509
@lev7509 4 жыл бұрын
In hexadecimal sense that is a thousands place.
@Architector_4
@Architector_4 6 жыл бұрын
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 жыл бұрын
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 жыл бұрын
Yeah, I know. But still, that'd be cool.
@LieLikesMusic
@LieLikesMusic 5 жыл бұрын
Hey this is a great niche for a channel! Super interesting video too! Thanks for making this.
@jmalmsten
@jmalmsten 6 жыл бұрын
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 жыл бұрын
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 KZbin!
@resort-anthem
@resort-anthem 6 жыл бұрын
jmalmsten check out danoct1
@kirbycreep
@kirbycreep 5 жыл бұрын
Baba is you A game where you literally change the behavior of things to solve puzzles
@Sypaka
@Sypaka 4 жыл бұрын
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 жыл бұрын
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.
@JamesR624
@JamesR624 6 жыл бұрын
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 жыл бұрын
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 жыл бұрын
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 жыл бұрын
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 жыл бұрын
+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 жыл бұрын
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 KZbin 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.
@minerturtle45
@minerturtle45 6 жыл бұрын
Mario's Adventures in Coding
@blickblocks
@blickblocks 6 жыл бұрын
Mario Teaches Memory Addressing
@ProximitySound
@ProximitySound 6 жыл бұрын
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 жыл бұрын
I know this is like two years old, but it sounds like, in this video, he is in a big room with an echo.
@meatpockets
@meatpockets 6 жыл бұрын
Watching Mario traverse the game’s rom reminds me of the 5th dimension in the movie Interstellar.
@renakunisaki
@renakunisaki 6 жыл бұрын
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 5 жыл бұрын
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.
@c.i.n.b4710
@c.i.n.b4710 3 жыл бұрын
NO TIME FOR CAUTION
@threemothsETC
@threemothsETC 5 жыл бұрын
imagine having to traverse through a shifting mass of reality to change the course of the universe
@troncrash7912
@troncrash7912 3 жыл бұрын
The quest to fix the McDonalds icecream machine
@YellowYoshi398
@YellowYoshi398 6 жыл бұрын
Where No Plumber Has Gone Before
@MrBillgonzo
@MrBillgonzo 6 жыл бұрын
Your videos are soooo good. Very nice visual representation, must take a lot of time to put together. I appreciate it!
@RobinLSL
@RobinLSL 6 жыл бұрын
The production value in this I find really great. And the explanations were well done too. Thanks for making this!
@GreyJolly
@GreyJolly 6 жыл бұрын
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 жыл бұрын
+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 жыл бұрын
+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 жыл бұрын
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.
@RetroRynn
@RetroRynn 6 жыл бұрын
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! : )
@DiscoMouse
@DiscoMouse 5 жыл бұрын
Super interesting, and the memory “world map” you made makes it really easy to understand. Thanks for the video.
@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!
@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 жыл бұрын
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 KZbin. Bravo!
@urban_gabor
@urban_gabor 6 жыл бұрын
Thank you for making these animations, they make everything much more understandable!
@digivince
@digivince 5 жыл бұрын
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!
@Enterim
@Enterim 6 жыл бұрын
The visualization of Mario traveling through the memory map in realtime was incredible! Excellent video.
@almoni127
@almoni127 5 жыл бұрын
Your explanations and editing skills are unreal (and probably required a lot of time and effort). Kudos!
@PhoenixClank
@PhoenixClank 6 жыл бұрын
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
@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.
@braindeaddog
@braindeaddog 5 жыл бұрын
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
@Boomproof
@Boomproof 5 жыл бұрын
Very interesting pieces of work you hand out. Cudos and best wishes for this year.
@ElTaitronAnim
@ElTaitronAnim 9 ай бұрын
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.
@CutePuppy351
@CutePuppy351 6 жыл бұрын
What other kinds of games do this? If any of you ever find something like this, post it to KZbin 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 5 жыл бұрын
If you recreate that but in a 3D space, you could get similar results.
@mariannmariann2052
@mariannmariann2052 5 жыл бұрын
I think the Sonic 1 special stages and Pokemon Gen 1 do that too.
@SMARTBoardSBMInchInteractiveWh
@SMARTBoardSBMInchInteractiveWh 4 жыл бұрын
Mariann Mariann pokémon has so much glitch areas
@romajimamulo
@romajimamulo 3 жыл бұрын
The glitch worlds in the original mario are like this too
@jansenart0
@jansenart0 5 жыл бұрын
This was awesome! I loved the live updating memory map !!!
@Lostcontroller
@Lostcontroller 6 жыл бұрын
Another solid explanation on the inner workings of this great game and the Game Boy itself. Thanks for uploading this.
@alessio_cali
@alessio_cali 6 жыл бұрын
Each of your videos is just amazing. Glad to have found your channel!
@Domarius64
@Domarius64 5 жыл бұрын
I love how you can show us Mario moving through The Matrix... Mario is Neo!
@IanMcBride
@IanMcBride 4 жыл бұрын
Wonderful explanation, graphics, and composure throughout the video. Very impressive!
@bonkmaykr
@bonkmaykr 5 жыл бұрын
6:25 *_Rogue Bit: Mario Edition_*
@RaposaCadela
@RaposaCadela 5 жыл бұрын
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.
@Soundole
@Soundole 5 жыл бұрын
All the visualisations you added to this really helped the explanations. Awesome video!
@Koohiisan
@Koohiisan 4 жыл бұрын
Fascinating! Thanks for putting so much detail into this explanation!
@zenniththefolf4888
@zenniththefolf4888 4 жыл бұрын
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.
@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.
@martinsoto4662
@martinsoto4662 5 жыл бұрын
Wonderfully explained. Great video
@lollaus
@lollaus 6 жыл бұрын
Interesting, as usual. Greetings from Italy :)
@DanHassan
@DanHassan 6 жыл бұрын
Very nice explanation! The visualizations really helped.
@Hyperboid
@Hyperboid 3 жыл бұрын
This brings a whole new meaning to "memory lane"
@SaltyRamen.
@SaltyRamen. 6 жыл бұрын
Omg that’s a lot of work you just put in for this. Appreciate it
@nsns7993
@nsns7993 6 жыл бұрын
Genius video. Amazing explanation!
@MetalRetroReviews
@MetalRetroReviews 6 жыл бұрын
Awesome stuff man. I love this channel!
@BambooShadow
@BambooShadow 5 жыл бұрын
awesome video! Thank you so much for doing this!
@YoYoYo
@YoYoYo 6 жыл бұрын
Great videos. Watched them all. Will wait for more. Thank you for doing this. Cheers!
@freaky354
@freaky354 6 жыл бұрын
Love this channel, keep it up!
@Sparkette
@Sparkette 5 жыл бұрын
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.
@StabilerSerbe
@StabilerSerbe 4 жыл бұрын
What a great video. So fun to watch and very easy to understand with all the visualizations.
@renanrodrigues1255
@renanrodrigues1255 5 жыл бұрын
Your channel is wonderful. Thank you.
@pmnt_
@pmnt_ 6 жыл бұрын
This is the best visual explanation of the SML2 credits warp glitch. Thanks a lot!
@DonYagamoth
@DonYagamoth 6 жыл бұрын
That was fantastic visualization, and really awesome explanation, thank you \o/
@jooniethebest3709
@jooniethebest3709 4 жыл бұрын
Guess mario had a trip down memory lane... Also, I got my gbc and mario land two (the old version after researching) let's try to do this!
@Preinstallable
@Preinstallable 4 жыл бұрын
take my fucking like.
@jooniethebest3709
@jooniethebest3709 4 жыл бұрын
@@Preinstallable Thanks! Sure will!
@laurastars
@laurastars 6 жыл бұрын
Absolutely fascinating video - loved it!
@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.
@CrucialMuzic
@CrucialMuzic 6 жыл бұрын
I love these videos so much, they're always so informative and interesting. :)
@MrXana91
@MrXana91 4 жыл бұрын
Omg i think i fell in love with this kind of videos
@UXXV
@UXXV 6 жыл бұрын
The amount of work you put in here is amazing. Well done.
@benplus1503
@benplus1503 6 жыл бұрын
Finally an RG Mech X video! Keep up the good work. I always wondered how this glitch worked.
@konstantinospalapanidis6414
@konstantinospalapanidis6414 10 ай бұрын
What a wonderful video. It is as amusing for me as an adult as it was the game itself 25 years ago.
@kittykat5483
@kittykat5483 6 жыл бұрын
Mario... Have you been messing with the code again?
@brookieuwu7711
@brookieuwu7711 5 жыл бұрын
This is fascinating! Thank you for the video.
@Zye1984
@Zye1984 5 жыл бұрын
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..
@FinalManaTrigger
@FinalManaTrigger 4 жыл бұрын
Thanks so much for this, it helps me visualize how custom code was made for Super Mario World as well!
@PiTdeLyX
@PiTdeLyX 4 жыл бұрын
I am starting to understand this stuff more and more, thanks for the great explanation!
@ADreamingTraveler
@ADreamingTraveler 5 жыл бұрын
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.
@arbitrario3845
@arbitrario3845 3 жыл бұрын
2:19 RGMEX here: We'll explain this in a bit Also RGMEX: I'm a one man crew whaet?
@thetinpin
@thetinpin 5 жыл бұрын
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!
@ur4n1um
@ur4n1um 4 жыл бұрын
amazing tyhanks for the time you put into making this.!
@CutePuppy351
@CutePuppy351 6 жыл бұрын
I've been waiting for this video.
@eeveedude632
@eeveedude632 6 жыл бұрын
Some of the coolest shit ive seen all week. Thank you.
@teagansmith3326
@teagansmith3326 6 жыл бұрын
fascinating. great work man
@mariotaz
@mariotaz 6 жыл бұрын
Great video and well edited.
@StormcloudLive
@StormcloudLive 5 жыл бұрын
Absolutely fascinating, really well made video!
@peterjohnson9438
@peterjohnson9438 6 жыл бұрын
You are a god among men, RGME. Awesome video.
@moosemaimer
@moosemaimer 6 жыл бұрын
I just watched that GDQ video which featured this a few days ago, so the timing on this is perfect.
Data Redundancy Errors Explained
22:42
Retro Game Mechanics Explained
Рет қаралды 270 М.
More Level End Glitches in Super Mario World
28:15
Retro Game Mechanics Explained
Рет қаралды 272 М.
孩子多的烦恼?#火影忍者 #家庭 #佐助
00:31
火影忍者一家
Рет қаралды 2,1 МЛН
MEU IRMÃO FICOU FAMOSO
00:52
Matheus Kriwat
Рет қаралды 30 МЛН
Generation I Pokémon Cries Explained
19:15
Retro Game Mechanics Explained
Рет қаралды 682 М.
The Nintendo Entertainment System's Loading Seam
5:31
Retro Game Mechanics Explained
Рет қаралды 833 М.
Super Mario World - Random Number Generation
14:05
Retro Game Mechanics Explained
Рет қаралды 369 М.
EarthBound Battle Backgrounds - Audiovisual Effects Pt. 01
8:54
Retro Game Mechanics Explained
Рет қаралды 212 М.
Super Mario Land 2 Glitches - Son of a Glitch - Episode 69
14:22
MissingNo.'s Glitchy Appearance Explained
21:20
Retro Game Mechanics Explained
Рет қаралды 1 МЛН
Pac-Man Ghost AI Explained
19:34
Retro Game Mechanics Explained
Рет қаралды 1,3 МЛН
Super Mario Land's Brief Speedrun History
21:09
Storster
Рет қаралды 93 М.
Pikachu's Cry in Pokémon Yellow Explained
21:14
Retro Game Mechanics Explained
Рет қаралды 624 М.