Glitch City Laboratories Archives

Glitch City Laboratories closed on 1 September 2020 (announcement). This is an archived copy of a thread from Glitch City Laboratories Forums.

You can join Glitch City Research Institute to ask questions or discuss current developments.

You may also download the archive of this forum in .tar.gz, .sql.gz, or .sqlite.gz formats.

Generation I Glitch Discussion

Official 1st Gen (Red/Blue and Yellow) Glitch Discussion - Page 31

Re: Official 1st Gen (Red/Blue and Yellow) Glitch Discussion

Posted by: ISSOtm
Date: 2018-09-27 10:52:10
Again, the corruption flips flags outside of their intended use. Simply enough, the corruption sets the flag that tells the game that it's linked, and that flag being set causes the game to load Red's sprite.

Re: Official 1st Gen (Red/Blue and Yellow) Glitch Discussion

Posted by: GlitchedPokemonStudent
Date: 2018-09-27 17:34:37

Again, the corruption flips flags outside of their intended use. Simply enough, the corruption sets the flag that tells the game that it's linked, and that flag being set causes the game to load Red's sprite.


How do you manually set that up?

Re: Official 1st Gen (Red/Blue and Yellow) Glitch Discussion

Posted by: GlitchedPokemonStudent
Date: 2018-09-27 20:21:37
By the way, I first saw this video a few years ago. https://www.youtube.com/watch?v=eTuIocHmGVM

He's the only who has received this strange phenomenon. Looks like a low-pitched variant of that unstable Missingno. by doing the Up+Select+B beforehand.

However, when he proceeded and sent Snorlax, the game freaked out, opening the items menu, playing the HP beeping sound, and the game resets itself. This doesn't seem to replicate in Debug Yellow.

According to the couple videos I have seen from people using VisualBoyAdvance in the past, they got some different variant.
Here's an example: https://youtu.be/NOsQ1Y7XRdk?t=401

And there's another one where some "Let's Glitch" person actually caught Missingno. from that same effect that OldManMissingno reset over it and it nicknamed it Old Amber, but now, I can't seem to find that video anymore. I believe in the Super Glitch video that same person did got the PC text chaos filling up the screen before it crashes. Those videos were probably deleted.

Re: Official 1st Gen (Red/Blue and Yellow) Glitch Discussion

Posted by: ISSOtm
Date: 2018-09-28 06:18:51


Again, the corruption flips flags outside of their intended use. Simply enough, the corruption sets the flag that tells the game that it's linked, and that flag being set causes the game to load Red's sprite.


How do you manually set that up?

Just set bit 6 of D72E.

ld hl, $D72E
set 6, [hl]

Re: Official 1st Gen (Red/Blue and Yellow) Glitch Discussion

Posted by: GlitchedPokemonStudent
Date: 2018-09-29 14:05:59

Just set bit 6 of D72E.

ld hl, $D72E
set 6, [hl]



Is this for Red/Blue or Yellow?

Re: Official 1st Gen (Red/Blue and Yellow) Glitch Discussion

Posted by: ISSOtm
Date: 2018-09-30 15:21:03
R/B

Re: Official 1st Gen (Red/Blue and Yellow) Glitch Discussion

Posted by: GlitchedPokemonStudent
Date: 2018-09-30 16:47:31

R/B


Is there one for Yellow? Because that's the one I was looking for.

Re: Official 1st Gen (Red/Blue and Yellow) Glitch Discussion

Posted by: Sherkel
Date: 2018-09-30 17:16:06
It should be D72D for Yellow.

Re: Official 1st Gen (Red/Blue and Yellow) Glitch Discussion

Posted by: GlitchedPokemonStudent
Date: 2018-10-02 19:20:45
Okay, it's either not working, or I am doing something wrong.

Inserting the code directly there gives me an Escape Rope animation and no front Red trainer sprite. When I insert the code from the one behind it, nothing happened and still no front Red trainer sprite. It's either that or DebugYellow just disagrees with me.

Re: Official 1st Gen (Red/Blue and Yellow) Glitch Discussion

Posted by: ISSOtm
Date: 2018-10-04 07:02:43
Apparently it's the other link variable that controls the Trainer sprite. Set $D12B ($D12A in Yellow) to any non-zero value.

Source.
Also it's likely to cause other effects, maybe the battle getting stuck on "Waiting..!"

Re: Official 1st Gen (Red/Blue and Yellow) Glitch Discussion

Posted by: GlitchedPokemonStudent
Date: 2018-11-18 20:53:09
I have some information I would like to share regarding Yellow Missingno. I also noticed the Debug Yellow's anticrasher doesn't seem to work for Missingno or it's because I'm using BGB instead of VBA for that ROM and seems to emulate it differently.

So, remember TheZZAZZGlitch made a video on how to make it so you can encounter Missingno. without crashing?

But what if there's an easier alternative, what about the ones that end up being put into sound banks $C0EF-$C0F0? I know it might not be possible to write into SRAM Bank 0 directly, but what specific part of SRAM Bank 0 inserts the values into $C0EF-$C0F0, because I can't seem to find those specific values in the different location from the debugger, even while the sprite is still loading. I think the real reason for the crashing is Missingno. is more than just unsafe values in SRAM Bank 0, but an unsafe invalid value being placed at the sound bank, but not all invalid values crash though, like FC for example and I did test that, and it mostly creates a monotone noise/s with the absence of its own cry if I freeze that value in and the game continues operating.

I wonder if most of the invalid values in the sound bank actually jumps into a bad location or opcode of memory in ROM or Echo RAM when it tries to produce Missingno's actual cry when the blackout effect disappears and where the sprite stops at the top-right corner of the screen, it's hard to describe it. But if it's possible to do it just by changing only one or two values that causes those invalid writes to $C0EF and $C0F0 without a super-complicated setup, I would like to see how it's done. Is that how crashes happen for front sprites in the first place. For back sprites, glitch music happens first, and when it ends, it plays the "send out Pokeball" sound, but in an unsafe value, which crashes as a result or it will instead softlock the game and the music once it ends.

This is only a request, but if it's possible to set that up, I would like to see a video about it since I currently have no idea how to do that.





Re: Official 1st Gen (Red/Blue and Yellow) Glitch Discussion

Posted by: ISSOtm
Date: 2018-11-19 02:24:51
Debug Yellow's anti-crash only prevents rst opcodes from crashing, but invalid opcodes will still hang. VBA doesn't emulate them.

The crashes are caused by the sprite decompression process overflowing outside of SRAM bank 0, and when that writes invalid values to C0EF-C0F0, then the game crashes. This has been known for a long time.
As for manipulating the sprite to not crash, I can't tell because I don't know what the front sprite pointer is, but the general issue is that you'd need to manipulate the compressed data, which would require overwriting a very large chunk of memory that's probably used by the game for something else, so you'd be in fact causing a crash by your attempt to prevent them.

Re: Official 1st Gen (Red/Blue and Yellow) Glitch Discussion

Posted by: GlitchedPokemonStudent
Date: 2018-11-21 18:05:56

Debug Yellow's anti-crash only prevents rst opcodes from crashing, but invalid opcodes will still hang. VBA doesn't emulate them.

The crashes are caused by the sprite decompression process overflowing outside of SRAM bank 0, and when that writes invalid values to C0EF-C0F0, then the game crashes. This has been known for a long time.
As for manipulating the sprite to not crash, I can't tell because I don't know what the front sprite pointer is, but the general issue is that you'd need to manipulate the compressed data, which would require overwriting a very large chunk of memory that's probably used by the game for something else, so you'd be in fact causing a crash by your attempt to prevent them.


I see. Alas, it seems there is no other workaround for that after all without Gameshark-ing it in or TheZZAZZGlitch's recipe for producing a non-crashing Missingno.

The front sprite pointer is at $0006, I got the information from Yellow's $C8 and $F9, since those two are basically Missingno. clones.

There's one thing I don't completely understand. Normally, when a Pokemon gets sent out, it's almost instantly, but sometimes, it takes 4 seconds, for example, the glitch Blastoise hybrids. Is it because the sprite size is just a tad bigger than the usual 6x6? But that doesn't really explain much because of Red/Blue's Pidgeotto glitch hybrid having a 6x6 size as well while still having longer load times. I also notice the longer the sprite loads, the thicker the shape is, and especially so, higher chance of corrupting the Hall Of Fame data. 10-11 seconds from what I noticed counting while it's loading is the maximum for the game to load the sprite without crashing or glitching, and the ones that have that tend to be most unstable, not counting 4 4, 4hi $ED or the Red/Blue's #205 and #211 family where their actual sprite dimensions is unstable no matter what size it's applied in their pointers or how long they load. If I remember correctly, there was a video that shown the Red/Blue's Missingno. writing the values one-by-one, but for SRAM Bank 0, it shows all the values at once while processing it, except at the last moment where the unstable sprite loads, and updates the new values every frame eventually slowly reaching to the $C0EF range if breakpoint for $C0EF is turned on. Does the one-by-one writes also show on DRAM, or is it only producing that from VRAM? And finally, how many values make up 1x or x1 size each? I can't seem to get the right calculation to go over $BFFF. I apologize if I may be asking too many questions.

Re: Official 1st Gen (Red/Blue and Yellow) Glitch Discussion

Posted by: ISSOtm
Date: 2018-11-22 03:54:28
I can't understand that wall of text.

Re: Official 1st Gen (Red/Blue and Yellow) Glitch Discussion

Posted by: GlitchedPokemonStudent
Date: 2018-11-23 13:46:39

I can't understand that wall of text.

Sorry, let me simplify my explanation.

For the thickness I was talking about, compare this,
[img]https://i.imgur.com/PoWY9fp.png[/img]
to this.
[img]https://i.imgur.com/T9NaIJ5.png[/img]

So, does the actual sprite dimension size really depend on the thickness of the sprite or not?

For the one-by one writes, this video shows it through breakpoints.
https://www.youtube.com/watch?v=AzaeL6yDOyg

In terms of loading the sprites, 0x0 or 256x256 does it in consistent 10 seconds which makes sense, but some tend to vary from instantly to a few seconds, even though if it's not 0x0, I still wonder why that is. That's why I ask how many values does it write per second during compression because There has to be reason for that.