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

My idea of me documenting all Pokédex entires of 0xDC - Page 2

Re: My idea of me documenting all Pokédex entires of 0xDC

Posted by: Parzival
Date: 2019-09-12 17:28:08


A Pokédex entry is a relatively complicated object. A valid Pokédex entry looks like this:

; string: species name
; height in feet, inches
; weight in pounds
; text entry

RhydonDexEntry:
db "DRILL@"
db 6,3
dw 2650
TX_FAR _RhydonDexEntry
db "@"

Here "DRILL" means Rhydon is the Drill Pokémon. This string is the first to be printed to the screen, and with good reason: The game need to know where that string ends in order to find all the other data.

Consider a Pokédex entry at $AA00. Contrary to what I initially believed, the SRAM is actually unlocked during the battle. It is locked when the game finished loading the player's back sprite, but is then unlocked when the game loaded the back sprite of my first Pokémon and never locked again. I can't tell if this is intentional.

Well, on my save file for testing, SRA0:AA00 is a bunch of 0xFF anyway. (Probably because I have cleared the save file some time in the past.) Which is an awfully long string of "9". More "9"s than healthy for the game. For example, at some point it overwrites wOptions and then wLetterPrintingDelayFlags, which causes the game to wait 15 frames between characters. And that's terrible.

For some reason, beginning at SRA0:BBB7, my save data is no longer 0xFF. It begins with some bytes I don't understand ("E4 35 70 01 67 3E 8C 00 00 39 C3 BB 94 20 20 D3 01 8C 8C 8C 20 D3 38"), and then (starting at $BBCE) becomes "00 39 00 39 00 39 …". I guess old crashes don't die that easily.

Anyway, the game mercy kills the PlaceString subroutine when it sees 0x00 at $BBBE. But it puts the pointer de at $19F3, which is… here. Starting from $19F4, the bytes "17 96 66 22" are interpreted as the height and weight data (23'150"/880.6 lb; the 150 displayed as " 0" when forced to be printed in two digits). Right after there happens to be a 0x50 terminator. Everything is fine!

Except that wJoyIgnore has also been overwritten to 0xFF, so I softlock. Oh well. At least I can soft reset.




It should be clear by now why this Pokédex entry behaves differently depending on the save file, especially after looking at glitch Pokémon sprites (which are known to trash SRAM Bank 0, also known as HOF data). Anyway… why don't you set a breakpoint at 10:435E and see for yourself?


Well that explains why I get random everything; I have never cleared the file. Also I havent got a clue how to set a breakpoint…
Breakpoints are only possible with a debugger. Like BGB's.

Re: My idea of me documenting all Pokédex entires of 0xDC

Posted by: James-the-Charizard
Date: 2019-09-12 17:41:40
I see.
Anyways Ill do more of these later, I gotta go eat dinner and then Im gonna play video games-

Re: My idea of me documenting all Pokédex entires of 0xDC

Posted by: James-the-Charizard
Date: 2019-09-16 09:14:57
More results again:
8'33"/1099.5 lb: Blanked nearly the entire bottom half of the screen, took a while before ending.
1'71"/4437.0 lb: Mess of sounds, eventually crashed. (RST 38h crash)
34'18"/6373.6 lb: More text garbage, exited fine.
1'7"/204.0 lb: Quick, nothing too special.
9'71"/4446.1 lb: Long chaotic mess, but exited fine.
52'71"/4591.3 lb: A few sounds and a slowed down wild encounter theme, thats it.

Re: My idea of me documenting all Pokédex entires of 0xDC

Posted by: Parzival
Date: 2019-09-16 10:30:56
When you get strange noises, make sure to check your various posessions (items and PC items, party and PC mons, pokedex, trainer card, options) as it's probably also executing garbage code.

Re: My idea of me documenting all Pokédex entires of 0xDC

Posted by: James-the-Charizard
Date: 2019-09-16 11:38:28
I only was able to check two of them since Im in class now, but I checked bag items and party Pokémon:
Party Items
X Accuracy x150
Master Ball x197
Rare Candy x49
Super Repel x128
TM13 x125
Ether x131
Super Potion x97
Revive x128
TM10 x1
Nugget x1
TM07 x1
Silph Scope
TM21 x1
Elixir x1
Awakening x1

Party Pokémon
Flareon (Level 40)
Glitch Pokémon 0xF2 (Level 40)
Glitch Pokémon 0x00 (Level 1)
Glitch Pokémon 0xEE (Level 41)
Glitch Pokémon 0xD8 (Level 15)
Glitch Pokémon 0xEF (Level 1)

Re: My idea of me documenting all Pokédex entires of 0xDC

Posted by: Parzival
Date: 2019-09-16 15:21:28

I only was able to check two of them since Im in class now, but I checked bag items and party Pokémon:
Party Items
X Accuracy x150
Master Ball x197
Rare Candy x49
Super Repel x128
TM13 x125
Ether x131
Super Potion x97
Revive x128
TM10 x1
Nugget x1
TM07 x1
Silph Scope
TM21 x1
Elixir x1
Awakening x1

Party Pokémon
Flareon (Level 40)
Glitch Pokémon 0xF2 (Level 40)
Glitch Pokémon 0x00 (Level 1)
Glitch Pokémon 0xEE (Level 41)
Glitch Pokémon 0xD8 (Level 15)
Glitch Pokémon 0xEF (Level 1)
no, like, every time, as they can execute garbage """""code""""" that does things in the midst of the noises.

Re: My idea of me documenting all Pokédex entires of 0xDC

Posted by: James-the-Charizard
Date: 2019-09-16 15:41:08
I only noted for the record. Basically… Literally anything can cause chaos in that Pokédex I think.

Re: My idea of me documenting all Pokédex entires of 0xDC

Posted by: Parzival
Date: 2019-09-16 17:24:09

I only noted for the record. Basically… Literally anything can cause chaos in that Pokédex I think.
This is one of several common effects with glitch text.

https://youtu.be/E-CQS5B2sjY

Re: My idea of me documenting all Pokédex entires of 0xDC

Posted by: James-the-Charizard
Date: 2019-09-16 17:39:42


I only noted for the record. Basically… Literally anything can cause chaos in that Pokédex I think.
This is one of several common effects with glitch text.

https://youtu.be/E-CQS5B2sjY


Yeah and that certainly is a video that helps explain it.

Re: My idea of me documenting all Pokédex entires of 0xDC

Posted by: Parzival
Date: 2019-09-16 19:12:41



I only noted for the record. Basically… Literally anything can cause chaos in that Pokédex I think.
This is one of several common effects with glitch text.

https://youtu.be/E-CQS5B2sjY


Yeah and that certainly is a video that helps explain it.
sarcasm or no?

Re: My idea of me documenting all Pokédex entires of 0xDC

Posted by: James-the-Charizard
Date: 2019-09-16 19:22:09




I only noted for the record. Basically… Literally anything can cause chaos in that Pokédex I think.
This is one of several common effects with glitch text.

https://youtu.be/E-CQS5B2sjY


Yeah and that certainly is a video that helps explain it.
sarcasm or no?

No, I was serious. That video really helps.

Re: My idea of me documenting all Pokédex entires of 0xDC

Posted by: Parzival
Date: 2019-09-16 19:32:53
oh good