The Mew Glitch Explained IN DEPTH — Glitch in Depth

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments

My million dollar question is: why was mew sprite in the game in the first place

👍︎︎ 1 👤︎︎ u/CrissCross98 📅︎︎ Oct 02 2016 🗫︎ replies
Captions
last time on glitch in depth we explored perhaps the most famous glitch in pokemon red and maybe even in any game ever but there are so many more glitches to talk about in the first generation Pokemon games today we're going to talk about another very famous glitch the Mew glitch the mucilage is actually an extension of the trainer flag glitch which of course we're also going to cover in this video the Moog lich is one of the most famous glitches in the Pokemon games and for good reason it lets you easily catch MU who is normally unobtainable in both red and blue without using a gameshark or similar cheating device this glitch also won't delete your data or do anything weird to your game once you're done executing it on top of that you can also exploit the glitch to get basically whatever Pokemon you want a general summary of executing the glitch goes like this walk on screen so the gambler can see you when you're done walking but immediately press Start to open the menu so you don't fight it then fly to cerulean city go to the youngster with the level 19 slowpoke in battle and then fly to lavender town and go back to route 8 close the menu that automatically pops up and suddenly you'll be facing mu but how does it work why does mu appear how can we get whatever pokemon we want these questions will be answered today on this episode of glitch in depth where we will explore the mysteries of the mucilage so first we need to get the game into a glitched state and to do that we execute the trainer flag glitch on a gambler in route 8 basically we're walking into the site of a long-range trainer pausing right before he can engage us in battle and flying or teleporting away though you can perform the trainer flag glitch and by extension the mucilage on any long-range trainer we're going to execute it on the gambler in route 8 for the sake of the video later will execute the glitch on another long-range trainer to prove it so first we need to position ourselves out of sight walk south one step so he's on screen and we're in his sight pause at the right time and fly away to cerulean city the gambler notices us and starts to engage us but we fly away to cerulean and the overworld engine or gains control but that doesn't mean that flying away from the engagement didn't do some pretty weird stuff to our game because it definitely did let's break it down first let's look at why we can open the menu in the first place NPCs are initialized to face south so when an NPC appears on screen they actually face south for one frame before the game updates them to face the direction they're supposed to face during this frame we can open up the Start menu but since we can start holding the start button at any point while walking the last step down to the NPC and it will still work we actually have a pretty big timing window to start holding the start button anyway we open the menu on this one frame and when we fly away the NPC now facing us tries to engage us however since we used fly we escape however flying away from the NPC while he's engaging us puts the game in a sort of weird state executing the trainer flag glitch changes three values in memory whenever we're engaged by a trainer bit zero of address CD 60 is set meaning its value is one which the game interprets is a state in which the player is being engaged by a trainer we were engaged by the gambler so this bit is set when we fly away from the gambler we can walk around in the overworld but the game still thinks we're being engaged this disables all dialogue until we are no longer engaged this includes both NPC dialogue and the Start menu this is why we can't talk to NPCs or open the Start menu right after we use the trainer fly glitch we'll get to why it disables all the dialogue later second of all bit zero of address d7 thirty is set this means an NPC sprite is being moved by a script this bit is set whenever an NPC is supposed to move for example this bit is set to one when a boulder is being pushed or a trainer is moving towards the player keep this in mind because we need this information to prevent the game from soft locking later lastly the value of the address D six zero one is set D six zero one stores the current script ID for route eight which is the route we flew away from by default its value is 0 which means the game is in a state where it's constantly checking for trainers that will engage the player but now its value is one which is a state where the game is ready to display the trainer's dialogue and start the battle since we didn't allow the NPC's movement to finish in the battle to start these addresses that should have returned a normal didn't which means the game is in a state it isn't supposed to be in when we're just walking around in the overworld so next we have to engage the youngster with the level 17 slowpoke but we have to do it in a specific way we have to let him walk to us we can't talk to him or walk directly in front of him this is because the combination of bit zero of CD 60 in bit zero of d 7:30 both being set causes the game to lock up if the player doesn't let the trainer move CD 60 sets route 25 script ID - 1 upon talking to the youngster when route 25 script ID is 1 the game is in a state where function display enemy trainer text and start battle is constantly being executed this function starts with a few lines of code that are supposed to delay the text from being displayed until the NPC's movement has ended remember that the game is in a state where an NPC sprite is being moved as long as we're in that state the enemy trainer text will not show up if you don't let the youngster walk to you since no movement ever starts the game doesn't execute the movement script therefore no script ever finishes in the game is stuck thinking an NPC should be moving so we never reach the point where the text is displayed so now we can't move around we can't do anything the game is soft locked but when we engage the youngster properly bit zero of d 7:30 is reset because the youngster moves and therefore the movement script finishes which sets the bit back to normal then the battle progresses normally now we need to talk about a couple more locations in memory addresses C D 2 D and C D to e temporarily store the class an ID of the currently engaged trainer these addresses are written to when a trainer notices us their values are then loaded into their equivalent in battle addresses when the battle starts its these values that let the battle engine know exactly which trainer are battling I'm bringing this up now because these values are also used for something else these values are used in battle since they're otherwise only used outside of battle and it's common for old games to use RAM values for multiple different things in different situations because of limited space for RAM in the hardware in battle the area between CD 2 4 and CD 2 D is used to store the unmodified stats of the enemy Pokemon this is so the game can set them back in case it needs to because of stat modifiers and moves like transform 2 bytes are needed for each stat and it just so happens that the lowest byte for special falls into address CD 2d CD 2e lies in the start of stat mods and since we start with the Attack stat CD 2 e corresponds to the attack modifier the default value for this is 7 but it can go down to 1 or up to 13 this allows sets to be raised and lowered by up to 6 stages in battle when we beat the youngster and return to the overworld bit zero of CD 60 is reset because we properly finished a battle this means text is re-enabled so we can use the Start menu now that we can access the Start menu we're going to fly to lavender town because it's the fastest way to get to route 8 as a side note we can also fly to saffron really we don't even have to fly at all we can lock the saffron the important thing is that we get to route 8 as long as we get there the glitch will work remember that executing the trainer flag glitch on the gambler changed three values in memory and battling the youngster set two of them back to normal one value still hasn't changed back address d6 0 1 the address that corresponds to the route 8 current script ID this means that in route 8 the game is still in a state where the overworld engine is constantly calling display enemy trainer text and start battle due to it thinking we're being engaged by a trainer however since the movement script bit was set back to zero the game immediately passes that code that delays the text from being displayed until the NPC's movement is ended address C F 13 holds the ID of the dialogue that should display before you start a battle but since we haven't engaged a new trainer its value is 0 which was set up to repeat the youngster the function interprets this value is displaying the Start menu this is why the Start menu immediately pops up before the battle begins closing the Start menu counts as getting past the dialogue so the battle starts when the battle begins the function in it battle enemy parameters is called it's supposed to initiate a trainer battle but since index numbers of Pokemon and trainers are shared in the index number below decimal value 200 will be interpreted as a wild Pokemon remember that CD 2d right now holds the special stat of the last Pokemon we fought but the address is used in the overworld to tell the battle engine what kind of trainer were fighting but it hasn't been updated since we fought that youngster as a result when we the battle we face the pokemon with the index number of the special stat of the last Pokemon we fought the last Pokemon we fought was a youngster slowpoke who has a special status decimal value 21 this corresponds to MU whose index number is decimal value 21 this means that if we fight other Pokemon with different special stats we'll find different Pokemon after executing the glitch there's even a huge map of what Pokemon you'll find after executing this glitch depending on the last Pokemon you fought I left it in the description this means you can battle any trainer make sure a specific Pokemon is the last one you battled and then go back to the route you trainer flew from to get whatever Pokemon you want for example let's battle this trainer to get a chance e for fun well trainer fly off of this trainer north of vermilion City to saffron then we'll fight the trainer that should give us the chancy fly back to vermilion and go to the route we flew away from the menu opens in the battle with chancy begins so in this video I hope to have caught three things than view the Chansey and your interest if you liked this video or you like this series please drop me a like and subscribe your support means a lot to me and it'll help me put out a lot more awesome content just like this in the future oh and another cool thing about this glitch is that after the move fight the game returns completely to normal and you can go about your business with absolutely zero bad side effects until next video happy glitching and thank you for watching glitch in depth as a bonus we're going to execute the glitch again to get another Pokemon but I won't cut up the clip so you can watch the glitch unfold without any interruptions [Music] [Music] you [Music] you [Music] Oh [Music] you [Music] [Music] [Music]
Info
Channel: scrumpy
Views: 843,128
Rating: undefined out of 5
Keywords: magicscrumpy, glitch, scykoh, glitchfest, glitch in depth, missingno, old man glitch, old man, rare candy, pokemon, pokemon red, pokemon blue, cheat, hack, code, explanation, tutorial, gaming, epic, cheats, game, glitches, gameboy, gba, game boy, mew
Id: D2AT8IqYIQ4
Channel Id: undefined
Length: 11min 32sec (692 seconds)
Published: Sat Sep 24 2016
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.