Jump to content

Guides:Goldenrod Glitch Pokédex Mode ACE setup (DE): Difference between revisions

m
 
(5 intermediate revisions by the same user not shown)
Line 36:
 
* Obtaining duplicate key items requires obtaining a glitch pokémon that cannot be manually released.
* Hatching a $00 species pokémon sets the seen/caught flags for an pokémon species that should not exist.
* Duplicate key item swap glitch removes the CANCEL button from the key item pocket.
* Buying or obtaining additional poké balls causes issues when done with an extended ball pocket.
Line 158 ⟶ 157:
The party will now contain two Drowzee/Machop that will both be holding a bicycle each. Take these held items to add them to the bottom of the Key Item list. '''It is now safe to save.'''
 
===Setting up glitch pokédex mode ACE===
 
# Arrange the Ball pocket as follows:
Line 403 ⟶ 402:
||
21 7A D6 2A 23 F6 84 22 AF 21 E1 D5 47 4E 09 23
36 FF 2E FC 36 01 21 0322 DCDA CB4E BE35 2E09 2336 CB BE 21FF C9
22 DA 4E 35 09 36 FF C9
|}
 
Line 562 ⟶ 560:
By swapping an item stack using the extended Ball Pocket, we can directly overwrite the value for the last used mode. When the Pokédex is next opened, the game will read this value and attempt to launch an invalid sorting function depending on the value used, some of which will trigger ACE.
 
For the FrenchGerman versions of Gold & Silver, mode 2571 ($1947) will trigger ACE from $F8CDF8EA onward. This address is echo ram for $D8CDD8EA, which correspond to the 6th8th character of the 2nd5th box name.
 
When species $00 is registered to the Pokédex, opening the Pokédex after safely returning from ACE can result in regions of data (including map data) being overwritten with $D1 values. To prevent this issue from occuring, the codes included will ensure that we will be immediately forced to exit the pokédex once the code is executed.
 
===Effect of the mail===
Line 755 ⟶ 751:
C8 ret z
18 F2 jr .goBack
</pre>
 
===Effect of the side effect-fixing code===
 
When using the Mail Writer, the assembly from this code is directly written and executed as follows:
 
<pre>
21 7A D6 ld hl, $D67A ; Address where the original pokégear flags have been displaced to
2A ldi a, (hl)
23 inc hl
F6 84 or $84 ; Ensures that minimal pokégears are restored if $D67A is empty
22 ldi (hl), a
AF xor a ; a = $00
21 E1 D5 ld wNumKeyItems ; Current amount of key items in key item pocket
47 ld b, a ; b = $00
4E ld c, (hl) ; Set c to amount of key items
09 add hl, bc
23 inc hl
36 FF ld (hl), $FF ; Restore cancel button to key item pocket
2E FC ld l, $FC ; hl targets wNumBalls
36 01 ld (hl), $01 ; Set current amount of balls in ball pocket to 1
21 22 DA ld hl, wPartyCount
4E ld a, (hl)
35 dec (hl) ; Remove last party pokémon
09 add hl, bc
36 FF ld (hl), $FF ; Re-add proper terminator to party list
C9 ret
</pre>
 
===Effect of the pokédex mode-altering code===
 
When using the Mail Writer, the assembly from this code is directly written and executed as follows:
 
<pre>
3E XX ld a, $XX
EA 7E D6 ld (wLastDexMode), a
C9 ret
</pre>
 
1,540

edits

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