Main Menu
Main Page
Forums
New pages
Recent changes
Random page
Help

Glitches
Arbitrary code execution
Pokémon cloning
Pomeg glitch and Glitzer Popping
Tweaking and voiding
Glitches by generation
Glitch categories

References/Resources
Databases
Disassembly projects
The Big HEX List
Pokémon cheat codes
Pokémon glitch terminology
Useful tools
More

Affiliates
Legendary Star Blob 2 (Hakuda) (日本語/Japanese)
Pokémon Speedruns wiki (English)
PRAMA Initiative (Français/French)
MissingNo. Glitch City (Italiano/Italian)
Become an affiliate!

Technical
Site source code

Search Wiki

 

Search Forums

 

Author Topic: Official 1st Gen (Red/Blue and Yellow) Glitch Discussion  (Read 112191 times)

0 Members and 1 Guest are viewing this topic.

Princess Torchic Owl Lover ☽ ❤

  • Head Administrator
  • *****
  • Offline Offline
  • Gender: Female
  • I want to be a mother. 🦋 ✿
    • View Profile
Re: Official 1st Gen (Red/Blue and Yellow) Glitch Discussion
« Reply #495 on: June 26, 2019, 10:02:30 am »
I found something interesting about Missingno. in Spanish Pokemon Blue. While its sprite was consistent for a while, more recently I found that Missingno. had a different sprite from before. It seems like in Spanish versions of Pokemon, Missingno. has a variable sprite. As to where it takes its sprite data from, I realized that every previous time I encountered Missingno., I always had my Mew sent out. This time, I had forgot to switch Mew to the front and I had my Hex FD glitch pokemon in front instead, suggesting that Missingno. takes its sprite from something related to the player's active Pokemon. To test this, I tried switching my Eevee to the front to see if I got a different result, but I got the same sprite as I had got from Mew. i then tested my hex FF glitch pokemon and sure enough, I got the same sprite, so it seems that there is something about hex FD that messes with Missingno.'s sprite.

This is unrelated, but I also learned on accident that if a glitch Pokemon leans glitch move 0x00 by level up, it will only try to learn it if it already knows four moves.

Nice find. ^^

Do you remember which hex it was? If Fossil/Ghost MissingNo. this is known in English versions too, but obscure. https://www.youtube.com/watch?v=0whEt-4yVwM

Despite B6-B8 taking the back-sprite data of another Pokémon, it often does not look the same and will appear glitched.

This is because all Pokémon have sprites belonging to one of 7 banks (0x01, 0x0B, 0x09, 0x0A, 0x0B, 0x0C, 0x0D) as documented here.

https://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_base_stats_data_structure_in_Generation_I#Sprites

Quote
id   bank
0x15   0x01
0xB6   0x0B
0x00 to 0x1E   0x09
0x1F to 0x49   0x0A
0x4A to 0x73   0x0B
0x74 to 0x98   0x0C
0x99 to 0xFF   0x0D

✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿
Here have some free flowers on every post ^^
✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿



(Images © Sanrio, Nintendo, Pokémon, HAL Laboratory)

✿ Hi, I'm Evie. Sex male, and spiritually doesn't believe 'male'/'female' needs to be defined; lives more stereotypically like a woman. Call me whichever pronouns you like. :)

War does not determine who is right or wrong; only who is loudest.
Athena follower. I know that some people view it as idolism, but I follow the spirit in relation to her and God too.

Feel free to contact me here about anything regarding the site.

Forgiveness. I feel that the more people pray to our greatest source/God/mathematical equality for world peace, the more and more it manifests into reality (until our next spiritual death).

Thank you Nyapon for this lovely artwork. :3

bwill11

  • GCLF Member
  • Offline Offline
  • Gender: Male
  • [insert uninspired glitch joke here]
    • View Profile
Re: Official 1st Gen (Red/Blue and Yellow) Glitch Discussion
« Reply #496 on: June 29, 2019, 01:20:15 pm »
The Missingno I encountered was hex 50.

Also, another interesting property I found- if a glitch Pokemon evolves multiple times, and in the middle it learns a move or tries to learn a move, then each subsequent evolution until returning to the overworld will look like the Pokemon that it is evolving into is evolving into itself. If that sounds confusing, here's an example (this was where I noticed it):
Hex FC in Spanish Red/Blue evolves 5 times (and counting): first into Slowpoke, then into a glitch Pokemon I don't recognize, then Nidoran male, then Arcanine, then Cubone. Once, when it evolved into the glitch Pokemon, it tried to learn Horn Drill. After that, it looked like Nidoran was evolving into Nidoran, then Arcanine into Arcanine, then Cubone into Cubone.

Princess Torchic Owl Lover ☽ ❤

  • Head Administrator
  • *****
  • Offline Offline
  • Gender: Female
  • I want to be a mother. 🦋 ✿
    • View Profile
Re: Official 1st Gen (Red/Blue and Yellow) Glitch Discussion
« Reply #497 on: June 29, 2019, 02:10:51 pm »
The Missingno I encountered was hex 50.

Also, another interesting property I found- if a glitch Pokemon evolves multiple times, and in the middle it learns a move or tries to learn a move, then each subsequent evolution until returning to the overworld will look like the Pokemon that it is evolving into is evolving into itself. If that sounds confusing, here's an example (this was where I noticed it):
Hex FC in Spanish Red/Blue evolves 5 times (and counting): first into Slowpoke, then into a glitch Pokemon I don't recognize, then Nidoran male, then Arcanine, then Cubone. Once, when it evolved into the glitch Pokemon, it tried to learn Horn Drill. After that, it looked like Nidoran was evolving into Nidoran, then Arcanine into Arcanine, then Cubone into Cubone.

Will find 0x50's sprite pointers for you. <3

RE: evolutions, this is known but not sure if technical details were confirned.

✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿
Here have some free flowers on every post ^^
✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿



(Images © Sanrio, Nintendo, Pokémon, HAL Laboratory)

✿ Hi, I'm Evie. Sex male, and spiritually doesn't believe 'male'/'female' needs to be defined; lives more stereotypically like a woman. Call me whichever pronouns you like. :)

War does not determine who is right or wrong; only who is loudest.
Athena follower. I know that some people view it as idolism, but I follow the spirit in relation to her and God too.

Feel free to contact me here about anything regarding the site.

Forgiveness. I feel that the more people pray to our greatest source/God/mathematical equality for world peace, the more and more it manifests into reality (until our next spiritual death).

Thank you Nyapon for this lovely artwork. :3

voltfire128

  • GCLF Member
  • Offline Offline
  • CHARIZRAD 'M ROXORX or is it.
    • View Profile
Re: Official 1st Gen (Red/Blue and Yellow) Glitch Discussion
« Reply #498 on: June 29, 2019, 04:19:37 pm »
Something odd happened while I was doing the old man glitch, I did it mostly normally, did accidentally view the demonstration twice, but when I started surfing on the cinnabar island coast, I encountered a level 43 ditto, which afaik isn't supposed to happen, I did encounter a missingno after that, so that still worked, I had prior to viewing the old man come from route 23, where such a thing can be encountered, and in fact I had done so a while before. I was on the virtual console version of blue, English version. Is this normal

Parzival

  • Buyer beware: House comes with 3 free skeletons in a closet of your choice.
  • GCLF Member
  • *
  • Offline Offline
  • Gender: Male
  • This box intentionally left blank. ...wait...
    • View Profile
    • (null)
Re: Official 1st Gen (Red/Blue and Yellow) Glitch Discussion
« Reply #499 on: June 29, 2019, 06:54:36 pm »
Something odd happened while I was doing the old man glitch, I did it mostly normally, did accidentally view the demonstration twice, but when I started surfing on the cinnabar island coast, I encountered a level 43 ditto, which afaik isn't supposed to happen, I did encounter a missingno after that, so that still worked, I had prior to viewing the old man come from route 23, where such a thing can be encountered, and in fact I had done so a while before. I was on the virtual console version of blue, English version. Is this normal
what was your ingame name
(your ingame name determines what you'll get)
Ask me about betrayal.
Ask me about depression.
Ask me about death.
Ask me about destruction.
Ask me about hardship.
I've been through s**t.
If you need to talk to someone, my PM inbox is always open.

voltfire128

  • GCLF Member
  • Offline Offline
  • CHARIZRAD 'M ROXORX or is it.
    • View Profile
Re: Official 1st Gen (Red/Blue and Yellow) Glitch Discussion
« Reply #500 on: June 29, 2019, 09:57:36 pm »
I'm gonna be honest with you, I don't feel comfortable giving that out as it's my real name.... probably should have seen that coming, but I didn't. Also: As far as I could tell, ditto isn't in the list of things that can show up with that glitch at all, seeing as both the wiki here and the list on bulbapedia don't mention it, I also could not replicate it after the first encounter, which was the very first encounter.. sorry for rambling, but I kind of do that sometimes

Princess Torchic Owl Lover ☽ ❤

  • Head Administrator
  • *****
  • Offline Offline
  • Gender: Female
  • I want to be a mother. 🦋 ✿
    • View Profile
Re: Official 1st Gen (Red/Blue and Yellow) Glitch Discussion
« Reply #501 on: June 30, 2019, 09:10:49 am »
The Missingno I encountered was hex 50.

Also, another interesting property I found- if a glitch Pokemon evolves multiple times, and in the middle it learns a move or tries to learn a move, then each subsequent evolution until returning to the overworld will look like the Pokemon that it is evolving into is evolving into itself. If that sounds confusing, here's an example (this was where I noticed it):
Hex FC in Spanish Red/Blue evolves 5 times (and counting): first into Slowpoke, then into a glitch Pokemon I don't recognize, then Nidoran male, then Arcanine, then Cubone. Once, when it evolved into the glitch Pokemon, it tried to learn Horn Drill. After that, it looked like Nidoran was evolving into Nidoran, then Arcanine into Arcanine, then Cubone into Cubone.

Will find 0x50's sprite pointers for you. <3

RE: evolutions, this is known but not sure if technical details were confirned.


MissingNo. 0x50 front sprite is 8F37. Backsprite: 2100. (ES Blue). You can find the pointers by checking D0C3 (front) and D0C5 (back) after viewing the Pokémon's summary (both addresses are +5 for non-English EU versions). Note: This doesn't change sprite bank, so you the sprite banks may be based on that Bulbapedia link above (possibly with differences for non-English EU versions); but in this case the banks do not matter as the pointers are below 4000 or in RAM.

$8000-$97FF   Character RAM
http://gameboy.mongenel.com/dmg/asmmemmap.html


8F37 is part of the tile data. This changes depending on where you are (e.g. "/" in battle, people sprites out of battle). The variation in the front sprite however may be due to VRAM inaccessibility. When the character RAM is read; a lot of the data may be 0xFF as the game cannot read it at the time it was read. Hence, the sprite data is hard to predict.

The problem here is something called VRAM inaccessibility.

When the LCD is on, VRAM can only be read (and written to) during short, specific periods of time.
The underlying reason for this is that most of the time during a frame, the graphics hardware is busy drawing graphics to the screen, and it doesn't allow anything to modify or access its data when it's working on it. There are only small periods each frame that the graphics controller takes a break and allows graphics data to be modified.

Being more exact, the time periods are called vBlank (short for 'vertical blanking interval') and hBlank ('horizontal blanking interval'). The first one occurs when the hardware finishes drawing the current frame, but hasn't yet started drawing the next frame. The second one happens if the hardware finishes drawing a single line of pixels on screen and goes to the next line. If graphics are actively displayed on the screen, these are the only periods when VRAM can ever be touched. Otherwise, the VRAM data sits there locked out from access.

Any write on "locked" VRAM won't do anything.
Any read on "locked" VRAM will return 0xFF, regardless of what the address really contains.

We really don't know when the code responsible for checking evolution data is going to run. It might, or might not run during vBlank. Or it might even run partially during an hBlank, and partially after hBlank has ended. It's impossible to predict - it comes down to microsecond-precise timing, which for a human player is essentially random.

So this bit of data:

10 10 10 10 10 10 08 00 00 00 10 10 10 15 12 1F 12 00 00 00

Will usually end up looking something like this when read by the game:

10 FF FF FF FF FF FF FF 00 00 10 FF FF FF FF FF FF FF 00 00

The 0xFF bytes are there because the subroutine tries to read VRAM data outside of vBlank/hBlank, and it ends up just reading 0xFF bytes.

The result of course comes down to timing, so it could be possible for this pattern to be shifted to a different position:

FF FF FF FF FF 10 08 00 FF FF FF FF FF FF FF 1F 12 00 FF FF

I haven't tested this in more detail, but it should be possible to have this pattern shifted in such a way that the Mew evolution data could still be read. It might just take a lot of time.

I think it would be more practical to not bother trying to put the appropriate data into VRAM, and focus on making the VRAM data slide through to SRAM and try to get the appropriate data into SRAM instead (maybe there's a Pokemon that has a "01 01 15" sequence in its decompressed sprite, and if not, we can just corrupt that with 'M/Missingno. until we get it).

Edit: Was too late :(

Something odd happened while I was doing the old man glitch, I did it mostly normally, did accidentally view the demonstration twice, but when I started surfing on the cinnabar island coast, I encountered a level 43 ditto, which afaik isn't supposed to happen, I did encounter a missingno after that, so that still worked, I had prior to viewing the old man come from route 23, where such a thing can be encountered, and in fact I had done so a while before. I was on the virtual console version of blue, English version. Is this normal

Yes. The old man glitch (usually) brings up Pokémon from the previous location's grass encounters as well basically. Level 43 Ditto is found in Route 23, so maybe Route 23 was your previous location with grass encounters. That is also why you can find things like low level Pidgey if you were in Route 1.


I'm gonna be honest with you, I don't feel comfortable giving that out as it's my real name.... probably should have seen that coming, but I didn't. Also: As far as I could tell, ditto isn't in the list of things that can show up with that glitch at all, seeing as both the wiki here and the list on bulbapedia don't mention it, I also could not replicate it after the first encounter, which was the very first encounter.. sorry for rambling, but I kind of do that sometimes

That's understandable. Don't worry about it. You don't need to share anything! :) Yeah, there is a simple rule re: old man glitch, 2nd character: level, 3rd character: Pokémon 4th character level, 5th character: Pokémon etc. Despite this, Ditto's ID is 0x4C, which isn't available with any name, so the name (unless you glitched it) is irrelevant anyway.
« Last Edit: June 30, 2019, 09:37:27 am by Princess Torchic Owl Lover ☽ ❤ »

✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿
Here have some free flowers on every post ^^
✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿✿



(Images © Sanrio, Nintendo, Pokémon, HAL Laboratory)

✿ Hi, I'm Evie. Sex male, and spiritually doesn't believe 'male'/'female' needs to be defined; lives more stereotypically like a woman. Call me whichever pronouns you like. :)

War does not determine who is right or wrong; only who is loudest.
Athena follower. I know that some people view it as idolism, but I follow the spirit in relation to her and God too.

Feel free to contact me here about anything regarding the site.

Forgiveness. I feel that the more people pray to our greatest source/God/mathematical equality for world peace, the more and more it manifests into reality (until our next spiritual death).

Thank you Nyapon for this lovely artwork. :3

bwill11

  • GCLF Member
  • Offline Offline
  • Gender: Male
  • [insert uninspired glitch joke here]
    • View Profile
Re: Official 1st Gen (Red/Blue and Yellow) Glitch Discussion
« Reply #502 on: July 03, 2019, 12:37:31 pm »
I accidentaly found an weird property of unterminated name glitch items.
If you use an unterminated name glitch item in the entrance to the underground tunnel (celadon side, the exact spot is the left tile of the entrance mat), it results in the hooked metaphor effect, but before the battle menu appears the message  "wait" appears in the middle of the screen and the rest of the screen is blank.

Sherkel

  • Ringsome on the aquaface
  • Administrator
  • *****
  • Offline Offline
  • Gender: Male
  • Is it an illusion, or a tower built on sand?
    • View Profile
Re: Official 1st Gen (Red/Blue and Yellow) Glitch Discussion
« Reply #503 on: July 03, 2019, 12:45:26 pm »
the hooked metaphor effect
Yeah, it's like you went underneath the surface of Kanto and found something hidden. ;)

Nice new tidbit, anyhow! :)
« Last Edit: July 03, 2019, 12:51:31 pm by Sherkel »

bwill11

  • GCLF Member
  • Offline Offline
  • Gender: Male
  • [insert uninspired glitch joke here]
    • View Profile
Re: Official 1st Gen (Red/Blue and Yellow) Glitch Discussion
« Reply #504 on: July 11, 2019, 09:26:47 am »
When a pokemon has negative exp, it shows up as a very large amount of exp, so how do you tell how much exp it actually is?
« Last Edit: July 11, 2019, 09:27:37 am by bwill11 »

Sherkel

  • Ringsome on the aquaface
  • Administrator
  • *****
  • Offline Offline
  • Gender: Male
  • Is it an illusion, or a tower built on sand?
    • View Profile
Re: Official 1st Gen (Red/Blue and Yellow) Glitch Discussion
« Reply #505 on: July 11, 2019, 12:20:05 pm »
It's a 3-byte integer, so 0 exp is 16777216 (256^3), -54 is 16777162, and so on. The highest digit becomes a glitched tile only if it's over 10 million.