Jump to content

Guides:Coin Case ACE: Difference between revisions

no edit summary
mNo edit summary
No edit summary
Line 27:
#* Onix- Union Cave
# The "BOXCODES" nicknamed pokémon must never gain experience from any other battle
# Buy a Flower Mail, can be bought in Goldenrod Dept. Store
# Finally, give the "BOXCODES" nicknamed pokémon a flower mail with the following language-specific content:
{| class="wikitable" style="margin-left: auto; margin-right: auto; border: none;"
|
[[File:Stack fixer.png|frameless]]
|}
 
=Step 2: Obtaining the Coinitems Caseneeded for the setup=
 
# Buy a Flower Mail, can be bought in Goldenrod Dept. Store or the Violet City pokémart.
# Obtain the Coin Case by picking it up in the Goldenrod Underground.
 
Line 47 ⟶ 42:
==Finishing the setup==
 
#Arrange your party like the following:
## Any
## Any
## "BOXCODES" nicknamed Pokémon that has defeated a specific set of pokémon and is holding the previously described mail
## Any
## Any
## Any
# Finally, give the "BOXCODES" nicknamed pokémon a flower mail with the following language-specific content:
{| class="wikitable" style="margin-left: auto; margin-right: auto; border: none;"
|
[[File:Stack fixer.png|frameless]]
|}
 
==Preparing a test box name code==
Line 79:
* Did you correctly follow the previous steps?
* Is the box name code correctly entered?
* Is the content of the mail correct for the game's language?
* Did you ensure that the nicknamed pokémon only received experiences from the four specific encounters? Were both Hoppip and Rattata defeated using only the nicknamed pokémon? Was Onix defeated such that experience was shared between the nicknamed pokémon and only one other pokémon?
* If you are sure you performed the above correctly, try to make sure you have 0 coins in total.
 
'''Anytime you wish to execute wrong pocket Coin Case ACE, you'll need to repeat the steps outlined at the beginning of this section. Always make sure the "BOXCODES" nicknamed pokémon is in party slot #2 and the held mail was read before using the Coin Case.'''
Line 89 ⟶ 90:
 
Use the following link to continue to the next guide: [[User:TimoVM/Mail_Writer_GS_(EN)|Mail writer GS]]
 
==Appendix: in-depth explanation of the setup==
 
===Effect of the Coin Case===
 
The effects of the Coin Case are described in more detail on the following [http://Coin%20Case%20glitches#cause wiki page]. Relevant to this setup is that the setup will redirect execution to address $FA98 (echo ram copy of $DA98), which is in the middle of party pokémon #3's stat experience data. During this redirection, the stack pointer gets incremented once and an address gets popped from the stack. The global effect is that the stack pointer is decremented once compared to when the Coin Case was used.
 
===Effect of party pokémon #3===
 
Defeating the provided list of pokémon will result in the following values at the following addresses, assuming the pokémon is in party slot #3:
 
<pre>
DA95 00 nop
DA96 75 ld [hl], l
DA97 00 nop
DA98 94 sub a, h
DA99 00 00
DA9A C3
DA9B 00
DA9C CF jp $CF00
</pre>
 
Executing Coin Case at the location described in the setup will cause execution to jump to $DA98. It will then harmlessly slide through the sub a, h and nop instructions, after which execution will jump to $CF00, which is in the middle of the last buffered mail.
 
===Effect of the mail===
 
The last read mail is buffered from $CEED onward. Converting the characters from the mail to assembly results in the following:
 
<pre>
80 add a, b
80 add a, b
80 add a, b
80 add a, b
80 add a, b
80 add a, b
80 add a, b
80 add a, b
80 add a, b
80 add a, b
80 add a, b
80 add a, b
80 add a, b
80 add a, b
80 add a, b
80 add a, b
4E ld b, b ; Newline control character.
80 add a, b
80 add a, b
AF xor a ; Located at $CF00, all values before this address are filler and will not be executed.
D6 FD sub $FD ; set a to $03.
E0 9F ld (hRomBank), a; Set current ROM bank to bank 3. This ROM bank contains item and pack data and ensures safe return.
E8 FF add sp, $FF ; $FF is interpreted as a singed integer, stack pointer gets decremented and the stack is now properly aligned again
D1 pop de
D1 pop de
D1 pop de ; Pop text command related addresses so that returning from ACE execution will resume normal game operation
AF xor a ; Set a to $00, set carry flag to 0
D2 B9 F8 jp nc, $F8B9 ; Jump to echo ram copy of $D8B9, which lies a few bytes before box data
</pre>
 
==Plain text transcripts of codes==
1,540

edits

Cookies help us deliver our services. By using our services, you agree to our use of cookies.