Using Lakitu's Cloud to Defeat Bowser Quickly

แชร์
ฝัง
  • เผยแพร่เมื่อ 11 พ.ค. 2024
  • Why does Lakitu's cloud manipulate Bowser? And how do you get one in the first place? It's all explained right here.
    LINKS
    Support the channel on Patreon: / rgmechex
    Support the channel on SubscribeStar: www.subscribestar.com/rgmechex
    Join the RGMechEx Discord Server: discord.rgmechex.com
    Follow RGMechEx on Twitter: / retrogamemechex
    Follow RGMechEx on Cohost: cohost.org/RGMechEx
    INLINE LINKS
    Bismuth's 11 Exit Speedrun Explained: • Super Mario World Spee...
    More about the Item Swap: • Level End Glitches in ...
    More about open bus: • Mirroring & Open Bus -...
    CHAPTERS
    0:00 - Intro
    1:00 - Eating a Football Player
    26:05 - Magic Open Bus Ride
    50:36 - There's Glitches in my Cloud
    55:16 - Cloudy with a Chance of Mechakoopas
    1:11:47 - Outro
    CORRECTION
    At 34:14, replace all instances of $5C with $4C! $4C is the JMP instruction. $5C is the JML instruction, which takes 3 operand bytes. It would also get stuck in a loop with the program counter executing from $5C5C5C over and over instead of $014C4C.
  • เกม

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

  • @DragonslayerProd
    @DragonslayerProd ปีที่แล้ว +973

    Darbian explaining frame rules: "Imagine a bus..."
    RGME explaining a bus: "Imagine the planet Earth..."

  • @baltakatei
    @baltakatei ปีที่แล้ว +397

    21:36 Every CPU should come with a tiny sticker reading: “WARNING: THIS CPU DOES NOT KNOW THE DIFFERENCE BETWEEN INSTRUCTIONS AND DATA NOR DOES IT CARE”

    • @Minty_Meeo
      @Minty_Meeo ปีที่แล้ว +63

      Modern processors often dedicate a bit in the page of an address to indicate wheter the memory should be executable or not.

    • @doublex85
      @doublex85 ปีที่แล้ว +36

      Instructions are data and have been since the first stored-program computers in the late 1940's. Your web browser compiles Javascript into machine instructions to make your webpages go faster.

    • @austinhemmelgarn1956
      @austinhemmelgarn1956 10 หลายเดือนก่อน +19

      This type of exploit is exactly why most modern CPUs have a way to flag pages of memory as being executable or not. If used correctly, it completely prevents this type of exploit (and stuff like the ACE exploits used for the trifoce% run of Ocarina of Time). It’s a really important part of modern cybersecurity because it makes a significant percentage of ACE exploits much harder to execute.

    • @EchoFaustMusic
      @EchoFaustMusic 9 หลายเดือนก่อน

      Most CPU just do what you tell it to. Whether or not it's gonna crash everything is determined on what ya do

    • @harrytsang1501
      @harrytsang1501 9 หลายเดือนก่อน +2

      ​@@EchoFaustMusic true, but most modern architectures/runtime often have memory regions flagged as exclusive for code and everything else can only be regarded as data. This is done for security and safety guarantees, so that shenanigans doesn't happen when you're trying to do serious work.

  • @AndyGoth111
    @AndyGoth111 ปีที่แล้ว +309

    Started watching Bismuth's video, he said to come watch yours, then you said to watch Bismuth's video, now I'm caught in an infinite loop, hoping for an RTS to come my way

    • @m_affiliates
      @m_affiliates 11 หลายเดือนก่อน +15

      Here's the RTS

    • @stonebleeds
      @stonebleeds 10 หลายเดือนก่อน +22

      JSR GoToRickroll

    • @ThePageofRage
      @ThePageofRage 9 หลายเดือนก่อน +10

      I think we need Summoning Salt for this

  • @tv-dawniej
    @tv-dawniej ปีที่แล้ว +1158

    When you see a video from Retro Video Game Mechanics Explained that lasts for over an hour, you know you're in for a ride

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

      Right? I saw the video length and had to look again.

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

      yeah

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

      TH-cam engagement stats be foobazzlin, nummers augminted by 25.7 persen. Wat a hootenanny, bidness fribbulate frumbles crooz and bimble zooble ooper doopin! Meenwhile, skweekles zamboozled by 4.9 persen, crinkamink ramped to the gibblewackes by 19.6 persen.

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

      When you see a video you like that is long, you know it will be a long time.

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

      A magic open bus ride

  • @HBMmaster
    @HBMmaster ปีที่แล้ว +82

    eating a football player

    • @P-nk-m-na
      @P-nk-m-na ปีที่แล้ว +8

      nutritious

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

      Yo jan Misali!

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

      eating a football player

    • @geralds1500
      @geralds1500 3 หลายเดือนก่อน +5

      eating a football player

    • @Thomaas551
      @Thomaas551 2 หลายเดือนก่อน +2

      Eating a football player

  • @storm5936
    @storm5936 ปีที่แล้ว +514

    It is rather strange that the P-Balloon isn't counted as a powerup by the game

    • @RGMechEx
      @RGMechEx  ปีที่แล้ว +590

      I actually completely forgot about it, and should have at least mentioned it. It's just a normal held item (like a springboard, P-switch, etc.) that turns invisible and makes Mario puffy and unable to drop the held item until it runs out. It's why you can't hold another item while puffy, and why you get an item from the goal tape if you finish the level while puffy (see Tubular).

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

      Same with the 3-Up Moon, given the 1-Up Mushroom is a powerup.

    • @Realrich456
      @Realrich456 ปีที่แล้ว +119

      @@2WaterGuns The 3-Up Moon is actually an Object, like a coin or a block, not a sprite. Its Extended Object 0x18 in the game.

    • @pokepress
      @pokepress ปีที่แล้ว +59

      3-up moons are also kept track of (they won’t reappear until the game is reset or powered off).

    • @Wiimeiser
      @Wiimeiser ปีที่แล้ว +33

      @@Realrich456 It was probably done that way to reuse code from the Dragon Coins, since copy & paste is much easier than starting from scratch.

  • @rruhland
    @rruhland ปีที่แล้ว +347

    “Oh nice this will be a good short little video talking about how the cloud glitches out Bowser’s AI script.”
    *looks at timestamp*

    • @EthanSeville
      @EthanSeville ปีที่แล้ว +11

      Done this so many times get like 10 mins in then i look at the time and am like tf xD

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

      Most interestingly, the rl span of the code time during execution (of the explained parts) is only a few 10s of milliseconds.

    • @b.clarenc9517
      @b.clarenc9517 ปีที่แล้ว +10

      Also in the video: "please watch this video for a deeper explanation. And that one too, I won't explain the details here."

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

    Some lower-level details on how open bus works at the electrical level, in case anybody's curious:
    The "memory data register" is a very useful model for understanding the open bus and implementing it in emulators, but no such physical register actually exists within the CPU. Rather, open bus behavior is the result of the analog effects that occur when the CPU attempts to try to read from a digital input that's not connected to anything ("open" in electrical-engineer speak, hence the term "open bus"). The data lines are not being driven by any hardware, and so the voltage on each line is said to be "floating".
    In many situations, a floating input is unpredictable -- the voltage can fluctuate based on tiny effects such as current leaking from other parts of the system, or even EM waves from nearby electronic devices or radio stations. So, we have to look at the analog characteristics of the circuit to see if we can understand how it will behave. A data bus is made up of very long copper traces on the circuit board, separated from the ground plane by a thin layer of insulating substrate. And two large conductors separated by a thin insulator makes a capacitor! (This effect is called "parasitic capacitance", and engineers usually try to minimize it because it makes it harder to drive the bus lines and thus limits the maximum length and speed of the bus.)
    In an open-bus scenario, the capacitance of the bus traces will cause the bus lines to tend to stay at whatever voltage they were last driven to before the bus went open -- in other words, each bus line forms a (rudimentary and unintentional) DRAM cell. This is the cause of the "MDR" behavior -- there is no actual memory data register built into the CPU, but the bus itself acts like a register when it doesn't have anything better to do. (For this reason, open bus behavior is not always stable. It's possible that the value on the bus might "leak" out of the capacitors and decay over many consecutive open-bus reads, and flashcarts and other similar devices sometimes have pull-up resistors that can defeat the parasitic capacitance.)
    Another fun thing that can mess with the open bus in surprising ways is HDMA. An HDMA transfer can interrupt the CPU at any point, even in the middle of an instruction; if it occurs immediately before the CPU reads an open-bus value, it can replace the value you would expect to see on the bus. I'm not sure if this happens often in Super Mario World, but in the Super Metroid speedrunning community this effect is notorious for ruining "GT Spacetime" runs (which rely on open-bus behavior). I'm also currently working on a (soon to be published) TAS that intentionally exploits this effect, by manipulating timings so that HDMA puts a "good" value on the open bus at the right time.

    • @RGMechEx
      @RGMechEx  ปีที่แล้ว +19

      In the Discord server, we've been discussing whether there actually is a physical MDR or not. If there isn't, then something is helping the bus stay stable even for several seconds and minutes at a time. I've done some tests on Super Mario World and Super Mario All-Stars cartridges that let the CPU hang on a JMP $4C4C like in this video, and it doesn't seem to ever decay at all.

  • @Bryce_the_Woomy_Boi
    @Bryce_the_Woomy_Boi ปีที่แล้ว +416

    I know it's a good day when he uploads a video that's over an hour long for 1 glitch

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

      There's several glitches.

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

      @@henke37
      But an hour was spent on one of the two entire glitches showcased here.
      So the point still stands.

  • @l9day
    @l9day ปีที่แล้ว +216

    Very detailed explanation. I've heard many times in the past about the chargin' chucks being "powerups" but never heard it explained. Makes me wonder if the chucks sprite properties were victim of copypasta leaving those erroneous bits set. The open bus broadcast analogy was also very understandable.

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

      @@paulmccartney2327 Are you going to respond to every comment with that? We get it, you don't like furries.

    • @rruhland
      @rruhland ปีที่แล้ว +19

      @@JorWat25 I just went ahead and reported every single one of them for harassment.

    • @P-nk-m-na
      @P-nk-m-na ปีที่แล้ว

      ​@@JorWat25 what was he saying?

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

      @@P-nk-m-na I also would like to know that.

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

      ​@@rruhland you sir are an ally

  • @k-berry8771
    @k-berry8771 ปีที่แล้ว +94

    I just want to bring attention to the fact that the open bus was actually explained in RGME first ever video but the analogy and explanation was much different back then
    Now, the way is explained here, is a million times better than back then, is very understandsble and covers everything one must know about what it means
    It just comes to show how much has our boi improved ever since, plz keep up with the amazing work with your videos!

  • @maxwelseven
    @maxwelseven ปีที่แล้ว +58

    Man... all the explanations about Open Bus always confused me, but the explanation in this video was just BRILLIANT.
    Thank you very much! XD

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

      Especially since this is different from the usual 6502-based breadboard computer, where the address decoder is often implemented in discrete logic and it is very unlikely that a given address does not enable any chip on the data bus at all. For example, the NES's memory map mirrors work RAM three times, but the PPU's control registers over a thousand times, simply because nothing else occupies that part of the address space. Even then, without that "holding area" you would be reading floating bit garbage most of the time.

  • @doublex85
    @doublex85 ปีที่แล้ว +204

    I've been writing a bit of C64 code lately, and that's also a 6502-derived machine, so a lot of this is very familiar. Thanks for doing your part in keeping these from turning into lost arts. If even a few people become interested in low level machine code I think it will help the world just a little bit.
    37:55 -> 38:30 "X equals 9 at this point"
    Oh my oh my oh my. A certain CarlSagan42 might find this a funny coincidence.
    41:36 "Memory address $17 holds the status of the buttons"
    That's wild! Seems like a miracle that this journey through open bus eventually gets out unscathed.

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

      "Oh my oh my oh my. A certain CarlSagan42 might find this a funny coincidence."
      That or TanukiDan who wrote this song (or both).

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

      "Seems like a miracle that this journey through open bus eventually gets out unscathed."
      Exactly my thoughts.
      Ok so 6502 is simple enough to not have as many modes of failure executing garbage as more complex systems - but still, this is an entirely new level of black magic for me.
      How in the world was this discovered, or even how did anyone know this tumble through depths of chaotic heck could even possibly be survivable?

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

      @@jwhite5008 data mining is powerful, you see certain things like sprites being flagged as power ups erroneously, and wonder if that can be used for something funny. If you already know of methods to abuse it, then it's just a matter of either further dissection like this, or just testing it out and seeing what happens. If you don't then you can still try to find ways to make it happen by force
      Or get a lucky accident, like the yoshi tongue thing could totally happen by accident and leave someone confused and wanting to test out new things

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

      @@willowkay Data mining is real until you reach stuff like open bus, manipulating in-game objects to later read them in completely unrelated places, and especially reading code directly from controller inputs...

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

      idk how to feel about the fact that the instant x=9 was mentioned, i lost my mind like i just discovered the hidden meaning of life

  • @YaroKasear
    @YaroKasear 6 หลายเดือนก่อน +7

    Open bus is basically the result of Nintendo failing to implement the use of a 65x family chip properly. The "correct" way to implement a data bus is to make sure each line on the data bus is connected to ground via a pulldown register, so that if the CPU tries to read from open bus, it'll get $00, and not whatever is on the MDR. The $00 opcode corresponds to the BRK instruction, and that's no accident: It's so that if the CPU finds itself trying to execute code from a place where there's not even any hardwae, a software interrupt will fire and this can enable the program to properly handle the fact it's trying to access open bus. There's not a lot to do for data reads/writes on open bus that aren't instructions, although arguably an engineer could put some logic in the circuit to detect if the bus is being pulled down as a result of the CPU's actions and raise an interrupt or NMI to alert the program of an invalid memory access.
    It's probably not a huge deal Nintendo botched this particular aspect of implementation, and of course for speedrunners and other fun stuff it's actually kind of neat this happens, and maybe even something like a weird RNG could possibly be implemented using open bus... But if Nintendo was designing a computer someone was actually planning on using, they just opened a gaping security hole on the computer not tying the bus to ground properly, since this open bus behavior is pretty much how arbitrary code execution happens on the SNES.
    Of course, the 65816 is hardly a CPU you'd find on any computer anyone would want to compromise, but it's still sloppy when you get down to it.

    • @ohno5559
      @ohno5559 9 วันที่ผ่านมา +1

      How is it improper if there are no possible negative consequences? A device that the SNES that doesn't even have an operating system doesn't need these security measures. "This would be a problem if Nintendo were making a completely different product" doesn't actually constitute a problem.

  • @jamesknapp64
    @jamesknapp64 ปีที่แล้ว +39

    As someone who is just a "mathematician" but doesn't know programing these videos are just fascinating. I had known of the 11 exit glitch from Summoning Salt's video and interesting to see it explained in detail here.

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

      I recommend the talk "Reverse-engineering the MOS 6502 CPU" by Michael Steil and Ben Eater's series about creating a 6502 computer on a breadboard.

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

      Seconded, watch Ben's breadboard series and prepare to understand how computers work!

    • @EchoFaustMusic
      @EchoFaustMusic 9 หลายเดือนก่อน

      Well coding would be quite interesting to you I feel, as coding is basically math with extra steps, especially assembly, which is all manual for the most part

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

    29:50 the address being "D00D1E" actually made me laugh a bit

    • @ewwstraightppllol
      @ewwstraightppllol หลายเดือนก่อน +1

      Could either be Doodle, or Doodie

  • @adampeacock1262
    @adampeacock1262 ปีที่แล้ว +59

    How the devil was this ever discovered? Absolutely fascinating walkthrough, especially for those who have watched Ben Eater’s videos on how to make a CPU on a breadboard. Makes for an interesting connection with things like the open bus

    • @3lH4ck3rC0mf0r7
      @3lH4ck3rC0mf0r7 ปีที่แล้ว +51

      Discoveries like these are often made in baby steps.
      Some people crash their console by stumbling into the glitch by complete accident, and it becomes known that the game can crash there, and then someone figures out a consistent crash setup. It's still not a useful glitch by any measure.
      Then a hacker, emulator developer or glitch hunter (or all of the above) look at the code and document all the possible outcomes. The Cloud Glitch is discovered proper either here or before this, by someone stumbling into it accidentally or as a result of testing every possible incorrect value.
      Of course, its usefulness in speedruns wouldn't have been discovered until later when someone likely messing around with an item box cheat likely noticed Bowser behaving weird, hanging around doing nothing for prolonged periods of time and then suddenly attacking and jumping through phases sooner than expected.
      Someone smart connected all the dots, and here we are.
      Of course, this is just me guessing.

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

      @@3lH4ck3rC0mf0r7 I'd also add in the possibility that it could be known by disassembling and documenting each pieace of memory. For example, the RAM Map on SMW Central mentions that $14B0 and co are used by Bowser and the Lakitu cloud and that information stood there for many years. The effects of what happens when you bring a cloud into the Bowser battle thus might have been known for years, it just was never put in practice as this could only happen by modifying the level data or as showcased in this video, by putting it into the item box and moreover not let the game crash (and given how it requires basically ACE, that one is the hardest part to figure out).

    • @3lH4ck3rC0mf0r7
      @3lH4ck3rC0mf0r7 ปีที่แล้ว +12

      @@MarioFanGamer659 Only very recently have old games begun to get fully disassembled, documented and decompiled. Complete memory maps with accurate, detailed information on how every region is used just aren't possible without it.
      Glitches have been found using this information, but it's a more recent phenomenon. Usually the research that results into an ACE setup is more localized, finding where the game crashed in a debugger, figuring out the ways it reacts to the game state prior, and the memory corruption, if it does those things at all, and then targeting specific functions and variables that tend to be of interest (like setting flags and calling functions to load and play the ending cutscene immediately, for instance)

    • @YaroKasear
      @YaroKasear 6 หลายเดือนก่อน +1

      Reverse engineering, basically. The SNES hardware is pretty thoroughly documented at this point. The CPU itself is a 65816, for which you can get plenty of detailed information from Western Design Center on how it works, as that's not really Secret Nintendo Sauce(tm) there.
      The rest basically comes from disassembling a game and glitch hunting, then examining what happens. I imagine some die-hards gleefully attach logic analyzers to a SNES to see what's happening, although an emulator with a debugger probably does just as well.

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

    1:00 Wow, I didn't expect to get slapped in the face with *that* title! XD
    I was just watching the Bismuth video covering the full run, and I know a lot of more casual viewers enjoy that more surface-level explanation a lot more, but I'm glad there's a much more in-depth explanation by yourself for those like myself that enjoy it!

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

      Yeah, kinda weird they made the same video at the same time. Different overall videos, but the topic is very similar.

  • @Meteorite_Shower
    @Meteorite_Shower ปีที่แล้ว +76

    As someone who's seen quite a few Mario Maker videos over the years, hearing 'X=9' at 38:33 sent my brain into fight-or-flight mode.

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

      SAME LMFAO

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

      I didn’t expect to jump and laugh maniacally when I heard such a phrase uttered an a completely unrelated Mario world video that has to do with explaining niche glitches, but here we are LMAO

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

      why

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

      @@kales901
      'X=9' is a known glitch in the Mario Maker games, where based on the x coordinate of the level (i.e. 9 blocks from the left, and I think also 129 blocks?) interactions with game objects differ on that spot compared to anywhere else in the level.
      An example would be an exploding Bob-omb normally only destroys a single block to the left, but if that Bob-omb were to be on the 9th block, it would destroy two blocks to the left. And there's many other oddities with other items.
      ...actually not sure why this happens. Might be a rounding issue in the code? Would be interesting to look into.

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

      @@Meteorite_Shower ok

  • @Wiimeiser
    @Wiimeiser ปีที่แล้ว +23

    58:30 Worth noting is that the Mechakoopas actually occupy specific sprite slots (one actually occupies the same slot as sprites carried from the previous level)
    Also, I think the Peach sprite itself is what triggers some of the effects on its init routine.

  • @tOhB_
    @tOhB_ ปีที่แล้ว +11

    I’m doing a computer science A-Level, and this video gave me a better understanding of how the fetch-execute cycle works than any lesson I have ever had.
    Your content is amazing

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

    I just watched Bismuth's video about the newest 11 exit SMW speedrun and was wondering why I couldn't remember a video by you about the cloud glitch. Turns out you've uploaded them together! xD

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

    You know it's a good day when RGME and Bismuth release videos in tandem.

  • @jansenart0
    @jansenart0 ปีที่แล้ว +24

    Bro, I love how you guys coordinate. This is great.

  • @YEWCHENGYINMoe
    @YEWCHENGYINMoe 10 หลายเดือนก่อน +4

    5:44 "Swallow it it immediately" Nice.

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

    35:00 this is the best, most intuitive way of demonstrating what a typical glitch/bug induced crash may look like on a technical level.

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

    Over an hour of RGME makes me smile. That powerup visual is super satisfying ngl

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

    The entire Magic Open Bus Ride section is so complicated that it's a marvel that we can even make games at all. Amazing work on this explanation and video!

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

    Fascinating! I didn't really think the explanation would go deeper than CPU instructions, but here we are! Open bus explained with ease, great work with the analogy and animations! It's enlightening to see how much work goes into fetching a CPU instruction and its parameters. **crickets**

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

    The amount of time it took to put together the visual portion of this video and line it up with commentary had to be astronomical.

  • @strawberryjam0585
    @strawberryjam0585 10 หลายเดือนก่อน +4

    The casual "DOODIE" in the open bus explanation made me giggle

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

    Just want to say that I love this channel and to keep on doing what you do.
    There are no other channels like this one that put the extra homework and love into this. Thank you.

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

    Nice, nothing can make me more happy than over an hour technical stuff about retro games!

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

    I like how both Bismuth and RGME uploaded a video on the same Speedrun within an hour of each other lol

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

    I loved every moment of this. Your visuals and explanation were really well done great job!

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

    Amazing video, I swear your videos get better with each new one you create! The way you explain how everything works is super clear - I've heard of concepts like open bus before but haven't understood them until watching this. Thank you!

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

    absolutely beautiful distraction on a hellish day... an hour?? a whole hour??? life is beautiful despite its cruelties. thank you. o7

  • @adam850
    @adam850 ปีที่แล้ว +33

    I had no idea about this speed run, but the explanation was fascinating. On the SNES, is efficient memory management not as critical, where a developer can "waste" memory just to be safe?

    • @RGMechEx
      @RGMechEx  ปีที่แล้ว +41

      Yeah it'd definitely not as big of a deal as say, the NES. There's 128 kB of work RAM to use, and Super Mario World uses it very generously (along with a lot of unused sections).

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

      It depends on the type of memory, at least.
      With 128KiB, WRAM is plenty, though there are games which only ended up needing half of it. Others, on the other hand, need so much RAM that they even have to include additional RAM from cartridge beyond saving the data (not just these with enhancement chips but also those without). However, what also contributes to not using all of WRAM is the fact that the CPU can further use of ROM which is freely accessible.
      This is different to video and audio as the PPU and SMP can only access VRAM and ARAM, respectively and as a result, the developers have squeeze out as much from the 64 KiB each as possible.

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

    your channel is awesome both for entertainment of seeing how glitches work but also I think it is a really good way to start to learn how computers work, it is much less abrupt than daunting books and articles on low level stuff

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

    Bismuth sent me here from his video, I already started doing a deep dive. Your playlist on the snes hardware/software had my attention all day long, super interesting concepts with equally beautiful visuals ❤

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

    thank you for this extensive look at SMW's code and inner workings! as much effort as these especially long videos must take, i hope to see one like this again sometime

  • @IanZamojc
    @IanZamojc ปีที่แล้ว +27

    I wonder if the Chargin Chucks were originally intended to be eaten and give an item (a football? or maybe some coins). I'd be willing to bet that being able to eat them made the places they're used too easy to clear and the behaviour was removed.

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

      "It's a stone Luigi, you didn't make it!"

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

      ​@@dontworry4945 "It's a football, I chiseled it!"

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

      @@anstheram "Well, what are you waiting for, throw me a pass!"

    • @Yes-jw8cp
      @Yes-jw8cp 11 หลายเดือนก่อน +2

      I feel like it would have been for an earlier version of the cape since some leaked sprites depicted Mario wearing a helmet with the cape.

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

    Once again I am amazed at the lengths speed runners go to break games! Excellent explanation!

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

    Made my day with this ONE HOUR upload. I love your videos and probably watch at least one daily.

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

    you've done it again, RGME. seeing this all happen is so cool!

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

    I took a Computer Architecture course this term at my university so it was really cool to hear the terms I learned this term (PC, RAM blocks and more) in use! Thanks for the video

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

    Came from Bismuth, incredibly interesting video! Learned how to write assembly code recently so this was a great watch.

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

    29:50 imagine trying to read D00D1E

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

    It always takes me a while to get tone to watch your longer videos, but man it's always worth it ❤️

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

    Great vid! Loved the both Bismuth's and your video!

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

    Ooh, always wanted to learn the specifics of what the cloud triggers to speed up the fight! Looking forward to this! :D

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

    LOVED IT! It's a really good explanation! Thank you very very much! You clarified another "how do speedrunners do it". Thank you very very much!!!

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

    This was wonderfully detailed and methodical. Thank you for unlocking my childhood in a creative way!

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

    This is super neat, perhaps the most complete explanation of this sort of glitch I’ve ever seen!

  • @user-vx1vl1ci1e
    @user-vx1vl1ci1e ปีที่แล้ว +1

    1hour RGMechEX video. My face literally morphed into a pog when I saw the length. You're the best.

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

    god this was a wild ride
    thank you so much for making these!

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

    it's my sleepover, i pick the movie

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

    I love how dedicated speedrunners are, great video! Would love to know who first found this glitch.

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

    It's funny just how I've been doing the Cloud Glitch for a while now in order to get better PBs and while I did have to understand the very basics of what was going on in order to get the glitch in the first place, I've never actually delved into the inner workings of the actual glitch in such details like it was explained here.
    I will have to re watch this explanation (Specifically on why the B5 value is needed and how to back it up) in order to get more successful attempts so I don't have to reset as much.
    Thank you so much for this video!

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

    Imagine he does a video at this depth explaining every step of a ACE run where they code snake or something like what sethbling did.

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

      The video explaining Triforce% is a very in-depth explanation of loading custom behaviors into Ocarina of Time using ACE.

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

      that would be the absolute dreeeaaam

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

    I love the casual banter moments you throw in!

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

    50:30 that the stars line up like that in any reproducible way is quite stunning 😂

  • @glitchy_weasel
    @glitchy_weasel 10 หลายเดือนก่อน +1

    Love the breakdown of assembly code in retro games!

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

    38:34 X equals 9. Science Yoshi's racing the clock and it ain't no joke.

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

    man, new videos from bismuth and retro game mechanics explained, on the same day? it's a dream come true

  • @0xTJ
    @0xTJ ปีที่แล้ว

    I really love this long video! I'm familiar with the processor and SNES, but wasn't as much with the way the game works.

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

    I saw Bismuth's video on the speedrun, glad to get another one

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

    This is a very important video! Even I didn't know all these details about Cloud

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

    Thank you bismuth for linking here and providing context. :)

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

    Watching the open bus code tracing, I realized how fortunate it was that there were no instructions along the way that manipulated the stack, which would have broken the return back to regular execution.
    Most excellent video, the time just melted away!

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

    This being uploaded super close to Bismuth's SMW 11 Exit WR Explained vid is so cool

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

    This is the best explanation of open bus I've ever heard!!!

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

    I watched the whole video, only to realize at the end that it was 1 hour long, time passes fast when you're doing what you like;
    watching your videos!

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

    These are ridiculously in depth explanations. I play with code on NES and SNES games, but I have no where near the knowledge required to elaborate to this degree

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

    oh snap a new RGME video, lemme just
    **opens vid**
    *1 HOUR*

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

      the earth image at 27:00 is accurate because the UK isn't visible and in reality it's not a real country

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

    I've watched so many of these videos and I can't believe how much I know about Super Mario World, a game I've barely played since the PlayStation 1 came out.

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

    OH DUDE, Bismuth and you collab here!? And with long videos, both of you.
    Absolutely love it. 6:10 AM and here i am. XD Looks like i'll be sleeping at 7:30 today. :D

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

    Crazy you and Bismuth release the same kind of video at the same time.

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

    Those poor crickets, stuck out there in space

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

    WOW! Great explanation!

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

    bismuth to retro game mechanics explained true combo

  • @Watch10045
    @Watch10045 8 หลายเดือนก่อน +2

    “part one: eating a football player”

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

    Recomendation for video: "How did super mario world change the opacity of the boos?"

  • @Phobos_Anomaly
    @Phobos_Anomaly 6 หลายเดือนก่อน +1

    The titlecard reading "Part 1: Eating a Football Player" is funnier than I think it has any right to be lol

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

    So glad I found this channel

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

    This was a wonderful write up! The only thing I was wondering about that didn't get talked about was the glitched cloud graphics during the Bowser fight.

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

      I assume it's because the Bowser fight level uses a different tileset. So the tile that would hold the smiley face in Yoshi's Island 2 instead holds some other graphic in the Bowser fight level. You can see at 55:35 that the smiley face is different again in the ghost house level.

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

    You know it's your day when you see a RVGME video over an hour long discussing 1 glitch.

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

    i love spending over an hour not understanding almost anything im listening to but feeling like im following along just fine

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

    its insane how much you can fundamentally break this game, its also insane how youtubes auto game detection in the description is also still fundamentally broken saying that this game was the original arcade Mario Bros

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

    You know, I didn't pay attention to how long the video was, but I don't regret watching it all.

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

    Halfway through watching this and I only just realized why Bismuth uploaded the SMW speedrun record explained video at the same time this vid was uploaded.

  • @dontworryhouston
    @dontworryhouston 9 หลายเดือนก่อน

    This is severely underrated

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

    My friend attempted this speed run and got an almost world record time, but his recording software bugged out and it never worked. This video helped him out a ton, so I’m giving an indirect thanks.

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

    I have to say, the whole planet/satellite analogy was genius. Great video!
    I only wish there was a better way to present addresses - hex codes aren't the most memorable things.

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

    Programmers don’t go to hell, they go to open bus

  • @firstnamelastname4224
    @firstnamelastname4224 7 หลายเดือนก่อน +2

    Shoutout to RGMechEx for either captioning this whole 1:12:54 video or having somebody else caption the whole thing

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

    I dare you to find another process for anything where the first step involves eating a Football player.

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

    I read part 1's title in Chills's voice.

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

    Surely this time I won't almost fall asleep listening to one of these videos.

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

    This is one of my favorite glitches in any video game. The stars really had to align in order for this to be possible.