Main Menu
Main Page
Forums
Recent changes
Random page
Help

Databases
GlitchDex
AttackDex
ItemDex
TrainerDex
TypeDex
UnownDex
More

Major Glitches
Trainer escape glitch
Old man trick
Celebi trick
Select glitches (Japan)
SRAM glitch
CoolTrainer♀ corruption
LOL glitch
Rival LOL glitch
Super Glitch
ZZAZZ glitch
Pomeg corruption glitch (Glitzer Popping)
Tweaking
Elite Four door glitch (Japan)
Pokémon merge glitch
Pokémon cloning
Time Capsule exploit
Arbitrary code execution
Coin Case glitch
More

Other Glitch Categories
Glitches by generation
Glitches between two generations
Japan-only/language specific glitches
Music glitches
Natural glitches
Non-core series glitches
Non-Pokémon glitches
Officially acknowledged glitches
Recurring glitches
Dead glitches

References
Pokémon GameShark codes
The Big HEX List
Glitch Pokémon cries
GB programming
Curiosities
Debugging features
Easter eggs
Error traps
Glitch areas
Glitch myths
Non-glitch exploits
Placeholder texts
Pokémon glitch terminology
Unused content and prerelease information

Useful Tools
8F Helper
GBz80 to Items
Old man trick name generator
PATH (Prama's Advanced Tweaking Heaven)
Save file editors
Special stat/Pokémon converter
Trainer escape Trainer Pokémon finder

Affiliates
Legendary Star Blob 2 (Hakuda)
Pokémon Speedruns wiki
PRAMA Initiative
Become an affiliate!

Search Wiki

 

Search Forums

 

Recent Posts

Pages: [1] 2 3 ... 10
1
Now that the English Generation I GlitchDex articles are done, I've added our first non-English GlitchDex article to the wiki. :)

http://glitchcity.info/wiki/GlitchDexJP/Y:237

I have also opened up a request article. Feel free to add requests here, that way me (or another user) can add select glitch Pokémon you want:

http://glitchcity.info/wiki/User:Torchickens/Glitch_Pok%C3%A9mon_article_requests

When the English Generation II GlitchDex articles are done I plan on making a few of these articles, although not too many yet as I'd still like to finish the English ItemDex, AttackDex, UnownDex.
2
Do you know any more specifics about this, like where the execution starts and what else is required? (i.e. do I even need the Quagsire and can the slide-mon be the same?)

I don't know precisely where it jumps first. When I get home, I'll breakpoint some addresses in BGB and see if I can find out what it does when used.

My guess is that when you use TM 25 in the balls pocket, it reads an invalid effect pointer (similar to 8f in R/B) and eventually reaches it's destination, but AFAIK it doesn't corrupt the stack.

Something worth pointing out is that it eventually leads to Pokemon slot 2, not 3. So if you decide to use this method, move your slide and Quagsire up one slot.

Just found this. (How could I be so blind  :o)
Reconstructing from the Slide-Mon requirement removal it start execution at $da9a (Second byte defense EV of the second Party Pokémon).

Switching to TM25 usage now. Soo much easier and without constant resetting.  ;D

Indeed it is. Another thing I didn't like about the coin case is moving in a specific pattern, listing to Machop's cry, fixing the stack, etc.
3
I asked about this elsewhere, but would you be kind enough to provide a shiny code that results in females? Also maybe a version for both males and females that gives Hidden Power Grass? The existing shiny code is male, HP dragon.
4
Do you know any more specifics about this, like where the execution starts and what else is required? (i.e. do I even need the Quagsire and can the slide-mon be the same?)

I don't know precisely where it jumps first. When I get home, I'll breakpoint some addresses in BGB and see if I can find out what it does when used.

My guess is that when you use TM 25 in the balls pocket, it reads an invalid effect pointer (similar to 8f in R/B) and eventually reaches it's destination, but AFAIK it doesn't corrupt the stack.

Something worth pointing out is that it eventually leads to Pokemon slot 2, not 3. So if you decide to use this method, move your slide and Quagsire up one slot.

Just found this. (How could I be so blind  :o)
Reconstructing from the Slide-Mon requirement removal it start execution at $da9a (Second byte defense EV of the second Party Pokémon).

Switching to TM25 usage now. Soo much easier and without constant resetting.  ;D
5
Thanks man, you're a legend! I figured something was up with the offset, but my understanding of these codes is pretty basic but I'm trying to learn. If you don't mind, could you explain what the changed Box 2 does differently to the previous one?

Basically a different calculation. The é7't part present in both is writing the value currently in register A to the specified location which is the type of the first item (judging from the original  code in the balls pocket; you might need to adjust this, too).


Now for the calculations itself:
Code: [Select]
p0B'vA (XOR A; OR 81; SUB 80)

p0'v'vY (XOR A; OR d6; SUB 98)
All Instructions are evaluated against register A and you can look them up in Sanqui's Pastebin.
XOR A (character p) is basically an elaborate way to set register A to the value 0.
OR (character 0) takes the next character as argument and with A currently at the value of 0 the argument becomes the new value of A (here: 81 and d6).
SUB (character 'v) also takes the next character as argument and substracts it from A leaving the result as the new value (here: 01 and be).

Unfortunately ADD and XOR with argument are not represantable with characters, so getting some values can be a bit tricky. One trick here is to deliberately underflow in the calculation and use SUB to get to the desired value anyway. This way you can represent the required 01 for the Master Ball also in this way:
Code: [Select]
p'v9 (XOR A; SUB ff)
^This

Integer underflow is your friend
6
Thanks man, you're a legend! I figured something was up with the offset, but my understanding of these codes is pretty basic but I'm trying to learn. If you don't mind, could you explain what the changed Box 2 does differently to the previous one?

Basically a different calculation. The é7't part present in both is writing the value currently in register A to the specified location which is the type of the first item (judging from the original  code in the balls pocket; you might need to adjust this, too).


Now for the calculations itself:
Code: [Select]
p0B'vA (XOR A; OR 81; SUB 80)

p0'v'vY (XOR A; OR d6; SUB 98)
All Instructions are evaluated against register A and you can look them up in Sanqui's Pastebin.
XOR A (character p) is basically an elaborate way to set register A to the value 0.
OR (character 0) takes the next character as argument and with A currently at the value of 0 the argument becomes the new value of A (here: 81 and d6).
SUB (character 'v) also takes the next character as argument and substracts it from A leaving the result as the new value (here: 01 and be).

Unfortunately ADD and XOR with argument are not represantable with characters, so getting some values can be a bit tricky. One trick here is to deliberately underflow in the calculation and use SUB to get to the desired value anyway. This way you can represent the required 01 for the Master Ball also in this way:
Code: [Select]
p'v9 (XOR A; SUB ff)
7
From my understanding, what the code does is take the character's hex value, subtract $80, and use the end result as the item.

't ($d5) - ($80) = $55, which should return Red Apricorns.

Unfortunately, The hex value of PP Ups ($3e) + ($80) = ($BE), which is not able to be represented as a valid character.

If you would like, i can alter the code to produce PP Ups.

Edit: Change box 2 to p0'v'vYé7't

Hope this helps!

Thanks man, you're a legend! I figured something was up with the offset, but my understanding of these codes is pretty basic but I'm trying to learn. If you don't mind, could you explain what the changed Box 2 does differently to the previous one?

Absolutely! The new box 2 code subtracts $D6 with $98 to get $3E, the hex for PP Ups.

Make sure to take this into account when adjusting the code for different items.
8
From my understanding, what the code does is take the character's hex value, subtract $80, and use the end result as the item.

't ($d5) - ($80) = $55, which should return Red Apricorns.

Unfortunately, The hex value of PP Ups ($3e) + ($80) = ($BE), which is not able to be represented as a valid character.

If you would like, i can alter the code to produce PP Ups.

Edit: Change box 2 to p0'v'vYé7't

Hope this helps!

Thanks man, you're a legend! I figured something was up with the offset, but my understanding of these codes is pretty basic but I'm trying to learn. If you don't mind, could you explain what the changed Box 2 does differently to the previous one?
9
From my understanding, what the code does is take the character's hex value, subtract $80, and use the end result as the item.

't ($d5) - ($80) = $55, which should return Red Apricorns.

Unfortunately, The hex value of PP Ups ($3e) + ($80) = ($BE), which is not able to be represented as a valid character.

If you would like, i can alter the code to produce PP Ups.

Edit: Change box 2 to p0'v'vYé7't

Hope this helps!
10
How would one go about modifying the EVs to maximum? Modifying the code for Rare Candies/Masterballs to place HP UP/Protein/Carbos etc. works up until 25600, but since EVs max out at 65535, it's still off by a way. I know there's one that exists already, but I think one that doesn't immediately boost to level 100 would be good too.

Also slightly strange, changing the Box 2 code from 'p0B'vAé7't' (255x Master Balls) to 'p0't'vAé7't' should yield PP Ups, but instead yields Red Aprikorns. Would a code to modify the quantity of an item in say bag slot 1, without modifying the item itself?

Appreciate all the work you guys do, it's really impressive.

Regarding question 1:
Box 1: A09é(female symbol)455
Box 2: é04é1455
Box 3: é24é3455
Box 4: é44é5455
Box 5: é64é7455
Box 6: é84p'd555

This is a slightly modified version of Torchicken's code.

Also, this doesn't work with the coin case, only TM25 in the balls pocket

Regarding question 2: Can you please post the entire box code? Box 2 loads register a into $f6af, but register a was defined in box 1.

Thanks, I really appreciate it! I modified it slightly so that it works with the Coin Case ACE (Ap09é♀45), only a minor change but I already have that one set up so it seemed worth doing.

In regards to the second point, this is the original code for 255x Master Balls in Ball Slot 1:

Ap09é8't5 
p0B'vAé7't
p555'v7'v'd
é(male)2péD9'l
'l5555555
555A'lx'd

With the third letter/number in Box 2's name changing the given item. Most seem to work, given that they are all offset to begin at 0x81, with 'v being the last usable character in that block (BF). Rare Candy is indexed 32 positions higher, so requires the letter 'a'. PP Up is indexed 30 positions after Rare Candy so should require the character 't, but using 't gives Red Apricon, which is a little strange.

Thanks again!
Pages: [1] 2 3 ... 10