For some reason, the 5UP sprite has always fascinated me. Its upside down and shifted sprites intrigued me, because it's still there and you can see it's there when you look at the glitched sprite. I didn't know the blue-green colour palette for it was a glitch, or that the garbage attribute data was responsible for vertical and horizontal mirroring.
17:57 If you convert the attribute to binary (11011110) both the flip bits are set the layer is different and the pallete is wrong, while the sprite page is correct. This explains most of the corruptions but the shift i can't explain
@@Alloveck Indeed. There is so much mayham caused by things going out of bounds. Like Missingno.'s item duplication, the Pacman glitch level at 255, various crashes, etc.
@@wernerderchamp hence why modern programming languages refuse to read data in a list/table/array with an index greater than the structure's size and crash or throw an error instead. much better to say 'nope, we're not doing that' and die instead of continuing execution and doing.. all of the weird stuff mentioned.
To be fair, this was one of the first games made for the Super Nintendo, which means that the programmers had much more space to work with compared to the NES.
It's funny that Crash Bandicoot 2 and 3 have a variant of the same bug; the game lets you gain increasing rewards by bouncing on enemies consecutively, and the devs didn't put a hard cap on the value, and they overlooked the fact that there are some spots where you can rack up unlimited bounces by bouncing on an arrow crate for several minutes then landing on an enemy. This makes the reward table go out of bounds and give you bogus rewards including crystals and gems from other levels.
Imagine if Cortex was aware of it. "Uh, Crash? How did you get that gem? Are you cheating or something? Only I can cheat! ...Is what I would say before I changed my ways. Anyways, that gem doesn't count, get it the correct way!" I would assume Aku Aku would be the one calling you out in Crash 3.
@@_cfmca You can look up pirohiko's "item glitch" TAS of Crash 2 which uses the bug to collect all 25 crystals in one go, allowing them to skip every level sans boss fights and beat the game in 11 minutes. The run also makes use of a second bug that causes the bounce counter to not reset if Crash lands on the ground while spinning.
@@_cfmca Check out the any% speedrun of crash 2 to see this glitch in action. It's not terribly exiting run to be honest but an interesting watch nonetheless...
@@_cfmcaYou could watch a speedrun explain of that for both of those games related to the Arrow Crate. One thing that the commenter didn't mention is that the bounce counter only got reset if Crash landed on the ground (as expected), but it was later found out that doing a spin before land the ground and then crouching afterwards doesn't eliminate the bounce counter for some reason, so you can take your bounce counter everywhere before you bounce at a enemy, which cause the glitch bounce bonus. EDIT: Doing a jump during said spin in the air also doesn't eliminate the counter, so for speedrunner, it's an only fast method of moving around is by repeatedly jumping while spinning, considering if they're precise enough.
As someone who watches with subtitles on, I appreciate you moving the subtitles to the top when you do any animations at the bottom of the screen. If I could give a second like on the video I would!
Also by the way the score Sprite data tags numbers basically do the same basic data tag operations as how Minecraft block ID's used to work in Minecraft during early Minecraft versions. 😅😅😂😂🤣🤣
Possible, but then what would E4 be, a 5-up moon? To me, the more striking thing is that E0/E4 exclusively show up when you have a Yoshi of some kind. I could imagine it being responsible for for keeping Yoshi on the overworld, or even for putting him in the item box. (And then E4 could be a second Yoshi colour?)
I always found it weird that if you eat a wiggler while on Yoshi and are running too fast you can TAKE DAMAGE AS MARIO without losing Yoshi in the process.
Another funny thing is that if you die on top of a wiggler (for example due to time running out), in your way out of the screen you will hit it and you will bounce during your dying animation.
@@metalclawsteelheart Actually, it's much simper: The Wiggler simply hurt Mario instead of throwing him off Yoshi (eaten or not unless the head is touched in which case one often get thrown of Yoshi) and still interacts with Mario/Yoshi when eaten (so one can still jump onto an eaten Wiggler). The slightly longer answer is that enemy interaction when riding Yoshi is weird. For starters, it isn't the enemies themselves which throw Mario off Yoshi but rather it's Yoshi himself who throws Mario off when he touches an enemy. Indeed, the hurt code of enemies is actually disabled when Mario rides Yoshi - when they use the default interaction. This causes two shenanigans: One, the hitbox (when getting attacked) on Yoshi is actually smaller (which is why one can dodge airborn Banzai Bills simply by standing on the ground and while riding Yoshi) and second, Yoshi can't detect non-default hitboxes like the individual Wiggler segments. Furthermore, some non-default interactions forget to check for Yoshi so they still can hurt Mario instead of throwing him off as expected. For Wigglers, this is twofold: Each segment has its own interaction but Yoshi only checks for the head (where the default hitbox is located) and they don't check if Mario rides Yoshi, thus still hurting him instead of throwing the latter off the former. For completion, Dino Torches are similar where the flames are a separate interaction and they too hurt Mario instead of throwing him off Yoshi like expected.
0:31 It makes me VERY happy you're keeping this being a thing. It's nostalgic and makes me feel like I am watching a PBS educational show in the best possible way.
Yeah. In fact, there's even special code in the game to make the star change colors while in the reserve box, further implying that it was meant to go in there at some point in development.
I actually never knew the power up changed. I always thought it was either a mushroom or 1up. Never seen a feather/flower in my years of playing through the game, lol.
With the first discovery (end gate items check table), I believe this is an example of the developer planning ahead and then reining in the outcomes due to one of many reasons such as running out of time, not liking the idea, or finding a bug in testing, so they instead decided to link numerous status combinations to the same outcome. With the second discovery, enemies not using the same stomp reward routine, this is a prime example of why you should not copy and paste code and should instead have one routine that all instances of a scenario point to. Not only do you save space in your program, you also avoid the risk of forgetting to update the routine to be the same as another version of it that you’ve fixed or settled on. Nintendo should have had one routine but instead have ended up with three that all have different behaviours.
I'd guess the code is slightly different for Rex and Wiggler because they don't die normally when stomped, but yeah, it leads to this pretty big oversight.
@@Justin-TPG What's funny is that the give points routine is a shared routine but it can only be accessed from one bank while SMW splits its sprite code through three banks with Rex and Wiggler being on a separate bank from the route and the devs expected to fit all the sprite code into a single bank but they learned the hard way and it was possibly too late to change.
that second tip is not entirely correct, as function calls produce overhead. the main tutorial on gba dev tells you to inline functions as much as possible to speed up runtime, but you shouldn't do that unless you're coding in c.
@@lucasgreer1736 on the SNES, a function call (JSR Jump Subroutine) is only 6 CPU cycles, 8 cycles if the code is in another bank (JSL). So function calls don't really introduce speed issues on SNES.
About the star counter, would it make sense as a half-implementation of a star reward system? Like you collect 7 stars and get rewarded with a star at the beginning of a level. But then they thought it might be broken or something and just removed invincibility as you touched the goal post as a bandaid patch to disable the code. It would explain why you need multiple stars to obtain it and why it clears after it’s achieved, and maybe the fact you only need to reenter a level to increase the counter is just due to the unfinished implementation. Idk code that great, but I like hearing theories on this kinds of stuff.
I don’t think anyone appreciates how each of your videos gets themed around the game you’re exploring, but I wanted to thank you for scratching that perfectionist itch in the back of my head.
I always found it interesting in Mario that when you got a one up nothing happened to your score so if you wanted to maximize your score you'd want to stop stomping on enemies right before you get a one up and then kill the next enemy in a way to gove you 200 points.
There is another way to see glitched value tiles, and that is in Chocolate Island 2. Leaving the second screen with 249-235 seconds left and holding less than 3 dragon coins you will come to an end tape goal with about 7 Rexes. Using the L and R buttons to move or call them into the screen and not touching the tape will show you a glitched value. It's even better if you somehow go through the goal with an item. I have to make a video of this because I don't think I've seen anyone document it.
Quite a few arcade and arcade style games incorporate scoring into the game in some way, usually through dedicated score mechanics and/or tying survival bonuses to score, like awarding lives at certain milestones.
I can see some romhacks messing with these unused bonus power ups - like changing what item at the tape you get to troll people (like enemies). Imagine needing to trigger a star power up to avoid a kaizo trap 😂.
Or starting the level immediately in a trap, so you need to trigger the star counter 7 levels in advance to start with invincibility - and ideally, you can't go back
That "viewers like you, thank you" bit at 0:32...that was totally the PBS broadcasting credits thing, wasn't it? I had the biggest & dopiest nostalgia-fueled grin when I realized what you were referencing when you said that.
By the love of God, please make a video explaining slopes and jump through platforms (including moving ones) in SMW! That's the point I have the most curiosity about it, specially since it appears to have different states to handle flat ground and sloped ground.
My hat goes off to your for the commentary. No corny jokes .. No long stretched out intro .. Just straight to the point And I like how you speak as if this is an educational video that would be watched in school or maybe a training video for a job 😂❤
I think for the superstar power, i think the developers of super mario world initially planned on the super star to be a carryable item instead of a limited time item. This explains why there are references in the game for items to giving super stars. It likely would have went into your item box like a regular item, however they must have changed their minds on this at some point since they made invincibility immediately go out and made the star not able to go into the item box. It's a cool thing to think about to be honost.
Haven't finished the video yet. The only other states I can think Mario can be in are "death animation" or "p-balloon". As everything freezes when you die I'm going to go with the balloon. EDIT: I remember the powerup video now. Death wasn't considered a powerup I believe so I'm double extra sure it isn't that, but I also don't remember if p balloon is either though.
Decades ago when I discovered this I had a paper where I'd try to get as far into the glitched coin awards as possible before the level timer ran out. I would periodically do runs to try and update that sheet by getting farther than before. It was hard because sometimes I'd have to stop and keep stomping on the red Wiggler just to watch the coin counter finish updating otherwise it would be ambiguous how many points I was getting, which lost me time so it required multiple runs. I've since lost that piece of paper and it frustrated me greatly, and although now with access to emulator I could recreate that sheet more correctly than ever, I never bothered. At the end when the glitched coin gains were discussed, I could remember the sequence of 4, 6, and then I knew there were two very big numbers that I couldn't remember. It was so satisfying when 222 and 255 fit like pieces into my mind's 2-decade-old puzzle! The paper ran for quite a bit longer. I'm sure today by just knowing the offset and spacing between the addresses I could technically create a "complete" list. I found it quite odd when the first coin awards incremented so nicely and then it suddenly began giving weird coin awards and at that time I could not wrap my head around any of it. I had programming knowledge but it was all amateur QBASIC stuff and QBASIC is a managed language so concepts like overrunning a buffer and reading garbage data were absent to me. Initially I thought the score was tied to the number of coins provided and thought to use it - since it updates instantly - to calculate the number of coins I'd received without waiting for the coin counter. However, I quickly realised the scores weren't making sense.
That Star Power gimmick would be SOOOOOO cool in a Kaizo World setting. Not only would you be able to create a situation where ONLY the refreshed Star Power Mario from getting the Star from the Goaltape would keep you alive you could also set it up in such a way that the immediate next stage requires you to take a path through it in such an exact 'correct' way that the Star Power triggers in a room where you absolutely need it with no other solution like a stretch of Munchers.
@@Toonrick12The latter makes sense, since there’s a Formula 2 and Formula 3 that are less-intense training and qualification leagues for Formula 1. Formula 0 would presumably be _even more extreme!!!_
ive been super excited for this video to come to youtube since you announced it in your community tab thing! i love the wriggly worms!! i love mario!!! i love your videos!!!!
I remember activating the wiggler life/score glitch all the time back in the day after just happening upon it the first time during normal gameplay. Nice to finally see what was going on with the glitched text.
I had a list of "strange symbols." I would gear up with a Cape, start from the checkpoint, and blast the whole clock trying to get as far into the list as possible before time ran out. I remember using easy-to-remember "rare" symbols as progress markers to see how far i was getting down the list. I remember when you got Double Grey Boxes with X's, you were getting pretty far into the list. The game made all the various permutations of the glitched symbols in the same order every time, so it wasn't random. And every time you saw something easy to remember like a big orange O, or a hot pink box with x, it was always as many bounces as last time. I had always thought it might be fun to make a ROM Hack with lots of green berries on that level, so i could have extra time to uncover more glitched sprites beyond what time would normally allow. Now I'm thinking maybe a Game Genie Code could suffice for this purpose. I wish this video would show what all 256 glitches looked like, so i could see real quick how many wiggler hits it took to reach double grey boxes with X's.
3:16 I wonder if that's related to the star in the item box in some way. Maybe at one point they thought of making a separate star item that would be added to your item box, and when used would make you invincible, similar to Super Mario Bros. 3, and the normal star dropping was just a placeholder. Though the counter you mentioned later on sort of disproves this, since it seems like they already started working on it and just gave up later, leaving it half finished. The 7 entries delay thing is probably an unfinished requirement.
i fall asleep better when there's something i really want or need to pay attention to. this video feels like a class, but im also very intrigued and interested so this was perfect for my nap. thanks i guess.
I had totally forgotten about how broken the score counter was on wigglers in SMW. I remember maxing out the life & score counter way back when on my quest to go through all 96 exits for the first time!
I remember seeing the early sprite table over on TCRF when it first showed up in an article, and quickly made the connection when I did the Wiggler glitch and watched my coins counter closely after passing 5UP. Not hard to imagine my 'eureka!' face making that link, so when he started talking about the glitched values, I knew what was up.
Interesting stuff. I always thought that Wigglers starting off being worth 100 points instead of 200 when stomped as the first hit of a combo was intentional. Also, with an invincibility star combo, Wigglers actually cap at 2-up instead of 1-up. I wonder if they meant to cap Wigglers at 2-up with stomps as well, but forgot to do so.
You show the P-balloon on the chart, but I think an aside about how it works and gets treated as a held item would have fit. Maybe you've mentioned it in other videos, IDK, but not everyone watched all of them, and I think it would have made a lot of sense to draw a bit of attention to. (It's also possible that you did and I spaced out during that time; if this is the case then I apologize for my ADHD.) Anyway, neat video!
Huh... Now I think I sould give more credit to Super Mario Advance 2 for fixing most (if not all) of these glitches that were present in the original SNES game. 🤔
i dont understand why specifically nintendo developers always just leave unused code in the game, i mean if its not going to be used, why bother even keeping it? just trash it, if nothing else it will just decrease the size of the rom
I like how they fixed it in the gba version. I remember getting a +30 lives sprite by bouncing on wigglers as a kid. (Or something like that. It’s been years since I played it.)
For the IncreaseStompCounter routine you mention, the ending RTS should instead be an RTL if we want to include it as a JSL within the affected two routines you mention (for stomping on Rexes or Wigglers). Be sure that the existing JSR calls to this routine are changed to JSLs, too. In addition, I wonder why the copy-and-pasted code for the Rexes doesn't play the 1-UP sound and stomp sounds together?
This explains so much. I always thought the Koopa Troopers didn’t need to be jumped on when maxing out your score and I also thought the Wigglers seemed to give large bonus points only some of the time. I normally spin jump on the Koopa Troopers to get rid of them as it makes it easier to jump on the Wigglers with them out of the way. It also makes it more likely that the Wigglers will respawn, sometimes the Koopa Troopers max out the number of sprites or something.
Stuff like this also highlights how much coding optimization was implemented between pokemon gen1 & gen2 lol. I always wondered why the score number was offset depending on what the bonus was, never would've guessed it was a pair of spites to display one number.
it feels like the programmer waned to make the star power happen in the next level after finishing a level with it. but they didn't use LSR (Logically shift right) instead they used ASL (Arithmetic shift left) by mistake and didn't catch it because the code didn't get run anymore thanks to newer code later on
I've been stomping Wigglers for a long time ever since the game was originally released. Near the halfway point in Forest of Illusion 1 there are 3 wigglers you can do this with. If you restart the level from the checkpoint it'll save time but it's a good way to max out the score and lives in no time.
boy I remember hitting wigglers to stack up lives and sometime later I even made a patch to fix it! Sadly I couldn't even post it to SMWCentral because I forgot my login details and by now the files are probably lost. Only thing that remains is an old recording of it 😔
For some reason, the 5UP sprite has always fascinated me. Its upside down and shifted sprites intrigued me, because it's still there and you can see it's there when you look at the glitched sprite. I didn't know the blue-green colour palette for it was a glitch, or that the garbage attribute data was responsible for vertical and horizontal mirroring.
Same
17:57 If you convert the attribute
to binary (11011110) both the flip bits are set the layer is different and the pallete is wrong, while the sprite page is correct.
This explains most of the corruptions but the shift i can't explain
@@samu6982 I suspect it flips each tile individually so that it ends up looking shifted.
I always referred to it as the upside down 5up.
I actually saw the 5up in the gba port of the game, where it actually displays correctly in green
Oh boy, out-of-bounds tables resulting in garbage data being read, my favorite
Consistently the easiest spot to hit on the weird game behavior bingo card.
@@Alloveck Indeed. There is so much mayham caused by things going out of bounds. Like Missingno.'s item duplication, the Pacman glitch level at 255, various crashes, etc.
@@wernerderchamp hence why modern programming languages refuse to read data in a list/table/array with an index greater than the structure's size and crash or throw an error instead. much better to say 'nope, we're not doing that' and die instead of continuing execution and doing.. all of the weird stuff mentioned.
@@dotdash Modern languages do have a lot of this, also checking for overflows/underflows, bad pointers, etc.
You are now on a NSA watchlist
old games: we reused half of the face texture for the butt sprite to save space
also old games: bible length of unused code and data
Programmers: Imposing limitations on other people is our job. Following those limitations ourselves is not.
To be fair, this was one of the first games made for the Super Nintendo, which means that the programmers had much more space to work with compared to the NES.
Saving space in memory is more important than on the cartridge.
Modern games: we updated ... uh ... something, i forgot, just download these 80 GB
@@Maric18 The 80GB patch changes the shade of three pixels in the status bar.
It's funny that Crash Bandicoot 2 and 3 have a variant of the same bug; the game lets you gain increasing rewards by bouncing on enemies consecutively, and the devs didn't put a hard cap on the value, and they overlooked the fact that there are some spots where you can rack up unlimited bounces by bouncing on an arrow crate for several minutes then landing on an enemy. This makes the reward table go out of bounds and give you bogus rewards including crystals and gems from other levels.
Haha that’s great, do you know any videos of this?
Imagine if Cortex was aware of it.
"Uh, Crash? How did you get that gem? Are you cheating or something? Only I can cheat! ...Is what I would say before I changed my ways. Anyways, that gem doesn't count, get it the correct way!"
I would assume Aku Aku would be the one calling you out in Crash 3.
@@_cfmca You can look up pirohiko's "item glitch" TAS of Crash 2 which uses the bug to collect all 25 crystals in one go, allowing them to skip every level sans boss fights and beat the game in 11 minutes. The run also makes use of a second bug that causes the bounce counter to not reset if Crash lands on the ground while spinning.
@@_cfmca Check out the any% speedrun of crash 2 to see this glitch in action. It's not terribly exiting run to be honest but an interesting watch nonetheless...
@@_cfmcaYou could watch a speedrun explain of that for both of those games related to the Arrow Crate.
One thing that the commenter didn't mention is that the bounce counter only got reset if Crash landed on the ground (as expected), but it was later found out that doing a spin before land the ground and then crouching afterwards doesn't eliminate the bounce counter for some reason, so you can take your bounce counter everywhere before you bounce at a enemy, which cause the glitch bounce bonus.
EDIT: Doing a jump during said spin in the air also doesn't eliminate the counter, so for speedrunner, it's an only fast method of moving around is by repeatedly jumping while spinning, considering if they're precise enough.
As someone who watches with subtitles on, I appreciate you moving the subtitles to the top when you do any animations at the bottom of the screen. If I could give a second like on the video I would!
Also by the way the score Sprite data tags numbers basically do the same basic data tag operations as how Minecraft block ID's used to work in Minecraft during early Minecraft versions. 😅😅😂😂🤣🤣
@@DavidMuri-lm5vyok
@@DavidMuri-lm5vybro what does that have to do with subtitles?
@@TheRealMycanthrope I was trying to make a point on how super Mario world operates compared to Minecraft. 😅😅😂😂🤣🤣
@@DavidMuri-lm5vy but why did you reply to this person's comment with something completely unrelated
Maybe the E0-EF sprites were originally moons? They seem to be used for "harder" things to acomplish, which is what 3-up moons are for?
seeing as E0 is used for when you bring an egg or when you're riding yoshi, it could have been used for putting a yoshi egg in the item slot
Possible, but then what would E4 be, a 5-up moon?
To me, the more striking thing is that E0/E4 exclusively show up when you have a Yoshi of some kind. I could imagine it being responsible for for keeping Yoshi on the overworld, or even for putting him in the item box. (And then E4 could be a second Yoshi colour?)
I say item box and Yoshi color
i think it might've been a special yoshi 1-up, like a yoshi cookie or a 1-up mushroom with a different cap pattern
@@lolnt6103also subsequently removed because of yoshi and ghost houses
I always found it weird that if you eat a wiggler while on Yoshi and are running too fast you can TAKE DAMAGE AS MARIO without losing Yoshi in the process.
I imagìne that's something to do with how long the wiggler is, and how it might be clipping into mario for a frame.
Another funny thing is that if you die on top of a wiggler (for example due to time running out), in your way out of the screen you will hit it and you will bounce during your dying animation.
Munchers also damage Mario while he's riding the Yoshman
I imagine an intern coded these guys
@@metalclawsteelheart Actually, it's much simper: The Wiggler simply hurt Mario instead of throwing him off Yoshi (eaten or not unless the head is touched in which case one often get thrown of Yoshi) and still interacts with Mario/Yoshi when eaten (so one can still jump onto an eaten Wiggler).
The slightly longer answer is that enemy interaction when riding Yoshi is weird. For starters, it isn't the enemies themselves which throw Mario off Yoshi but rather it's Yoshi himself who throws Mario off when he touches an enemy. Indeed, the hurt code of enemies is actually disabled when Mario rides Yoshi - when they use the default interaction.
This causes two shenanigans: One, the hitbox (when getting attacked) on Yoshi is actually smaller (which is why one can dodge airborn Banzai Bills simply by standing on the ground and while riding Yoshi) and second, Yoshi can't detect non-default hitboxes like the individual Wiggler segments. Furthermore, some non-default interactions forget to check for Yoshi so they still can hurt Mario instead of throwing him off as expected.
For Wigglers, this is twofold: Each segment has its own interaction but Yoshi only checks for the head (where the default hitbox is located) and they don't check if Mario rides Yoshi, thus still hurting him instead of throwing the latter off the former.
For completion, Dino Torches are similar where the flames are a separate interaction and they too hurt Mario instead of throwing him off Yoshi like expected.
0:31 It makes me VERY happy you're keeping this being a thing. It's nostalgic and makes me feel like I am watching a PBS educational show in the best possible way.
This guy made my day... kinda wonderful =]
Man, I spent hours of my life stomping… Wigglers, in the original Super Mario World.
he said Koopas like it was a slur lol
SNES game, at my... friend's house.
stomping …………………………………………………………………………………… wigglers in the original super mario world on the snes
At my local... laundromat
i'm thinking about it, has somebody ever made Chris Pratt lose the Sonic Unleashed QTE when he says "KOOPAS"
Mario steals the life force of baby Yoshis to keep the grim reaper at bay. What horrors must we endure to achieve immortality?
Lol
Stealing the soul of innocent baby birds.
perchance
I remember using the Wigglers to max out my score in Super Mario World. Neat to finally know why it happened.
I read about it in a guidebook released around the time of the game.
3:28, maybe the super star was intended to go into the reserve box as there are unused graphics for a star in reserve
Yeah. In fact, there's even special code in the game to make the star change colors while in the reserve box, further implying that it was meant to go in there at some point in development.
12:47 I actually said "ohhhh" out loud. The whole video i was thinking "ok but why are the sprites past 3UP flipped?"
I actually never knew the power up changed. I always thought it was either a mushroom or 1up. Never seen a feather/flower in my years of playing through the game, lol.
With the first discovery (end gate items check table), I believe this is an example of the developer planning ahead and then reining in the outcomes due to one of many reasons such as running out of time, not liking the idea, or finding a bug in testing, so they instead decided to link numerous status combinations to the same outcome.
With the second discovery, enemies not using the same stomp reward routine, this is a prime example of why you should not copy and paste code and should instead have one routine that all instances of a scenario point to. Not only do you save space in your program, you also avoid the risk of forgetting to update the routine to be the same as another version of it that you’ve fixed or settled on. Nintendo should have had one routine but instead have ended up with three that all have different behaviours.
I'd guess the code is slightly different for Rex and Wiggler because they don't die normally when stomped, but yeah, it leads to this pretty big oversight.
@@GameDevYal Good point! Although an enemy type check and different subroutine for death handling would help there as well
@@Justin-TPG What's funny is that the give points routine is a shared routine but it can only be accessed from one bank while SMW splits its sprite code through three banks with Rex and Wiggler being on a separate bank from the route and the devs expected to fit all the sprite code into a single bank but they learned the hard way and it was possibly too late to change.
that second tip is not entirely correct, as function calls produce overhead. the main tutorial on gba dev tells you to inline functions as much as possible to speed up runtime, but you shouldn't do that unless you're coding in c.
@@lucasgreer1736 on the SNES, a function call (JSR Jump Subroutine) is only 6 CPU cycles, 8 cycles if the code is in another bank (JSL). So function calls don't really introduce speed issues on SNES.
I seem to recall the original SMW players' guide even giving details on how to do this for maximum score.
About the star counter, would it make sense as a half-implementation of a star reward system? Like you collect 7 stars and get rewarded with a star at the beginning of a level. But then they thought it might be broken or something and just removed invincibility as you touched the goal post as a bandaid patch to disable the code. It would explain why you need multiple stars to obtain it and why it clears after it’s achieved, and maybe the fact you only need to reenter a level to increase the counter is just due to the unfinished implementation. Idk code that great, but I like hearing theories on this kinds of stuff.
when the "sponsor" segment turned out to be just a patreon plug + viewer appeciation moment, i loudly exclaimed "YAAAAY!"
I don’t think anyone appreciates how each of your videos gets themed around the game you’re exploring, but I wanted to thank you for scratching that perfectionist itch in the back of my head.
I always found it interesting in Mario that when you got a one up nothing happened to your score so if you wanted to maximize your score you'd want to stop stomping on enemies right before you get a one up and then kill the next enemy in a way to gove you 200 points.
aaaaand yet another entry in "Super Mario World Indexes Table Out Of Bounds, Shenanigans Follow"
great work, as usual!
There is another way to see glitched value tiles, and that is in Chocolate Island 2. Leaving the second screen with 249-235 seconds left and holding less than 3 dragon coins you will come to an end tape goal with about 7 Rexes. Using the L and R buttons to move or call them into the screen and not touching the tape will show you a glitched value. It's even better if you somehow go through the goal with an item. I have to make a video of this because I don't think I've seen anyone document it.
Barring some early arcade games, the Super Mario Bros series has something in common with Whose Line Is It Anyway: the points don't matter.
Quite a few arcade and arcade style games incorporate scoring into the game in some way, usually through dedicated score mechanics and/or tying survival bonuses to score, like awarding lives at certain milestones.
The fucking "viewers like you, thank you" gave me such a nostalgia trip
I'm subscribing
I can see some romhacks messing with these unused bonus power ups - like changing what item at the tape you get to troll people (like enemies). Imagine needing to trigger a star power up to avoid a kaizo trap 😂.
that would be so evil... and very funny
@@pictocat8568 do not underestimate the troll hack community. They are EVIL
Or starting the level immediately in a trap, so you need to trigger the star counter 7 levels in advance to start with invincibility - and ideally, you can't go back
@@Supahdenning that E.V.I.L. good job 👍🏻
That "viewers like you, thank you" bit at 0:32...that was totally the PBS broadcasting credits thing, wasn't it?
I had the biggest & dopiest nostalgia-fueled grin when I realized what you were referencing when you said that.
Still is. But also a nod to The Gaming Historian, whose videos all contain that.
That "... and viewers like you. Thank you!" brings back the old PBS Kids memories...
Ah yes, our old buddy, "Inadvertently reading code and data out of the intended range to produce nightmare crazy unintended outcomes" glitch.
seeing that the glich caused the "flip x" and "flip y" bites to be overriten on the 5up felt like fitting a perfectly cut insert of metal into a hole
By the love of God, please make a video explaining slopes and jump through platforms (including moving ones) in SMW!
That's the point I have the most curiosity about it, specially since it appears to have different states to handle flat ground and sloped ground.
Yeah that would be interesting, especially as sometimes it’s possible to kick a Koopa Trooper shell through a slope and into the gap behind it.
thank you so much for using grey for the backround white wouldve made this so much harder to watch
this is fascinating i love seeing how games work internally and the weird quirks that come from messing with them
I love how your intro jingle is literally the glitched lengthened 1-up sound from SMB3
Love that you uploaded this on Wigger Wednesday
_Wigger_ Wednesday?
@@0neDoomedSpaceMarine all it takes is one letter for everything to go wrong...
ah yes
The Nintendo police are gonna come for you.
Waluigi was crazy for that one.
My hat goes off to your for the commentary.
No corny jokes ..
No long stretched out intro ..
Just straight to the point
And I like how you speak as if this is an educational video that would be watched in school or maybe a training video for a job 😂❤
"Now for the fun part where I explain why everything is broken..." made me laugh and like
I very much love the PBS style intro lol
I think for the superstar power, i think the developers of super mario world initially planned on the super star to be a carryable item instead of a limited time item. This explains why there are references in the game for items to giving super stars. It likely would have went into your item box like a regular item, however they must have changed their minds on this at some point since they made invincibility immediately go out and made the star not able to go into the item box. It's a cool thing to think about to be honost.
when you said "viewers like you" it gave me nostalgia of PBS when I was little
19:44 the profiles say the atomic symbol for lead
Haven't finished the video yet. The only other states I can think Mario can be in are "death animation" or "p-balloon". As everything freezes when you die I'm going to go with the balloon.
EDIT: I remember the powerup video now. Death wasn't considered a powerup I believe so I'm double extra sure it isn't that, but I also don't remember if p balloon is either though.
Nope. P Balloon is considered a carryable object - you can actually see it on the first row of the table.
"Death wasnt considered a powerup"
lol
So... Mario eats baby Yoshis for extra lives? Wow.
Decades ago when I discovered this I had a paper where I'd try to get as far into the glitched coin awards as possible before the level timer ran out. I would periodically do runs to try and update that sheet by getting farther than before. It was hard because sometimes I'd have to stop and keep stomping on the red Wiggler just to watch the coin counter finish updating otherwise it would be ambiguous how many points I was getting, which lost me time so it required multiple runs.
I've since lost that piece of paper and it frustrated me greatly, and although now with access to emulator I could recreate that sheet more correctly than ever, I never bothered. At the end when the glitched coin gains were discussed, I could remember the sequence of 4, 6, and then I knew there were two very big numbers that I couldn't remember.
It was so satisfying when 222 and 255 fit like pieces into my mind's 2-decade-old puzzle! The paper ran for quite a bit longer. I'm sure today by just knowing the offset and spacing between the addresses I could technically create a "complete" list. I found it quite odd when the first coin awards incremented so nicely and then it suddenly began giving weird coin awards and at that time I could not wrap my head around any of it. I had programming knowledge but it was all amateur QBASIC stuff and QBASIC is a managed language so concepts like overrunning a buffer and reading garbage data were absent to me. Initially I thought the score was tied to the number of coins provided and thought to use it - since it updates instantly - to calculate the number of coins I'd received without waiting for the coin counter. However, I quickly realised the scores weren't making sense.
I find it amusing that vids like these for Mario World (a game I don't even like that much) are so interesting, entertaining, and fascinating.
That Star Power gimmick would be SOOOOOO cool in a Kaizo World setting. Not only would you be able to create a situation where ONLY the refreshed Star Power Mario from getting the Star from the Goaltape would keep you alive you could also set it up in such a way that the immediate next stage requires you to take a path through it in such an exact 'correct' way that the Star Power triggers in a room where you absolutely need it with no other solution like a stretch of Munchers.
It IS Kaizo.
7:31 *Hex $E0 and $F0*
Me after hearing the F0: _Mute City theme plays in my head_
Hmmm. Was F-Zero a pun on F0? Though I could see it as a more "extreme" version of F1, so...
@@Toonrick12The latter makes sense, since there’s a Formula 2 and Formula 3 that are less-intense training and qualification leagues for Formula 1. Formula 0 would presumably be _even more extreme!!!_
Man... that purple amorphous patreon logo sucjs so badly... we should go back to the orange stick + circle one.
I prefer even more the one before the stick and circle
I thought the logo couldn't get any simpler than a stick with a ball... I was wrong
Oh, you mean the Gentoo logo?
@jackwsmf it's been too long, I'd forgotten it used to be good and the circle and stick aren't THAT bad compared to other simplified logos
@@ferociousfeind8538 What other simplified logos are you thinking of? I think the circle and stick is pretty freaking bad lol
May I just say I love the PBS style "this video brought to you by" intro to your videos? Retro indeed!
man, I've always appreciated your production on these videos ... but this takes it to a completely different level. really incredible video
him saying "any viewers like you, thank you" made this feel like a PBS kids show
ive been super excited for this video to come to youtube since you announced it in your community tab thing! i love the wriggly worms!! i love mario!!! i love your videos!!!!
The way your videos are edited are so smooth and satisfying is so good!
5:00 the slowed down jump noise sounds kind of like michael jackson saying hoo
😭😭
"You only need to stomp on forty-eight Wigglers to max out your score counter." ~RGMEx
Speedrunners: NEW STRAT UNLOCKED
More like a new joke category "SMW max score%"
It would be neat to see tho tbh
There'd probably be some wacky TASes of such a category
Wigglers also behave different when you kill them with star power but I think it just caps at 2-up in that case
Oh boy oh boy more Super Mario World and Super Nintendo code execution explanation :)
I remember activating the wiggler life/score glitch all the time back in the day after just happening upon it the first time during normal gameplay. Nice to finally see what was going on with the glitched text.
I had a list of "strange symbols." I would gear up with a Cape, start from the checkpoint, and blast the whole clock trying to get as far into the list as possible before time ran out.
I remember using easy-to-remember "rare" symbols as progress markers to see how far i was getting down the list.
I remember when you got Double Grey Boxes with X's, you were getting pretty far into the list.
The game made all the various permutations of the glitched symbols in the same order every time, so it wasn't random. And every time you saw something easy to remember like a big orange O, or a hot pink box with x, it was always as many bounces as last time.
I had always thought it might be fun to make a ROM Hack with lots of green berries on that level, so i could have extra time to uncover more glitched sprites beyond what time would normally allow.
Now I'm thinking maybe a Game Genie Code could suffice for this purpose.
I wish this video would show what all 256 glitches looked like, so i could see real quick how many wiggler hits it took to reach double grey boxes with X's.
I was already familiar with the goal tape item routine, but the visualization here makes everything easier to reason about.
Beautiful visualisations!
Every time I look at assembly it makes me feel like my eyes are just throwing up into my brain
I admire the presentation and the pace of this video a lot. Keep it up!
It actually felt eerie and bizarre watching a video with no running BGM. Feels empty and lonely somehow.
0:42 NES Remix nostalgia
I would kill for a version with the games from NSO.
Your videos are top notch quality. The animations are so helpful to understand the topic! 😊
What do you use to animate all this? It's so well done.
Man I was so proud of myself for discovering this glitch when I played SMW as a teenager.
I like how Nintendo kept the intended wiggler-coin interaction for SMRPG to obtain secret frog coins
Stomping Wigglers like you showed was something I remember doing back in the day.
3:16 I wonder if that's related to the star in the item box in some way. Maybe at one point they thought of making a separate star item that would be added to your item box, and when used would make you invincible, similar to Super Mario Bros. 3, and the normal star dropping was just a placeholder. Though the counter you mentioned later on sort of disproves this, since it seems like they already started working on it and just gave up later, leaving it half finished. The 7 entries delay thing is probably an unfinished requirement.
i fall asleep better when there's something i really want or need to pay attention to. this video feels like a class, but im also very intrigued and interested so this was perfect for my nap. thanks i guess.
I had totally forgotten about how broken the score counter was on wigglers in SMW. I remember maxing out the life & score counter way back when on my quest to go through all 96 exits for the first time!
I like the palette the 5UP sprite ended up with
I remember seeing the early sprite table over on TCRF when it first showed up in an article, and quickly made the connection when I did the Wiggler glitch and watched my coins counter closely after passing 5UP. Not hard to imagine my 'eureka!' face making that link, so when he started talking about the glitched values, I knew what was up.
Nice, uploading a video about wigglers on a Wednesday ;)
do a video on glitch mario statuses and how poweups affect them
Keep the Mario (and especially SMW) videos coming. I'm really enjoying these. :)
I love smw and ive seen so many videos on it, rarely do i hear anything new, yet i still loooove watching these videos.
Interesting stuff. I always thought that Wigglers starting off being worth 100 points instead of 200 when stomped as the first hit of a combo was intentional. Also, with an invincibility star combo, Wigglers actually cap at 2-up instead of 1-up. I wonder if they meant to cap Wigglers at 2-up with stomps as well, but forgot to do so.
You show the P-balloon on the chart, but I think an aside about how it works and gets treated as a held item would have fit. Maybe you've mentioned it in other videos, IDK, but not everyone watched all of them, and I think it would have made a lot of sense to draw a bit of attention to.
(It's also possible that you did and I spaced out during that time; if this is the case then I apologize for my ADHD.)
Anyway, neat video!
Huh... Now I think I sould give more credit to Super Mario Advance 2 for fixing most (if not all) of these glitches that were present in the original SNES game. 🤔
i dont understand why specifically nintendo developers always just leave unused code in the game, i mean if its not going to be used, why bother even keeping it? just trash it, if nothing else it will just decrease the size of the rom
fixed the 5up sprite in ms paint, looked pretty nice
now fix it in-game too
7:32 F ZERO REFERENCE!?1!1!1?1 NO WAY 😨😨😨😨😰😰😰😱😱😱
Best RUclips on RUclips. Honest original content, no ads
I like how they fixed it in the gba version. I remember getting a +30 lives sprite by bouncing on wigglers as a kid. (Or something like that. It’s been years since I played it.)
i love getting hcwhasoef-ups
Those Wigglers are making the whole game goes loosey-goosey wiggly-woggly 😎
For the IncreaseStompCounter routine you mention, the ending RTS should instead be an RTL if we want to include it as a JSL within the affected two routines you mention (for stomping on Rexes or Wigglers). Be sure that the existing JSR calls to this routine are changed to JSLs, too.
In addition, I wonder why the copy-and-pasted code for the Rexes doesn't play the 1-UP sound and stomp sounds together?
Thank you for this birthday gift!
This explains so much. I always thought the Koopa Troopers didn’t need to be jumped on when maxing out your score and I also thought the Wigglers seemed to give large bonus points only some of the time.
I normally spin jump on the Koopa Troopers to get rid of them as it makes it easier to jump on the Wigglers with them out of the way. It also makes it more likely that the Wigglers will respawn, sometimes the Koopa Troopers max out the number of sprites or something.
I love when people talk about broken things in old Mario games in depth. Its so awesome to me! =D
Hehe, I did the Wiggler jump trick in Forest of Illusion all the time when I was strapped for lives.
I love looking at these leftover data in games, thinking about what could have been
Those leaking invisible walls also bug me...oh, wrong channel.
Stuff like this also highlights how much coding optimization was implemented between pokemon gen1 & gen2 lol.
I always wondered why the score number was offset depending on what the bonus was, never would've guessed it was a pair of spites to display one number.
it feels like the programmer waned to make the star power happen in the next level after finishing a level with it. but they didn't use LSR (Logically shift right) instead they used ASL (Arithmetic shift left) by mistake and didn't catch it because the code didn't get run anymore thanks to newer code later on
I've been stomping Wigglers for a long time ever since the game was originally released. Near the halfway point in Forest of Illusion 1 there are 3 wigglers you can do this with. If you restart the level from the checkpoint it'll save time but it's a good way to max out the score and lives in no time.
*@[**17:54**]:* Well, that would explain why the orientation of the each tile of the 5-up sprite is reversed...
boy I remember hitting wigglers to stack up lives and sometime later I even made a patch to fix it! Sadly I couldn't even post it to SMWCentral because I forgot my login details and by now the files are probably lost. Only thing that remains is an old recording of it 😔