That explains something I remember experiencing in the past. I was using the OLD MAN glitch on my brother's Pokémon Red game to find level 136 Mewtwos on Cinnibar's coast, which were safe to battle since they didn't have any attacking moves. However, I noticed that if I managed to reduce Mewtwo's Special with one of my Psychics after it had used Amnesia a few times, my special attacks afterwards started doing major damage to it. That must've been due to this odd glitch. (I figured it was some sort of overflow glitch at the time, but didn't know exactly how it worked.)
You know when you have a bunch of junk sorta stacked? It's messy but it works, however, if you try to remove even one thing all the flaws come into play and it crumbles down? It seems gen 1 is like that. I love it a lot.
At 2:08, there is an error in the blue arrow from +3 to +4. Since Pinsir doesn't yet have 999 attack *before* using Swords Dance, it will go straight to +5. This also means that the blue arrow from +4 to +5 doesn't need to be there.
There is one workaround to being able to hit harder than with a stat of 999: since the Pokemon level factors into the damage formula, you can get a glitched Pokemon over level 100 that will hit harder with a move than a level 100 Pokemon with 999 Attack ever can. A popular favorite is the regular variety of MISSINGNO. turned Rhydon, whose growth stabilizes at level 192 and has 705 Attack as best possible stat at that level. It will effectively hit like a level 100 Pokemon with 1353 Attack.
Also Id be interested if you could look into Articuno’s glitched sprite data that draws an extra pixel below the cutoff line for sprites. I noticed it as a kid back in the day and thought it was weird. It only appears on the player’s side not the opponents.
At 4:43, did the game freeze or was that done on purpose? Not sure if you can interrupt the battle routines and have the audio continue playing, unless you interrupted them in the GB debugger? EDIT: I can't read the text to the side of the video lol... it's a division by zero error.
I came to that conclusion because, from what is shown in this video, the attack didn't end, possibly due to the Special stat of the defending Pokémon being 0. Therefore, the battle would never reach that point, the game would just freeze.
yeah, i guess so The difference is just how the game processes the different outcomes, to a player in a practical scenario, it's the same - the only option is to restart the GB
Zukrad yeah, but an inexperienced player may commit the mistake of using amnesia three times. But due to how the overflow is calculated, I think that mewtwo wouldn't be one shotted. Since max mewtwo has 406 of special and after 2 amnesia that is an overflow of more than is inicial special Stat. At least i think that's how it works
With this glitch, a Mewtwo with max Special would have 194 at +4. As a reference: Chansey Ice Beam vs. Mewtwo: 52-62 (12.5 - 14.9%) -- possible 7HKO Chansey Ice Beam vs. +4 glitched Mewtwo: 110-130 (26.5 - 31.3%) -- guaranteed 4HKO A glitched Mewtwo would take a little more than twice the damage it would take at +0.
194, right. I haven't played pokemon for so long that i forgot that +4 is not the same as multiplying the initial stat by 4. But that confirms that even with this glitch a mewtwo is still hard to beat outside of the mewtwo player doing bad predictions or with some rng in the mix
The way Mewtwo becomes affected by this is it eats a psychic drop at +4, getting overflowed +3 special. This seems mostly relevant in Amnesia wars, mostly Mewtwo wards and to a lesser extent Slowbro. Both Mewtwos go to +4, one eats a psychic drop at some point and the other +4 Mewtwo can then hit hard if it wins the speed tie (or is faster). Probably an OHKO in fact. Against the Zam/Chansey/starmie pack, it doesn't really seem too relevant because 194 is decent and special walls can't really break through that special stat without insane luck. And if Mewtwo is faster (not paralyzed), it can use Amnesia again before being attacked to its 194 special to revert it. Might also be relevant with UU Swords Dancers if anyone chose to run a random Growl for some reason.
Interesting! I missed this back when I analyzed the stat modification routines. One thing I noticed that you didn't mention: since the check the game uses to decide if the stat is already maximized checks if it's *equal to* 999, not *greater than or equal to*, if you get the stat to bypass the cap this way, you'll be able to raise the stat again. So if a Mewtwo with 343 Special ends up with 1029 at +4, it can use Amnesia again (because it's not equal to 999) to get to +6. That just hits the cap again, of course, but if its Special is then lowered again from there, it'll end up at +5 with a Special of 1200. Correct me if I'm wrong!
That's interesting. :) Hmm, did Marowak have similar glitch in GSC when holding Thick Club and raising its attack 6 stages? Also, Ninjask when in Trick Room with max speed in Gen 5, too, IIRC.
Yes, GSC Marowak had basically the same issue. Technically, Ditto's Quick Powder and Pikachu's Light Ball had the same issue, but they can't have stats high enough to cause the overflow to happen normally.
have you done a video/part of a video on why rst 38 crashes look the way they do? ive always found that to be one of the definitive things about gen 1 glitching
rst 38 in an interrupt vector. It makes the game jump straight to address 0038. The return address (39 00) is pushed into the stack. In the Pokemon games, they had this habit of making all unused rst vector read as an rst 38 instruction. This means that, when you call rst 38 first, then you keep calling it and push 39 00 to the stack every time. Eventually you overflow the stack and fill all writable memory with 39 00. When this corruption hits Video RAM, you'll see these vertical bars for a moment. (39 is a tile of the bar, 00 is a blank tile)
I have two doubts, but the second could be erased if I clear the first: 1024 in binary needs 11 digits to be represented, right? 1 followed by 10 zeros. So if the game only stores 10 bits, the max stat is 1023. So 1024=10000000!000 (there are 8 bits on the left of the exclamation mark) and 1026=10000000!010, so aren't the lower THREE bits ignored for stats this big, if they are shrunk down to 8 bits? Anyhow, the second Mewtwo has 1029, that is 10000000!101; if the bits beyond the 8th are ignored, doesn't it look like the previous situation?
1024 is over 256 so its divided by 4 (its decimals are dropped) which equals 256 in binary 100000000 so if you ignore the 1st bit (in order to fit the number in one byte) it becomes 00000000 so 0. If you apply the same logic 1024=256=1!00000000, 1026=256=1!00000000 and 1029=257=1!00000001
Really interesting. Goes to show "common sense" like "reducing a stat wouldnt raise it past the cap" isnt enough when it comes to coding, ha. When you mention the badge boosts, does this only occur once the relevant badges are obtained? That is to say, could it happen to player pokemon before that, meaning a player could cause their pokemon's special to accidentally overflow before they get the Volcano badge?
Not necessarily, stadium might have their own bugs but they shiuldn't be too related to rby ones since they're build differently. I don't think stadium tried too hard to replicate every quirk about rby, and in fact there are well known mechs that work differently (e.g. crits).
This is very interesting stuff! Despite my years of experience with Pokemon battling, I never have been able to completely understand how stat buff/debuffs really worked. If I may say one thing, it gets to be a bit of a chore constantly pausing to read the text in your videos. If you'd like, I'd be happy to do some narration for you. I have a lot of experience with that sort of thing from my own videos. Wouldn't be a huge problem for me, since your videos are *ahem* slightly infrequent. ;) Of course, if you have a mic, it might be better for you to do it yourself. :D I just feel like your videos would be more accessible with a voice reading out all of that (usually very technical) text!
Honestly, I prefer reading the text cause I can reread things I didn't quite understand the first time. I'd have to pause anyway even if he was reading it out x-x
Buster The Fox Honestly I think with text as "technical" as this it's better to have it written down so you can pause and take the time to understand it.
No, it's not April first yet.
I'm sure you've already come up with your plan, if one exists. There's no sense in procrastinating this.
Finally, anime logic has been explained.
Spike, are you a trainer? :O
That explains something I remember experiencing in the past. I was using the OLD MAN glitch on my brother's Pokémon Red game to find level 136 Mewtwos on Cinnibar's coast, which were safe to battle since they didn't have any attacking moves. However, I noticed that if I managed to reduce Mewtwo's Special with one of my Psychics after it had used Amnesia a few times, my special attacks afterwards started doing major damage to it. That must've been due to this odd glitch. (I figured it was some sort of overflow glitch at the time, but didn't know exactly how it worked.)
You know when you have a bunch of junk sorta stacked? It's messy but it works, however, if you try to remove even one thing all the flaws come into play and it crumbles down?
It seems gen 1 is like that. I love it a lot.
"This game is held together by duct tape and we're kind of treading on the lines with this glitch" ~Shenanigans at GDQ
At 2:08, there is an error in the blue arrow from +3 to +4. Since Pinsir doesn't yet have 999 attack *before* using Swords Dance, it will go straight to +5. This also means that the blue arrow from +4 to +5 doesn't need to be there.
I wonder how often this happened in schoolyard battles and how many accusations of cheating
Gee, I never would've guessed that Gen 1 pokemon games had anything wrong with them at all
m i s s i n g n o
There is one workaround to being able to hit harder than with a stat of 999: since the Pokemon level factors into the damage formula, you can get a glitched Pokemon over level 100 that will hit harder with a move than a level 100 Pokemon with 999 Attack ever can. A popular favorite is the regular variety of MISSINGNO. turned Rhydon, whose growth stabilizes at level 192 and has 705 Attack as best possible stat at that level. It will effectively hit like a level 100 Pokemon with 1353 Attack.
That was so satisfying to watch, thank you _Crystal!
Who knew Amnesia Mewtwo could be hoist by its own petard? Cool discovery!
Also Id be interested if you could look into Articuno’s glitched sprite data that draws an extra pixel below the cutoff line for sprites. I noticed it as a kid back in the day and thought it was weird. It only appears on the player’s side not the opponents.
At 4:43, did the game freeze or was that done on purpose? Not sure if you can interrupt the battle routines and have the audio continue playing, unless you interrupted them in the GB debugger?
EDIT: I can't read the text to the side of the video lol... it's a division by zero error.
wait, does that first mewtwo battle mean a new softlock method for gen I?
How did you come to that conclusion?
Struggle will still happen in any of the battles shown. And thus, one pokemon will go down eventually
softlock as in divide by 0 freeze, not "Pikasprey style" softlocks
I came to that conclusion because, from what is shown in this video, the attack didn't end, possibly due to the Special stat of the defending Pokémon being 0.
Therefore, the battle would never reach that point, the game would just freeze.
yeah, i guess so
The difference is just how the game processes the different outcomes, to a player in a practical scenario, it's the same - the only option is to restart the GB
I didn't know about that freeze. (must have missed that discovery somehow)
Thanks for the information
I wonder. How will this affect Gen 1 battles against mewtwo when it comes to the meta...
Is he somewhat beatable due to this?
Esemy As long as the Mewtwo user doesn't go to +5, it shouldn't affect
Zukrad yeah, but an inexperienced player may commit the mistake of using amnesia three times.
But due to how the overflow is calculated, I think that mewtwo wouldn't be one shotted. Since max mewtwo has 406 of special and after 2 amnesia that is an overflow of more than is inicial special Stat.
At least i think that's how it works
With this glitch, a Mewtwo with max Special would have 194 at +4. As a reference:
Chansey Ice Beam vs. Mewtwo: 52-62 (12.5 - 14.9%) -- possible 7HKO
Chansey Ice Beam vs. +4 glitched Mewtwo: 110-130 (26.5 - 31.3%) -- guaranteed 4HKO
A glitched Mewtwo would take a little more than twice the damage it would take at +0.
194, right. I haven't played pokemon for so long that i forgot that +4 is not the same as multiplying the initial stat by 4.
But that confirms that even with this glitch a mewtwo is still hard to beat outside of the mewtwo player doing bad predictions or with some rng in the mix
The way Mewtwo becomes affected by this is it eats a psychic drop at +4, getting overflowed +3 special. This seems mostly relevant in Amnesia wars, mostly Mewtwo wards and to a lesser extent Slowbro. Both Mewtwos go to +4, one eats a psychic drop at some point and the other +4 Mewtwo can then hit hard if it wins the speed tie (or is faster). Probably an OHKO in fact.
Against the Zam/Chansey/starmie pack, it doesn't really seem too relevant because 194 is decent and special walls can't really break through that special stat without insane luck. And if Mewtwo is faster (not paralyzed), it can use Amnesia again before being attacked to its 194 special to revert it.
Might also be relevant with UU Swords Dancers if anyone chose to run a random Growl for some reason.
Interesting! I missed this back when I analyzed the stat modification routines.
One thing I noticed that you didn't mention: since the check the game uses to decide if the stat is already maximized checks if it's *equal to* 999, not *greater than or equal to*, if you get the stat to bypass the cap this way, you'll be able to raise the stat again. So if a Mewtwo with 343 Special ends up with 1029 at +4, it can use Amnesia again (because it's not equal to 999) to get to +6. That just hits the cap again, of course, but if its Special is then lowered again from there, it'll end up at +5 with a Special of 1200. Correct me if I'm wrong!
Correct! I forgot to mention that, but it's another interesting quirk.
That's interesting. :)
Hmm, did Marowak have similar glitch in GSC when holding Thick Club and raising its attack 6 stages? Also, Ninjask when in Trick Room with max speed in Gen 5, too, IIRC.
Yes, GSC Marowak had basically the same issue. Technically, Ditto's Quick Powder and Pikachu's Light Ball had the same issue, but they can't have stats high enough to cause the overflow to happen normally.
have you done a video/part of a video on why rst 38 crashes look the way they do? ive always found that to be one of the definitive things about gen 1 glitching
rst 38 in an interrupt vector. It makes the game jump straight to address 0038. The return address (39 00) is pushed into the stack.
In the Pokemon games, they had this habit of making all unused rst vector read as an rst 38 instruction. This means that, when you call rst 38 first, then you keep calling it and push 39 00 to the stack every time. Eventually you overflow the stack and fill all writable memory with 39 00. When this corruption hits Video RAM, you'll see these vertical bars for a moment. (39 is a tile of the bar, 00 is a blank tile)
I have two doubts, but the second could be erased if I clear the first: 1024 in binary needs 11 digits to be represented, right? 1 followed by 10 zeros.
So if the game only stores 10 bits, the max stat is 1023.
So 1024=10000000!000 (there are 8 bits on the left of the exclamation mark) and 1026=10000000!010, so aren't the lower THREE bits ignored for stats this big, if they are shrunk down to 8 bits?
Anyhow, the second Mewtwo has 1029, that is 10000000!101; if the bits beyond the 8th are ignored, doesn't it look like the previous situation?
1024 is over 256 so its divided by 4 (its decimals are dropped) which equals 256 in binary 100000000 so if you ignore the 1st bit (in order to fit the number in one byte)
it becomes 00000000 so 0. If you apply the same logic 1024=256=1!00000000, 1026=256=1!00000000 and 1029=257=1!00000001
Mewtwo is just so angry that it just tossed in the towel and crashed the game
Wait so if Mewtwo has 0 Special and it uses a crit Psychic does it base damage calcs off the 0 Special or the pre-modded Special stat
6:06 I've never seen what an intro to a link battle looks like in Gen 1.
it's just like smash bros if you imagine it said rest instead of fire blast :^)
Really interesting. Goes to show "common sense" like "reducing a stat wouldnt raise it past the cap" isnt enough when it comes to coding, ha.
When you mention the badge boosts, does this only occur once the relevant badges are obtained? That is to say, could it happen to player pokemon before that, meaning a player could cause their pokemon's special to accidentally overflow before they get the Volcano badge?
Yeah, only after they're obtained. If it involves the special stat, only after volcano badge is obtained.
Does this affect Stadium?
Not necessarily, stadium might have their own bugs but they shiuldn't be too related to rby ones since they're build differently. I don't think stadium tried too hard to replicate every quirk about rby, and in fact there are well known mechs that work differently (e.g. crits).
Crystal_ right, but from what I understand they ported Red/Green's battle engine, so it might share a lot of bugs.
What an overflow! Ze googles, zey do notzing!
I never closed everything so fast.
I love your videos!
why was recover important in the examples?
It's not, he was just wasting turns with it until a Special drop happened.
To ensure Mewtwo wasn't KOed before the Special drop.
Love your videos!
Como me gustan tus vídeos, lastima que tardes tanto entre cada subida
This is very interesting stuff! Despite my years of experience with Pokemon battling, I never have been able to completely understand how stat buff/debuffs really worked.
If I may say one thing, it gets to be a bit of a chore constantly pausing to read the text in your videos. If you'd like, I'd be happy to do some narration for you. I have a lot of experience with that sort of thing from my own videos. Wouldn't be a huge problem for me, since your videos are *ahem* slightly infrequent. ;)
Of course, if you have a mic, it might be better for you to do it yourself. :D I just feel like your videos would be more accessible with a voice reading out all of that (usually very technical) text!
Honestly, I prefer reading the text cause I can reread things I didn't quite understand the first time. I'd have to pause anyway even if he was reading it out x-x
I rarely have to pause it myself, there's a certain charm to this specific presentation as well. It's not like the notepad videos after all.
Buster The Fox Honestly I think with text as "technical" as this it's better to have it written down so you can pause and take the time to understand it.
I mean, I'm not saying there can't still be text on-screen. I just think a voiceover would be nice to have! :p
Awesome! ^^
Fucking smart!!!
Well that made no sense.
what you deserves for spending too much time on setup lmao