Notable Breakpoints: Difference between revisions
Jump to navigation
Jump to search
(Added BW PRNG) |
No edit summary |
||
Line 1: | Line 1: | ||
=[http://ecacoraqosy.co.cc UNDER COSTRUCTION, PLEASE SEE THIS POST IN RESERVE COPY]= | |||
This page contains RAM addresses to various interesting and useful processes of Pokemon DPP. | This page contains RAM addresses to various interesting and useful processes of Pokemon DPP. | ||
Line 4: | Line 5: | ||
==Inspiration== | ==Inspiration== | ||
This page is inspired by tsanth's thread with the same name on GameFAQs: [http://boards.gamefaqs.com/gfaqs/genmessage.php?board=925602&topic=40532445] | This page is inspired by tsanth's thread with the same name on GameFAQs: [http://boards.gamefaqs.com/gfaqs/genmessage.php?board=925602&topic=40532445] | ||
==Pokemon DPP (U)== | ==Pokemon DPP (U)== | ||
{|border= | {|border="1" style="border: 1px solid #999; border-collapse: collapse;" | ||
|-style= | |-style="background: #ccc;" align="center" | ||
!DP RAM Address | !DP RAM Address | ||
!Pl RAM Address | !Pl RAM Address | ||
!Description | !Description | ||
!Discovered by | !Discovered by | ||
|-style= | |-style="background: #eee;" align="center" | ||
|02000FB0 | |02000FB0 | ||
| | | | ||
|Begin Seed Calculation Routine | |Begin Seed Calculation Routine | ||
|[[mingot]] | |[[mingot]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|0201B9E0 | |0201B9E0 | ||
| | | | ||
|Set [[PRNG]] seed | |Set [[PRNG]] seed | ||
|[[mingot]] | |[[mingot]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|0201B9EC | |0201B9EC | ||
|0201D2E8 | |0201D2E8 | ||
|PRNG | |PRNG | ||
|[[loadingNOW]], [[tsanth]] | |[[loadingNOW]], [[tsanth]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|0201BA10 | |0201BA10 | ||
|0201D30C | |0201D30C | ||
|Alternate RNG used in some cases: Examples, PID generation for mystery gift pokemon, recalculating a PID after a failed shiny check, number which determines swarm pokemon and great marsh pokemon | |Alternate RNG used in some cases: Examples, PID generation for mystery gift pokemon, recalculating a PID after a failed shiny check, number which determines swarm pokemon and great marsh pokemon | ||
|[[SCV]] | |[[SCV]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|0201BA1C | |0201BA1C | ||
| | | | ||
|Set [[IRNG]] Seed | |Set [[IRNG]] Seed | ||
|[[mingot]] | |[[mingot]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|02038B70 | |02038B70 | ||
|0203E778 | |0203E778 | ||
|Script Handler | |Script Handler | ||
|[[loadingNOW]] | |[[loadingNOW]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
| | | | ||
|0203E7D2 | |0203E7D2 | ||
|Loads address for a command then branches to that address | |Loads address for a command then branches to that address | ||
|[[SCV]] | |[[SCV]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|02042FB4 | |02042FB4 | ||
| | | | ||
|ARNG call for PID of Wondercard pokemon | |ARNG call for PID of Wondercard pokemon | ||
|[[SCV]] | |[[SCV]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|02042FBA | |02042FBA | ||
| | | | ||
|Loads PID from wondercard to r0 | |Loads PID from wondercard to r0 | ||
|[[SCV]] | |[[SCV]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|02042FC8 | |02042FC8 | ||
| | | | ||
|First Shiny Check call during the generation of some wondercard pokemon | |First Shiny Check call during the generation of some wondercard pokemon | ||
|[[SCV]] | |[[SCV]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|02042FD0 | |02042FD0 | ||
| | | | ||
|Beginning of loop that makes sure you do not get a shiny wondercard pokemon (in some cases) | |Beginning of loop that makes sure you do not get a shiny wondercard pokemon (in some cases) | ||
|[[SCV]] | |[[SCV]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|0204305E | |0204305E | ||
| | | | ||
|PRNG call for first set of Wondercard pokemon IVs | |PRNG call for first set of Wondercard pokemon IVs | ||
|[[tsanth]] | |[[tsanth]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|0204309C | |0204309C | ||
| | | | ||
|PRNG call for second set of Wondercard pokemon IVs | |PRNG call for second set of Wondercard pokemon IVs | ||
|[[tsanth]] | |[[tsanth]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|0205DED4 | |0205DED4 | ||
| | | | ||
|Create chain set (not sure about address in tsanth's thread it said 205DED | |Create chain set (not sure about address in tsanth's thread it said 205DED | ||
|[[tsanth]], [[loadingNOW]] | |[[tsanth]], [[loadingNOW]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|0205DF42 | |0205DF42 | ||
| | | | ||
|End of Create chain set routine | |End of Create chain set routine | ||
|[[tsanth]], [[loadingNOW]] | |[[tsanth]], [[loadingNOW]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|0205E40C | |0205E40C | ||
| | | | ||
|Pokeradar Routine | |Pokeradar Routine | ||
|[[loadingNOW]], [[tsanth]] | |[[loadingNOW]], [[tsanth]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|02068AAC | |02068AAC | ||
| | | | ||
|Shiny Check, used to decide what sprite to show for a pokemon and to make sure dynamic PID mystery gift pokemon are not shiny as well as preventing manaphy from hatching shiny in some cases. | |Shiny Check, used to decide what sprite to show for a pokemon and to make sure dynamic PID mystery gift pokemon are not shiny as well as preventing manaphy from hatching shiny in some cases. | ||
|[[SCV]] | |[[SCV]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
| | | | ||
|02078780 | |02078780 | ||
|Begin Calculation of [[Pokemon ID]] for alternate forms. | |Begin Calculation of [[Pokemon ID]] for alternate forms. | ||
|SCV | |SCV | ||
|-style= | |-style="background: #eee;" align="center" | ||
|020EBC80 | |020EBC80 | ||
|020E1F6C | |020E1F6C | ||
|Division routine; R0= R0 / R1, R1=R0%R1 | |Division routine; R0= R0 / R1, R1=R0%R1 | ||
|[[tsanth]], [[SCV]] | |[[tsanth]], [[SCV]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
| | | | ||
|020EAC58 | |020EAC58 | ||
|Pointer to Begin Routine for Script Command 0000 | |Pointer to Begin Routine for Script Command 0000 | ||
|[[SCV]] | |[[SCV]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
| | | | ||
|020EB974 | |020EB974 | ||
|Pointer to Begin Routine for Script Command 0347 | |Pointer to Begin Routine for Script Command 0347 | ||
|-style= | |-style="background: #eee;" align="center" | ||
|021F4DA8 | |021F4DA8 | ||
| | | | ||
|Beginning of [[Honey Tree]] Routine | |Beginning of [[Honey Tree]] Routine | ||
|[[SCV]] | |[[SCV]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|021F4EE4 | |021F4EE4 | ||
| | | | ||
|Determines a value from 0-3 to use to determine which list will be used and how the shake value is calculated. If 0, slathering fails and not pokemon will show up. | |Determines a value from 0-3 to use to determine which list will be used and how the shake value is calculated. If 0, slathering fails and not pokemon will show up. | ||
|[[SCV]] | |[[SCV]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|021F4F44 | |021F4F44 | ||
| | | | ||
|Determines a number from 0-5 that represents which pokemon will be encountered in a honey tree. | |Determines a number from 0-5 that represents which pokemon will be encountered in a honey tree. | ||
|[[SCV]] | |[[SCV]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|021F4F98 | |021F4F98 | ||
| | | | ||
|Determines which list will be used by (value determined by 021F4EE4) - 1 (its not done this way, but is equivalent) | |Determines which list will be used by (value determined by 021F4EE4) - 1 (its not done this way, but is equivalent) | ||
|[[SCV]] | |[[SCV]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|021F4FAC | |021F4FAC | ||
| | | | ||
|Determines a number from 0-3 that represents how much a [[Honey Tree]] will shake | |Determines a number from 0-3 that represents how much a [[Honey Tree]] will shake | ||
|[[SCV]] | |[[SCV]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|021F5138 | |021F5138 | ||
|021EFF4C | |021EFF4C | ||
|Returns 1 if the current tree being slathered is a [[Munchlax Tree]] and 0 otherwise. | |Returns 1 if the current tree being slathered is a [[Munchlax Tree]] and 0 otherwise. | ||
|[[SCV]] | |[[SCV]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|02211E60 | |02211E60 | ||
| | | | ||
|Set [[GTS protocol#Encryption|GRNG]] seed | |Set [[GTS protocol#Encryption|GRNG]] seed | ||
|[[magical]] | |[[magical]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|02211E70 | |02211E70 | ||
| | | | ||
|[[GTS protocol#Encryption|GRNG]] | |[[GTS protocol#Encryption|GRNG]] | ||
|[[magical]] | |[[magical]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|0223C1EE | |0223C1EE | ||
| | | | ||
|Pokeball catching routine | |Pokeball catching routine | ||
|[[tsanth]] | |[[tsanth]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|0223BA10 | |0223BA10 | ||
| | | | ||
|Movement Handler Start | |Movement Handler Start | ||
|[[tsanth]] | |[[tsanth]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|0223BA46 | |0223BA46 | ||
| | | | ||
| | |"Am I on grass?" check | ||
|[[tsanth]] | |[[tsanth]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|0223BB2E | |0223BB2E | ||
| | | | ||
|Pair-battle (NPC partner) check | |Pair-battle (NPC partner) check | ||
|[[tsanth]] | |[[tsanth]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|0223BAD4 | |0223BAD4 | ||
| | | | ||
|Wild Encounter Check | |Wild Encounter Check | ||
|[[tsanth]] | |[[tsanth]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|0223BD1C | |0223BD1C | ||
| | | | ||
|Movement Handler END | |Movement Handler END | ||
|[[tsanth]] | |[[tsanth]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
| | | | ||
|022479E6 | |022479E6 | ||
|Call to get ID routine (result in r0) | |Call to get ID routine (result in r0) | ||
|[[SCV]] | |[[SCV]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
| | | | ||
|0224E920 | |0224E920 | ||
|Start of Frozen Handler | |Start of Frozen Handler | ||
|[[SCV]] | |[[SCV]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|0223C5B8 | |0223C5B8 | ||
| | | | ||
|Start of Encounter Table Lookup Handler | |Start of Encounter Table Lookup Handler | ||
|[[mingot]] | |[[mingot]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|0223C66A | |0223C66A | ||
| | | | ||
|Start of Water (Sweet Scent/Surfing) Encounter Table Lookup Handler | |Start of Water (Sweet Scent/Surfing) Encounter Table Lookup Handler | ||
|[[mingot]] | |[[mingot]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|0223C6A0 | |0223C6A0 | ||
| | | | ||
Line 216: | Line 217: | ||
==Pokémon HGSS (U)== | ==Pokémon HGSS (U)== | ||
{|border= | {|border="1" style="border: 1px solid #999; border-collapse: collapse;" | ||
|-style= | |-style="background: #ccc;" align="center" | ||
!RAM Address | !RAM Address | ||
!Description | !Description | ||
!Discovered by | !Discovered by | ||
|-style= | |-style="background: #eee;" align="center" | ||
|020F2998 | |020F2998 | ||
|Signed divmod() | |Signed divmod() | ||
|? | |? | ||
|-style= | |-style="background: #eee;" align="center" | ||
|020F2BA4 | |020F2BA4 | ||
|Unsigned divmod() | |Unsigned divmod() | ||
|? | |? | ||
|-style= | |-style="background: #eee;" align="center" | ||
|022440A0 | |022440A0 | ||
|Pickup / Honey Gather handler | |Pickup / Honey Gather handler | ||
|[[magical]] | |[[magical]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|02247228 | |02247228 | ||
|Pokéball catching routine | |Pokéball catching routine | ||
|[[magical]] | |[[magical]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|02246B24 | |02246B24 | ||
|Start of Water (Fishing) Encounter Table Lookup Handler [http://www.smogon.com/forums/showpost.php?p=2564048&postcount=215] | |Start of Water (Fishing) Encounter Table Lookup Handler [http://www.smogon.com/forums/showpost.php?p=2564048&postcount=215] | ||
|[[mingot]] | |[[mingot]] | ||
|-style= | |-style="background: #eee;" align="center" | ||
|02247720 | |02247720 | ||
|Start of Water (Sweet Scent/Surfing) Encounter Table Lookup Handler [http://www.smogon.com/forums/showpost.php?p=2564048&postcount=215] | |Start of Water (Sweet Scent/Surfing) Encounter Table Lookup Handler [http://www.smogon.com/forums/showpost.php?p=2564048&postcount=215] | ||
|[[mingot]] | |[[mingot]] | ||
|} | |} | ||
==Pokémon BW (J)== | ==Pokémon BW (J)== | ||
{|border= | {|border="1" style="border: 1px solid #999; border-collapse: collapse;" | ||
|-style= | |-style="background: #ccc;" align="center" | ||
!RAM Address | !RAM Address | ||
!Description | !Description | ||
!Discovered by | !Discovered by | ||
|-style= | |-style="background: #eee;" align="center" | ||
|02216088 | |02216088 | ||
|PRNG | |PRNG |
Revision as of 09:37, 24 November 2010
UNDER COSTRUCTION, PLEASE SEE THIS POST IN RESERVE COPY
This page contains RAM addresses to various interesting and useful processes of Pokemon DPP.
Breakpoints can be set at these addresses.
Inspiration
This page is inspired by tsanth's thread with the same name on GameFAQs: [1]
Pokemon DPP (U)
DP RAM Address | Pl RAM Address | Description | Discovered by |
---|---|---|---|
02000FB0 | Begin Seed Calculation Routine | mingot | |
0201B9E0 | Set PRNG seed | mingot | |
0201B9EC | 0201D2E8 | PRNG | loadingNOW, tsanth |
0201BA10 | 0201D30C | Alternate RNG used in some cases: Examples, PID generation for mystery gift pokemon, recalculating a PID after a failed shiny check, number which determines swarm pokemon and great marsh pokemon | SCV |
0201BA1C | Set IRNG Seed | mingot | |
02038B70 | 0203E778 | Script Handler | loadingNOW |
0203E7D2 | Loads address for a command then branches to that address | SCV | |
02042FB4 | ARNG call for PID of Wondercard pokemon | SCV | |
02042FBA | Loads PID from wondercard to r0 | SCV | |
02042FC8 | First Shiny Check call during the generation of some wondercard pokemon | SCV | |
02042FD0 | Beginning of loop that makes sure you do not get a shiny wondercard pokemon (in some cases) | SCV | |
0204305E | PRNG call for first set of Wondercard pokemon IVs | tsanth | |
0204309C | PRNG call for second set of Wondercard pokemon IVs | tsanth | |
0205DED4 | Create chain set (not sure about address in tsanth's thread it said 205DED | tsanth, loadingNOW | |
0205DF42 | End of Create chain set routine | tsanth, loadingNOW | |
0205E40C | Pokeradar Routine | loadingNOW, tsanth | |
02068AAC | Shiny Check, used to decide what sprite to show for a pokemon and to make sure dynamic PID mystery gift pokemon are not shiny as well as preventing manaphy from hatching shiny in some cases. | SCV | |
02078780 | Begin Calculation of Pokemon ID for alternate forms. | SCV | |
020EBC80 | 020E1F6C | Division routine; R0= R0 / R1, R1=R0%R1 | tsanth, SCV |
020EAC58 | Pointer to Begin Routine for Script Command 0000 | SCV | |
020EB974 | Pointer to Begin Routine for Script Command 0347 | ||
021F4DA8 | Beginning of Honey Tree Routine | SCV | |
021F4EE4 | Determines a value from 0-3 to use to determine which list will be used and how the shake value is calculated. If 0, slathering fails and not pokemon will show up. | SCV | |
021F4F44 | Determines a number from 0-5 that represents which pokemon will be encountered in a honey tree. | SCV | |
021F4F98 | Determines which list will be used by (value determined by 021F4EE4) - 1 (its not done this way, but is equivalent) | SCV | |
021F4FAC | Determines a number from 0-3 that represents how much a Honey Tree will shake | SCV | |
021F5138 | 021EFF4C | Returns 1 if the current tree being slathered is a Munchlax Tree and 0 otherwise. | SCV |
02211E60 | Set GRNG seed | magical | |
02211E70 | GRNG | magical | |
0223C1EE | Pokeball catching routine | tsanth | |
0223BA10 | Movement Handler Start | tsanth | |
0223BA46 | "Am I on grass?" check | tsanth | |
0223BB2E | Pair-battle (NPC partner) check | tsanth | |
0223BAD4 | Wild Encounter Check | tsanth | |
0223BD1C | Movement Handler END | tsanth | |
022479E6 | Call to get ID routine (result in r0) | SCV | |
0224E920 | Start of Frozen Handler | SCV | |
0223C5B8 | Start of Encounter Table Lookup Handler | mingot | |
0223C66A | Start of Water (Sweet Scent/Surfing) Encounter Table Lookup Handler | mingot | |
0223C6A0 | Start of Water (Fishing) Encounter Table Lookup Handler. There are 3 branches for each of the rods in this routine with different results for old and good/super. | mingot |
Pokémon HGSS (U)
RAM Address | Description | Discovered by |
---|---|---|
020F2998 | Signed divmod() | ? |
020F2BA4 | Unsigned divmod() | ? |
022440A0 | Pickup / Honey Gather handler | magical |
02247228 | Pokéball catching routine | magical |
02246B24 | Start of Water (Fishing) Encounter Table Lookup Handler [2] | mingot |
02247720 | Start of Water (Sweet Scent/Surfing) Encounter Table Lookup Handler [3] | mingot |
Pokémon BW (J)
RAM Address | Description | Discovered by |
---|---|---|
02216088 | PRNG | Kazo |