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

Can someone research this effect? - Page 1

Can someone research this effect?

Posted by: Bottinator22
Date: 2020-03-22 20:21:28
https://www.youtube.com/watch?v=D_3RsweZw3A
The "limbo" effects in this video.
They're quite strange, and I've only ever seen them in this video.
So basically:
- Pokemon Yellow
- Player leaves Pallet Town with no starter, this person does it with a WTW code
- Player fights enemy Pokemon, resulting in "wild appeared" effect
- Player somehow defeats enemy Pokemon, likely due to burn/poison
- After the enemy is defeated and battle ends, they are send to a "limbo"
- A limbo seems to be a specific map, but with strange properties, including:
    - NPCs with broken graphics
    - NPCs with broken dialogue
    - Strangely repeating tiles, possibly due to broken dimensions, and is seemingly infinite
Can someone see why this happens and what's going on when it does happen?

Re: Can someone research this effect?

Posted by: Torchickens
Date: 2020-03-23 06:28:26

https://www.youtube.com/watch?v=D_3RsweZw3A
The "limbo" effects in this video.
They're quite strange, and I've only ever seen them in this video.
So basically:
- Pokemon Yellow
- Player leaves Pallet Town with no starter, this person does it with a WTW code
- Player fights enemy Pokemon, resulting in "wild appeared" effect
- Player somehow defeats enemy Pokemon, likely due to burn/poison
- After the enemy is defeated and battle ends, they are send to a "limbo"
- A limbo seems to be a specific map, but with strange properties, including:
    - NPCs with broken graphics
    - NPCs with broken dialogue
    - Strangely repeating tiles, possibly due to broken dimensions, and is seemingly infinite
Can someone see why this happens and what's going on when it does happen?


It might be this: the game has to send out a Pokémon, and picks one that isn't fainted. Having 0 Pokémon is synonymous in context of the code/program with having 256 Pokémon; so that Pokémon is sent out (i.e. it isn't the 256th Pokémon is sent out but one that isn't fainted; but unsure of any more. There could hypothetically be a RAM address for that like Emerald's previous participant (related to Pomeg)). When that Pokémon gains experience then, it may not be Pokémon 1-6. Instead one of 7-256. (see also https://forums.glitchcity.info/index.php?topic=6991.msg195984#msg195984 ) This does not represent Pokémon data, so the level up alters RAM map data instead of RAM Pokémon data etc, additionally extrapolation of participant flags may occur; i.e. extension of bit field D058 (D057 in Yellow?) ; the seemingly random level ups are not random. The limbo effect is not one effect; but a mixture of several already known ones; for example, if you open the menu at Route 1 in Pokémon Yellow and do a CoolTrainer (Yellow CoolTrainer exists too but functions slightly differently; i.e. you can't carry forth screen data from out of battle without additional steps); you can turn the NPC sprites into different ones like in the video. Additionally, the opening Pokémon menu is because opening the Pokémon or items menu saves the screen data. 

Limbo;
1. 'Stretched map'; coordinates and/or map pointer corruption? (D361, D362, D363, D364, D35F-60 etc.). Is it possible to warp too, e.g. to Hall of Fame? Possibly in theory, you'd just have to take the participants and statuses of the 'extraneous' (7-256) Pokémon into consideration.
2. Broken graphics; I don't know this one, except it's a known effect of CoolTrainer.
3. Broken dialogue; Like that old "haunted TV" video on TRSRockin, D36C-D36D - the text pointer table.

Edit 1:
Indeed, in Yellow if you use a Rare Candy on Pokémon 12 after 255 Pokémon glitch of SRAM glitch, you can modify D35D; the map. (You can probably do the same in Red for D35E but don't know for sure). Hence to check the participant flag for Pokémon 12; that would be D057's (12th bit) (sorry my binary sucks). However, there are only 8 bits in a byte.

We can make a table and assume; n [y] - so you do

(do the same but extrapolate backwards)
D058 0 [0], 8 [2^0] , 9 [2^1], 10 (2^1), 11 (2^2), 12 (2^3)
(forwards)

2^3=8

This means you have to write 8 to D058 (wCurOpponent before battle) to get the 12th Pokémon to level up, which also must not be fainted.

However, how would we get this to become 0x76 (Hall of Fame)?

In Japanese (due to Select glitch) and non-English European versions (due to the menu-sprites buffer glitch), this is possibly simpler.

Edit 2:
Aha! I noticed something. So try swapping Pokémon 3 into Pokémon 12; D35D becomes not from RAM but ROM. That's until I swapped Pokémon 10 into Pokémon 3; wiping the FFs (but unsure if coincidence). After, I swapped Pokémon 3 with 12 again, and it's sourcing from D1D2 (Pokémon 3's experience now).

Re: Can someone research this effect?

Posted by: Bottinator22
Date: 2020-03-23 11:33:41
Ah yes, text pointer table. Forgot about that.
Is there any possible practical use of this?

Re: Can someone research this effect?

Posted by: Torchickens
Date: 2020-03-23 11:55:54

Ah yes, text pointer table. Forgot about that.
Is there any possible practical use of this?


It's possible but otherwise if you mean strictly 'practical' not sure, sorry :( - and you can typically do things with a lot more precision with expanded item pack. The items are here if that helps. :) https://glitchcity.info/wiki/Expanded_bag_item_documentation_(Generation_I)

D35D/current map manipulation, it seemed earlier you can do by messing with Pokémon 12's experience). So if a Pokémon levels up and forces the text pointer to be in RAM that may be manipulable. When the text pointer table is in RAM, it reads the pointer you feed it as a pointer table for two byte pointers. Entry 1 is text 0, entry 2 is text 1, etc. (local to NPCs on the map) Following the pointer, you can add 08 to the start; indicating the text box runs code after the 08.

Re: Can someone research this effect?

Posted by: Torchickens
Date: 2020-03-23 15:27:13
"Darn it!" - Admittedly I feel like I've lost my touch… :( (I'm tempted by lots of theoretical glitchy snakes but nothing seems to work nowadays when I try it lol, like I glitched my mind's own SRAM)