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 23

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

Posted by: Torchickens
Date: 2014-06-22 12:56:11
It seems that 'Glitch Hell' (a term I use for the glitchy mess that appears when you step out of bounds in the Japanese Red/Green) is merely an emulator error, in at least the initial cartridge revisions. This is unfortunate, because I like the glitch music there.  :(

Glitch Hell can happen for Pocket Monsters Pikachu v1.0 too (though it is different there), but my Pocket Monsters Pikachu is a later revision (it's marked '11D'), because Gold Badge (hex: 6A) works like a Pokémon Center instead of causing a 'pseudo-freeze' where you can open the Pokémon menu again (see here for more information), so I can't confirm whether that behaviour is natural.

I'm considering buying the initial revisions soon to confirm whether Glitch Hell ever existed.

Glitch Hell is different in Pocket Monsters Pikachu v1.0 in the way that the game may just freeze with no glitch sounds or corruption of Red's sprite. In Japanese Blue and later revisions of Pocket Monsters Pikachu, you get merely a white screen freeze on emulators.

At one point before it worked differently and I don't know why, where Red would keep moving and the Bicycle music would play, like when you enter a cycling based glitch map in English Yellow, and then you'd fly to a Glitch City like map FE. Can anyone repeat this?

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

Posted by: luckytyphlosion
Date: 2014-06-22 13:53:11
Have you tested on BGB?

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

Posted by: Torchickens
Date: 2014-06-23 07:42:09

Have you tested on BGB?


I was able to replicate the Bicycle effect on BGB, thanks. D2DD went to map FF (normal freeze tile map), then changed to map D2 (Silph Co. 5F, but I couldn't see it), then after moving for a while with the cycling based glitch map effect I entered a warp to a map 15h (Route 10) Glitch City, flying there. Afterwards another CBGM effect happened, but without Red moving or the map changing. The game froze later.

Glitch Hell works on BGB in Pocket Monsters Red/Green or Pikachu v1.0 but not Blue or later revisions of Pikachu, like in the version of VBA I tried.

Edit: Now the Bicycle effect no longer works for me in BGB. Weird.
Edit 2: But it worked again after reloading the game instead of resetting.

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

Posted by: Addri Trainer
Date: 2014-06-24 04:22:04
I don't saw this variant of the Mew's Trick in the Major Glitch > Trainer Escape Glitch.
In the Rocket Hideout ("Guarida Rocket" in spanish, I don't know as they say in the English versions) there is one Rocket with long distance. I use Dig and I go to Pokémon center. And now going to save the game with the PC trading Box. Start the game and I go to the rocket hideout. The tiles not work and button A and Start work for the save game at the Pokemon center. Something that could benefit is to take the objects without the tiles disabled (although it is faster performance with tiles).

Proof: https://www.youtube.com/watch?v=8mHWympen_s

Something like climbing the stairs forever in Yellow. This variant also work in Yellow.

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

Posted by: pokechu22
Date: 2014-06-24 12:39:59

I don't saw this variant of the Mew's Trick in the Major Glitch > Trainer Escape Glitch.
In the Rocket Hideout ("Guarida Rocket" in spanish, I don't know as they say in the English versions) there is one Rocket with long distance. I use Dig and I go to Pokémon center. And now going to save the game with the PC trading Box. Start the game and I go to the rocket hideout. The tiles not work and button A and Start work for the save game at the Pokemon center. Something that could benefit is to take the objects without the tiles disabled (although it is faster performance with tiles).

Proof: https://www.youtube.com/watch?v=8mHWympen_s

Something like climbing the stairs forever in Yellow. This variant also work in Yellow.


By tiles, I assume you mean these things:
[acronym=Hosted on imgur][img width=32 height=32]http://i.imgur.com/ggEbuIb.png[/img][/acronym]

I don't understand what you mean when you say "Climbing the stairs forever in yellow".  Can you explain that please?

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

Posted by: Addri Trainer
Date: 2014-06-24 16:16:14


I don't saw this variant of the Mew's Trick in the Major Glitch > Trainer Escape Glitch.
In the Rocket Hideout ("Guarida Rocket" in spanish, I don't know as they say in the English versions) there is one Rocket with long distance. I use Dig and I go to Pokémon center. And now going to save the game with the PC trading Box. Start the game and I go to the rocket hideout. The tiles not work and button A and Start work for the save game at the Pokemon center. Something that could benefit is to take the objects without the tiles disabled (although it is faster performance with tiles).

Proof: https://www.youtube.com/watch?v=8mHWympen_s

Something like climbing the stairs forever in Yellow. This variant also work in Yellow.


By tiles, I assume you mean these things:
[acronym=Hosted on imgur][img width=32 height=32]http://i.imgur.com/ggEbuIb.png[/img][/acronym]

I don't understand what you mean when you say "Climbing the stairs forever in yellow".  Can you explain that please?
Yes, the tiles.

I say "Climbing the stairs forever in yellow"  because they are made in a similar manner (with the Mew Trick or Trainer Escape Glitch).

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

Posted by: camper
Date: 2014-07-01 14:02:00
A(nother) question about glitch cities (or warps):

Route 13's warp 04 points to valid coordinates (0F, 0F), yet it sends me to a glitch city.

[img]http://i.imgur.com/TmbEJOs.png[/img]
These two are actually the same location.

What exactly happened and can you get to a normal map by going into an invalid warp by changing some memory?

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

Posted by: SM
Date: 2014-07-11 04:10:25


http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_base_stats_data_structure_in_Generation_I

Many glitch pokemons have corrupted sprite but 'M(FF)'s sprite is normal Charizard's.

a(C0) and (D7) both are Poliwhirl's hybrid pokemon and have same corrupted sprite.

Where is hybrid glitch pokemon's sprite exactly come from?

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

Posted by: Torchickens
Date: 2014-07-11 07:35:31



http://bulbapedia.bulbagarden.net/wiki/Pok%C3%A9mon_base_stats_data_structure_in_Generation_I

Many glitch pokemons have corrupted sprite but 'M(FF)'s sprite is normal Charizard's.

a(C0) and (D7) both are Poliwhirl's hybrid pokemon and have same corrupted sprite.

Where is hybrid glitch pokemon's sprite exactly come from?


Every Pokémon under a certain Pokédex number has the same front sprite dimensions, the same two byte front sprite pointer and the same two byte back sprite pointer.

To find the start of the data in the ROM you do 0x0383DE + (Pokédex number. - 1) * 0x1C (see here for an example).

But these are only two byte pointers. The Pokémon's index number apparently affects the bank (i.e. XX in XX:YYZZ), as such:

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


#61 (meant to be Poliwhirl)'s two byte front sprite pointer is $71ED (actually stored as ED71 at offset 38A779). a(C0) and (D7) both have the same front sprite because they have the same Pokédex number (#61) and use bank 0D (index numbers 0x99 to 0xFF); so 0D:71ED, but if they didn't have index numbers in that range, it's possible that they would have different sprites.

I don't know this for sure, but if the glitch Pokémon's two byte pointer is between 0x0000 and 0x4000, maybe the bank (and its index number) doesn't matter, because 0x0000-0x4000 is in bank 0 and bank 0 can be accessed all the time. Missingno.'s pointer to its front sprite is at 0x1900, and all of its front sprites are the same in Red/Blue, except the fossil/ghost Missingno.

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

Posted by: Kelvinv
Date: 2014-07-12 07:04:03
What does cause the glitches after using the Pokedex in battle?

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

Posted by: Addri Trainer
Date: 2014-07-19 10:00:29
Well, it's a long time that I not visit this forums and I think in say this curiosity of the elevators in the first gen. I don't know if you will have seen my video of this curiosity of the elevators in my Youtube channel… Well. For it is that if you press the button of the floor in wich we find, the elevator acts like up or turned it down to floor.

Representation on video: https://www.youtube.com/watch?v=xmag01aksV0

You that think? This is one glitch or is that the programmers didn't have much logic when making functions elevator?

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

Posted by: Ryccardo
Date: 2014-07-20 13:45:36

You that think? This is one glitch or is that the programmers didn't have much logic when making functions elevator?


…they almost accurately simulated those elevators with memory where if you're going, let's say, 4th floor to 2nd someone (inside or outside) can add a stop at the 3rd – so from the 4th someone called the elevator from another floor, didn't get in/isn't visible, and only then  you went to the 4th as you requested :P

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

Posted by: Addri Trainer
Date: 2014-07-22 17:56:36
Hm ???  :???:

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

Posted by: OwnageMuch
Date: 2014-09-07 23:30:44
Someone yesterday mentioned to me a bug with the cans in Vermillion Gym where the second can is occasionally the top left can rather than an adjacent can to the first one.  Is this known?  I don't think I had heard about it before.

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

Posted by: memdump
Date: 2014-09-08 13:40:22

Someone yesterday mentioned to me a bug with the cans in Vermillion Gym where the second can is occasionally the top left can rather than an adjacent can to the first one.  Is this known?  I don't think I had heard about it before.


[font=courier]ld hl, $5e7d
ld a, [$cd5b]
ld b, a
add a
add a
add b
ld d, 0
ld e, a
add hl, de
ld a, [hli]

That is the first part of the second trashcan selection code.
$5e7d points to this table:

02 01 03 00 00
03 00 02 04 00
02 01 05 00 00
03 00 04 06 00
04 01 03 05 07
03 02 04 08 00
03 03 07 09 00
04 04 06 08 0A
03 05 07 0B 00
03 06 0A 0C 00
04 07 09 0B 0D
03 08 0A 0E 00
02 09 0D 00 00
03 0A 0C 0E 00
02 0B 0D 00 00

and $cd5b contains the "ID" of the trashcan you selected.
The trashcan IDs are mapped in this order:

00 03 06 09 0C
01 04 07 0A 0D
02 05 08 0B 0E

So the top can on the far-right side is 0C.

The code picks a row that corresponds with the can.
Let us say we pick that previously mentioned can, 0C.
The row that would be referred to in the table would be this one:

02 09 0D 00 00

Specifically, it then sets A to 02, and HL points to where the 09 is.
Next up in the code:

ld [$ffdb], a
push hl
call Random
swap a
ld b, a
ld a, [$ffdb]
and b
dec a
pop hl
ld d, 0
ld e, a
add hl, de
ld a, [hl]
and $f
ld [$d744], a

What this does is store the value of A elsewhere temporarily.
It then takes a random value to bitwise-and against our original A value.

A bitwise-and simply lines up the bytes and results which both are 1, e.g.:

01010101
00001111
    ^ ^ are both 1
00000101 is result

That means, regardless of the random value, it is bitwise-and against either
02, 03, or 04, and then 1 is subtracted. This means the possible results are:

02 -> 01 or FF
03 -> 02, 01, 00, or FF
04 -> 03 or FF

It then adds the result to where HL is pointing and grabs the value.

(recap)
02 09 0D 00 00

To recap our row, HL is pointing to 09. We had an initial value of 02,
so we will either be adding 01 or FF. By adding 1, it then points to 0D.
0D corresponds with the middle can on the far-right. Checking this against
the speedrun wiki findings yields positive: http://i.imgur.com/mCgVe4w.png

But in the other instance, what if it added FF? That means it looks way
off in memory for what it is expecting to be a can ID. If we had picked
can 00, the lowest HL could be before adding is $5e7e. If we picked the
last can, can 0E, HL would be $5ec4. Adding FF to both would put us in
the memory range of $5f7d to $5fc3. This space in memory only contains
00s, which the game would interpret as can ID 00, the top left can.

Further investigation would be conducted in seeing if any of the values
in that data range are ever not 00, and if so, could be a value higher
than 0E and cause the game to "softlock" as none of the cans in the gym
would have the proper ID to unlock the second lock.[/font]