You know the video's gonna be good when it starts with "This thing we're talking about is a side effect of a special case of a side effect of a special case."
While I only understood scraps of this video (I have zero background in assembly code beyond knowing that it is a thing that exists), it really underscores the insane kind of work that went into programming some of these old video games. The hardware constraints that those programmers had to work within inspire awe. As do those who decades later are peeling them apart and using novel methods to manipulate them. Beautiful work.
Josh Killcrop there is a video about the pacman glitch screen and how the ghosts programming work done by I think this same guy that makes even the simplist looking game seem complicated when you get down to the code
Not gonna lie - Stuff like this is a big part of why I love retro gaming in general. Bugs like this are fascinating in a way that you don't really see in modern gaming.
I also found a glitch with the swallow timer on "how long yoshi can keep things in his mouth" as well as the "invincibility star" timer: they do freeze if the game freeze flag is set (freezes happens if you do a powerup animation or taking damage/death, as well as scrolling the screen L/R buttons) and should decrement every 4th frame, if $14 (frame counter that can freeze) is divisible by/ multiple of 4, and the game is frozen, it decrements *every frame*
(WhiteYoshiEgg here, not sure if you remember me) This is like watching a mathematical proof - I mean literally, it gave me the chills. I never knew what the glitch was about, but your video was full of lighbulb moments for me, and at the end there was understanding. Great job on that video! :)
Thanks for the explanation, I didn't realize there was such a huge community SMW glitches and code injections until I saw this and SethBling's video. Super interesting stuff!
someone made a TAS for kosmic for smw that wrote the ENTIRE 40 kilobytes of super mario bros's memory and then accessed it so Kosmic could play Super Mario Bros inside of Super Mario World.
MORE VIDEOS LIKE THIS. I love low level coding and I think videos like this make others more informed AND interested about it as well if done right, like this. I've wanted to make a 'how glitches ACTUALLY work' video series like this for years. This started when I explained to a friend, who doesn't know anything about programming, why games, especially from this era, have limits of 255 for coins and stuff and it blew his mind. If something that simple has that power imagine what videos like this could do after a proper series leading up to it with explanations...
Huh, I didn’t know you had another channel before RGME. It’s cool to see how much your editing has improved and that you’re still active over here! Good work man 🙂
+dotsarecool i have a question for you i am very curious, can the game change the color of textures without there being any, extras or were there already a existing texure?
Yes. In many retro gaming consoles, the colors did not come with the graphics, and were assigned separately (palettes). So what's happening to Mario is that his palette is being corrupted, which results in the same graphics, but different colors.
6:09 I call that "reading in a shifted position", since it jumps to an address where it reads the numbers (ram address $xx, fixed value #$xx) as opcodes and vice versa.
'At this point in the video I've probably explained everything you clicked the video to learn about' - not quite. I learned how to trigger it, I learned how and why it happens, I clicked on the video hoping to learn what it does.
Incredibly clear explanation? Now, can you explain why the different powerups do what they do? (Especially Powerup 106 and its crazy, level-ending effects.)
Never knew any of that. I find it weird that the fire flower is a higher power up than the cape though. The cape is way better than the flower. It is also introduced later in the game.
My guess is that when they started development of the game, they started with the cape/super leaf first, since it was going to be the more iconic powerup. Fire power was "easy" to code since they've had two games with it already, and added it in later like, "now that we know we like this cape powerup, lets implement everything else."
***** That makes sense. The game does treat them like equal power ups. Every player I know likes the cape better though, but that is just me and my friends.
Uh, Dots... I may have just found a HUGE skip with this. I was on YI-3 and did this at the right time, the screen went black. I can walk around and hear Bowser flying AND the fight music.
So I was at Power-Up State 20 or so and I misclicked by accident just as the brown platform was moving to the left and I accidentally think that I just discovered Power-Up State 257. IDK. Is a small Mario with alime torso, a lime hat, and a black face apart of the 256 Power-Up State? Anyways, I crashed the game testing this new state on Power-Ups, used the NSO's timestamp feature to go back to the point before I crashed and I'm in a new Power-Up State?! Just wanted to know if this was ever documented and if I am going crazy over that first Power-Up State is new or not. Thanks! Great video by the way.
You can also look up "buffer overflow", like what happens if you made the game index table slot use beyond #$0B (sprite slots are valid #$00-#$0B) during execution of a sprite code?
Half way through I literally just realized that colors like #ff00ff probably is not only related to this hex stuff but ff probably stands for 255. And I've been making website stuff for 6 years now.
+Mr. ROFL Think about it this way. With Big Mario, the game likely checks if powerup value is greater or equals to 1, which allows him to take an extra hit and break turn blocks. With Cape Mario, the game specifically allows for flying/floating if Mario has that powerup value. With Fire Mario, the game specifically allows for fireballs to be shot if Mario has that powerup value. With glitch powerup values, no extra code is assigned to them. They weren't meant to even be accessible, and all they are is junk code. Hence they use (probably) the default sprite, Small Mario, apply a garbage palette, and as its powerup value is above 1, that state's Mario can break turn blocks. Next, consider the glitched movement. This is likely just an odd frame in the animation caused by the glitch powerup value. Hence, if the game does have such strict rules on specific powerup values allowing for specific properties, the glitched powerup values would have nothing assigned to them, hence there is no special property.
+Mr. ROFL There's a few neat things you can do with the power-ups in this glitch. With the "halloween mario" power-up (first one) you can hit the goal tape with a P-Switch in hand and get a star. The star was never added in the game as an end-of-level reward, but it is implemented and will give you a star power-up when you enter the seventh level (I think) after getting it. You can also use powerup number 37 I believe and collect a 1-Up to put a Yoshi in your item box that you can drop anywhere you want, including inside levels with No Yoshi signs. Just a few examples that I can remember.
The cheat 7E001963. I remember years ago messing around with that variable, finding strangely-colored Marios that made the game crash when picking up 1UPs (and I have the old video!)
Most likely. There is a possibility that a compiler was used to compile, say, C into 65c816. Even if so, I'd say the majority was written in assembly. Additionally, some of the external chips like the SuperFX, as well as the SNES's sound processor (SPC700), had their own instruction set as well.
It's just practice, on the beginning everyone struggles with basic concepts of programming. But, to understand assembly, you need to have an background of how a computer/processor works in the fundamental level: registers, stack, and so on. (I'm trying to get good on it, but for now, all I can do is a Hello World on SNES. :p)
this is way over my head but it's super interesting. and it's fascinating that games made by the holy deities at Nintendo can be comprehended at this level by us mere mortals. it puts things into perspective.
What tools are used to interpret/view the snes asm? I’m familiar with some disassemblers (Ghidra/IDA) but are there ones that can emulate the SNES hardware?
ObiTrev technically yes, but it would involve a ton of arbitrary code execution. it would be easier and more worthwhile just editing the ROM beforehand.
Did you disassemble and comment the SMW code yourself, or is there a reverse engineered version somewhere on the internet? If so, where could I get it? Thanks.
So I understood most of this, but I have a few questions. 1. At around 0:23 you said that whatever Yoshi has in his mouth gets stored in a special table. Why does it get stored in a table, and not just put in a unused RAM adress? (e.g. the next 11141 bytes found after $7F9C7B) (Edit, this question is stupid) 2. If you execute the null-sprite glitch, 5 values in the stack get changed. At around 4:17, you said "when the routine is called, the stack pointer is 01EB.", which I can still understand. But the other code in the stack, with the 5 memory values changed, must be called some time right? It isn't just sitting there waiting to not be used ever again until it is overwritten. What happens if the code that is currently in the stack (with the 5 modified memory values) gets run? 3. At 5:38 you said there are 256 different outcomes you can get by adjusting mario's X position. Has anyone run a LUA script yet to test what happens with all these outcomes? 4. According to the table at 7:30, when mario is at X position #$7A, you can jump to the values located in the OAM (which are easily manipulatable), and execute them as raw code. Could this potentially used for another credits warp? (Although it probably is a lot slower anyway) 5. Why does the SNES use such a janky memory management system? Where you can easily take values which are supposed to be used as arguments and execute them as actual OPCodes? Didn't the developers of the system at the time realise how unsafe that was? (Edit, this is also a stupid question)
+Potato on a stick 1. … so the game remembers where it put it? 2. You might find it instructive and enlightening to disassemble the stack you see in the video. (Gur birejevggra nern bs zrzbel vf hahfrq vs gur fgnpx cbvagre vf zber guna $r3. Gur fgnpx nf n jubyr vf arire rkrphgrq nf pbqr va gur abezny pbhefr bs riragf. Vg vf, vaqrrq, whfg fvggvat gurer jnvgvat gb abg or hfrq rire ntnva hagvy vg vf birejevggra. :-) (I won't comment on 3 and 4.) 5. Nothing to do with memory management, this is a side-effect of using variable-length instructions. The CPU has no notion of the difference between opcodes and operands: it just fetches bytes from memory, addressed by the program counter, and assumes the programmer knows what they're doing.
+DragonblazeGames Some of them actually do, they just have higher values. All the animation frames given to Mario when he's above state 3 are garbage, so it's just by chance really.
Is it possible to use this to jump to the subroutine that decrements the powerup state when mario gets hit? And could you "underflow" the powerup state from small mario (state 0) to state 255?
With the correct setup, this glitch does allow for arbitrary code execution, so yes that is possible. It would just take a lot of work relative to powerup incrementation, since that only happens by chance with hardly any setup. And yes, if you subtract one from Mario's status when he's small, it will wrap around to 255.
The setup I described in the video is for the North American version of SMW. It should also work for VC releases. If you're on the Japanese version, you need to be 2 pixels to the right of where the video shows. This glitch should also work on the All-Stars+World cart as well, but I don't know the setup offhand.
I feel like I’ve accidentally performed this glitch before, I ate a goomba and i did some weird actions then I went invincible for the rest of the stage.
You know the video's gonna be good when it starts with "This thing we're talking about is a side effect of a special case of a side effect of a special case."
Perfect avatar for that.
Holy shit.
mind=blown
Here from the future; RGMechEx’s videos nowadays are much more polished and enjoyable to watch.
@@juniorjedi2563 true!
7:47 the best motivational poster ever
+OBSM Productions *The challenge that is*
Thanks yoshi
+OBSM Productions Other challenges aren't. This is the challenge that is.
*the challenge that is*
"A dark Mario head appears for a single frame"
You can almost hear the sub-par creepypastas writing themselves.
While I only understood scraps of this video (I have zero background in assembly code beyond knowing that it is a thing that exists), it really underscores the insane kind of work that went into programming some of these old video games. The hardware constraints that those programmers had to work within inspire awe. As do those who decades later are peeling them apart and using novel methods to manipulate them. Beautiful work.
Josh Killcrop there is a video about the pacman glitch screen and how the ghosts programming work done by I think this same guy that makes even the simplist looking game seem complicated when you get down to the code
it dont work
I expect him to start talking about parallel universes at any moment.
Or talking about doing this glitch in half an A press.
CoTeCiOtm or sacrificing a baby goat and summoning satan.
Playing Super Mario World, crashes Super Mario World.
Go away and stop using shitty memes
This glitch is like cloning in Mario 64
THIS is what people _should_ be doing on RUclips.
Yeah. I even watched the ad, because this guy deserves a lot of money. He produces video with knowledge and quality.
Agreed 😎.
Yas
4:40 dots roasts the programmers.
While I'm not *that* computer literate, I find this and the end credits explain to be quite entertaining to watch.
"What can you do with this null sprite? not much, But what you CAN do is pretty interesting.'
dotsarecool 2015
You’re right, this is an old video.
It’s really not.
Not gonna lie - Stuff like this is a big part of why I love retro gaming in general. Bugs like this are fascinating in a way that you don't really see in modern gaming.
Same here!
I also found a glitch with the swallow timer on "how long yoshi can keep things in his mouth" as well as the "invincibility star" timer: they do freeze if the game freeze flag is set (freezes happens if you do a powerup animation or taking damage/death, as well as scrolling the screen L/R buttons) and should decrement every 4th frame, if $14 (frame counter that can freeze) is divisible by/ multiple of 4, and the game is frozen, it decrements *every frame*
(WhiteYoshiEgg here, not sure if you remember me)
This is like watching a mathematical proof - I mean literally, it gave me the chills. I never knew what the glitch was about, but your video was full of lighbulb moments for me, and at the end there was understanding. Great job on that video! :)
+mebamme Yooo WYE! Thanks, I appreciate it. I'm glad you enjoyed it!
The double tongue glitch? I used to do that in college.
Several women I hooked up with in college remember that technique quite well.. ;3
@@happmacdonald .....
@@Preinstallable This was RUclips then.
Thanks for the explanation, I didn't realize there was such a huge community SMW glitches and code injections until I saw this and SethBling's video. Super interesting stuff!
someone made a TAS for kosmic for smw that wrote the ENTIRE 40 kilobytes of super mario bros's memory and then accessed it so Kosmic could play Super Mario Bros inside of Super Mario World.
MORE VIDEOS LIKE THIS. I love low level coding and I think videos like this make others more informed AND interested about it as well if done right, like this.
I've wanted to make a 'how glitches ACTUALLY work' video series like this for years. This started when I explained to a friend, who doesn't know anything about programming, why games, especially from this era, have limits of 255 for coins and stuff and it blew his mind. If something that simple has that power imagine what videos like this could do after a proper series leading up to it with explanations...
Sethbling sent me here!
+rebane2001 same
+rebane2001 me too
+rebane2001 ditto
Same.
Same
Huh, I didn’t know you had another channel before RGME. It’s cool to see how much your editing has improved and that you’re still active over here! Good work man 🙂
I still expected you to discuss what the non-standard powerup states did.
Why are their 15x the amount of views as subs? this guy is awesome. support his ass.
Retro game mechanics explained is going quite well now (he made that channel too)
But can you do this with only 0.5 A presses?
This was amazing and informative, but I really was looking for some details on the properties of the different powerup states.
I loved that summary in 6:32. Great work
Are you a CompEng major?
+SeeeeJaaaay Yes, how could you tell?
+dotsarecool Because Im a CompSci major with some assembly experience but I have no clue how you figured all this out! Haha
+dotsarecool i have a question for you i am very curious, can the game change the color of textures without there being any, extras or were there already a existing texure?
Yes. In many retro gaming consoles, the colors did not come with the graphics, and were assigned separately (palettes). So what's happening to Mario is that his palette is being corrupted, which results in the same graphics, but different colors.
Wild weird stuff. Love that this old game still has surprises to offer.
it's amazing how many glitches people find in a game when it's been out for 30 or so years.
4:36
"this code is pretty jank" said everyone who ever reverse engineered anything lol
6:09 I call that "reading in a shifted position", since it jumps to an address where it reads the numbers (ram address $xx, fixed value #$xx) as opcodes and vice versa.
Awesome video! :D
I've been watching your smw let's glitch videos! which I've been commenting on things like when you glitch a berry, it turns into its beta form!
ohi
are you alive
The Null Sprite Glitch can also update the save file banks.
the challenge that is
That text literally appeared a few seconds before you said that
Your voice reminds me of retro game mechanics explained
Woah, maybe it's because we're the same person
@@IsoFrieze weird your voice sounds much clearer here
@@wannacry6586 I had a different mic 7 years ago
@@IsoFrieze figured but why does it sound cleaner/clearer
So this is a side effect of a side effect of a special case of a side effect?
'At this point in the video I've probably explained everything you clicked the video to learn about' - not quite.
I learned how to trigger it, I learned how and why it happens, I clicked on the video hoping to learn what it does.
15 seconds into this video and I'm already so lost I had no idea what those glitches were
Has anybody made a list of all the powerups marioncycles through? they all have different properties
That was very interesting. I'm also interested in what each incrementation can do.
Wait you're RGME?
I thought the voice was familiar
I am just in awe. Could you recommend any courses/resources to grok this at the level you do?
Incredibly clear explanation? Now, can you explain why the different powerups do what they do? (Especially Powerup 106 and its crazy, level-ending effects.)
+MetaKnight68 why 106?
Buecause 106 is the only one known to have strange effects.
I'll guess that 106 is the value for the orb in the sunken ship (forgot the name of the level sorry)
...it isn't, the orb's sprite ID is 74. 106 is that weird coin game cloud.
I was only theorizing. But what cloud are you talking about? I don t remember seeing one.
Never knew any of that. I find it weird that the fire flower is a higher power up than the cape though. The cape is way better than the flower. It is also introduced later in the game.
My guess is that when they started development of the game, they started with the cape/super leaf first, since it was going to be the more iconic powerup. Fire power was "easy" to code since they've had two games with it already, and added it in later like, "now that we know we like this cape powerup, lets implement everything else."
***** That makes sense. The game does treat them like equal power ups. Every player I know likes the cape better though, but that is just me and my friends.
Uh, Dots... I may have just found a HUGE skip with this. I was on YI-3 and did this at the right time, the screen went black. I can walk around and hear Bowser flying AND the fight music.
This is what my OC is based off of
O h , h e l l o t h e r e !
O h h a i i i i i
Hi dad
So I was at Power-Up State 20 or so and I misclicked by accident just as the brown platform was moving to the left and I accidentally think that I just discovered Power-Up State 257. IDK. Is a small Mario with alime torso, a lime hat, and a black face apart of the 256 Power-Up State? Anyways, I crashed the game testing this new state on Power-Ups, used the NSO's timestamp feature to go back to the point before I crashed and I'm in a new Power-Up State?! Just wanted to know if this was ever documented and if I am going crazy over that first Power-Up State is new or not. Thanks! Great video by the way.
Hey, is this the same guy as Retro Game Mechanics Explained? He sounds quite similar.
Great. Now i know, that i will never underatand assembly or machine code :D
+StarTrek123456 assembly is something ik the basics of
8:05 And now, Mario turns into a chocolate
Who came here from SethBling?
+MLG Videos Ltd. me'
Acutually yes
me not
Does this work on SMA2
No
this was actually really clear for the most part, especially compared to your first explanation video :P
It's weird, when I do it, I get a black mario head under yoshi but my powerup state doesn't get incremented :/
I had watched it first. The problem was I was using a weird emulator. On the real console,it worked perfectly
mario turns green when fire flower is used for the null
5:45 it also makes shirts appear
You can also look up "buffer overflow", like what happens if you made the game index table slot use beyond #$0B (sprite slots are valid #$00-#$0B) during execution of a sprite code?
Half way through I literally just realized that colors like #ff00ff probably is not only related to this hex stuff but ff probably stands for 255. And I've been making website stuff for 6 years now.
@IsoFrieze what address is the current pwerup value stored
I come back to this every year. This is year 7. And. Nope. I still don't get it
So, what do the other powerups do other than glitch? Has any experimentation been put into them?
+Mr. ROFL act like big mario but with glitched movement
ncamen68 So, nothing beneficial? No wierd glitched goomba fireballs?
+Mr. ROFL Think about it this way. With Big Mario, the game likely checks if powerup value is greater or equals to 1, which allows him to take an extra hit and break turn blocks. With Cape Mario, the game specifically allows for flying/floating if Mario has that powerup value. With Fire Mario, the game specifically allows for fireballs to be shot if Mario has that powerup value.
With glitch powerup values, no extra code is assigned to them. They weren't meant to even be accessible, and all they are is junk code. Hence they use (probably) the default sprite, Small Mario, apply a garbage palette, and as its powerup value is above 1, that state's Mario can break turn blocks.
Next, consider the glitched movement. This is likely just an odd frame in the animation caused by the glitch powerup value.
Hence, if the game does have such strict rules on specific powerup values allowing for specific properties, the glitched powerup values would have nothing assigned to them, hence there is no special property.
+Mr. ROFL There's a few neat things you can do with the power-ups in this glitch. With the "halloween mario" power-up (first one) you can hit the goal tape with a P-Switch in hand and get a star. The star was never added in the game as an end-of-level reward, but it is implemented and will give you a star power-up when you enter the seventh level (I think) after getting it. You can also use powerup number 37 I believe and collect a 1-Up to put a Yoshi in your item box that you can drop anywhere you want, including inside levels with No Yoshi signs. Just a few examples that I can remember.
Squiggy Seven: First Impressions [NES Reviews] those levels amount to just castle and ghost house levels in the original game.
6:32
Behind a different postcode, two secret walls and a fire?
4:40 I was going to lose my mind if you didn't collect that coin
Is there a fast way to get to power up state 0x63?
Kobe Whon Edit the Powerup state in the game via cheat codes to increment your Powerup on emulators.
The cheat 7E001963. I remember years ago messing around with that variable, finding strangely-colored Marios that made the game crash when picking up 1UPs (and I have the old video!)
Alright cool! Thanks guys!
What does having an invalid powerup state actually get you though other than a scrambled palette for Mario?
Ah Super Mario World, the game with the most entertaining crashes
sounds like Retro Game Mechanics Explained
Coded by an intern. I love it!
So what address controls power up?
I wanna know the address of the power up value
So what do the incremented power ups do?
2:07 What language is that?
65c816 assembly
Were all SNES games written in that?
Most likely. There is a possibility that a compiler was used to compile, say, C into 65c816. Even if so, I'd say the majority was written in assembly. Additionally, some of the external chips like the SuperFX, as well as the SNES's sound processor (SPC700), had their own instruction set as well.
Dang and I struggle to learn C#...
It's just practice, on the beginning everyone struggles with basic concepts of programming.
But, to understand assembly, you need to have an background of how a computer/processor works in the fundamental level: registers, stack, and so on.
(I'm trying to get good on it, but for now, all I can do is a Hello World on SNES. :p)
What happens if you are damaged in one of these special powerups?
You just return to small Mario.
this is way over my head but it's super interesting. and it's fascinating that games made by the holy deities at Nintendo can be comprehended at this level by us mere mortals. it puts things into perspective.
So cool, it's a very fun kind of brainteaser (quite difficult too but who said that brainteasers have to be easy)
Works with Super Mario All*Stars + Super Mario World or It does something glichy(Edits RAM of the pack code..)??
Wonderfully made!
What tools are used to interpret/view the snes asm? I’m familiar with some disassemblers (Ghidra/IDA) but are there ones that can emulate the SNES hardware?
cristal clear explanation. amazing as always!
This sounds like your voice now (2020) and pannenkoek mixed together
How do people even figure out such glitches? Do they analyze the game's machine code or something? Because I doubt they find it totally by accident.
How many powerup increments are possible before the game crashes? Could you make a video trying to get to the highest increment possible?
There are 256 different states. If you do the glitch once more it will wrap back around to 0 and you'll be back to small Mario.
Wow, cool to know. Thanks
+SkydiverTyler side note: there are 256 different states, so the highest number is 255. 0 counts as one of the states
Is there a way to give Mario a "powerup" from an enemy. Such as making Mario throw baseballs, hammers, or etc?
ObiTrev technically yes, but it would involve a ton of arbitrary code execution. it would be easier and more worthwhile just editing the ROM beforehand.
Darn, there goes my childhood wish fulfillment.
do you have an explanation video on duplicating blocks?
How do people find these things?
How did you turn off the music?
nicely explaned
I only guess what this powerups can do?
Did you disassemble and comment the SMW code yourself, or is there a reverse engineered version somewhere on the internet? If so, where could I get it? Thanks.
It's already been disassembled and the source code is up on smwcentral.
Is this possible on wii u?
So I understood most of this, but I have a few questions.
1. At around 0:23 you said that whatever Yoshi has in his mouth gets stored in a special table. Why does it get stored in a table, and not just put in a unused RAM adress? (e.g. the next 11141 bytes found after $7F9C7B) (Edit, this question is stupid)
2. If you execute the null-sprite glitch, 5 values in the stack get changed. At around 4:17, you said "when the routine is called, the stack pointer is 01EB.", which I can still understand. But the other code in the stack, with the 5 memory values changed, must be called some time right? It isn't just sitting there waiting to not be used ever again until it is overwritten. What happens if the code that is currently in the stack (with the 5 modified memory values) gets run?
3. At 5:38 you said there are 256 different outcomes you can get by adjusting mario's X position. Has anyone run a LUA script yet to test what happens with all these outcomes?
4. According to the table at 7:30, when mario is at X position #$7A, you can jump to the values located in the OAM (which are easily manipulatable), and execute them as raw code. Could this potentially used for another credits warp? (Although it probably is a lot slower anyway)
5. Why does the SNES use such a janky memory management system? Where you can easily take values which are supposed to be used as arguments and execute them as actual OPCodes? Didn't the developers of the system at the time realise how unsafe that was? (Edit, this is also a stupid question)
+Potato on a stick 1. … so the game remembers where it put it?
2. You might find it instructive and enlightening to disassemble the stack you see in the video. (Gur birejevggra nern bs zrzbel vf hahfrq vs gur fgnpx cbvagre vf zber guna $r3. Gur fgnpx nf n jubyr vf arire rkrphgrq nf pbqr va gur abezny pbhefr bs riragf. Vg vf, vaqrrq, whfg fvggvat gurer jnvgvat gb abg or hfrq rire ntnva hagvy vg vf birejevggra. :-)
(I won't comment on 3 and 4.)
5. Nothing to do with memory management, this is a side-effect of using variable-length instructions. The CPU has no notion of the difference between opcodes and operands: it just fetches bytes from memory, addressed by the program counter, and assumes the programmer knows what they're doing.
+Dave Norman Thanks for answering
Didn't understand much but that was cool!
Where is the table that stores the slot number of the object Yoshi is currently eating?
$160E,X, where X is the slot yoshi is in.
+dotsarecool Thank you.
Why do all of the powerup values after Fire use the sprite for small mario, rather than Super, Fire or Cape?
+DragonblazeGames Some of them actually do, they just have higher values. All the animation frames given to Mario when he's above state 3 are garbage, so it's just by chance really.
I see, thank you. :P
How long does it take to figure out a glitch to this detail?
For some reason i'm stuck at powerup level 7 :/ Do you know what's happening ? (I'm playing of the american version)
Is it possible to use this to jump to the subroutine that decrements the powerup state when mario gets hit? And could you "underflow" the powerup state from small mario (state 0) to state 255?
With the correct setup, this glitch does allow for arbitrary code execution, so yes that is possible. It would just take a lot of work relative to powerup incrementation, since that only happens by chance with hardly any setup. And yes, if you subtract one from Mario's status when he's small, it will wrap around to 255.
God damn fucking Masterjun
Can you do this on the virtual console for the Nintendo 3ds?
NitroGamer try
Is there a specific version that this works in? I'm able to get the black Mario head to appear, but my powerup state doesn't increment.
The setup I described in the video is for the North American version of SMW. It should also work for VC releases. If you're on the Japanese version, you need to be 2 pixels to the right of where the video shows. This glitch should also work on the All-Stars+World cart as well, but I don't know the setup offhand.
Great explanation
Jontron voice:
I get it
idongetit
I feel like I’ve accidentally performed this glitch before, I ate a goomba and i did some weird actions then I went invincible for the rest of the stage.
I tried multiple times and every time it made it so when I shot a fireball at yoshi he died