Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - TheZZAZZGlitch

Pages: 1 ... 6 7 [8] 9 10
106
General Discussion / Updating Bulbapedia's glitch articles
« on: October 25, 2013, 09:12:54 am »
Sometimes I look into Bulbapedia's articles regarding Pokemon glitches, and I feel like they are extremely outdated. So I'm thinking about updating Bulbapedia to include the most recent discoveries in glitchology. However, I have two questions I can't answer by myself, and I want the users to help me find the answers:

1. Is it OK for the GCL community to use/copy (and modify) research notes published by other users?
2. What do you think: Should Bulbapedia articles regarding glitches be updated?
107
Pokémon Discussion / Re: I AM VERY DISGUSTED WITH THE TRASHY MAN.
« on: October 20, 2013, 12:14:27 am »
TO LET THE MONSTER BECOMES STRONGER, THE COACH MUST BE STRONGER.
IF ONLY SO, THE MONSTER MUST BE STRONGER.
Viet Crystal FTW
108
Quote
What's the offset to the types array in Crystal?

Species name pointers are located at offset 5097B. As usual, here's a list of where each index points to.

Code: [Select]
Index=#00 TypeStringPointer=$49B3
Index=#01 TypeStringPointer=$49BA
Index=#02 TypeStringPointer=$49C3
Index=#03 TypeStringPointer=$49CA
Index=#04 TypeStringPointer=$49FB
Index=#05 TypeStringPointer=$4A02
Index=#06 TypeStringPointer=$4A07
Index=#07 TypeStringPointer=$4A0C
Index=#08 TypeStringPointer=$4A10
Index=#09 TypeStringPointer=$4A16
Index=#0A TypeStringPointer=$49B3
Index=#0B TypeStringPointer=$49B3
Index=#0C TypeStringPointer=$49B3
Index=#0D TypeStringPointer=$49B3
Index=#0E TypeStringPointer=$49B3
Index=#0F TypeStringPointer=$49B3
Index=#10 TypeStringPointer=$49B3
Index=#11 TypeStringPointer=$49B3
Index=#12 TypeStringPointer=$49B3
Index=#13 TypeStringPointer=$49D1
Index=#14 TypeStringPointer=$49D5
Index=#15 TypeStringPointer=$49DA
Index=#16 TypeStringPointer=$49E0
Index=#17 TypeStringPointer=$49E6
Index=#18 TypeStringPointer=$49EF
Index=#19 TypeStringPointer=$49F7
Index=#1A TypeStringPointer=$4A1C
Index=#1B TypeStringPointer=$4A23
Index=#1C TypeStringPointer=$8E8D
Index=#1D TypeStringPointer=$8C91
Index=#1E TypeStringPointer=$8B80
Index=#1F TypeStringPointer=$8550
Index=#20 TypeStringPointer=$8688
Index=#21 TypeStringPointer=$9387
Index=#22 TypeStringPointer=$8D88
Index=#23 TypeStringPointer=$5086
Index=#24 TypeStringPointer=$8B85
Index=#25 TypeStringPointer=$8898
Index=#26 TypeStringPointer=$868D
Index=#27 TypeStringPointer=$8F50
Index=#28 TypeStringPointer=$888E
Index=#29 TypeStringPointer=$8E92
Index=#2A TypeStringPointer=$508D
Index=#2B TypeStringPointer=$E6E6
Index=#2C TypeStringPointer=$50E6
Index=#2D TypeStringPointer=$8885
Index=#2E TypeStringPointer=$8491
Index=#2F TypeStringPointer=$9650
Index=#30 TypeStringPointer=$9380
Index=#31 TypeStringPointer=$9184
Index=#32 TypeStringPointer=$8650
Index=#33 TypeStringPointer=$8091
Index=#34 TypeStringPointer=$9292
Index=#35 TypeStringPointer=$8450
Index=#36 TypeStringPointer=$848B
Index=#37 TypeStringPointer=$9382
Index=#38 TypeStringPointer=$8891
Index=#39 TypeStringPointer=$5082
Index=#3A TypeStringPointer=$928F
Index=#3B TypeStringPointer=$8298
Index=#3C TypeStringPointer=$8887
Index=#3D TypeStringPointer=$5082
Index=#3E TypeStringPointer=$8288
Index=#3F TypeStringPointer=$5084
Index=#40 TypeStringPointer=$9186
Index=#41 TypeStringPointer=$948E
Index=#42 TypeStringPointer=$838D
Index=#43 TypeStringPointer=$9150
Index=#44 TypeStringPointer=$828E
Index=#45 TypeStringPointer=$508A
Index=#46 TypeStringPointer=$8881
Index=#47 TypeStringPointer=$8391
Index=#48 TypeStringPointer=$8150
Index=#49 TypeStringPointer=$8694
Index=#4A TypeStringPointer=$8650
Index=#4B TypeStringPointer=$8E87
Index=#4C TypeStringPointer=$9392
Index=#4D TypeStringPointer=$9250
Index=#4E TypeStringPointer=$8493
Index=#4F TypeStringPointer=$8B84
Index=#50 TypeStringPointer=$8350
Index=#51 TypeStringPointer=$8091
Index=#52 TypeStringPointer=$8E86
Index=#53 TypeStringPointer=$508D
Index=#54 TypeStringPointer=$8083
Index=#55 TypeStringPointer=$8A91
Index=#56 TypeStringPointer=$2150
Index=#57 TypeStringPointer=$4A42
Index=#58 TypeStringPointer=$33FA
Index=#59 TypeStringPointer=$3DD2
Index=#5A TypeStringPointer=$064F
Index=#5B TypeStringPointer=$0900
Index=#5C TypeStringPointer=$2A09
Index=#5D TypeStringPointer=$6F66
Index=#5E TypeStringPointer=$7311
Index=#5F TypeStringPointer=$2AD0
Index=#60 TypeStringPointer=$1312
Index=#61 TypeStringPointer=$50FE
Index=#62 TypeStringPointer=$F920
Index=#63 TypeStringPointer=$A0C9
Index=#64 TypeStringPointer=$A54A
Index=#65 TypeStringPointer=$AA4A
Index=#66 TypeStringPointer=$564A
Index=#67 TypeStringPointer=$AFC6
Index=#68 TypeStringPointer=$B34A
Index=#69 TypeStringPointer=$B74A
Index=#6A TypeStringPointer=$BB4A
Index=#6B TypeStringPointer=$564A
Index=#6C TypeStringPointer=$56C6
Index=#6D TypeStringPointer=$C0C6
Index=#6E TypeStringPointer=$C54A
Index=#6F TypeStringPointer=$C94A
Index=#70 TypeStringPointer=$564A
Index=#71 TypeStringPointer=$CEC6
Index=#72 TypeStringPointer=$564A
Index=#73 TypeStringPointer=$56C6
Index=#74 TypeStringPointer=$D3C6
Index=#75 TypeStringPointer=$564A
Index=#76 TypeStringPointer=$D9C6
Index=#77 TypeStringPointer=$DE4A
Index=#78 TypeStringPointer=$564A
Index=#79 TypeStringPointer=$56C6
Index=#7A TypeStringPointer=$E4C6
Index=#7B TypeStringPointer=$564A
Index=#7C TypeStringPointer=$E8C6
Index=#7D TypeStringPointer=$ED4A
Index=#7E TypeStringPointer=$F14A
Index=#7F TypeStringPointer=$564A
Index=#80 TypeStringPointer=$49B3
Index=#81 TypeStringPointer=$49BA
Index=#82 TypeStringPointer=$49C3
Index=#83 TypeStringPointer=$49CA
Index=#84 TypeStringPointer=$49FB
Index=#85 TypeStringPointer=$4A02
Index=#86 TypeStringPointer=$4A07
Index=#87 TypeStringPointer=$4A0C
Index=#88 TypeStringPointer=$4A10
Index=#89 TypeStringPointer=$4A16
Index=#8A TypeStringPointer=$49B3
Index=#8B TypeStringPointer=$49B3
Index=#8C TypeStringPointer=$49B3
Index=#8D TypeStringPointer=$49B3
Index=#8E TypeStringPointer=$49B3
Index=#8F TypeStringPointer=$49B3
Index=#10 TypeStringPointer=$49B3
Index=#11 TypeStringPointer=$49B3
Index=#12 TypeStringPointer=$49B3
Index=#13 TypeStringPointer=$49D1
Index=#14 TypeStringPointer=$49D5
Index=#15 TypeStringPointer=$49DA
Index=#16 TypeStringPointer=$49E0
Index=#17 TypeStringPointer=$49E6
Index=#18 TypeStringPointer=$49EF
Index=#19 TypeStringPointer=$49F7
Index=#1A TypeStringPointer=$4A1C
Index=#1B TypeStringPointer=$4A23
Index=#1C TypeStringPointer=$8E8D
Index=#1D TypeStringPointer=$8C91
Index=#1E TypeStringPointer=$8B80
Index=#1F TypeStringPointer=$8550
Index=#20 TypeStringPointer=$8688
Index=#21 TypeStringPointer=$9387
Index=#22 TypeStringPointer=$8D88
Index=#23 TypeStringPointer=$5086
Index=#24 TypeStringPointer=$8B85
Index=#25 TypeStringPointer=$8898
Index=#26 TypeStringPointer=$868D
Index=#27 TypeStringPointer=$8F50
Index=#28 TypeStringPointer=$888E
Index=#29 TypeStringPointer=$8E92
Index=#2A TypeStringPointer=$508D
Index=#2B TypeStringPointer=$E6E6
Index=#2C TypeStringPointer=$50E6
Index=#2D TypeStringPointer=$8885
Index=#2E TypeStringPointer=$8491
Index=#2F TypeStringPointer=$9650
Index=#30 TypeStringPointer=$9380
Index=#31 TypeStringPointer=$9184
Index=#32 TypeStringPointer=$8650
Index=#33 TypeStringPointer=$8091
Index=#34 TypeStringPointer=$9292
Index=#35 TypeStringPointer=$8450
Index=#36 TypeStringPointer=$848B
Index=#37 TypeStringPointer=$9382
Index=#38 TypeStringPointer=$8891
Index=#39 TypeStringPointer=$5082
Index=#3A TypeStringPointer=$928F
Index=#3B TypeStringPointer=$8298
Index=#3C TypeStringPointer=$8887
Index=#3D TypeStringPointer=$5082
Index=#3E TypeStringPointer=$8288
Index=#3F TypeStringPointer=$5084
Index=#40 TypeStringPointer=$9186
Index=#41 TypeStringPointer=$948E
Index=#42 TypeStringPointer=$838D
Index=#43 TypeStringPointer=$9150
Index=#44 TypeStringPointer=$828E
Index=#45 TypeStringPointer=$508A
Index=#46 TypeStringPointer=$8881
Index=#47 TypeStringPointer=$8391
Index=#48 TypeStringPointer=$8150
Index=#49 TypeStringPointer=$8694
Index=#4A TypeStringPointer=$8650
Index=#4B TypeStringPointer=$8E87
Index=#4C TypeStringPointer=$9392
Index=#4D TypeStringPointer=$9250
Index=#4E TypeStringPointer=$8493
Index=#4F TypeStringPointer=$8B84
Index=#50 TypeStringPointer=$8350
Index=#51 TypeStringPointer=$8091
Index=#52 TypeStringPointer=$8E86
Index=#53 TypeStringPointer=$508D
Index=#54 TypeStringPointer=$8083
Index=#55 TypeStringPointer=$8A91
Index=#56 TypeStringPointer=$2150
Index=#57 TypeStringPointer=$4A42
Index=#58 TypeStringPointer=$33FA
Index=#59 TypeStringPointer=$3DD2
Index=#5A TypeStringPointer=$064F
Index=#5B TypeStringPointer=$0900
Index=#5C TypeStringPointer=$2A09
Index=#5D TypeStringPointer=$6F66
Index=#5E TypeStringPointer=$7311
Index=#5F TypeStringPointer=$2AD0
Index=#60 TypeStringPointer=$1312
Index=#61 TypeStringPointer=$50FE
Index=#62 TypeStringPointer=$F920
Index=#63 TypeStringPointer=$A0C9
Index=#64 TypeStringPointer=$A54A
Index=#65 TypeStringPointer=$AA4A
Index=#66 TypeStringPointer=$564A
Index=#67 TypeStringPointer=$AFC6
Index=#68 TypeStringPointer=$B34A
Index=#69 TypeStringPointer=$B74A
Index=#6A TypeStringPointer=$BB4A
Index=#6B TypeStringPointer=$564A
Index=#6C TypeStringPointer=$56C6
Index=#6D TypeStringPointer=$C0C6
Index=#6E TypeStringPointer=$C54A
Index=#6F TypeStringPointer=$C94A
Index=#70 TypeStringPointer=$564A
Index=#71 TypeStringPointer=$CEC6
Index=#72 TypeStringPointer=$564A
Index=#73 TypeStringPointer=$56C6
Index=#74 TypeStringPointer=$D3C6
Index=#75 TypeStringPointer=$564A
Index=#76 TypeStringPointer=$D9C6
Index=#77 TypeStringPointer=$DE4A
Index=#78 TypeStringPointer=$564A
Index=#79 TypeStringPointer=$56C6
Index=#7A TypeStringPointer=$E4C6
Index=#7B TypeStringPointer=$564A
Index=#7C TypeStringPointer=$E8C6
Index=#7D TypeStringPointer=$ED4A
Index=#7E TypeStringPointer=$F14A
Index=#7F TypeStringPointer=$564A
Index=#80 TypeStringPointer=$49B3
Index=#81 TypeStringPointer=$49BA
Index=#82 TypeStringPointer=$49C3
Index=#83 TypeStringPointer=$49CA
Index=#84 TypeStringPointer=$49FB
Index=#85 TypeStringPointer=$4A02
Index=#86 TypeStringPointer=$4A07
Index=#87 TypeStringPointer=$4A0C
Index=#88 TypeStringPointer=$4A10
Index=#89 TypeStringPointer=$4A16
Index=#8A TypeStringPointer=$49B3
Index=#8B TypeStringPointer=$49B3
Index=#8C TypeStringPointer=$49B3
Index=#8D TypeStringPointer=$49B3
Index=#8E TypeStringPointer=$49B3
Index=#8F TypeStringPointer=$49B3
Index=#90 TypeStringPointer=$49B3
Index=#91 TypeStringPointer=$49B3
Index=#92 TypeStringPointer=$49B3
Index=#93 TypeStringPointer=$49D1
Index=#94 TypeStringPointer=$49D5
Index=#95 TypeStringPointer=$49DA
Index=#96 TypeStringPointer=$49E0
Index=#97 TypeStringPointer=$49E6
Index=#98 TypeStringPointer=$49EF
Index=#99 TypeStringPointer=$49F7
Index=#9A TypeStringPointer=$4A1C
Index=#9B TypeStringPointer=$4A23
Index=#9C TypeStringPointer=$8E8D
Index=#9D TypeStringPointer=$8C91
Index=#9E TypeStringPointer=$8B80
Index=#9F TypeStringPointer=$8550
Index=#A0 TypeStringPointer=$8688
Index=#A1 TypeStringPointer=$9387
Index=#A2 TypeStringPointer=$8D88
Index=#A3 TypeStringPointer=$5086
Index=#A4 TypeStringPointer=$8B85
Index=#A5 TypeStringPointer=$8898
Index=#A6 TypeStringPointer=$868D
Index=#A7 TypeStringPointer=$8F50
Index=#A8 TypeStringPointer=$888E
Index=#A9 TypeStringPointer=$8E92
Index=#AA TypeStringPointer=$508D
Index=#AB TypeStringPointer=$E6E6
Index=#AC TypeStringPointer=$50E6
Index=#AD TypeStringPointer=$8885
Index=#AE TypeStringPointer=$8491
Index=#AF TypeStringPointer=$9650
Index=#B0 TypeStringPointer=$9380
Index=#B1 TypeStringPointer=$9184
Index=#B2 TypeStringPointer=$8650
Index=#B3 TypeStringPointer=$8091
Index=#B4 TypeStringPointer=$9292
Index=#B5 TypeStringPointer=$8450
Index=#B6 TypeStringPointer=$848B
Index=#B7 TypeStringPointer=$9382
Index=#B8 TypeStringPointer=$8891
Index=#B9 TypeStringPointer=$5082
Index=#BA TypeStringPointer=$928F
Index=#BB TypeStringPointer=$8298
Index=#BC TypeStringPointer=$8887
Index=#BD TypeStringPointer=$5082
Index=#BE TypeStringPointer=$8288
Index=#BF TypeStringPointer=$5084
Index=#C0 TypeStringPointer=$9186
Index=#C1 TypeStringPointer=$948E
Index=#C2 TypeStringPointer=$838D
Index=#C3 TypeStringPointer=$9150
Index=#C4 TypeStringPointer=$828E
Index=#C5 TypeStringPointer=$508A
Index=#C6 TypeStringPointer=$8881
Index=#C7 TypeStringPointer=$8391
Index=#C8 TypeStringPointer=$8150
Index=#C9 TypeStringPointer=$8694
Index=#CA TypeStringPointer=$8650
Index=#CB TypeStringPointer=$8E87
Index=#CC TypeStringPointer=$9392
Index=#CD TypeStringPointer=$9250
Index=#CE TypeStringPointer=$8493
Index=#CF TypeStringPointer=$8B84
Index=#D0 TypeStringPointer=$8350
Index=#D1 TypeStringPointer=$8091
Index=#D2 TypeStringPointer=$8E86
Index=#D3 TypeStringPointer=$508D
Index=#D4 TypeStringPointer=$8083
Index=#D5 TypeStringPointer=$8A91
Index=#D6 TypeStringPointer=$2150
Index=#D7 TypeStringPointer=$4A42
Index=#D8 TypeStringPointer=$33FA
Index=#D9 TypeStringPointer=$3DD2
Index=#DA TypeStringPointer=$064F
Index=#DB TypeStringPointer=$0900
Index=#DC TypeStringPointer=$2A09
Index=#DD TypeStringPointer=$6F66
Index=#DE TypeStringPointer=$7311
Index=#DF TypeStringPointer=$2AD0
Index=#E0 TypeStringPointer=$1312
Index=#E1 TypeStringPointer=$50FE
Index=#E2 TypeStringPointer=$F920
Index=#E3 TypeStringPointer=$A0C9
Index=#E4 TypeStringPointer=$A54A
Index=#E5 TypeStringPointer=$AA4A
Index=#E6 TypeStringPointer=$564A
Index=#E7 TypeStringPointer=$AFC6
Index=#E8 TypeStringPointer=$B34A
Index=#E9 TypeStringPointer=$B74A
Index=#EA TypeStringPointer=$BB4A
Index=#EB TypeStringPointer=$564A
Index=#EC TypeStringPointer=$56C6
Index=#ED TypeStringPointer=$C0C6
Index=#EE TypeStringPointer=$C54A
Index=#EF TypeStringPointer=$C94A
Index=#F0 TypeStringPointer=$564A
Index=#F1 TypeStringPointer=$CEC6
Index=#F2 TypeStringPointer=$564A
Index=#F3 TypeStringPointer=$56C6
Index=#F4 TypeStringPointer=$D3C6
Index=#F5 TypeStringPointer=$564A
Index=#F6 TypeStringPointer=$D9C6
Index=#F7 TypeStringPointer=$DE4A
Index=#F8 TypeStringPointer=$564A
Index=#F9 TypeStringPointer=$56C6
Index=#FA TypeStringPointer=$E4C6
Index=#FB TypeStringPointer=$564A
Index=#FC TypeStringPointer=$E8C6
Index=#FD TypeStringPointer=$ED4A
Index=#FE TypeStringPointer=$F14A
Index=#FF TypeStringPointer=$564A

Because of Crystal's simplistic pointer arithmetic, type $80 is actually the same as $00, $81 is $01, etc.

Quote
2) Where does glitch type 50h or ???? (00)'s second type get its name from? It seems to depend on the area.

The glitch type 0x50's text is (wrongly) pointing to $8350, which is in the middle of VRAM, the memory region where Gameboy stores all currently used graphics. This is why this text changes depending on the location.

Quote
There seems to be a buffer overflow of some sort as too much memory is written for the name of its second type and then on VBA-RR v24 svn422, map corruption can occur in certain areas like Pokémon Centers.

That's right. The game does not control how much text has been written, and while trying to display an incredibly long move type, overwrites several important addresses. The map corruption is a result of overwriting address $C84E.

Quote
What are the range of memory addresses we can manipulate? Could we do things like activating the GS Ball event flag (like Paco81 asked)? Does this glitch's map corruption have speedrunning potential, or is the 27 Pokémon method in Gold/Silver the only viable way?

The corruption starts at address $C5E1. In theory, the possible length of corruption is unlimited. However, after writing about 1000 bytes, the game crashes. And the bytes we can write are severely restricted, because the text printing routine is programmed to change all unprintable characters to question marks (0xE6).

Quote
Is "Missingning" (map corruption through ????? [00]) normal behavior? It doesn't work on BGB, which is strange.

The whole overflow behavior still happens in BGB. However, when it actually works right, BGB always crashes for some reason. Either VBA has a bug that causes the game not to crash, or BGB has a bug that causes the game to crash.
109
Generation I Glitch Discussion / Re: The ending.
« on: September 01, 2013, 12:41:08 am »
Quote
What about Pokemon Yellow?

That's a good question:

Yellow has a little bit more useful moves, but they are still pretty hard to obtain without trading.
1. Super Glitch B1, running code from $CB6F
2. Super Glitch B6, running code from $CD12
3. TM05 (hex CD), running code from $ED28
4. TM10 (hex D2), running code from $C371
5. TM42 (hex F2), running code from $CD1F

The same effect pointer table, but for Yellow:

Code: [Select]
Index=#01 EffectPointer=$7171
Index=#02 EffectPointer=$71D2
Index=#03 EffectPointer=$726C
Index=#04 EffectPointer=$728F
Index=#05 EffectPointer=$728F
Index=#06 EffectPointer=$728F
Index=#07 EffectPointer=$7274
Index=#08 EffectPointer=$726C
Index=#09 EffectPointer=$0000
Index=#0A EffectPointer=$73DE
Index=#0B EffectPointer=$73DE
Index=#0C EffectPointer=$73DE
Index=#0D EffectPointer=$73DE
Index=#0E EffectPointer=$73DE
Index=#0F EffectPointer=$73DE
Index=#10 EffectPointer=$7AE9
Index=#11 EffectPointer=$0000
Index=#12 EffectPointer=$7502
Index=#13 EffectPointer=$7502
Index=#14 EffectPointer=$7502
Index=#15 EffectPointer=$7502
Index=#16 EffectPointer=$7502
Index=#17 EffectPointer=$7502
Index=#18 EffectPointer=$7AF1
Index=#19 EffectPointer=$7AF9
Index=#1A EffectPointer=$769B
Index=#1B EffectPointer=$76CD
Index=#1C EffectPointer=$76EF
Index=#1D EffectPointer=$77C7
Index=#1E EffectPointer=$77C7
Index=#1F EffectPointer=$7811
Index=#20 EffectPointer=$7171
Index=#21 EffectPointer=$71D2
Index=#22 EffectPointer=$728F
Index=#23 EffectPointer=$728F
Index=#24 EffectPointer=$728F
Index=#25 EffectPointer=$7811
Index=#26 EffectPointer=$7842
Index=#27 EffectPointer=$784A
Index=#28 EffectPointer=$0000
Index=#29 EffectPointer=$0000
Index=#2A EffectPointer=$78F2
Index=#2B EffectPointer=$784A
Index=#2C EffectPointer=$77C7
Index=#2D EffectPointer=$0000
Index=#2E EffectPointer=$791C
Index=#2F EffectPointer=$7924
Index=#30 EffectPointer=$792C
Index=#31 EffectPointer=$793C
Index=#32 EffectPointer=$73DE
Index=#33 EffectPointer=$73DE
Index=#34 EffectPointer=$73DE
Index=#35 EffectPointer=$73DE
Index=#36 EffectPointer=$73DE
Index=#37 EffectPointer=$73DE
Index=#38 EffectPointer=$7B01
Index=#39 EffectPointer=$7B09
Index=#3A EffectPointer=$7502
Index=#3B EffectPointer=$7502
Index=#3C EffectPointer=$7502
Index=#3D EffectPointer=$7502
Index=#3E EffectPointer=$7502
Index=#3F EffectPointer=$7502
Index=#40 EffectPointer=$7B11
Index=#41 EffectPointer=$7B11
Index=#42 EffectPointer=$71D2
Index=#43 EffectPointer=$798C
Index=#44 EffectPointer=$7502
Index=#45 EffectPointer=$7502
Index=#46 EffectPointer=$7502
Index=#47 EffectPointer=$7502
Index=#48 EffectPointer=$7502
Index=#49 EffectPointer=$7502
Index=#4A EffectPointer=$7502
Index=#4B EffectPointer=$7502
Index=#4C EffectPointer=$7934
Index=#4D EffectPointer=$77C7
Index=#4E EffectPointer=$0000
Index=#4F EffectPointer=$7994
Index=#50 EffectPointer=$799C
Index=#51 EffectPointer=$79BA
Index=#52 EffectPointer=$79C8
Index=#53 EffectPointer=$0000
Index=#54 EffectPointer=$7A57
Index=#55 EffectPointer=$7A5F
Index=#56 EffectPointer=$7A65
Index=#57 EffectPointer=$E811
Index=#58 EffectPointer=$01CF
Index=#59 EffectPointer=$D067
Index=#5A EffectPointer=$F3F0
Index=#5B EffectPointer=$CAA7
Index=#5C EffectPointer=$7183
Index=#5D EffectPointer=$1711
Index=#5E EffectPointer=$01D0
Index=#5F EffectPointer=$D062
Index=#60 EffectPointer=$CB0A
Index=#61 EffectPointer=$CB6F
Index=#62 EffectPointer=$02AF
Index=#63 EffectPointer=$1B20
Index=#64 EffectPointer=$471A
Index=#65 EffectPointer=$07E6
Index=#66 EffectPointer=$0628
Index=#67 EffectPointer=$CD21
Index=#68 EffectPointer=$C371
Index=#69 EffectPointer=$3C36
Index=#6A EffectPointer=$A778
Index=#6B EffectPointer=$2A20
Index=#6C EffectPointer=$CDD5
Index=#6D EffectPointer=$66F1
Index=#6E EffectPointer=$FAD1
Index=#6F EffectPointer=$D05E
Index=#70 EffectPointer=$20A7
Index=#71 EffectPointer=$CD1F
Index=#72 EffectPointer=$7027
Index=#73 EffectPointer=$07E6
Index=#74 EffectPointer=$F928
Index=#75 EffectPointer=$FA47
Index=#76 EffectPointer=$D498
Index=#77 EffectPointer=$28A7
Index=#78 EffectPointer=$7806
Index=#79 EffectPointer=$03E6
Index=#7A EffectPointer=$ED28
Index=#7B EffectPointer=$7847
Index=#7C EffectPointer=$CD12
Index=#7D EffectPointer=$7B64
Index=#7E EffectPointer=$C821
Index=#7F EffectPointer=$C371
Index=#80 EffectPointer=$E96F
Index=#81 EffectPointer=$7171
Index=#82 EffectPointer=$71D2
Index=#83 EffectPointer=$726C
Index=#84 EffectPointer=$728F
Index=#85 EffectPointer=$728F
Index=#86 EffectPointer=$728F
Index=#87 EffectPointer=$7274
Index=#88 EffectPointer=$726C
Index=#89 EffectPointer=$0000
Index=#8A EffectPointer=$73DE
Index=#8B EffectPointer=$73DE
Index=#8C EffectPointer=$73DE
Index=#8D EffectPointer=$73DE
Index=#8E EffectPointer=$73DE
Index=#8F EffectPointer=$73DE
Index=#90 EffectPointer=$7AE9
Index=#91 EffectPointer=$0000
Index=#92 EffectPointer=$7502
Index=#93 EffectPointer=$7502
Index=#94 EffectPointer=$7502
Index=#95 EffectPointer=$7502
Index=#96 EffectPointer=$7502
Index=#97 EffectPointer=$7502
Index=#98 EffectPointer=$7AF1
Index=#99 EffectPointer=$7AF9
Index=#9A EffectPointer=$769B
Index=#9B EffectPointer=$76CD
Index=#9C EffectPointer=$76EF
Index=#9D EffectPointer=$77C7
Index=#9E EffectPointer=$77C7
Index=#9F EffectPointer=$7811
Index=#A0 EffectPointer=$7171
Index=#A1 EffectPointer=$71D2
Index=#A2 EffectPointer=$728F
Index=#A3 EffectPointer=$728F
Index=#A4 EffectPointer=$728F
Index=#A5 EffectPointer=$7811
Index=#A6 EffectPointer=$7842
Index=#A7 EffectPointer=$784A
Index=#A8 EffectPointer=$0000
Index=#A9 EffectPointer=$0000
Index=#AA EffectPointer=$78F2
Index=#AB EffectPointer=$784A
Index=#AC EffectPointer=$77C7
Index=#AD EffectPointer=$0000
Index=#AE EffectPointer=$791C
Index=#AF EffectPointer=$7924
Index=#B0 EffectPointer=$792C
Index=#B1 EffectPointer=$793C
Index=#B2 EffectPointer=$73DE
Index=#B3 EffectPointer=$73DE
Index=#B4 EffectPointer=$73DE
Index=#B5 EffectPointer=$73DE
Index=#B6 EffectPointer=$73DE
Index=#B7 EffectPointer=$73DE
Index=#B8 EffectPointer=$7B01
Index=#B9 EffectPointer=$7B09
Index=#BA EffectPointer=$7502
Index=#BB EffectPointer=$7502
Index=#BC EffectPointer=$7502
Index=#BD EffectPointer=$7502
Index=#BE EffectPointer=$7502
Index=#BF EffectPointer=$7502
Index=#C0 EffectPointer=$7B11
Index=#C1 EffectPointer=$7B11
Index=#C2 EffectPointer=$71D2
Index=#C3 EffectPointer=$798C
Index=#C4 EffectPointer=$7502
Index=#C5 EffectPointer=$7502
Index=#C6 EffectPointer=$7502
Index=#C7 EffectPointer=$7502
Index=#C8 EffectPointer=$7502
Index=#C9 EffectPointer=$7502
Index=#CA EffectPointer=$7502
Index=#CB EffectPointer=$7502
Index=#CC EffectPointer=$7934
Index=#CD EffectPointer=$77C7
Index=#CE EffectPointer=$0000
Index=#CF EffectPointer=$7994
Index=#D0 EffectPointer=$799C
Index=#D1 EffectPointer=$79BA
Index=#D2 EffectPointer=$79C8
Index=#D3 EffectPointer=$0000
Index=#D4 EffectPointer=$7A57
Index=#D5 EffectPointer=$7A5F
Index=#D6 EffectPointer=$7A65
Index=#D7 EffectPointer=$E811
Index=#D8 EffectPointer=$01CF
Index=#D9 EffectPointer=$D067
Index=#DA EffectPointer=$F3F0
Index=#DB EffectPointer=$CAA7
Index=#DC EffectPointer=$7183
Index=#DD EffectPointer=$1711
Index=#DE EffectPointer=$01D0
Index=#DF EffectPointer=$D062
Index=#E0 EffectPointer=$CB0A
Index=#E1 EffectPointer=$CB6F
Index=#E2 EffectPointer=$02AF
Index=#E3 EffectPointer=$1B20
Index=#E4 EffectPointer=$471A
Index=#E5 EffectPointer=$07E6
Index=#E6 EffectPointer=$0628
Index=#E7 EffectPointer=$CD21
Index=#E8 EffectPointer=$C371
Index=#E9 EffectPointer=$3C36
Index=#EA EffectPointer=$A778
Index=#EB EffectPointer=$2A20
Index=#EC EffectPointer=$CDD5
Index=#ED EffectPointer=$66F1
Index=#EE EffectPointer=$FAD1
Index=#EF EffectPointer=$D05E
Index=#F0 EffectPointer=$20A7
Index=#F1 EffectPointer=$CD1F
Index=#F2 EffectPointer=$7027
Index=#F3 EffectPointer=$07E6
Index=#F4 EffectPointer=$F928
Index=#F5 EffectPointer=$FA47
Index=#F6 EffectPointer=$D498
Index=#F7 EffectPointer=$28A7
Index=#F8 EffectPointer=$7806
Index=#F9 EffectPointer=$03E6
Index=#FA EffectPointer=$ED28
Index=#FB EffectPointer=$7847
Index=#FC EffectPointer=$CD12
Index=#FD EffectPointer=$7B64
Index=#FE EffectPointer=$C821
Index=#FF EffectPointer=$C371
110
Emulation & ROM Hacking / Re: Gold Version bug
« on: August 28, 2013, 09:03:16 am »
I downloaded VBA 1.7.1, and indeed, it has some problems emulating echo RAM and switchable RAM banks, causing many bugs while playing certain games.
Downloading a newer version of VBA will probably fix the problem.
111
Generation I Glitch Discussion / Re: The ending.
« on: August 28, 2013, 08:42:11 am »
This seems to have quite the potential, but it involves a lot of luck manipulation - so outside speedruns, doing this is almost impossible.

Quote
That's interesting, but I wonder what useful locations other glitch effects might read from.

Move effect table is located at address $3F150, and it reads as follows:
Code: [Select]
Index=#01 EffectPointer=$71FC
Index=#02 EffectPointer=$724F
Index=#03 EffectPointer=$72E9
Index=#04 EffectPointer=$730C
Index=#05 EffectPointer=$730C
Index=#06 EffectPointer=$730C
Index=#07 EffectPointer=$72F1
Index=#08 EffectPointer=$72E9
Index=#09 EffectPointer=$0000
Index=#0A EffectPointer=$7428
Index=#0B EffectPointer=$7428
Index=#0C EffectPointer=$7428
Index=#0D EffectPointer=$7428
Index=#0E EffectPointer=$7428
Index=#0F EffectPointer=$7428
Index=#10 EffectPointer=$7B0E
Index=#11 EffectPointer=$0000
Index=#12 EffectPointer=$754C
Index=#13 EffectPointer=$754C
Index=#14 EffectPointer=$754C
Index=#15 EffectPointer=$754C
Index=#16 EffectPointer=$754C
Index=#17 EffectPointer=$754C
Index=#18 EffectPointer=$7B16
Index=#19 EffectPointer=$7B1E
Index=#1A EffectPointer=$76E5
Index=#1B EffectPointer=$7717
Index=#1C EffectPointer=$7739
Index=#1D EffectPointer=$7811
Index=#1E EffectPointer=$7811
Index=#1F EffectPointer=$785B
Index=#20 EffectPointer=$71FC
Index=#21 EffectPointer=$724F
Index=#22 EffectPointer=$730C
Index=#23 EffectPointer=$730C
Index=#24 EffectPointer=$730C
Index=#25 EffectPointer=$785B
Index=#26 EffectPointer=$7884
Index=#27 EffectPointer=$788C
Index=#28 EffectPointer=$0000
Index=#29 EffectPointer=$0000
Index=#2A EffectPointer=$7917
Index=#2B EffectPointer=$788C
Index=#2C EffectPointer=$7811
Index=#2D EffectPointer=$0000
Index=#2E EffectPointer=$7941
Index=#2F EffectPointer=$7949
Index=#30 EffectPointer=$7951
Index=#31 EffectPointer=$7961
Index=#32 EffectPointer=$7428
Index=#33 EffectPointer=$7428
Index=#34 EffectPointer=$7428
Index=#35 EffectPointer=$7428
Index=#36 EffectPointer=$7428
Index=#37 EffectPointer=$7428
Index=#38 EffectPointer=$7B26
Index=#39 EffectPointer=$7B2E
Index=#3A EffectPointer=$754C
Index=#3B EffectPointer=$754C
Index=#3C EffectPointer=$754C
Index=#3D EffectPointer=$754C
Index=#3E EffectPointer=$754C
Index=#3F EffectPointer=$754C
Index=#40 EffectPointer=$7B36
Index=#41 EffectPointer=$7B36
Index=#42 EffectPointer=$724F
Index=#43 EffectPointer=$79B1
Index=#44 EffectPointer=$754C
Index=#45 EffectPointer=$754C
Index=#46 EffectPointer=$754C
Index=#47 EffectPointer=$754C
Index=#48 EffectPointer=$754C
Index=#49 EffectPointer=$754C
Index=#4A EffectPointer=$754C
Index=#4B EffectPointer=$754C
Index=#4C EffectPointer=$7959
Index=#4D EffectPointer=$7811
Index=#4E EffectPointer=$0000
Index=#4F EffectPointer=$79B9
Index=#50 EffectPointer=$79C1
Index=#51 EffectPointer=$79DF
Index=#52 EffectPointer=$79ED
Index=#53 EffectPointer=$0000
Index=#54 EffectPointer=$7A7C
Index=#55 EffectPointer=$7A84
Index=#56 EffectPointer=$7A8A
Index=#57 EffectPointer=$E911
Index=#58 EffectPointer=$01CF
Index=#59 EffectPointer=$D068
Index=#5A EffectPointer=$F3F0
Index=#5B EffectPointer=$CAA7
Index=#5C EffectPointer=$720E
Index=#5D EffectPointer=$1811
Index=#5E EffectPointer=$01D0
Index=#5F EffectPointer=$D063
Index=#60 EffectPointer=$CB0A
Index=#61 EffectPointer=$CB6F
Index=#62 EffectPointer=$02AF
Index=#63 EffectPointer=$1B20
Index=#64 EffectPointer=$471A
Index=#65 EffectPointer=$07E6
Index=#66 EffectPointer=$0628
Index=#67 EffectPointer=$4A21
Index=#68 EffectPointer=$C372
Index=#69 EffectPointer=$3C49
Index=#6A EffectPointer=$A778
Index=#6B EffectPointer=$1C20
Index=#6C EffectPointer=$CDD5
Index=#6D EffectPointer=$656B
Index=#6E EffectPointer=$FAD1
Index=#6F EffectPointer=$D05F
Index=#70 EffectPointer=$20A7
Index=#71 EffectPointer=$CD11
Index=#72 EffectPointer=$6E9B
Index=#73 EffectPointer=$07E6
Index=#74 EffectPointer=$F928
Index=#75 EffectPointer=$CD12
Index=#76 EffectPointer=$7B89
Index=#77 EffectPointer=$4521
Index=#78 EffectPointer=$C372
Index=#79 EffectPointer=$3C49
Index=#7A EffectPointer=$5EC3
Index=#7B EffectPointer=$177B
Index=#7C EffectPointer=$4715
Index=#7D EffectPointer=$5025
Index=#7E EffectPointer=$2517
Index=#7F EffectPointer=$2547
Index=#80 EffectPointer=$71FC
Index=#81 EffectPointer=$724F
Index=#82 EffectPointer=$72E9
Index=#83 EffectPointer=$730C
Index=#84 EffectPointer=$730C
Index=#85 EffectPointer=$730C
Index=#86 EffectPointer=$72F1
Index=#87 EffectPointer=$72E9
Index=#88 EffectPointer=$0000
Index=#89 EffectPointer=$7428
Index=#8A EffectPointer=$7428
Index=#8B EffectPointer=$7428
Index=#8C EffectPointer=$7428
Index=#8D EffectPointer=$7428
Index=#8E EffectPointer=$7428
Index=#8F EffectPointer=$7B0E
Index=#90 EffectPointer=$0000
Index=#91 EffectPointer=$754C
Index=#92 EffectPointer=$754C
Index=#93 EffectPointer=$754C
Index=#94 EffectPointer=$754C
Index=#95 EffectPointer=$754C
Index=#96 EffectPointer=$754C
Index=#97 EffectPointer=$7B16
Index=#98 EffectPointer=$7B1E
Index=#99 EffectPointer=$76E5
Index=#9A EffectPointer=$7717
Index=#9B EffectPointer=$7739
Index=#9C EffectPointer=$7811
Index=#9D EffectPointer=$7811
Index=#9E EffectPointer=$785B
Index=#9F EffectPointer=$71FC
Index=#A0 EffectPointer=$724F
Index=#A1 EffectPointer=$730C
Index=#A2 EffectPointer=$730C
Index=#A3 EffectPointer=$730C
Index=#A4 EffectPointer=$785B
Index=#A5 EffectPointer=$7884
Index=#A6 EffectPointer=$788C
Index=#A7 EffectPointer=$0000
Index=#A8 EffectPointer=$0000
Index=#A9 EffectPointer=$7917
Index=#AA EffectPointer=$788C
Index=#AB EffectPointer=$7811
Index=#AC EffectPointer=$0000
Index=#AD EffectPointer=$7941
Index=#AE EffectPointer=$7949
Index=#AF EffectPointer=$7951
Index=#B0 EffectPointer=$7961
Index=#B1 EffectPointer=$7428
Index=#B2 EffectPointer=$7428
Index=#B3 EffectPointer=$7428
Index=#B4 EffectPointer=$7428
Index=#B5 EffectPointer=$7428
Index=#B6 EffectPointer=$7428
Index=#B7 EffectPointer=$7B26
Index=#B8 EffectPointer=$7B2E
Index=#B9 EffectPointer=$754C
Index=#BA EffectPointer=$754C
Index=#BB EffectPointer=$754C
Index=#BC EffectPointer=$754C
Index=#BD EffectPointer=$754C
Index=#BE EffectPointer=$754C
Index=#BF EffectPointer=$7B36
Index=#C0 EffectPointer=$7B36
Index=#C1 EffectPointer=$724F
Index=#C2 EffectPointer=$79B1
Index=#C3 EffectPointer=$754C
Index=#C4 EffectPointer=$754C
Index=#C5 EffectPointer=$754C
Index=#C6 EffectPointer=$754C
Index=#C7 EffectPointer=$754C
Index=#C8 EffectPointer=$754C
Index=#C9 EffectPointer=$754C
Index=#CA EffectPointer=$754C
Index=#CB EffectPointer=$7959
Index=#CC EffectPointer=$7811
Index=#CD EffectPointer=$0000
Index=#CE EffectPointer=$79B9
Index=#CF EffectPointer=$79C1
Index=#D0 EffectPointer=$79DF
Index=#D1 EffectPointer=$79ED
Index=#D2 EffectPointer=$0000
Index=#D3 EffectPointer=$7A7C
Index=#D4 EffectPointer=$7A84
Index=#D5 EffectPointer=$7A8A
Index=#D6 EffectPointer=$E911
Index=#D7 EffectPointer=$01CF
Index=#D8 EffectPointer=$D068
Index=#D9 EffectPointer=$F3F0
Index=#DA EffectPointer=$CAA7
Index=#DB EffectPointer=$720E
Index=#DC EffectPointer=$1811
Index=#DD EffectPointer=$01D0
Index=#DE EffectPointer=$D063
Index=#DF EffectPointer=$CB0A
Index=#E0 EffectPointer=$CB6F
Index=#E1 EffectPointer=$02AF
Index=#E2 EffectPointer=$1B20
Index=#E3 EffectPointer=$471A
Index=#E4 EffectPointer=$07E6
Index=#E5 EffectPointer=$0628
Index=#E6 EffectPointer=$4A21
Index=#E7 EffectPointer=$C372
Index=#E8 EffectPointer=$3C49
Index=#E9 EffectPointer=$A778
Index=#EA EffectPointer=$1C20
Index=#EB EffectPointer=$CDD5
Index=#EC EffectPointer=$656B
Index=#ED EffectPointer=$FAD1
Index=#EE EffectPointer=$D05F
Index=#EF EffectPointer=$20A7
Index=#F0 EffectPointer=$CD11
Index=#F1 EffectPointer=$6E9B
Index=#F2 EffectPointer=$07E6
Index=#F3 EffectPointer=$F928
Index=#F4 EffectPointer=$CD12
Index=#F5 EffectPointer=$7B89
Index=#F6 EffectPointer=$4521
Index=#F7 EffectPointer=$C372
Index=#F8 EffectPointer=$3C49
Index=#F9 EffectPointer=$5EC3
Index=#FA EffectPointer=$177B
Index=#FB EffectPointer=$4715
Index=#FC EffectPointer=$5025
Index=#FD EffectPointer=$2517
Index=#FE EffectPointer=$2547
Index=#FF EffectPointer=$2150

I will try to see if there are more useful addresses to work with.

Edit: There are actually 4 moves that have somewhat useful effect pointers:
1. Obviously Cooltrainer move, running code from $F928
2. TM42 (hex F2), running code from $CD11
3. TM38 (hex EE), running code from $CAA7
4. TM21 (hex DD), running code from $CD11
Sadly, all of those moves (besides Cooltrainer) are hard to obtain legitimately.
112
Quote
standard text editors like Notepad may not open them

Sure, Notepad could even open 30MB files just fine. But on an old computer it will take a lot of time, and I have no idea if someone will open these files on a brand new laptop or on a 25-year-old rig.
113
That's awesome. And I thought Gen II was written well.
I did some more research into this, and I have a lot to say:

First of all, it works. However, this is a lot more difficult to pull off and exploit. Mainly because of all those random factors - before the instruction pointer reaches its destination, it needs to go through many different addresses. Also, because there's no Missingno in G/S, there's no item duplication either, so the possibilities are severely restricted by player's money and item availability.

A small thing about requirements: There is one necessity you forgot: Before using the Coin Case, it is required to change your bag pocket at least once, as in this example:

Bag opens and starts in the Items pocket: just go to Key Items and use Coin Case.
Bag opens and starts in the Key Items pocket: go to any pocket first, then go back to Key Items and use Coin Case.

This is required since playing the "pocket switch" sound changes bytes at $E162 to {0x08,0x00,0x00} - ld (0000),sp; otherwise, the bytes are left with values {0x20,0x10,0x00} - jr nz,E174 - which causes the game to skip important code parts.

About a "slide Pokemon": It seems that any low level Pokemon will do the trick. Those little critters will probably not have any stats/IVs bigger than 32, and thus, they should not be able to change the code flow.

Now it's time to end the boring part and do something amazing with it!

Doing something useful seems impossible, since after all this the stack is severely messed up. However, there is a small trick that will bring everything back to order:

Code: [Select]
inc  sp
ld   bc,$0134
push bc
jp   12f5

The first [inc sp] negates the effects of the previous [inc sp]. After this, the stack will look like this:

     Return address to the Coin Case script
SP-> Text loading routine: saved register AF
     *Text loading routine's saved register HL should be there*
     *Return address to the text reading routine should be there*


Then, I push a value $0134 into the location where text reading function's saved register HL was supposed to be, and I jump back where the text reading routine is located ($12F5). The game is now tricked into thinking it was reading text data from $0134. On a normal clean ROM, address $0134 always contains value $50 - so the text routine thinks that text data is over and returns control back to the game. Mission accomplished!

Hello World:

This is an example program, which will display first Pokemon's nickname instead of the amount of coins, as long this nickname is less than 10 characters:



Because of many restrictions, most of the code are just elaborate ways of doing nothing, just to pad the memory and make the program representable with items.

Code: [Select]
WRA1:D61A 26 DA            ld   h,DA      ; hl = $DA??
WRA1:D61C 02               ld   (bc),a    ; * do nothing
WRA1:D61D 24               inc  h         ; hl = $DB??
WRA1:D61E 01 ?? ??         ld   bc,????   ; * do nothing
WRA1:D621 B5               or   l         ; * do nothing
WRA1:D622 2E 8A            ld   l,8A      ; hl = $DB8A
WRA1:D624 01 ?? ??         ld   bc,????   ; * do nothing
WRA1:D627 AF               xor  a         ; a = $00
WRA1:D628 01 ?? ??         ld   bc,????   ; * do nothing
WRA1:D62B 22               ldi  (hl),a    ; $DB8A = $00, HL = $DB8B
WRA1:D62C 01 ?? ??         ld   bc,????   ; * do nothing
WRA1:D62F 0B               dec  bc        ; * do nothing
WRA1:D630 3E 27            ld   a,27      ; a = $27
WRA1:D632 07               rlca           ; a = $4E
WRA1:D633 B8               cp   b         ; * do nothing
WRA1:D634 3C               inc  a         ; a = $4F
WRA1:D635 02               ld   (bc),a    ; * do nothing
WRA1:D636 22               ldi  (hl),a    ; $DB8B = $4F, HL = $DB8C
WRA1:D637 9E               sbc  a,(hl)     ; * do nothing
WRA1:D638 33               inc  sp        ; bring the stack back to order
WRA1:D639 2B               dec  hl        ; hl = $DB8B
WRA1:D63A 2B               dec  hl        ; hl = $DB8A
WRA1:D63B E5               push hl        ; make the game read text from $DB8A
WRA1:D63C 01 ?? ??         ld   bc,????   ; * do nothing
WRA1:D63F 26 12            ld   h,12      ; hl = $128A
WRA1:D641 B7               or   a         ; * do nothing
WRA1:D642 2E F5            ld   l,F5      ; hl = $12F5
WRA1:D644 01 ?? ??         ld   bc,????   ; * do nothing
WRA1:D647 E9               jp   hl        ; jump to $12F5 (print the text and return control)
WRA1:D648 01 FF 01         ld   bc,01ff   ; leftovers (last item's qty and end of list marker)

Represented as items:

[ANY ITEM]                 x[ANY QUANTITY]
[ANY ITEM]                 x38
TM27                       x2
Nugget                     x1
[ANY ITEM]                 x[ANY QUANTITY]
Surf Mail                  x46
Charcoal                   x1
[ANY ITEM]                 x[ANY QUANTITY]
Squirtbottle               x1
[ANY ITEM]                 x[ANY QUANTITY]
Leaf Stone                 x1
[ANY ITEM]                 x[ANY QUANTITY]
Ice Heal                   x62
Revive                     x7
Lovely Mail                x60
Ultra Ball                 x34
Flower Mail                x51
Max Repel                  x43
TM37                       x1
[ANY ITEM]                 x[ANY QUANTITY]
Full Heal                  x18
Portraitmail               x46
HM03                       x1
[ANY ITEM]                 x[ANY QUANTITY]
TM41                       x1


A video here: http://www.youtube.com/watch?v=lB2ja6p-sjg
114
Completed Projects/Dexes / Full list of all (14336) trainer rosters
« on: July 08, 2013, 05:50:46 am »
Inspired by Darkness_LordII's compilation of glitch trainers, I decided to write a small C++ program to make a full list of all possible (both normal and glitched) rosters in the game. Thought such a list might be useful someday.

List for Red/Blue version: http://sites.google.com/site/thezzazzglitch/home/FullTrainerListRB.txt

List for Yellow version: http://sites.google.com/site/thezzazzglitch/home/FullTrainerListY.txt

List for JP Green version: http://sites.google.com/site/thezzazzglitch/home/FullTrainerListG.txt

Warning: Those text files are quite big (70000 lines each) and standard text editors like Notepad may not open them.
115
Quote
Also, I'm not sure on this, but would blacking out also reset the flag? I'd expect such, anyway.

That's true, blacking out resets the flag too. Thanks for mentioning it.
116
Interesting you didn't save previously on the Cycling Road and yet somehow the Cycling Road flag was set when creating a new game...

a) Have you ever used any walk-through-walls glitches on your previous save file? And if you did:
 1. Have you ever stepped into Cycling Road with walk-through-walls glitch active?
 2. If you were doing the Safari Zone walk-through-walls trick, did you land your last Safari Zone step in the Cycling Road?
b) Also, have you ever tried to do the famous Glitch City glitch? And if you did:
 1. While you were walking around for Safari steps to deplete, did you land your last Safari Zone step in the Cycling Road?

Any of these actions above could have screwed up your Cycling Road flag.
117
I managed to find out why this happens.

This glitch occurs if the player saves the game on Cycling Road and then starts a new game with the save file intact. Somehow the game does not properly reset the "Cycling Road flag" and leaves it set after starting a new game.

Any of the following will fix this state:
- Using Dig
- Using Teleport
- Using Fly
- Using Escape Rope
- Going in and out the Cycling Road
- Blacking out (both in battle and in overworld)

The Cycling Road flag is located at RAM address 0xD732 (at its 5th bit to be exact). Everyone interested could save the game on Cycling Road, start a new game, and look up at this address.

Edit: Yes, this glitch also disables surfing (it gives the "Cycling is fun! Forget SURFing" message)
118
Now I don't even know what's going on: Experimentally, I hacked EEVEE's evolution data to be exactly like LM4's, and surprisingly, it didn't show the first name twice but everything worked as normal:

Original: "ゥL ||ゥM 4 evolved into CLEFAIRY, ゥL ||ゥM 4 evolved into NIDOKING"
Hacked EEVEE: "EEVEE evolved into CLEFAIRY, CLEFAIRY evolved into NIDOKING".

This suggests that this effect actually happens only on specific Pokemon.
119
Quote
The Pokémon it evolves into first is the highest level or the stone evolution. The latter Pokémon is the lower level or level-up evolution.

Actually, glitch Pokemon will evolve following the order defined in their evolution data.
For example, this is a fragment of LM4's evolution data, with the most important fragments in red:

F2 C4 CD 3A 1B CD 98 38 21 A5 C4 01 12 04 CD C4 18 0E 14 CD 39 37 D1 21 B9
C4 C3 E8 19 D5 3E EE EA F2 C4 CD 3A 1B CD 98 38 21 69 C4 01 12 07 CD C4 18


The evolution data for normal evolution [0x01] at level 18 [0x12] into Clefairy [0x04] is first, so LM4 will evolve into Clefairy first.
The evolution data for normal evolution [0x01] at level 18 [0x12] into Nidoking [0x07] is second, so LM4 will evolve into Nidoking afterwards.

-------------

For 'M/3TrainerPoke (hex 00):

38 05 23 34 2B 18 F8 E1 C9 F0 40 CB 7F 20 0E 21 80 5A 11 00 88 01 00 04 3E
04 C3 2B 18 11 80 5A 21 00 88 01 80 04 C3 86  ...  00 96 01 00 02 3E 04 C3


The evolution data for normal evolution [0x01] at level 128 [0x80] into Clefairy [0x04] is first, so 'M/3TrainerPoke will evolve into Clefairy first.
The evolution data for normal evolution [0x01] at level 0 [0x00] into Kangaskhan [0x02] is second, so 'M/3TrainerPoke will evolve into Kangaskhan afterwards.


Quote
If the Pokémon is a hex:00 Pokémon, double evolutions work differently.

It's actually nothing different too. It happens because 'M/3TrainerPoke evolves into Clefairy at a different level than it evolves into Kangaskhan, and since the levels are different, Clefairy's name properly appears after it evolves. This bug happens only if two evolutions occur on the same level.
120
Cool, good to know that this glitch is possible without struggling to get a poisoned Pokemon. However, holding B all the time is a little bit tiring.
Also, it's very good to know that effects of the Hooked Dragonite glitch happen to differ depending on the player's position while talking to the NPC. This really makes me wonder if there are more amazing effects to discover.

And this museum guy's "YOU HAVE TO GO" look is pure win.
Pages: 1 ... 6 7 [8] 9 10