<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://projectpokemon.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Magical</id>
	<title>ProjectPokemon Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://projectpokemon.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Magical"/>
	<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/Special:Contributions/Magical"/>
	<updated>2026-04-19T16:38:16Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=Notable_Breakpoints&amp;diff=5068</id>
		<title>Notable Breakpoints</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=Notable_Breakpoints&amp;diff=5068"/>
		<updated>2014-12-31T01:37:52Z</updated>

		<summary type="html">&lt;p&gt;Magical: /* Pokémon X / Y (U) */ add capture routine&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains RAM addresses to various interesting and useful processes of GBA and DS Pokemon games. &lt;br /&gt;
&lt;br /&gt;
Breakpoints can be set at these addresses.&lt;br /&gt;
&lt;br /&gt;
==Inspiration==&lt;br /&gt;
This page is inspired by tsanth&#039;s thread with the same name on GameFAQs: [http://boards.gamefaqs.com/gfaqs/genmessage.php?board=925602&amp;amp;topic=40532445]&lt;br /&gt;
&lt;br /&gt;
==Pokemon DPP (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!DP RAM Address&lt;br /&gt;
!Pl RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02000C54&lt;br /&gt;
|02000C88&lt;br /&gt;
|Main() &lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02000FB0&lt;br /&gt;
|02001034&lt;br /&gt;
|Begin Seed Calculation Routine&lt;br /&gt;
|[[mingot]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201B9E0&lt;br /&gt;
|0201D2DC&lt;br /&gt;
|Set [[PRNG]] seed&lt;br /&gt;
|[[mingot]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201B9EC&lt;br /&gt;
|0201D2E8&lt;br /&gt;
|PRNG&lt;br /&gt;
|[[loadingNOW]], [[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201BA10&lt;br /&gt;
|0201D30C&lt;br /&gt;
|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&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201BA1C&lt;br /&gt;
|0201D318&lt;br /&gt;
|Set [[IRNG]] Seed&lt;br /&gt;
|[[mingot, arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02038B70&lt;br /&gt;
|0203E778&lt;br /&gt;
|Script Handler&lt;br /&gt;
|[[loadingNOW]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|0203E7D2&lt;br /&gt;
|Loads address for a command then branches to that address&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FB4&lt;br /&gt;
|0204BAFC&lt;br /&gt;
|ARNG call for PID of Wondercard pokemon&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FBA&lt;br /&gt;
|0204BB02&lt;br /&gt;
|Loads PID from wondercard to r0&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FC8&lt;br /&gt;
|0204BB10&lt;br /&gt;
|First Shiny Check call during the generation of some wondercard pokemon&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FD0&lt;br /&gt;
|0204BB18&lt;br /&gt;
|Beginning of loop that makes sure you do not get a shiny wondercard pokemon (in some cases)&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0204305E&lt;br /&gt;
|0204BBA6&lt;br /&gt;
|PRNG call for first set of Wondercard pokemon IVs&lt;br /&gt;
|[[tsanth]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0204309C&lt;br /&gt;
|0204BBE4&lt;br /&gt;
|PRNG call for second set of Wondercard pokemon IVs&lt;br /&gt;
|[[tsanth]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205DED4&lt;br /&gt;
|&lt;br /&gt;
|Create chain set (not sure about address in tsanth&#039;s thread it said 205DED&lt;br /&gt;
|[[tsanth]], [[loadingNOW]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205DF42&lt;br /&gt;
|&lt;br /&gt;
|End of Create chain set routine&lt;br /&gt;
|[[tsanth]], [[loadingNOW]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205E40C&lt;br /&gt;
|02069B00&lt;br /&gt;
|Pokeradar Routine&lt;br /&gt;
|[[loadingNOW]], [[tsanth]], [[arcee]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02068AAC&lt;br /&gt;
|02075E38&lt;br /&gt;
|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.&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|02075C86&lt;br /&gt;
|128 step RNG advancement&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|0207760E&lt;br /&gt;
|Poketch check @ daycare screen&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0206A90C&lt;br /&gt;
|02078780&lt;br /&gt;
|Begin Calculation of [[Pokemon ID]] for alternate forms.&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020EBC80&lt;br /&gt;
|020E1F6C&lt;br /&gt;
|Division routine; R0= R0 / R1, R1=R0%R1&lt;br /&gt;
|[[tsanth]], [[SCV]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|020EAC58&lt;br /&gt;
|Pointer to Begin Routine for Script Command 0000&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|020EB974&lt;br /&gt;
|Pointer to Begin Routine for Script Command 0347&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C4D48&lt;br /&gt;
|021BFB14&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Kazo]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C4D4C&lt;br /&gt;
|021BFB18&lt;br /&gt;
|Mersenne Twister Lookup Table&lt;br /&gt;
|[[Kazo]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4DA8&lt;br /&gt;
|&lt;br /&gt;
|Beginning of [[Honey Tree]] Routine&lt;br /&gt;
|[[SCV]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4EE4&lt;br /&gt;
|&lt;br /&gt;
|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.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4F44&lt;br /&gt;
|&lt;br /&gt;
|Determines a number from 0-5 that represents which pokemon will be encountered in a honey tree.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4F98&lt;br /&gt;
|&lt;br /&gt;
|Determines which list will be used by  (value determined by 021F4EE4) - 1 (its not done this way, but is equivalent)&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4FAC&lt;br /&gt;
|&lt;br /&gt;
|Determines a number from 0-3 that represents how much a [[Honey Tree]] will shake&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F5138&lt;br /&gt;
|021EFF4C&lt;br /&gt;
|Returns 1 if the current tree being slathered is a [[Munchlax Tree]] and 0 otherwise.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02211E60&lt;br /&gt;
|&lt;br /&gt;
|Set [[GTS protocol#Encryption|GRNG]] seed&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02211E70&lt;br /&gt;
|&lt;br /&gt;
|[[GTS protocol#Encryption|GRNG]]&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BA10&lt;br /&gt;
|&lt;br /&gt;
|Movement Handler Start&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BA46&lt;br /&gt;
|&lt;br /&gt;
|&amp;quot;Am I on grass?&amp;quot; check&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BAD4&lt;br /&gt;
|&lt;br /&gt;
|Wild Encounter Check&lt;br /&gt;
|[[tsanth]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BB2E&lt;br /&gt;
|&lt;br /&gt;
|Pair-battle (NPC partner) check&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BD1C&lt;br /&gt;
|&lt;br /&gt;
|Movement Handler END&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C1EE &lt;br /&gt;
|022377A2&lt;br /&gt;
|Pokeball catching routine&lt;br /&gt;
|[[tsanth, arcee]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C5B8&lt;br /&gt;
|&lt;br /&gt;
|Start of Encounter Table Lookup Handler&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C66A&lt;br /&gt;
|&lt;br /&gt;
|Start of Water (Sweet Scent/Surfing) Encounter Table Lookup Handler&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C6A0&lt;br /&gt;
|&lt;br /&gt;
|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.&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|022417F4&lt;br /&gt;
|Encounter- terrain check&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|02241848&lt;br /&gt;
|Encounter- motion mod&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|022479E6&lt;br /&gt;
|Call to get ID routine (result in r0)&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|0224E920&lt;br /&gt;
|Start of Frozen Handler&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
0224190A - ESV calc&lt;br /&gt;
02241B28 - nature calc (probably)&lt;br /&gt;
&lt;br /&gt;
==Pokémon HGSS (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02000CA4&lt;br /&gt;
|Main()&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201FD44&lt;br /&gt;
|PRNG advancement routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201FD68&lt;br /&gt;
|Alternate(simpler) PRNG&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0204BFF0&lt;br /&gt;
|Wondercard pokemon generation- full routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02061E2A&lt;br /&gt;
|NPC movement&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0206C9D8&lt;br /&gt;
|International shiny PID generation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02070068&lt;br /&gt;
|Shiny check&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020D34B0&lt;br /&gt;
|Make wondercard PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020D3A38&lt;br /&gt;
|Disable slow IRQ&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020D3A4C&lt;br /&gt;
|Enable slow IRQ&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020F2998&lt;br /&gt;
|Signed divmod()&lt;br /&gt;
|?&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020F2BA4&lt;br /&gt;
|Unsigned divmod()&lt;br /&gt;
|?&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0210F6CC&lt;br /&gt;
|Mersenne Twister lookup table counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D15A8&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Kazo]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D15AC&lt;br /&gt;
|Mersenne Twister lookup table&lt;br /&gt;
|[[Kazo]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021E19DC&lt;br /&gt;
|Upper half of wondercard PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022440A0&lt;br /&gt;
|Pickup / Honey Gather handler&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02246B24&lt;br /&gt;
|Start of Water (Fishing) Encounter Table Lookup Handler [http://www.smogon.com/forums/showpost.php?p=2564048&amp;amp;postcount=215]&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02246FCC&lt;br /&gt;
|Fishing decision&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02247228&lt;br /&gt;
|Pokéball catching routine&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022475F2&lt;br /&gt;
|Partial encounter calc- movement modifier&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0224767A&lt;br /&gt;
|Partial encounter calc- ability/item modifier&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02247698&lt;br /&gt;
|Encounter slots&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02247720&lt;br /&gt;
|Start of Water (Sweet Scent/Surfing) Encounter Table Lookup Handler [http://www.smogon.com/forums/showpost.php?p=2564048&amp;amp;postcount=215]&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022477C0&lt;br /&gt;
|Headbutt tree encounter slots (Post-National Dex)&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022483C4&lt;br /&gt;
|Partial encounter calc- roamer modifier&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02108514&lt;br /&gt;
|Starter species in RAM(in the decompressed arm9 @ 108514)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon BW (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|01FF8000&lt;br /&gt;
|ITCM start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|01FF80F0&lt;br /&gt;
|ARM9 IRQ Handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005124&lt;br /&gt;
|main() function- infinite main/busy loop that runs the game starts at 02005166&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200520C&lt;br /&gt;
|VBlank handler function&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020056D0&lt;br /&gt;
|Set up both main RNGs for use&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020056EC&lt;br /&gt;
|PRNG advancement routine 1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005728&lt;br /&gt;
|PRNG advancement routine 2&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200852C&lt;br /&gt;
|Store sidtid as uint&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201778C&lt;br /&gt;
|IV creation routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02017EF4&lt;br /&gt;
|Shiny check routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02018746 &lt;br /&gt;
|PID type decision&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02018788&lt;br /&gt;
|Shiny prevention routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02019A6C&lt;br /&gt;
|PKM + RAM encryption&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02035F50&lt;br /&gt;
|Input handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203EFE0&lt;br /&gt;
|memcmp()- memory compare: 2 pointers and length of comparison(in bytes))&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F04C&lt;br /&gt;
|Set init MT seed (seed = init rng &amp;gt;&amp;gt; 32)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F078&lt;br /&gt;
|ARNG(same as gen 4)- build initial MT seed table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F0C0&lt;br /&gt;
|Mersenne Twister seed table handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F270&lt;br /&gt;
|Initial Seed Creation Routine&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F374&lt;br /&gt;
|.sav encryption&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020592E8&lt;br /&gt;
|MD5 hashing routine for wifi&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0207FD4C&lt;br /&gt;
|VRAM bank control handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02082BE4&lt;br /&gt;
|Takes 3 arguments: pointer to start of data write, length(in bytes) of data to write, uint to write multiple times- used constantly for clearing freed memory&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02082D5C&lt;br /&gt;
|memcpy32()- accepts pointer to data start, pointer to copy start, and a length in bytes to copy&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02085D54&lt;br /&gt;
|DSi Detection Routine&lt;br /&gt;
|[[chiizu]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02088A98&lt;br /&gt;
|Date/time switch statement- used to grab pieces of the date and time and convert them to hex&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02088E74&lt;br /&gt;
|Convert BCD-&amp;gt;hex, for RTC&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020946AC&lt;br /&gt;
|Metrowerks ARM-provided lib rand- used for DS-to-DS handshake&lt;br /&gt;
|[[XFR]],[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0209C0C4&lt;br /&gt;
|Signed divmod- r0/r1, result in r0; r0%r1, result in r1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0209C2C8&lt;br /&gt;
|Unsigned divmod- r0/r1, result in r0; r0%r1, result in r1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020A1B50&lt;br /&gt;
|Model/texture definitions/positioning data&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020AA1C4&lt;br /&gt;
|RNG state pointer&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02146292&lt;br /&gt;
|Pokemon to be encountered&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02146974&lt;br /&gt;
|Pointer to the struct for the current heap being used&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02146A18&lt;br /&gt;
|Mersenne Twister seed table pointer&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02146A2C&lt;br /&gt;
|u32 date_time[8] (in hex)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02150920&lt;br /&gt;
|SVC mode stack location for card reads/writes&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02151260&lt;br /&gt;
|SWI/SVC mode stack&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02168844&lt;br /&gt;
|rand(0xFFFFFFFF) / 0xFFFF&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02168A52&lt;br /&gt;
|ID generation for Battle Subway partner&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021763DC&lt;br /&gt;
|Inside probability loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021763F8&lt;br /&gt;
|Probability routine- influences starting frame/seed&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02176444&lt;br /&gt;
|Outside probability loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02176C6C&lt;br /&gt;
|Probability table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02193914&lt;br /&gt;
|White Forest Trainer # Counter- returns # of trainers in White Forest&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A9370&lt;br /&gt;
|Pre-battle setup(battle test, etc)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A948C&lt;br /&gt;
|Double battle test&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A9DB2&lt;br /&gt;
|0x80000000 OR PID decision routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A9DE8&lt;br /&gt;
|((rand() * 0xFFFF) &amp;gt;&amp;gt; 32) /0x290 -&amp;gt; function is called quite a bit for multiple calcs&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A9DF8&lt;br /&gt;
|Fishing decision&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021AA41C&lt;br /&gt;
|Battle test/decision&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021AA43A&lt;br /&gt;
|Battle test&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021AA44C&lt;br /&gt;
|White Forest Battle Decision Routine- return 0 if no battle, 1 if there&#039;s a battle&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021AA700&lt;br /&gt;
|((rand() * 0xFFFF) &amp;gt;&amp;gt; 32) /0x290 -&amp;gt; seems to only be used for battle tests&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BC4F8&lt;br /&gt;
|Player setup on new game&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BC50A&lt;br /&gt;
|Make IDs&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C0A6C&lt;br /&gt;
|Battle routine(setup)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C390C&lt;br /&gt;
|Complete breeding routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C4048&lt;br /&gt;
|International breeding PID generation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C6C18&lt;br /&gt;
|Damage formula routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F6388&lt;br /&gt;
|Battle PRNG State&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02215374&lt;br /&gt;
|Mersenne Twister Lookup Table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02215D34&lt;br /&gt;
|Mersenne Twister Lookup Table Counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02216244&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221BBD0&lt;br /&gt;
|Start of save data in RAM(when saving, all relevant data is written here, then cart RAM, then .sav)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022394E0&lt;br /&gt;
|Date/time in hex - uint array&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C9D0&lt;br /&gt;
|Daycare pokemon 1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223CAB4&lt;br /&gt;
|Daycare pokemon 2&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223D8CC&lt;br /&gt;
|BP Counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0224120C&lt;br /&gt;
|Wifi RNG&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02250030&lt;br /&gt;
|Encounter slots in RAM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02257030&lt;br /&gt;
|Step Counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02257034&lt;br /&gt;
|Shaking Patch Step Counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0226DC5A&lt;br /&gt;
|Move Consecutive Use Counter (Wild Battle)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0226DC66&lt;br /&gt;
|Protect Consecutive Turn Counter (Wild Battle)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0226E70E&lt;br /&gt;
|Move Consecutive Use Counter (Trainer Battle)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0226E71A&lt;br /&gt;
|Protect Consecutive Turn Counter (Trainer Battle)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02274302&lt;br /&gt;
|Move Decision Dump (Wild Battle)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022BC734&lt;br /&gt;
|Are there trainers in White Forest? (bool)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0233F004&lt;br /&gt;
|Egg step counter&lt;br /&gt;
|[[ToastPlusOne]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE0000&lt;br /&gt;
|DTCM start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE0020&lt;br /&gt;
|Interrupt handler lookup table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE3780&lt;br /&gt;
|Main(user/system mode) stack start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE3F80&lt;br /&gt;
|IRQ mode stack start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE3FC0&lt;br /&gt;
|Supervisor mode stack start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FFFC3C&lt;br /&gt;
|Vertical blank counter buffer&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FFFDE8&lt;br /&gt;
|RTC buffer(char rtc[8])&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|037FBCEC&lt;br /&gt;
|ARM7 IRQ Handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02017638&lt;br /&gt;
|Pokemon creation routine(makePKM)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02019AB8&lt;br /&gt;
|PKM checksum generation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02019C54&lt;br /&gt;
|PKM block shuffling &lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F3A0&lt;br /&gt;
|Encrypt SAV, battle video, mystery gift&lt;br /&gt;
|[[Bond697]], [[Codr]], [[XFR]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02150E6C&lt;br /&gt;
|Graphics bank assignment struct&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214EA70&lt;br /&gt;
|Sound archive info struct&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02006984&lt;br /&gt;
|Play PKM cry- in battle and otherwise&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02011298&lt;br /&gt;
|Script handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0224FED4&lt;br /&gt;
|Expanded heap memory allocation struct&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02169024&lt;br /&gt;
|Runs everything that has to happen after midnight &lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200D440&lt;br /&gt;
|Swarm calculation and storage&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02151350&lt;br /&gt;
|Tick system&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0272E9E8&lt;br /&gt;
|DSi library overlay&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021E6184&lt;br /&gt;
|Moonlight modifier picker&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon BW (J)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005124&lt;br /&gt;
|Main()	&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022151D4&lt;br /&gt;
|Mersenne Twister Lookup Table	&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02215B94&lt;br /&gt;
|Mersenne Twister Lookup Table Counter	&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022160A8&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Kazo]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FFFC3C&lt;br /&gt;
|Delay&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FFFDE8&lt;br /&gt;
|Date&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|}&lt;br /&gt;
(All offsets are White offsets.  Black offsets are White offset minus 0x20)&lt;br /&gt;
&lt;br /&gt;
==Pokémon Emerald (J)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02024664&lt;br /&gt;
|Frame Counter&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03005AE0&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000248&lt;br /&gt;
|IRQ setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080003A4&lt;br /&gt;
|Main loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080005E4&lt;br /&gt;
|Keypress handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000758&lt;br /&gt;
|VBlank interrupt&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806F050&lt;br /&gt;
|PRNG Advancement Routine&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B413A&lt;br /&gt;
|Feebas setup routine on finding a Feebas tile&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08295E87&lt;br /&gt;
|Signed division&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08296518&lt;br /&gt;
|Modulus routine- r0 % r1, return result in r0&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08297D6C&lt;br /&gt;
|memset&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon Emerald (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02020000&lt;br /&gt;
|Timer1 storage on TID creation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020249C0&lt;br /&gt;
|Main RNG Frame counter&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03000DC0&lt;br /&gt;
|RTC array buffer(char rtc[8])&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03000E20&lt;br /&gt;
|Directional movement counters(possibly per frame)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|030022E0&lt;br /&gt;
|Timer PRNG Initial State (Egg PIDs)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03002750&lt;br /&gt;
|IRQ Handler (user mode)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03005D80&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03005D84&lt;br /&gt;
|Timer RNG Current Seed (Egg PIDs)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000248&lt;br /&gt;
|IRQ setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080003A4&lt;br /&gt;
|Main loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080005E4&lt;br /&gt;
|Keypress handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000738&lt;br /&gt;
|VBlank interrupt callback&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000988&lt;br /&gt;
|Memblock header setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000B1C&lt;br /&gt;
|Malloc init&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000B38&lt;br /&gt;
|Declare memblock(malloc()?)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B49E2&lt;br /&gt;
|Feebas setup routine on finding a Feebas tile&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B4AC8&lt;br /&gt;
|Encounter Slot&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B4C74&lt;br /&gt;
|Set level&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B4E2A&lt;br /&gt;
|Sync (bool)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B4E4C&lt;br /&gt;
|Nature Setup/Decision (skip &amp;quot;if(sync())&amp;quot;)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B5144&lt;br /&gt;
|Battle Test&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08067BF8&lt;br /&gt;
|Roamer creation start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08067E96&lt;br /&gt;
|PKM Building Routine (test temp PIDs, make IVs on success)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806D088&lt;br /&gt;
|Get nature from tempPID(pass tempPID as an arg, return nature value)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806F5CC&lt;br /&gt;
|PRNG Advancement Routine&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0817759E&lt;br /&gt;
|ARNG&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|082E7BE0&lt;br /&gt;
|Modulus routine- r0 % r1, return result in r0&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|082E7B68&lt;br /&gt;
|Division routine- r0 / r1, return result in r0&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|082E7540&lt;br /&gt;
|Division routine- r0 / r1, return result in r0&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08070AC4&lt;br /&gt;
|Make bred pokemon&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080701E0&lt;br /&gt;
|Make bred PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020241F0&lt;br /&gt;
|Damage storage- base dmg, etc&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08070266&lt;br /&gt;
|Inheritance- bugged to not prevent inheriting the same IV multiple times&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08070218&lt;br /&gt;
|Inheritance check- make sure the same IV isn&#039;t inherited multiple times- bugged due to the wrong argument being passed to it&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806AD9C&lt;br /&gt;
|Set PKM data field&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806A674&lt;br /&gt;
|Read PKM data field&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806A518&lt;br /&gt;
|Get PKM data field&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806ACAC&lt;br /&gt;
|Write PKM data field&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806DCB4&lt;br /&gt;
|Pokerus handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806DEC4&lt;br /&gt;
|Pokerus spread&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03004134&lt;br /&gt;
|IME store&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon Ruby / Sapphire (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02024D1C&lt;br /&gt;
|Quick Claw Determination&lt;br /&gt;
|[[FractalFusion]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020287E4 &lt;br /&gt;
|Egg Creation Step Counter&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03004818&lt;br /&gt;
|PRNG State&lt;br /&gt;
|Multiple&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03000460&lt;br /&gt;
|RTC&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0800024C&lt;br /&gt;
|Main loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080003E4&lt;br /&gt;
|Initial seed creation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000428&lt;br /&gt;
|Keypress handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0803AADC&lt;br /&gt;
|PID creation routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08040048&lt;br /&gt;
|Pokerus handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08040EA4&lt;br /&gt;
|Seed set routine, post creation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08040E84&lt;br /&gt;
|rand()&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08084AA6&lt;br /&gt;
|Feebas decision&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|081E0770&lt;br /&gt;
|Interrupts/SWIs&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080421B0&lt;br /&gt;
|Make bred PKM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080418F0&lt;br /&gt;
|Build bred PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|081E0E20&lt;br /&gt;
|Division r0/r1, result in r0&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|081E0E98&lt;br /&gt;
|Modulus r0%r1, result in r0&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08041960&lt;br /&gt;
|Inheritance check- insure no duplicate IVs&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon FireRed / LeafGreen (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02020000&lt;br /&gt;
|Timer1 storage on initial seed creation&lt;br /&gt;
|[[flovv, Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03005000&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000558&lt;br /&gt;
|Turn on Timer1 @ TM1CNT_H = 0x80&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000564&lt;br /&gt;
|Grab and return the value of Timer1 for use in seeding&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000570&lt;br /&gt;
|Turn off Timer1 @ TM1CNT_H = 0x0 and store the grabbed value to 0x02020000&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0803DA54&lt;br /&gt;
|Make PKM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08044EC8&lt;br /&gt;
|PRNG Advancement Routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02023D50&lt;br /&gt;
|Damage store&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon Ruby Debug Version (G)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|030048F8&lt;br /&gt;
|PRNG state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08045324&lt;br /&gt;
|PRNG Advancement Routine(rand())&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08085CEC&lt;br /&gt;
|ARNG Advancement Routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon B2W2 (J)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005124&lt;br /&gt;
|TwlMain&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005748&lt;br /&gt;
|RNG advancement routine 1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005784&lt;br /&gt;
|RNG advancement routine 2&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020158E8&lt;br /&gt;
|Script handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02043BE8&lt;br /&gt;
|Mersenne Twister setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02043C38&lt;br /&gt;
|Mersenne Twister handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02043DA4&lt;br /&gt;
|Seed building function&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A0E30&lt;br /&gt;
|Create wild PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021FE6E8&lt;br /&gt;
|Mersenne Twister table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0276FA88&lt;br /&gt;
|DSi Mersenne Twister table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021FF0A8&lt;br /&gt;
|Mersenne Twister table counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021FF5D8&lt;br /&gt;
|RNG state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02770978&lt;br /&gt;
|DSi RNG state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021707DC&lt;br /&gt;
|Probability table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0216FCE0&lt;br /&gt;
|Probability loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0216FCFC&lt;br /&gt;
|Inside probability loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B188&lt;br /&gt;
|Encounter slots in RAM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021DD22C&lt;br /&gt;
|Battle RNG state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221D3A4&lt;br /&gt;
|Item slots in RAM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022268D1&lt;br /&gt;
|Repel counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022260A4&lt;br /&gt;
|Cash&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022229A4&lt;br /&gt;
|Total steps&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223AEB4&lt;br /&gt;
|Current game(loaded save) step counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0208D574&lt;br /&gt;
|Unsigned divmod&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0208D368&lt;br /&gt;
|Signed divmod&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0209D46C&lt;br /&gt;
|RNG pointer&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A0E9A&lt;br /&gt;
|0x80000000 PID-OR decision&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A1994&lt;br /&gt;
|Shaking patch generation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0219FAE4&lt;br /&gt;
|Hardcoded trainer name length&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0219CB1C&lt;br /&gt;
|Hardcoded wild pokemon name length&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D9DEC&lt;br /&gt;
|Data entry setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BF190&lt;br /&gt;
|Hardcoded starter pokemon name length&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02249BD0&lt;br /&gt;
|Script info struct&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020825B8&lt;br /&gt;
|Abort on bad allocation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BDA68&lt;br /&gt;
|Breeding- normal/Shiny Charm/Masuda Method&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021412C0&lt;br /&gt;
|Mersenne Twister table pointer&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02153100&lt;br /&gt;
|Scripting system- memory allocation/setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022581F4&lt;br /&gt;
|Wild pokemon PID storage&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02181E80&lt;br /&gt;
|Hollow pokemon generation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02228B70&lt;br /&gt;
|Hollow pokemon data array(u16 hollow[20])&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200F84C&lt;br /&gt;
|Is hollow filled&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C8938&lt;br /&gt;
|Hollow fill decisions&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214BE7C&lt;br /&gt;
|SVC stack&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200F8B4&lt;br /&gt;
|Get hollow&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200F8BC&lt;br /&gt;
|Set hollow&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02228B98&lt;br /&gt;
|Current hollow number&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221DDAC&lt;br /&gt;
|Slot 1 PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221DE88&lt;br /&gt;
|Slot 2 PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221DF64&lt;br /&gt;
|Slot 3 PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221E040&lt;br /&gt;
|Slot 4 PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221E11C&lt;br /&gt;
|Slot 5 PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221E1F8&lt;br /&gt;
|Slot 6 PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0207A998&lt;br /&gt;
|DSi check&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214DC24&lt;br /&gt;
|Mic status&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200F898&lt;br /&gt;
|Set hollow gender&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200F830&lt;br /&gt;
|Enable hollow&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200F818&lt;br /&gt;
|Set subslot&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200F800&lt;br /&gt;
|Set slot&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205780C&lt;br /&gt;
|Build seed - wifi&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02241970&lt;br /&gt;
|Wifi RNG state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BCAC0&lt;br /&gt;
|Battle rand&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A5318&lt;br /&gt;
|Damage formula&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BCC58&lt;br /&gt;
|Base damage&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BCC80&lt;br /&gt;
|Damage type modifier&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005234&lt;br /&gt;
|Vblank calback&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201C4E0&lt;br /&gt;
|PKM creation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201CDC0&lt;br /&gt;
|Shiny check&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201D6E0&lt;br /&gt;
|PID creation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203D988&lt;br /&gt;
|Input handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BD21C&lt;br /&gt;
|Breeding&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02156410&lt;br /&gt;
|Create scripted pokemon&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02140B1E&lt;br /&gt;
|Current special pokemon being created&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201D644&lt;br /&gt;
|Special PID creation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02026858&lt;br /&gt;
|HM check&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B3E4&lt;br /&gt;
|Expanded heap memory allocation struct&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02141324&lt;br /&gt;
|G3D info struct&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214340C&lt;br /&gt;
|G3D global state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022263A4&lt;br /&gt;
|Pokedex data in RAM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02162A14&lt;br /&gt;
|Runs everything that has to happen after midnight &lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200DD20&lt;br /&gt;
|Swarm calculation and storage&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02141440&lt;br /&gt;
|VRAM transfer task array&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214BF70&lt;br /&gt;
|Tick System&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02258454&lt;br /&gt;
|Decrypted battle video allocation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
(All offsets are White offsets.)&lt;br /&gt;
&lt;br /&gt;
==Pokémon B2W2 (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005124&lt;br /&gt;
|TwlMain&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005748&lt;br /&gt;
|RNG advancement routine 1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005784&lt;br /&gt;
|RNG advancement routine 2&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201592C&lt;br /&gt;
|Script handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020191D8&lt;br /&gt;
|Read event flag&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02019204&lt;br /&gt;
|Update event flag&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201922C&lt;br /&gt;
|Set event flag&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201D688&lt;br /&gt;
|Create special PID (N&#039;s pokemon, etc)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201D724&lt;br /&gt;
|Create wild PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02026B44&lt;br /&gt;
|Check for a hidden machine move&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02043F08&lt;br /&gt;
|Mersenne Twister setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02043F58&lt;br /&gt;
|Mersenne Twister handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020440C4&lt;br /&gt;
|Seed building function&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0209DAC0&lt;br /&gt;
|Current music&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214185C&lt;br /&gt;
|Game Freak&#039;s memory allocator&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214C5B0&lt;br /&gt;
|Tick system&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02153748&lt;br /&gt;
|Scripting system- virtual machine pointer list and count&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02153978&lt;br /&gt;
|execute script&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A2428&lt;br /&gt;
|EV handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BDA74&lt;br /&gt;
|Breeding&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021DD88C&lt;br /&gt;
|Battle RNG state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021FED68&lt;br /&gt;
|Mersenne Twister table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021FF728&lt;br /&gt;
|Mersenne Twister table counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021FFC58&lt;br /&gt;
|RNG state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02205244&lt;br /&gt;
|Save data info&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0220528C&lt;br /&gt;
|Save data block list (12 bytes per block: blknum, size, start)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02205624&lt;br /&gt;
|Save data in RAM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02223024&lt;br /&gt;
|Total steps&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02225882&lt;br /&gt;
|Const data storage in RAM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02225524&lt;br /&gt;
|Event flag storage in RAM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02226328&lt;br /&gt;
|Daycare poke 1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0222640C&lt;br /&gt;
|Daycare poke 2&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022264F0&lt;br /&gt;
|Egg seed&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02226724&lt;br /&gt;
|Money&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022291F0&lt;br /&gt;
|Hollow pokemon data array&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B534&lt;br /&gt;
|Current game step counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE35C8&lt;br /&gt;
|Egg data local array in RAM(u32 eggData[34])&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021FFB00&lt;br /&gt;
|Overlays currently loaded list, 1 list each for EWRAM, ITCM, and DTCM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203CED0&lt;br /&gt;
|Overlay inspector&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203CE38&lt;br /&gt;
|Overlay loader&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D01C0&lt;br /&gt;
|N&#039;s pokemon&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D0230&lt;br /&gt;
|Swarm pokemon&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D0190&lt;br /&gt;
|Encounter slots&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D014C&lt;br /&gt;
|Item percentages&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D0B6C&lt;br /&gt;
|Move tutor&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D0310&lt;br /&gt;
|Dust cloud rewards&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D0420&lt;br /&gt;
|Field effect lookup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C9F90&lt;br /&gt;
|Fog table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C9F34&lt;br /&gt;
|Edge color table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D21B0&lt;br /&gt;
|Incense breeding lookup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0208F18C&lt;br /&gt;
|Save block action lookup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0208F948&lt;br /&gt;
|Form lookup (u16 pkmFormSet[21][2])&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0208FA58&lt;br /&gt;
|Key system keys&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02090394&lt;br /&gt;
|Rotom special moves&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020903A0&lt;br /&gt;
|Lookup table for adjusting stats for nature (u8 stat_nature_adjust[25][5])&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020904A0&lt;br /&gt;
|Lookup table for pkm block shuffling (u8 pkm_blk_shuf[32][4])&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02091C42&lt;br /&gt;
|State list&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02091B58&lt;br /&gt;
|Sweden county list&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02090CB0&lt;br /&gt;
|TM List(tm1-92, hm1-6, tm93-95)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02090B78&lt;br /&gt;
|Berries&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BD100&lt;br /&gt;
|Battle rand&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A5958&lt;br /&gt;
|Damage formula&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02141914 &lt;br /&gt;
|Main rtc date - year, month, day, week&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02141924&lt;br /&gt;
|Main rtc time - hour, minute, second&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020492E8&lt;br /&gt;
|Get resource and resource type: bva, bma, bca, btp, bmd, btx&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020493B0&lt;br /&gt;
|Load 3d gfx from narc(from already loaded narc)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02049370&lt;br /&gt;
|Load 3d gfx from file(load narc then file from narc)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020493F0&lt;br /&gt;
|Load 3d gfx from file path(from path to narc)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B484&lt;br /&gt;
|Map number&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B48A&lt;br /&gt;
|X pos&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B48E&lt;br /&gt;
|Z pos&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B492&lt;br /&gt;
|Y pos&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B49D&lt;br /&gt;
|Direction facing&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02246830&lt;br /&gt;
|Area data(zonedata)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0209DAA4&lt;br /&gt;
|VRAM transfer manager counter for successful transfer&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D7540&lt;br /&gt;
|Type-effectiveness chart(0- no effect, 2- .5x dmg, 4- 1x dmg, 8- 2x dmg)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BD1A0&lt;br /&gt;
|Determine type effectiveness for the current attack&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020308EC&lt;br /&gt;
|Set up opposing trainers and their pokes for battle&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0209D780&lt;br /&gt;
|Start of .sbss&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214F540&lt;br /&gt;
|End of .sbss&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon X / Y (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Location&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0015E958&lt;br /&gt;
|Unsigned 32-bit division&lt;br /&gt;
|ExeFS&lt;br /&gt;
|magical&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|00163CC4&lt;br /&gt;
|TinyMT PRNG&lt;br /&gt;
|ExeFS&lt;br /&gt;
|magical&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|00168660&lt;br /&gt;
|Decrypt pokemon&lt;br /&gt;
|ExeFS&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|001685F0&lt;br /&gt;
|Encrypt pokemon&lt;br /&gt;
|ExeFS&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0016B358&lt;br /&gt;
|Get block 0 pointer after shuffle&lt;br /&gt;
|ExeFS&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0016B3D4&lt;br /&gt;
|Get block 1 pointer after shuffle&lt;br /&gt;
|ExeFS&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|00176168&lt;br /&gt;
|Get block 2 pointer after shuffle&lt;br /&gt;
|ExeFS&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|001761E8&lt;br /&gt;
|Get block 3 pointer after shuffle&lt;br /&gt;
|ExeFS&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0018FB50&lt;br /&gt;
|powf&lt;br /&gt;
|ExeFS&lt;br /&gt;
|magical&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|003C71D8&lt;br /&gt;
|Do pickup and honey gather&lt;br /&gt;
|ExeFS&lt;br /&gt;
|magical&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|005455A8&lt;br /&gt;
|Pickup item table&lt;br /&gt;
|ExeFS&lt;br /&gt;
|magical&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0002EFC0&lt;br /&gt;
|Capture routine&lt;br /&gt;
|DllBattle.cro&lt;br /&gt;
|magical&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|000D12A8&lt;br /&gt;
|Type effectiveness table&lt;br /&gt;
|DllBattle.cro &lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
(All offsets are X offsets.)&amp;lt;br&amp;gt;&lt;br /&gt;
(CRO locations are offset, not address.)&lt;br /&gt;
&lt;br /&gt;
==Pokémon Omega Ruby / Alpha Sapphire (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Location&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|00168EC0&lt;br /&gt;
|Decrypt pokemon&lt;br /&gt;
|ExeFS&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|00168E50&lt;br /&gt;
|Encrypt pokemon&lt;br /&gt;
|ExeFS&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0016BC84&lt;br /&gt;
|Get block 0 pointer after shuffle&lt;br /&gt;
|ExeFS&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0016BD00&lt;br /&gt;
|Get block 1 pointer after shuffle&lt;br /&gt;
|ExeFS&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|00176EFC&lt;br /&gt;
|Get block 2 pointer after shuffle&lt;br /&gt;
|ExeFS&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0016BD80&lt;br /&gt;
|Get block 3 pointer after shuffle&lt;br /&gt;
|ExeFS&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|000DB428&lt;br /&gt;
|Type effectiveness table&lt;br /&gt;
|DllBattle.cro &lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
(All offsets are Omega Ruby offsets.)&amp;lt;br&amp;gt;&lt;br /&gt;
(CRO locations are offset, not address.)&lt;br /&gt;
[[Category:Technical References]]&lt;br /&gt;
[[Category:Structures]]&lt;/div&gt;</summary>
		<author><name>Magical</name></author>
	</entry>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=Notable_Breakpoints&amp;diff=5067</id>
		<title>Notable Breakpoints</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=Notable_Breakpoints&amp;diff=5067"/>
		<updated>2014-12-31T01:34:32Z</updated>

		<summary type="html">&lt;p&gt;Magical: /* Pokémon X / Y (U) */ add some breakpoints&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains RAM addresses to various interesting and useful processes of GBA and DS Pokemon games. &lt;br /&gt;
&lt;br /&gt;
Breakpoints can be set at these addresses.&lt;br /&gt;
&lt;br /&gt;
==Inspiration==&lt;br /&gt;
This page is inspired by tsanth&#039;s thread with the same name on GameFAQs: [http://boards.gamefaqs.com/gfaqs/genmessage.php?board=925602&amp;amp;topic=40532445]&lt;br /&gt;
&lt;br /&gt;
==Pokemon DPP (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!DP RAM Address&lt;br /&gt;
!Pl RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02000C54&lt;br /&gt;
|02000C88&lt;br /&gt;
|Main() &lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02000FB0&lt;br /&gt;
|02001034&lt;br /&gt;
|Begin Seed Calculation Routine&lt;br /&gt;
|[[mingot]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201B9E0&lt;br /&gt;
|0201D2DC&lt;br /&gt;
|Set [[PRNG]] seed&lt;br /&gt;
|[[mingot]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201B9EC&lt;br /&gt;
|0201D2E8&lt;br /&gt;
|PRNG&lt;br /&gt;
|[[loadingNOW]], [[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201BA10&lt;br /&gt;
|0201D30C&lt;br /&gt;
|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&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201BA1C&lt;br /&gt;
|0201D318&lt;br /&gt;
|Set [[IRNG]] Seed&lt;br /&gt;
|[[mingot, arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02038B70&lt;br /&gt;
|0203E778&lt;br /&gt;
|Script Handler&lt;br /&gt;
|[[loadingNOW]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|0203E7D2&lt;br /&gt;
|Loads address for a command then branches to that address&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FB4&lt;br /&gt;
|0204BAFC&lt;br /&gt;
|ARNG call for PID of Wondercard pokemon&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FBA&lt;br /&gt;
|0204BB02&lt;br /&gt;
|Loads PID from wondercard to r0&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FC8&lt;br /&gt;
|0204BB10&lt;br /&gt;
|First Shiny Check call during the generation of some wondercard pokemon&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FD0&lt;br /&gt;
|0204BB18&lt;br /&gt;
|Beginning of loop that makes sure you do not get a shiny wondercard pokemon (in some cases)&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0204305E&lt;br /&gt;
|0204BBA6&lt;br /&gt;
|PRNG call for first set of Wondercard pokemon IVs&lt;br /&gt;
|[[tsanth]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0204309C&lt;br /&gt;
|0204BBE4&lt;br /&gt;
|PRNG call for second set of Wondercard pokemon IVs&lt;br /&gt;
|[[tsanth]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205DED4&lt;br /&gt;
|&lt;br /&gt;
|Create chain set (not sure about address in tsanth&#039;s thread it said 205DED&lt;br /&gt;
|[[tsanth]], [[loadingNOW]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205DF42&lt;br /&gt;
|&lt;br /&gt;
|End of Create chain set routine&lt;br /&gt;
|[[tsanth]], [[loadingNOW]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205E40C&lt;br /&gt;
|02069B00&lt;br /&gt;
|Pokeradar Routine&lt;br /&gt;
|[[loadingNOW]], [[tsanth]], [[arcee]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02068AAC&lt;br /&gt;
|02075E38&lt;br /&gt;
|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.&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|02075C86&lt;br /&gt;
|128 step RNG advancement&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|0207760E&lt;br /&gt;
|Poketch check @ daycare screen&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0206A90C&lt;br /&gt;
|02078780&lt;br /&gt;
|Begin Calculation of [[Pokemon ID]] for alternate forms.&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020EBC80&lt;br /&gt;
|020E1F6C&lt;br /&gt;
|Division routine; R0= R0 / R1, R1=R0%R1&lt;br /&gt;
|[[tsanth]], [[SCV]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|020EAC58&lt;br /&gt;
|Pointer to Begin Routine for Script Command 0000&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|020EB974&lt;br /&gt;
|Pointer to Begin Routine for Script Command 0347&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C4D48&lt;br /&gt;
|021BFB14&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Kazo]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C4D4C&lt;br /&gt;
|021BFB18&lt;br /&gt;
|Mersenne Twister Lookup Table&lt;br /&gt;
|[[Kazo]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4DA8&lt;br /&gt;
|&lt;br /&gt;
|Beginning of [[Honey Tree]] Routine&lt;br /&gt;
|[[SCV]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4EE4&lt;br /&gt;
|&lt;br /&gt;
|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.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4F44&lt;br /&gt;
|&lt;br /&gt;
|Determines a number from 0-5 that represents which pokemon will be encountered in a honey tree.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4F98&lt;br /&gt;
|&lt;br /&gt;
|Determines which list will be used by  (value determined by 021F4EE4) - 1 (its not done this way, but is equivalent)&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4FAC&lt;br /&gt;
|&lt;br /&gt;
|Determines a number from 0-3 that represents how much a [[Honey Tree]] will shake&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F5138&lt;br /&gt;
|021EFF4C&lt;br /&gt;
|Returns 1 if the current tree being slathered is a [[Munchlax Tree]] and 0 otherwise.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02211E60&lt;br /&gt;
|&lt;br /&gt;
|Set [[GTS protocol#Encryption|GRNG]] seed&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02211E70&lt;br /&gt;
|&lt;br /&gt;
|[[GTS protocol#Encryption|GRNG]]&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BA10&lt;br /&gt;
|&lt;br /&gt;
|Movement Handler Start&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BA46&lt;br /&gt;
|&lt;br /&gt;
|&amp;quot;Am I on grass?&amp;quot; check&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BAD4&lt;br /&gt;
|&lt;br /&gt;
|Wild Encounter Check&lt;br /&gt;
|[[tsanth]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BB2E&lt;br /&gt;
|&lt;br /&gt;
|Pair-battle (NPC partner) check&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BD1C&lt;br /&gt;
|&lt;br /&gt;
|Movement Handler END&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C1EE &lt;br /&gt;
|022377A2&lt;br /&gt;
|Pokeball catching routine&lt;br /&gt;
|[[tsanth, arcee]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C5B8&lt;br /&gt;
|&lt;br /&gt;
|Start of Encounter Table Lookup Handler&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C66A&lt;br /&gt;
|&lt;br /&gt;
|Start of Water (Sweet Scent/Surfing) Encounter Table Lookup Handler&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C6A0&lt;br /&gt;
|&lt;br /&gt;
|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.&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|022417F4&lt;br /&gt;
|Encounter- terrain check&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|02241848&lt;br /&gt;
|Encounter- motion mod&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|022479E6&lt;br /&gt;
|Call to get ID routine (result in r0)&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|0224E920&lt;br /&gt;
|Start of Frozen Handler&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
0224190A - ESV calc&lt;br /&gt;
02241B28 - nature calc (probably)&lt;br /&gt;
&lt;br /&gt;
==Pokémon HGSS (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02000CA4&lt;br /&gt;
|Main()&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201FD44&lt;br /&gt;
|PRNG advancement routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201FD68&lt;br /&gt;
|Alternate(simpler) PRNG&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0204BFF0&lt;br /&gt;
|Wondercard pokemon generation- full routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02061E2A&lt;br /&gt;
|NPC movement&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0206C9D8&lt;br /&gt;
|International shiny PID generation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02070068&lt;br /&gt;
|Shiny check&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020D34B0&lt;br /&gt;
|Make wondercard PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020D3A38&lt;br /&gt;
|Disable slow IRQ&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020D3A4C&lt;br /&gt;
|Enable slow IRQ&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020F2998&lt;br /&gt;
|Signed divmod()&lt;br /&gt;
|?&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020F2BA4&lt;br /&gt;
|Unsigned divmod()&lt;br /&gt;
|?&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0210F6CC&lt;br /&gt;
|Mersenne Twister lookup table counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D15A8&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Kazo]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D15AC&lt;br /&gt;
|Mersenne Twister lookup table&lt;br /&gt;
|[[Kazo]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021E19DC&lt;br /&gt;
|Upper half of wondercard PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022440A0&lt;br /&gt;
|Pickup / Honey Gather handler&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02246B24&lt;br /&gt;
|Start of Water (Fishing) Encounter Table Lookup Handler [http://www.smogon.com/forums/showpost.php?p=2564048&amp;amp;postcount=215]&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02246FCC&lt;br /&gt;
|Fishing decision&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02247228&lt;br /&gt;
|Pokéball catching routine&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022475F2&lt;br /&gt;
|Partial encounter calc- movement modifier&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0224767A&lt;br /&gt;
|Partial encounter calc- ability/item modifier&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02247698&lt;br /&gt;
|Encounter slots&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02247720&lt;br /&gt;
|Start of Water (Sweet Scent/Surfing) Encounter Table Lookup Handler [http://www.smogon.com/forums/showpost.php?p=2564048&amp;amp;postcount=215]&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022477C0&lt;br /&gt;
|Headbutt tree encounter slots (Post-National Dex)&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022483C4&lt;br /&gt;
|Partial encounter calc- roamer modifier&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02108514&lt;br /&gt;
|Starter species in RAM(in the decompressed arm9 @ 108514)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon BW (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|01FF8000&lt;br /&gt;
|ITCM start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|01FF80F0&lt;br /&gt;
|ARM9 IRQ Handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005124&lt;br /&gt;
|main() function- infinite main/busy loop that runs the game starts at 02005166&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200520C&lt;br /&gt;
|VBlank handler function&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020056D0&lt;br /&gt;
|Set up both main RNGs for use&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020056EC&lt;br /&gt;
|PRNG advancement routine 1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005728&lt;br /&gt;
|PRNG advancement routine 2&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200852C&lt;br /&gt;
|Store sidtid as uint&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201778C&lt;br /&gt;
|IV creation routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02017EF4&lt;br /&gt;
|Shiny check routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02018746 &lt;br /&gt;
|PID type decision&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02018788&lt;br /&gt;
|Shiny prevention routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02019A6C&lt;br /&gt;
|PKM + RAM encryption&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02035F50&lt;br /&gt;
|Input handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203EFE0&lt;br /&gt;
|memcmp()- memory compare: 2 pointers and length of comparison(in bytes))&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F04C&lt;br /&gt;
|Set init MT seed (seed = init rng &amp;gt;&amp;gt; 32)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F078&lt;br /&gt;
|ARNG(same as gen 4)- build initial MT seed table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F0C0&lt;br /&gt;
|Mersenne Twister seed table handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F270&lt;br /&gt;
|Initial Seed Creation Routine&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F374&lt;br /&gt;
|.sav encryption&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020592E8&lt;br /&gt;
|MD5 hashing routine for wifi&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0207FD4C&lt;br /&gt;
|VRAM bank control handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02082BE4&lt;br /&gt;
|Takes 3 arguments: pointer to start of data write, length(in bytes) of data to write, uint to write multiple times- used constantly for clearing freed memory&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02082D5C&lt;br /&gt;
|memcpy32()- accepts pointer to data start, pointer to copy start, and a length in bytes to copy&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02085D54&lt;br /&gt;
|DSi Detection Routine&lt;br /&gt;
|[[chiizu]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02088A98&lt;br /&gt;
|Date/time switch statement- used to grab pieces of the date and time and convert them to hex&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02088E74&lt;br /&gt;
|Convert BCD-&amp;gt;hex, for RTC&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020946AC&lt;br /&gt;
|Metrowerks ARM-provided lib rand- used for DS-to-DS handshake&lt;br /&gt;
|[[XFR]],[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0209C0C4&lt;br /&gt;
|Signed divmod- r0/r1, result in r0; r0%r1, result in r1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0209C2C8&lt;br /&gt;
|Unsigned divmod- r0/r1, result in r0; r0%r1, result in r1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020A1B50&lt;br /&gt;
|Model/texture definitions/positioning data&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020AA1C4&lt;br /&gt;
|RNG state pointer&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02146292&lt;br /&gt;
|Pokemon to be encountered&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02146974&lt;br /&gt;
|Pointer to the struct for the current heap being used&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02146A18&lt;br /&gt;
|Mersenne Twister seed table pointer&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02146A2C&lt;br /&gt;
|u32 date_time[8] (in hex)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02150920&lt;br /&gt;
|SVC mode stack location for card reads/writes&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02151260&lt;br /&gt;
|SWI/SVC mode stack&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02168844&lt;br /&gt;
|rand(0xFFFFFFFF) / 0xFFFF&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02168A52&lt;br /&gt;
|ID generation for Battle Subway partner&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021763DC&lt;br /&gt;
|Inside probability loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021763F8&lt;br /&gt;
|Probability routine- influences starting frame/seed&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02176444&lt;br /&gt;
|Outside probability loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02176C6C&lt;br /&gt;
|Probability table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02193914&lt;br /&gt;
|White Forest Trainer # Counter- returns # of trainers in White Forest&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A9370&lt;br /&gt;
|Pre-battle setup(battle test, etc)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A948C&lt;br /&gt;
|Double battle test&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A9DB2&lt;br /&gt;
|0x80000000 OR PID decision routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A9DE8&lt;br /&gt;
|((rand() * 0xFFFF) &amp;gt;&amp;gt; 32) /0x290 -&amp;gt; function is called quite a bit for multiple calcs&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A9DF8&lt;br /&gt;
|Fishing decision&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021AA41C&lt;br /&gt;
|Battle test/decision&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021AA43A&lt;br /&gt;
|Battle test&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021AA44C&lt;br /&gt;
|White Forest Battle Decision Routine- return 0 if no battle, 1 if there&#039;s a battle&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021AA700&lt;br /&gt;
|((rand() * 0xFFFF) &amp;gt;&amp;gt; 32) /0x290 -&amp;gt; seems to only be used for battle tests&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BC4F8&lt;br /&gt;
|Player setup on new game&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BC50A&lt;br /&gt;
|Make IDs&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C0A6C&lt;br /&gt;
|Battle routine(setup)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C390C&lt;br /&gt;
|Complete breeding routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C4048&lt;br /&gt;
|International breeding PID generation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C6C18&lt;br /&gt;
|Damage formula routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F6388&lt;br /&gt;
|Battle PRNG State&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02215374&lt;br /&gt;
|Mersenne Twister Lookup Table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02215D34&lt;br /&gt;
|Mersenne Twister Lookup Table Counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02216244&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221BBD0&lt;br /&gt;
|Start of save data in RAM(when saving, all relevant data is written here, then cart RAM, then .sav)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022394E0&lt;br /&gt;
|Date/time in hex - uint array&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C9D0&lt;br /&gt;
|Daycare pokemon 1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223CAB4&lt;br /&gt;
|Daycare pokemon 2&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223D8CC&lt;br /&gt;
|BP Counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0224120C&lt;br /&gt;
|Wifi RNG&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02250030&lt;br /&gt;
|Encounter slots in RAM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02257030&lt;br /&gt;
|Step Counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02257034&lt;br /&gt;
|Shaking Patch Step Counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0226DC5A&lt;br /&gt;
|Move Consecutive Use Counter (Wild Battle)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0226DC66&lt;br /&gt;
|Protect Consecutive Turn Counter (Wild Battle)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0226E70E&lt;br /&gt;
|Move Consecutive Use Counter (Trainer Battle)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0226E71A&lt;br /&gt;
|Protect Consecutive Turn Counter (Trainer Battle)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02274302&lt;br /&gt;
|Move Decision Dump (Wild Battle)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022BC734&lt;br /&gt;
|Are there trainers in White Forest? (bool)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0233F004&lt;br /&gt;
|Egg step counter&lt;br /&gt;
|[[ToastPlusOne]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE0000&lt;br /&gt;
|DTCM start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE0020&lt;br /&gt;
|Interrupt handler lookup table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE3780&lt;br /&gt;
|Main(user/system mode) stack start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE3F80&lt;br /&gt;
|IRQ mode stack start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE3FC0&lt;br /&gt;
|Supervisor mode stack start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FFFC3C&lt;br /&gt;
|Vertical blank counter buffer&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FFFDE8&lt;br /&gt;
|RTC buffer(char rtc[8])&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|037FBCEC&lt;br /&gt;
|ARM7 IRQ Handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02017638&lt;br /&gt;
|Pokemon creation routine(makePKM)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02019AB8&lt;br /&gt;
|PKM checksum generation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02019C54&lt;br /&gt;
|PKM block shuffling &lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F3A0&lt;br /&gt;
|Encrypt SAV, battle video, mystery gift&lt;br /&gt;
|[[Bond697]], [[Codr]], [[XFR]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02150E6C&lt;br /&gt;
|Graphics bank assignment struct&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214EA70&lt;br /&gt;
|Sound archive info struct&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02006984&lt;br /&gt;
|Play PKM cry- in battle and otherwise&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02011298&lt;br /&gt;
|Script handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0224FED4&lt;br /&gt;
|Expanded heap memory allocation struct&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02169024&lt;br /&gt;
|Runs everything that has to happen after midnight &lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200D440&lt;br /&gt;
|Swarm calculation and storage&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02151350&lt;br /&gt;
|Tick system&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0272E9E8&lt;br /&gt;
|DSi library overlay&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021E6184&lt;br /&gt;
|Moonlight modifier picker&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon BW (J)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005124&lt;br /&gt;
|Main()	&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022151D4&lt;br /&gt;
|Mersenne Twister Lookup Table	&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02215B94&lt;br /&gt;
|Mersenne Twister Lookup Table Counter	&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022160A8&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Kazo]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FFFC3C&lt;br /&gt;
|Delay&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FFFDE8&lt;br /&gt;
|Date&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|}&lt;br /&gt;
(All offsets are White offsets.  Black offsets are White offset minus 0x20)&lt;br /&gt;
&lt;br /&gt;
==Pokémon Emerald (J)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02024664&lt;br /&gt;
|Frame Counter&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03005AE0&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000248&lt;br /&gt;
|IRQ setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080003A4&lt;br /&gt;
|Main loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080005E4&lt;br /&gt;
|Keypress handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000758&lt;br /&gt;
|VBlank interrupt&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806F050&lt;br /&gt;
|PRNG Advancement Routine&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B413A&lt;br /&gt;
|Feebas setup routine on finding a Feebas tile&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08295E87&lt;br /&gt;
|Signed division&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08296518&lt;br /&gt;
|Modulus routine- r0 % r1, return result in r0&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08297D6C&lt;br /&gt;
|memset&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon Emerald (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02020000&lt;br /&gt;
|Timer1 storage on TID creation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020249C0&lt;br /&gt;
|Main RNG Frame counter&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03000DC0&lt;br /&gt;
|RTC array buffer(char rtc[8])&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03000E20&lt;br /&gt;
|Directional movement counters(possibly per frame)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|030022E0&lt;br /&gt;
|Timer PRNG Initial State (Egg PIDs)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03002750&lt;br /&gt;
|IRQ Handler (user mode)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03005D80&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03005D84&lt;br /&gt;
|Timer RNG Current Seed (Egg PIDs)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000248&lt;br /&gt;
|IRQ setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080003A4&lt;br /&gt;
|Main loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080005E4&lt;br /&gt;
|Keypress handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000738&lt;br /&gt;
|VBlank interrupt callback&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000988&lt;br /&gt;
|Memblock header setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000B1C&lt;br /&gt;
|Malloc init&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000B38&lt;br /&gt;
|Declare memblock(malloc()?)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B49E2&lt;br /&gt;
|Feebas setup routine on finding a Feebas tile&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B4AC8&lt;br /&gt;
|Encounter Slot&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B4C74&lt;br /&gt;
|Set level&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B4E2A&lt;br /&gt;
|Sync (bool)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B4E4C&lt;br /&gt;
|Nature Setup/Decision (skip &amp;quot;if(sync())&amp;quot;)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B5144&lt;br /&gt;
|Battle Test&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08067BF8&lt;br /&gt;
|Roamer creation start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08067E96&lt;br /&gt;
|PKM Building Routine (test temp PIDs, make IVs on success)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806D088&lt;br /&gt;
|Get nature from tempPID(pass tempPID as an arg, return nature value)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806F5CC&lt;br /&gt;
|PRNG Advancement Routine&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0817759E&lt;br /&gt;
|ARNG&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|082E7BE0&lt;br /&gt;
|Modulus routine- r0 % r1, return result in r0&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|082E7B68&lt;br /&gt;
|Division routine- r0 / r1, return result in r0&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|082E7540&lt;br /&gt;
|Division routine- r0 / r1, return result in r0&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08070AC4&lt;br /&gt;
|Make bred pokemon&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080701E0&lt;br /&gt;
|Make bred PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020241F0&lt;br /&gt;
|Damage storage- base dmg, etc&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08070266&lt;br /&gt;
|Inheritance- bugged to not prevent inheriting the same IV multiple times&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08070218&lt;br /&gt;
|Inheritance check- make sure the same IV isn&#039;t inherited multiple times- bugged due to the wrong argument being passed to it&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806AD9C&lt;br /&gt;
|Set PKM data field&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806A674&lt;br /&gt;
|Read PKM data field&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806A518&lt;br /&gt;
|Get PKM data field&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806ACAC&lt;br /&gt;
|Write PKM data field&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806DCB4&lt;br /&gt;
|Pokerus handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806DEC4&lt;br /&gt;
|Pokerus spread&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03004134&lt;br /&gt;
|IME store&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon Ruby / Sapphire (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02024D1C&lt;br /&gt;
|Quick Claw Determination&lt;br /&gt;
|[[FractalFusion]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020287E4 &lt;br /&gt;
|Egg Creation Step Counter&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03004818&lt;br /&gt;
|PRNG State&lt;br /&gt;
|Multiple&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03000460&lt;br /&gt;
|RTC&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0800024C&lt;br /&gt;
|Main loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080003E4&lt;br /&gt;
|Initial seed creation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000428&lt;br /&gt;
|Keypress handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0803AADC&lt;br /&gt;
|PID creation routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08040048&lt;br /&gt;
|Pokerus handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08040EA4&lt;br /&gt;
|Seed set routine, post creation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08040E84&lt;br /&gt;
|rand()&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08084AA6&lt;br /&gt;
|Feebas decision&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|081E0770&lt;br /&gt;
|Interrupts/SWIs&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080421B0&lt;br /&gt;
|Make bred PKM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080418F0&lt;br /&gt;
|Build bred PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|081E0E20&lt;br /&gt;
|Division r0/r1, result in r0&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|081E0E98&lt;br /&gt;
|Modulus r0%r1, result in r0&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08041960&lt;br /&gt;
|Inheritance check- insure no duplicate IVs&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon FireRed / LeafGreen (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02020000&lt;br /&gt;
|Timer1 storage on initial seed creation&lt;br /&gt;
|[[flovv, Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03005000&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000558&lt;br /&gt;
|Turn on Timer1 @ TM1CNT_H = 0x80&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000564&lt;br /&gt;
|Grab and return the value of Timer1 for use in seeding&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000570&lt;br /&gt;
|Turn off Timer1 @ TM1CNT_H = 0x0 and store the grabbed value to 0x02020000&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0803DA54&lt;br /&gt;
|Make PKM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08044EC8&lt;br /&gt;
|PRNG Advancement Routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02023D50&lt;br /&gt;
|Damage store&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon Ruby Debug Version (G)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|030048F8&lt;br /&gt;
|PRNG state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08045324&lt;br /&gt;
|PRNG Advancement Routine(rand())&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08085CEC&lt;br /&gt;
|ARNG Advancement Routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon B2W2 (J)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005124&lt;br /&gt;
|TwlMain&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005748&lt;br /&gt;
|RNG advancement routine 1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005784&lt;br /&gt;
|RNG advancement routine 2&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020158E8&lt;br /&gt;
|Script handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02043BE8&lt;br /&gt;
|Mersenne Twister setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02043C38&lt;br /&gt;
|Mersenne Twister handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02043DA4&lt;br /&gt;
|Seed building function&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A0E30&lt;br /&gt;
|Create wild PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021FE6E8&lt;br /&gt;
|Mersenne Twister table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0276FA88&lt;br /&gt;
|DSi Mersenne Twister table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021FF0A8&lt;br /&gt;
|Mersenne Twister table counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021FF5D8&lt;br /&gt;
|RNG state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02770978&lt;br /&gt;
|DSi RNG state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021707DC&lt;br /&gt;
|Probability table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0216FCE0&lt;br /&gt;
|Probability loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0216FCFC&lt;br /&gt;
|Inside probability loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B188&lt;br /&gt;
|Encounter slots in RAM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021DD22C&lt;br /&gt;
|Battle RNG state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221D3A4&lt;br /&gt;
|Item slots in RAM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022268D1&lt;br /&gt;
|Repel counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022260A4&lt;br /&gt;
|Cash&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022229A4&lt;br /&gt;
|Total steps&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223AEB4&lt;br /&gt;
|Current game(loaded save) step counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0208D574&lt;br /&gt;
|Unsigned divmod&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0208D368&lt;br /&gt;
|Signed divmod&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0209D46C&lt;br /&gt;
|RNG pointer&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A0E9A&lt;br /&gt;
|0x80000000 PID-OR decision&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A1994&lt;br /&gt;
|Shaking patch generation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0219FAE4&lt;br /&gt;
|Hardcoded trainer name length&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0219CB1C&lt;br /&gt;
|Hardcoded wild pokemon name length&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D9DEC&lt;br /&gt;
|Data entry setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BF190&lt;br /&gt;
|Hardcoded starter pokemon name length&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02249BD0&lt;br /&gt;
|Script info struct&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020825B8&lt;br /&gt;
|Abort on bad allocation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BDA68&lt;br /&gt;
|Breeding- normal/Shiny Charm/Masuda Method&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021412C0&lt;br /&gt;
|Mersenne Twister table pointer&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02153100&lt;br /&gt;
|Scripting system- memory allocation/setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022581F4&lt;br /&gt;
|Wild pokemon PID storage&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02181E80&lt;br /&gt;
|Hollow pokemon generation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02228B70&lt;br /&gt;
|Hollow pokemon data array(u16 hollow[20])&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200F84C&lt;br /&gt;
|Is hollow filled&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C8938&lt;br /&gt;
|Hollow fill decisions&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214BE7C&lt;br /&gt;
|SVC stack&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200F8B4&lt;br /&gt;
|Get hollow&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200F8BC&lt;br /&gt;
|Set hollow&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02228B98&lt;br /&gt;
|Current hollow number&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221DDAC&lt;br /&gt;
|Slot 1 PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221DE88&lt;br /&gt;
|Slot 2 PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221DF64&lt;br /&gt;
|Slot 3 PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221E040&lt;br /&gt;
|Slot 4 PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221E11C&lt;br /&gt;
|Slot 5 PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221E1F8&lt;br /&gt;
|Slot 6 PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0207A998&lt;br /&gt;
|DSi check&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214DC24&lt;br /&gt;
|Mic status&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200F898&lt;br /&gt;
|Set hollow gender&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200F830&lt;br /&gt;
|Enable hollow&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200F818&lt;br /&gt;
|Set subslot&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200F800&lt;br /&gt;
|Set slot&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205780C&lt;br /&gt;
|Build seed - wifi&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02241970&lt;br /&gt;
|Wifi RNG state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BCAC0&lt;br /&gt;
|Battle rand&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A5318&lt;br /&gt;
|Damage formula&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BCC58&lt;br /&gt;
|Base damage&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BCC80&lt;br /&gt;
|Damage type modifier&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005234&lt;br /&gt;
|Vblank calback&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201C4E0&lt;br /&gt;
|PKM creation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201CDC0&lt;br /&gt;
|Shiny check&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201D6E0&lt;br /&gt;
|PID creation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203D988&lt;br /&gt;
|Input handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BD21C&lt;br /&gt;
|Breeding&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02156410&lt;br /&gt;
|Create scripted pokemon&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02140B1E&lt;br /&gt;
|Current special pokemon being created&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201D644&lt;br /&gt;
|Special PID creation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02026858&lt;br /&gt;
|HM check&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B3E4&lt;br /&gt;
|Expanded heap memory allocation struct&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02141324&lt;br /&gt;
|G3D info struct&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214340C&lt;br /&gt;
|G3D global state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022263A4&lt;br /&gt;
|Pokedex data in RAM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02162A14&lt;br /&gt;
|Runs everything that has to happen after midnight &lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200DD20&lt;br /&gt;
|Swarm calculation and storage&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02141440&lt;br /&gt;
|VRAM transfer task array&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214BF70&lt;br /&gt;
|Tick System&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02258454&lt;br /&gt;
|Decrypted battle video allocation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
(All offsets are White offsets.)&lt;br /&gt;
&lt;br /&gt;
==Pokémon B2W2 (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005124&lt;br /&gt;
|TwlMain&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005748&lt;br /&gt;
|RNG advancement routine 1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005784&lt;br /&gt;
|RNG advancement routine 2&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201592C&lt;br /&gt;
|Script handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020191D8&lt;br /&gt;
|Read event flag&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02019204&lt;br /&gt;
|Update event flag&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201922C&lt;br /&gt;
|Set event flag&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201D688&lt;br /&gt;
|Create special PID (N&#039;s pokemon, etc)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201D724&lt;br /&gt;
|Create wild PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02026B44&lt;br /&gt;
|Check for a hidden machine move&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02043F08&lt;br /&gt;
|Mersenne Twister setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02043F58&lt;br /&gt;
|Mersenne Twister handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020440C4&lt;br /&gt;
|Seed building function&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0209DAC0&lt;br /&gt;
|Current music&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214185C&lt;br /&gt;
|Game Freak&#039;s memory allocator&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214C5B0&lt;br /&gt;
|Tick system&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02153748&lt;br /&gt;
|Scripting system- virtual machine pointer list and count&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02153978&lt;br /&gt;
|execute script&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A2428&lt;br /&gt;
|EV handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BDA74&lt;br /&gt;
|Breeding&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021DD88C&lt;br /&gt;
|Battle RNG state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021FED68&lt;br /&gt;
|Mersenne Twister table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021FF728&lt;br /&gt;
|Mersenne Twister table counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021FFC58&lt;br /&gt;
|RNG state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02205244&lt;br /&gt;
|Save data info&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0220528C&lt;br /&gt;
|Save data block list (12 bytes per block: blknum, size, start)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02205624&lt;br /&gt;
|Save data in RAM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02223024&lt;br /&gt;
|Total steps&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02225882&lt;br /&gt;
|Const data storage in RAM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02225524&lt;br /&gt;
|Event flag storage in RAM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02226328&lt;br /&gt;
|Daycare poke 1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0222640C&lt;br /&gt;
|Daycare poke 2&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022264F0&lt;br /&gt;
|Egg seed&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02226724&lt;br /&gt;
|Money&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022291F0&lt;br /&gt;
|Hollow pokemon data array&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B534&lt;br /&gt;
|Current game step counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE35C8&lt;br /&gt;
|Egg data local array in RAM(u32 eggData[34])&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021FFB00&lt;br /&gt;
|Overlays currently loaded list, 1 list each for EWRAM, ITCM, and DTCM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203CED0&lt;br /&gt;
|Overlay inspector&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203CE38&lt;br /&gt;
|Overlay loader&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D01C0&lt;br /&gt;
|N&#039;s pokemon&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D0230&lt;br /&gt;
|Swarm pokemon&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D0190&lt;br /&gt;
|Encounter slots&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D014C&lt;br /&gt;
|Item percentages&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D0B6C&lt;br /&gt;
|Move tutor&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D0310&lt;br /&gt;
|Dust cloud rewards&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D0420&lt;br /&gt;
|Field effect lookup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C9F90&lt;br /&gt;
|Fog table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C9F34&lt;br /&gt;
|Edge color table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D21B0&lt;br /&gt;
|Incense breeding lookup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0208F18C&lt;br /&gt;
|Save block action lookup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0208F948&lt;br /&gt;
|Form lookup (u16 pkmFormSet[21][2])&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0208FA58&lt;br /&gt;
|Key system keys&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02090394&lt;br /&gt;
|Rotom special moves&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020903A0&lt;br /&gt;
|Lookup table for adjusting stats for nature (u8 stat_nature_adjust[25][5])&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020904A0&lt;br /&gt;
|Lookup table for pkm block shuffling (u8 pkm_blk_shuf[32][4])&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02091C42&lt;br /&gt;
|State list&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02091B58&lt;br /&gt;
|Sweden county list&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02090CB0&lt;br /&gt;
|TM List(tm1-92, hm1-6, tm93-95)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02090B78&lt;br /&gt;
|Berries&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BD100&lt;br /&gt;
|Battle rand&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A5958&lt;br /&gt;
|Damage formula&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02141914 &lt;br /&gt;
|Main rtc date - year, month, day, week&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02141924&lt;br /&gt;
|Main rtc time - hour, minute, second&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020492E8&lt;br /&gt;
|Get resource and resource type: bva, bma, bca, btp, bmd, btx&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020493B0&lt;br /&gt;
|Load 3d gfx from narc(from already loaded narc)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02049370&lt;br /&gt;
|Load 3d gfx from file(load narc then file from narc)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020493F0&lt;br /&gt;
|Load 3d gfx from file path(from path to narc)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B484&lt;br /&gt;
|Map number&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B48A&lt;br /&gt;
|X pos&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B48E&lt;br /&gt;
|Z pos&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B492&lt;br /&gt;
|Y pos&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B49D&lt;br /&gt;
|Direction facing&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02246830&lt;br /&gt;
|Area data(zonedata)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0209DAA4&lt;br /&gt;
|VRAM transfer manager counter for successful transfer&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D7540&lt;br /&gt;
|Type-effectiveness chart(0- no effect, 2- .5x dmg, 4- 1x dmg, 8- 2x dmg)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BD1A0&lt;br /&gt;
|Determine type effectiveness for the current attack&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020308EC&lt;br /&gt;
|Set up opposing trainers and their pokes for battle&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0209D780&lt;br /&gt;
|Start of .sbss&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214F540&lt;br /&gt;
|End of .sbss&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon X / Y (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Location&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0015E958&lt;br /&gt;
|Unsigned 32-bit division&lt;br /&gt;
|ExeFS&lt;br /&gt;
|magical&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|00163CC4&lt;br /&gt;
|TinyMT PRNG&lt;br /&gt;
|ExeFS&lt;br /&gt;
|magical&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|00168660&lt;br /&gt;
|Decrypt pokemon&lt;br /&gt;
|ExeFS&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|001685F0&lt;br /&gt;
|Encrypt pokemon&lt;br /&gt;
|ExeFS&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0016B358&lt;br /&gt;
|Get block 0 pointer after shuffle&lt;br /&gt;
|ExeFS&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0016B3D4&lt;br /&gt;
|Get block 1 pointer after shuffle&lt;br /&gt;
|ExeFS&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|00176168&lt;br /&gt;
|Get block 2 pointer after shuffle&lt;br /&gt;
|ExeFS&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|001761E8&lt;br /&gt;
|Get block 3 pointer after shuffle&lt;br /&gt;
|ExeFS&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0018FB50&lt;br /&gt;
|powf&lt;br /&gt;
|ExeFS&lt;br /&gt;
|magical&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|003C71D8&lt;br /&gt;
|Do pickup and honey gather&lt;br /&gt;
|ExeFS&lt;br /&gt;
|magical&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|005455A8&lt;br /&gt;
|Pickup item table&lt;br /&gt;
|ExeFS&lt;br /&gt;
|magical&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|000D12A8&lt;br /&gt;
|Type effectiveness table&lt;br /&gt;
|DllBattle.cro &lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
(All offsets are X offsets.)&amp;lt;br&amp;gt;&lt;br /&gt;
(CRO locations are offset, not address.)&lt;br /&gt;
&lt;br /&gt;
==Pokémon Omega Ruby / Alpha Sapphire (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Location&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|00168EC0&lt;br /&gt;
|Decrypt pokemon&lt;br /&gt;
|ExeFS&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|00168E50&lt;br /&gt;
|Encrypt pokemon&lt;br /&gt;
|ExeFS&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0016BC84&lt;br /&gt;
|Get block 0 pointer after shuffle&lt;br /&gt;
|ExeFS&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0016BD00&lt;br /&gt;
|Get block 1 pointer after shuffle&lt;br /&gt;
|ExeFS&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|00176EFC&lt;br /&gt;
|Get block 2 pointer after shuffle&lt;br /&gt;
|ExeFS&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0016BD80&lt;br /&gt;
|Get block 3 pointer after shuffle&lt;br /&gt;
|ExeFS&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|000DB428&lt;br /&gt;
|Type effectiveness table&lt;br /&gt;
|DllBattle.cro &lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
(All offsets are Omega Ruby offsets.)&amp;lt;br&amp;gt;&lt;br /&gt;
(CRO locations are offset, not address.)&lt;br /&gt;
[[Category:Technical References]]&lt;br /&gt;
[[Category:Structures]]&lt;/div&gt;</summary>
		<author><name>Magical</name></author>
	</entry>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=Notable_Breakpoints&amp;diff=4990</id>
		<title>Notable Breakpoints</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=Notable_Breakpoints&amp;diff=4990"/>
		<updated>2014-05-01T03:14:31Z</updated>

		<summary type="html">&lt;p&gt;Magical: /* Pokémon Emerald (J) */ er, other way around&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains RAM addresses to various interesting and useful processes of GBA and DS Pokemon games. &lt;br /&gt;
&lt;br /&gt;
Breakpoints can be set at these addresses.&lt;br /&gt;
&lt;br /&gt;
==Inspiration==&lt;br /&gt;
This page is inspired by tsanth&#039;s thread with the same name on GameFAQs: [http://boards.gamefaqs.com/gfaqs/genmessage.php?board=925602&amp;amp;topic=40532445]&lt;br /&gt;
&lt;br /&gt;
==Pokemon DPP (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!DP RAM Address&lt;br /&gt;
!Pl RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02000C54&lt;br /&gt;
|02000C88&lt;br /&gt;
|Main() &lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02000FB0&lt;br /&gt;
|02001034&lt;br /&gt;
|Begin Seed Calculation Routine&lt;br /&gt;
|[[mingot]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201B9E0&lt;br /&gt;
|0201D2DC&lt;br /&gt;
|Set [[PRNG]] seed&lt;br /&gt;
|[[mingot]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201B9EC&lt;br /&gt;
|0201D2E8&lt;br /&gt;
|PRNG&lt;br /&gt;
|[[loadingNOW]], [[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201BA10&lt;br /&gt;
|0201D30C&lt;br /&gt;
|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&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201BA1C&lt;br /&gt;
|0201D318&lt;br /&gt;
|Set [[IRNG]] Seed&lt;br /&gt;
|[[mingot, arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02038B70&lt;br /&gt;
|0203E778&lt;br /&gt;
|Script Handler&lt;br /&gt;
|[[loadingNOW]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|0203E7D2&lt;br /&gt;
|Loads address for a command then branches to that address&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FB4&lt;br /&gt;
|0204BAFC&lt;br /&gt;
|ARNG call for PID of Wondercard pokemon&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FBA&lt;br /&gt;
|0204BB02&lt;br /&gt;
|Loads PID from wondercard to r0&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FC8&lt;br /&gt;
|0204BB10&lt;br /&gt;
|First Shiny Check call during the generation of some wondercard pokemon&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FD0&lt;br /&gt;
|0204BB18&lt;br /&gt;
|Beginning of loop that makes sure you do not get a shiny wondercard pokemon (in some cases)&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0204305E&lt;br /&gt;
|0204BBA6&lt;br /&gt;
|PRNG call for first set of Wondercard pokemon IVs&lt;br /&gt;
|[[tsanth]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0204309C&lt;br /&gt;
|0204BBE4&lt;br /&gt;
|PRNG call for second set of Wondercard pokemon IVs&lt;br /&gt;
|[[tsanth]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205DED4&lt;br /&gt;
|&lt;br /&gt;
|Create chain set (not sure about address in tsanth&#039;s thread it said 205DED&lt;br /&gt;
|[[tsanth]], [[loadingNOW]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205DF42&lt;br /&gt;
|&lt;br /&gt;
|End of Create chain set routine&lt;br /&gt;
|[[tsanth]], [[loadingNOW]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205E40C&lt;br /&gt;
|02069B00&lt;br /&gt;
|Pokeradar Routine&lt;br /&gt;
|[[loadingNOW]], [[tsanth]], [[arcee]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02068AAC&lt;br /&gt;
|02075E38&lt;br /&gt;
|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.&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|02075C86&lt;br /&gt;
|128 step RNG advancement&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|0207760E&lt;br /&gt;
|Poketch check @ daycare screen&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0206A90C&lt;br /&gt;
|02078780&lt;br /&gt;
|Begin Calculation of [[Pokemon ID]] for alternate forms.&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020EBC80&lt;br /&gt;
|020E1F6C&lt;br /&gt;
|Division routine; R0= R0 / R1, R1=R0%R1&lt;br /&gt;
|[[tsanth]], [[SCV]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|020EAC58&lt;br /&gt;
|Pointer to Begin Routine for Script Command 0000&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|020EB974&lt;br /&gt;
|Pointer to Begin Routine for Script Command 0347&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C4D48&lt;br /&gt;
|021BFB14&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Kazo]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C4D4C&lt;br /&gt;
|021BFB18&lt;br /&gt;
|Mersenne Twister Lookup Table&lt;br /&gt;
|[[Kazo]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4DA8&lt;br /&gt;
|&lt;br /&gt;
|Beginning of [[Honey Tree]] Routine&lt;br /&gt;
|[[SCV]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4EE4&lt;br /&gt;
|&lt;br /&gt;
|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.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4F44&lt;br /&gt;
|&lt;br /&gt;
|Determines a number from 0-5 that represents which pokemon will be encountered in a honey tree.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4F98&lt;br /&gt;
|&lt;br /&gt;
|Determines which list will be used by  (value determined by 021F4EE4) - 1 (its not done this way, but is equivalent)&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4FAC&lt;br /&gt;
|&lt;br /&gt;
|Determines a number from 0-3 that represents how much a [[Honey Tree]] will shake&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F5138&lt;br /&gt;
|021EFF4C&lt;br /&gt;
|Returns 1 if the current tree being slathered is a [[Munchlax Tree]] and 0 otherwise.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02211E60&lt;br /&gt;
|&lt;br /&gt;
|Set [[GTS protocol#Encryption|GRNG]] seed&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02211E70&lt;br /&gt;
|&lt;br /&gt;
|[[GTS protocol#Encryption|GRNG]]&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BA10&lt;br /&gt;
|&lt;br /&gt;
|Movement Handler Start&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BA46&lt;br /&gt;
|&lt;br /&gt;
|&amp;quot;Am I on grass?&amp;quot; check&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BAD4&lt;br /&gt;
|&lt;br /&gt;
|Wild Encounter Check&lt;br /&gt;
|[[tsanth]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BB2E&lt;br /&gt;
|&lt;br /&gt;
|Pair-battle (NPC partner) check&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BD1C&lt;br /&gt;
|&lt;br /&gt;
|Movement Handler END&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C1EE &lt;br /&gt;
|022377A2&lt;br /&gt;
|Pokeball catching routine&lt;br /&gt;
|[[tsanth, arcee]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C5B8&lt;br /&gt;
|&lt;br /&gt;
|Start of Encounter Table Lookup Handler&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C66A&lt;br /&gt;
|&lt;br /&gt;
|Start of Water (Sweet Scent/Surfing) Encounter Table Lookup Handler&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C6A0&lt;br /&gt;
|&lt;br /&gt;
|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.&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|022417F4&lt;br /&gt;
|Encounter- terrain check&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|02241848&lt;br /&gt;
|Encounter- motion mod&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|022479E6&lt;br /&gt;
|Call to get ID routine (result in r0)&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|0224E920&lt;br /&gt;
|Start of Frozen Handler&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
0224190A - ESV calc&lt;br /&gt;
02241B28 - nature calc (probably)&lt;br /&gt;
&lt;br /&gt;
==Pokémon HGSS (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02000CA4&lt;br /&gt;
|Main()&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201FD44&lt;br /&gt;
|PRNG advancement routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201FD68&lt;br /&gt;
|Alternate(simpler) PRNG&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0204BFF0&lt;br /&gt;
|Wondercard pokemon generation- full routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02061E2A&lt;br /&gt;
|NPC movement&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0206C9D8&lt;br /&gt;
|International shiny PID generation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02070068&lt;br /&gt;
|Shiny check&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020D34B0&lt;br /&gt;
|Make wondercard PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020D3A38&lt;br /&gt;
|Disable slow IRQ&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020D3A4C&lt;br /&gt;
|Enable slow IRQ&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020F2998&lt;br /&gt;
|Signed divmod()&lt;br /&gt;
|?&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020F2BA4&lt;br /&gt;
|Unsigned divmod()&lt;br /&gt;
|?&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0210F6CC&lt;br /&gt;
|Mersenne Twister lookup table counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D15A8&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Kazo]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D15AC&lt;br /&gt;
|Mersenne Twister lookup table&lt;br /&gt;
|[[Kazo]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021E19DC&lt;br /&gt;
|Upper half of wondercard PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022440A0&lt;br /&gt;
|Pickup / Honey Gather handler&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02246B24&lt;br /&gt;
|Start of Water (Fishing) Encounter Table Lookup Handler [http://www.smogon.com/forums/showpost.php?p=2564048&amp;amp;postcount=215]&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02246FCC&lt;br /&gt;
|Fishing decision&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02247228&lt;br /&gt;
|Pokéball catching routine&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022475F2&lt;br /&gt;
|Partial encounter calc- movement modifier&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0224767A&lt;br /&gt;
|Partial encounter calc- ability/item modifier&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02247698&lt;br /&gt;
|Encounter slots&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02247720&lt;br /&gt;
|Start of Water (Sweet Scent/Surfing) Encounter Table Lookup Handler [http://www.smogon.com/forums/showpost.php?p=2564048&amp;amp;postcount=215]&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022477C0&lt;br /&gt;
|Headbutt tree encounter slots (Post-National Dex)&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022483C4&lt;br /&gt;
|Partial encounter calc- roamer modifier&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02108514&lt;br /&gt;
|Starter species in RAM(in the decompressed arm9 @ 108514)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon BW (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|01FF8000&lt;br /&gt;
|ITCM start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|01FF80F0&lt;br /&gt;
|ARM9 IRQ Handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005124&lt;br /&gt;
|main() function- infinite main/busy loop that runs the game starts at 02005166&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200520C&lt;br /&gt;
|VBlank handler function&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020056D0&lt;br /&gt;
|Set up both main RNGs for use&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020056EC&lt;br /&gt;
|PRNG advancement routine 1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005728&lt;br /&gt;
|PRNG advancement routine 2&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200852C&lt;br /&gt;
|Store sidtid as uint&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201778C&lt;br /&gt;
|IV creation routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02017EF4&lt;br /&gt;
|Shiny check routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02018746 &lt;br /&gt;
|PID type decision&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02018788&lt;br /&gt;
|Shiny prevention routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02019A6C&lt;br /&gt;
|PKM + RAM encryption&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02035F50&lt;br /&gt;
|Input handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203EFE0&lt;br /&gt;
|memcmp()- memory compare: 2 pointers and length of comparison(in bytes))&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F04C&lt;br /&gt;
|Set init MT seed (seed = init rng &amp;gt;&amp;gt; 32)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F078&lt;br /&gt;
|ARNG(same as gen 4)- build initial MT seed table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F0C0&lt;br /&gt;
|Mersenne Twister seed table handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F270&lt;br /&gt;
|Initial Seed Creation Routine&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F374&lt;br /&gt;
|.sav encryption&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020592E8&lt;br /&gt;
|MD5 hashing routine for wifi&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0207FD4C&lt;br /&gt;
|VRAM bank control handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02082BE4&lt;br /&gt;
|Takes 3 arguments: pointer to start of data write, length(in bytes) of data to write, uint to write multiple times- used constantly for clearing freed memory&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02082D5C&lt;br /&gt;
|memcpy32()- accepts pointer to data start, pointer to copy start, and a length in bytes to copy&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02085D54&lt;br /&gt;
|DSi Detection Routine&lt;br /&gt;
|[[chiizu]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02088A98&lt;br /&gt;
|Date/time switch statement- used to grab pieces of the date and time and convert them to hex&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02088E74&lt;br /&gt;
|Convert BCD-&amp;gt;hex, for RTC&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020946AC&lt;br /&gt;
|Metrowerks ARM-provided lib rand- used for DS-to-DS handshake&lt;br /&gt;
|[[XFR]],[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0209C0C4&lt;br /&gt;
|Signed divmod- r0/r1, result in r0; r0%r1, result in r1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0209C2C8&lt;br /&gt;
|Unsigned divmod- r0/r1, result in r0; r0%r1, result in r1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020A1B50&lt;br /&gt;
|Model/texture definitions/positioning data&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020AA1C4&lt;br /&gt;
|RNG state pointer&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02146292&lt;br /&gt;
|Pokemon to be encountered&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02146974&lt;br /&gt;
|Pointer to the struct for the current heap being used&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02146A18&lt;br /&gt;
|Mersenne Twister seed table pointer&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02146A2C&lt;br /&gt;
|u32 date_time[8] (in hex)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02150920&lt;br /&gt;
|SVC mode stack location for card reads/writes&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02151260&lt;br /&gt;
|SWI/SVC mode stack&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02168844&lt;br /&gt;
|rand(0xFFFFFFFF) / 0xFFFF&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02168A52&lt;br /&gt;
|ID generation for Battle Subway partner&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021763DC&lt;br /&gt;
|Inside probability loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021763F8&lt;br /&gt;
|Probability routine- influences starting frame/seed&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02176444&lt;br /&gt;
|Outside probability loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02176C6C&lt;br /&gt;
|Probability table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02193914&lt;br /&gt;
|White Forest Trainer # Counter- returns # of trainers in White Forest&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A9370&lt;br /&gt;
|Pre-battle setup(battle test, etc)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A948C&lt;br /&gt;
|Double battle test&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A9DB2&lt;br /&gt;
|0x80000000 OR PID decision routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A9DE8&lt;br /&gt;
|((rand() * 0xFFFF) &amp;gt;&amp;gt; 32) /0x290 -&amp;gt; function is called quite a bit for multiple calcs&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A9DF8&lt;br /&gt;
|Fishing decision&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021AA41C&lt;br /&gt;
|Battle test/decision&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021AA43A&lt;br /&gt;
|Battle test&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021AA44C&lt;br /&gt;
|White Forest Battle Decision Routine- return 0 if no battle, 1 if there&#039;s a battle&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021AA700&lt;br /&gt;
|((rand() * 0xFFFF) &amp;gt;&amp;gt; 32) /0x290 -&amp;gt; seems to only be used for battle tests&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BC4F8&lt;br /&gt;
|Player setup on new game&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BC50A&lt;br /&gt;
|Make IDs&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C0A6C&lt;br /&gt;
|Battle routine(setup)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C390C&lt;br /&gt;
|Complete breeding routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C4048&lt;br /&gt;
|International breeding PID generation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C6C18&lt;br /&gt;
|Damage formula routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F6388&lt;br /&gt;
|Battle PRNG State&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02215374&lt;br /&gt;
|Mersenne Twister Lookup Table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02215D34&lt;br /&gt;
|Mersenne Twister Lookup Table Counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02216244&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221BBD0&lt;br /&gt;
|Start of save data in RAM(when saving, all relevant data is written here, then cart RAM, then .sav)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022394E0&lt;br /&gt;
|Date/time in hex - uint array&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C9D0&lt;br /&gt;
|Daycare pokemon 1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223CAB4&lt;br /&gt;
|Daycare pokemon 2&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223D8CC&lt;br /&gt;
|BP Counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0224120C&lt;br /&gt;
|Wifi RNG&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02250030&lt;br /&gt;
|Encounter slots in RAM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02257030&lt;br /&gt;
|Step Counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02257034&lt;br /&gt;
|Shaking Patch Step Counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0226DC5A&lt;br /&gt;
|Move Consecutive Use Counter (Wild Battle)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0226DC66&lt;br /&gt;
|Protect Consecutive Turn Counter (Wild Battle)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0226E70E&lt;br /&gt;
|Move Consecutive Use Counter (Trainer Battle)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0226E71A&lt;br /&gt;
|Protect Consecutive Turn Counter (Trainer Battle)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02274302&lt;br /&gt;
|Move Decision Dump (Wild Battle)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022BC734&lt;br /&gt;
|Are there trainers in White Forest? (bool)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0233F004&lt;br /&gt;
|Egg step counter&lt;br /&gt;
|[[ToastPlusOne]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE0000&lt;br /&gt;
|DTCM start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE0020&lt;br /&gt;
|Interrupt handler lookup table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE3780&lt;br /&gt;
|Main(user/system mode) stack start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE3F80&lt;br /&gt;
|IRQ mode stack start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE3FC0&lt;br /&gt;
|Supervisor mode stack start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FFFC3C&lt;br /&gt;
|Vertical blank counter buffer&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FFFDE8&lt;br /&gt;
|RTC buffer(char rtc[8])&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|037FBCEC&lt;br /&gt;
|ARM7 IRQ Handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02017638&lt;br /&gt;
|Pokemon creation routine(makePKM)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02019AB8&lt;br /&gt;
|PKM checksum generation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02019C54&lt;br /&gt;
|PKM block shuffling &lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F3A0&lt;br /&gt;
|Encrypt SAV, battle video, mystery gift&lt;br /&gt;
|[[Bond697]], [[Codr]], [[XFR]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02150E6C&lt;br /&gt;
|Graphics bank assignment struct&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214EA70&lt;br /&gt;
|Sound archive info struct&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02006984&lt;br /&gt;
|Play PKM cry- in battle and otherwise&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02011298&lt;br /&gt;
|Script handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0224FED4&lt;br /&gt;
|Expanded heap memory allocation struct&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02169024&lt;br /&gt;
|Runs everything that has to happen after midnight &lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200D440&lt;br /&gt;
|Swarm calculation and storage&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02151350&lt;br /&gt;
|Tick system&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0272E9E8&lt;br /&gt;
|DSi library overlay&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021E6184&lt;br /&gt;
|Moonlight modifier picker&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon BW (J)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005124&lt;br /&gt;
|Main()	&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022151D4&lt;br /&gt;
|Mersenne Twister Lookup Table	&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02215B94&lt;br /&gt;
|Mersenne Twister Lookup Table Counter	&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022160A8&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Kazo]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FFFC3C&lt;br /&gt;
|Delay&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FFFDE8&lt;br /&gt;
|Date&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|}&lt;br /&gt;
(All offsets are White offsets.  Black offsets are White offset minus 0x20)&lt;br /&gt;
&lt;br /&gt;
==Pokémon Emerald (J)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02024664&lt;br /&gt;
|Frame Counter&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03005AE0&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000248&lt;br /&gt;
|IRQ setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080003A4&lt;br /&gt;
|Main loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080005E4&lt;br /&gt;
|Keypress handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000758&lt;br /&gt;
|VBlank interrupt&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806F050&lt;br /&gt;
|PRNG Advancement Routine&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B413A&lt;br /&gt;
|Feebas setup routine on finding a Feebas tile&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08295E87&lt;br /&gt;
|Signed division&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08296518&lt;br /&gt;
|Modulus routine- r0 % r1, return result in r0&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08297D6C&lt;br /&gt;
|memset&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon Emerald (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02020000&lt;br /&gt;
|Timer1 storage on TID creation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020249C0&lt;br /&gt;
|Main RNG Frame counter&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03000DC0&lt;br /&gt;
|RTC array buffer(char rtc[8])&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03000E20&lt;br /&gt;
|Directional movement counters(possibly per frame)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|030022E0&lt;br /&gt;
|Timer PRNG Initial State (Egg PIDs)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03002750&lt;br /&gt;
|IRQ Handler (user mode)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03005D80&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03005D84&lt;br /&gt;
|Timer RNG Current Seed (Egg PIDs)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000248&lt;br /&gt;
|IRQ setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080003A4&lt;br /&gt;
|Main loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080005E4&lt;br /&gt;
|Keypress handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000738&lt;br /&gt;
|VBlank interrupt callback&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000988&lt;br /&gt;
|Memblock header setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000B1C&lt;br /&gt;
|Malloc init&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000B38&lt;br /&gt;
|Declare memblock(malloc()?)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B49E2&lt;br /&gt;
|Feebas setup routine on finding a Feebas tile&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B4AC8&lt;br /&gt;
|Encounter Slot&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B4C74&lt;br /&gt;
|Set level&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B4E2A&lt;br /&gt;
|Sync (bool)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B4E4C&lt;br /&gt;
|Nature Setup/Decision (skip &amp;quot;if(sync())&amp;quot;)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B5144&lt;br /&gt;
|Battle Test&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08067BF8&lt;br /&gt;
|Roamer creation start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08067E96&lt;br /&gt;
|PKM Building Routine (test temp PIDs, make IVs on success)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806D088&lt;br /&gt;
|Get nature from tempPID(pass tempPID as an arg, return nature value)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806F5CC&lt;br /&gt;
|PRNG Advancement Routine&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0817759E&lt;br /&gt;
|ARNG&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|082E7BE0&lt;br /&gt;
|Modulus routine- r0 % r1, return result in r0&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|082E7B68&lt;br /&gt;
|Division routine- r0 / r1, return result in r0&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|082E7540&lt;br /&gt;
|Division routine- r0 / r1, return result in r0&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08070AC4&lt;br /&gt;
|Make bred pokemon&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080701E0&lt;br /&gt;
|Make bred PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020241F0&lt;br /&gt;
|Damage storage- base dmg, etc&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08070266&lt;br /&gt;
|Inheritance- bugged to not prevent inheriting the same IV multiple times&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08070218&lt;br /&gt;
|Inheritance check- make sure the same IV isn&#039;t inherited multiple times- bugged due to the wrong argument being passed to it&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806AD9C&lt;br /&gt;
|Set PKM data field&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806A674&lt;br /&gt;
|Read PKM data field&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806A518&lt;br /&gt;
|Get PKM data field&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806ACAC&lt;br /&gt;
|Write PKM data field&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806DCB4&lt;br /&gt;
|Pokerus handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806DEC4&lt;br /&gt;
|Pokerus spread&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03004134&lt;br /&gt;
|IME store&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon Ruby / Sapphire (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02024D1C&lt;br /&gt;
|Quick Claw Determination&lt;br /&gt;
|[[FractalFusion]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020287E4 &lt;br /&gt;
|Egg Creation Step Counter&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03004818&lt;br /&gt;
|PRNG State&lt;br /&gt;
|Multiple&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03000460&lt;br /&gt;
|RTC&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0800024C&lt;br /&gt;
|Main loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080003E4&lt;br /&gt;
|Initial seed creation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000428&lt;br /&gt;
|Keypress handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0803AADC&lt;br /&gt;
|PID creation routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08040048&lt;br /&gt;
|Pokerus handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08040EA4&lt;br /&gt;
|Seed set routine, post creation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08040E84&lt;br /&gt;
|rand()&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08084AA6&lt;br /&gt;
|Feebas decision&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|081E0770&lt;br /&gt;
|Interrupts/SWIs&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080421B0&lt;br /&gt;
|Make bred PKM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080418F0&lt;br /&gt;
|Build bred PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|081E0E20&lt;br /&gt;
|Division r0/r1, result in r0&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|081E0E98&lt;br /&gt;
|Modulus r0%r1, result in r0&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08041960&lt;br /&gt;
|Inheritance check- insure no duplicate IVs&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon FireRed / LeafGreen (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02020000&lt;br /&gt;
|Timer1 storage on initial seed creation&lt;br /&gt;
|[[flovv, Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03005000&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000558&lt;br /&gt;
|Turn on Timer1 @ TM1CNT_H = 0x80&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000564&lt;br /&gt;
|Grab and return the value of Timer1 for use in seeding&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000570&lt;br /&gt;
|Turn off Timer1 @ TM1CNT_H = 0x0 and store the grabbed value to 0x02020000&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0803DA54&lt;br /&gt;
|Make PKM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08044EC8&lt;br /&gt;
|PRNG Advancement Routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02023D50&lt;br /&gt;
|Damage store&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon Ruby Debug Version (G)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|030048F8&lt;br /&gt;
|PRNG state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08045324&lt;br /&gt;
|PRNG Advancement Routine(rand())&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08085CEC&lt;br /&gt;
|ARNG Advancement Routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon B2W2 (J)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005124&lt;br /&gt;
|TwlMain&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005748&lt;br /&gt;
|RNG advancement routine 1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005784&lt;br /&gt;
|RNG advancement routine 2&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020158E8&lt;br /&gt;
|Script handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02043BE8&lt;br /&gt;
|Mersenne Twister setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02043C38&lt;br /&gt;
|Mersenne Twister handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02043DA4&lt;br /&gt;
|Seed building function&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A0E30&lt;br /&gt;
|Create wild PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021FE6E8&lt;br /&gt;
|Mersenne Twister table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0276FA88&lt;br /&gt;
|DSi Mersenne Twister table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021FF0A8&lt;br /&gt;
|Mersenne Twister table counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021FF5D8&lt;br /&gt;
|RNG state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02770978&lt;br /&gt;
|DSi RNG state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021707DC&lt;br /&gt;
|Probability table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0216FCE0&lt;br /&gt;
|Probability loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0216FCFC&lt;br /&gt;
|Inside probability loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B188&lt;br /&gt;
|Encounter slots in RAM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021DD22C&lt;br /&gt;
|Battle RNG state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221D3A4&lt;br /&gt;
|Item slots in RAM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022268D1&lt;br /&gt;
|Repel counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022260A4&lt;br /&gt;
|Cash&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022229A4&lt;br /&gt;
|Total steps&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223AEB4&lt;br /&gt;
|Current game(loaded save) step counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0208D574&lt;br /&gt;
|Unsigned divmod&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0208D368&lt;br /&gt;
|Signed divmod&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0209D46C&lt;br /&gt;
|RNG pointer&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A0E9A&lt;br /&gt;
|0x80000000 PID-OR decision&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A1994&lt;br /&gt;
|Shaking patch generation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0219FAE4&lt;br /&gt;
|Hardcoded trainer name length&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0219CB1C&lt;br /&gt;
|Hardcoded wild pokemon name length&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D9DEC&lt;br /&gt;
|Data entry setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BF190&lt;br /&gt;
|Hardcoded starter pokemon name length&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02249BD0&lt;br /&gt;
|Script info struct&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020825B8&lt;br /&gt;
|Abort on bad allocation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BDA68&lt;br /&gt;
|Breeding- normal/Shiny Charm/Masuda Method&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021412C0&lt;br /&gt;
|Mersenne Twister table pointer&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02153100&lt;br /&gt;
|Scripting system- memory allocation/setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022581F4&lt;br /&gt;
|Wild pokemon PID storage&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02181E80&lt;br /&gt;
|Hollow pokemon generation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02228B70&lt;br /&gt;
|Hollow pokemon data array(u16 hollow[20])&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200F84C&lt;br /&gt;
|Is hollow filled&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C8938&lt;br /&gt;
|Hollow fill decisions&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214BE7C&lt;br /&gt;
|SVC stack&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200F8B4&lt;br /&gt;
|Get hollow&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200F8BC&lt;br /&gt;
|Set hollow&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02228B98&lt;br /&gt;
|Current hollow number&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221DDAC&lt;br /&gt;
|Slot 1 PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221DE88&lt;br /&gt;
|Slot 2 PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221DF64&lt;br /&gt;
|Slot 3 PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221E040&lt;br /&gt;
|Slot 4 PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221E11C&lt;br /&gt;
|Slot 5 PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221E1F8&lt;br /&gt;
|Slot 6 PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0207A998&lt;br /&gt;
|DSi check&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214DC24&lt;br /&gt;
|Mic status&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200F898&lt;br /&gt;
|Set hollow gender&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200F830&lt;br /&gt;
|Enable hollow&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200F818&lt;br /&gt;
|Set subslot&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200F800&lt;br /&gt;
|Set slot&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205780C&lt;br /&gt;
|Build seed - wifi&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02241970&lt;br /&gt;
|Wifi RNG state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BCAC0&lt;br /&gt;
|Battle rand&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A5318&lt;br /&gt;
|Damage formula&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BCC58&lt;br /&gt;
|Base damage&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BCC80&lt;br /&gt;
|Damage type modifier&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005234&lt;br /&gt;
|Vblank calback&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201C4E0&lt;br /&gt;
|PKM creation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201CDC0&lt;br /&gt;
|Shiny check&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201D6E0&lt;br /&gt;
|PID creation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203D988&lt;br /&gt;
|Input handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BD21C&lt;br /&gt;
|Breeding&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02156410&lt;br /&gt;
|Create scripted pokemon&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02140B1E&lt;br /&gt;
|Current special pokemon being created&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201D644&lt;br /&gt;
|Special PID creation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02026858&lt;br /&gt;
|HM check&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B3E4&lt;br /&gt;
|Expanded heap memory allocation struct&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02141324&lt;br /&gt;
|G3D info struct&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214340C&lt;br /&gt;
|G3D global state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022263A4&lt;br /&gt;
|Pokedex data in RAM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02162A14&lt;br /&gt;
|Runs everything that has to happen after midnight &lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200DD20&lt;br /&gt;
|Swarm calculation and storage&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02141440&lt;br /&gt;
|VRAM transfer task array&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214BF70&lt;br /&gt;
|Tick System&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02258454&lt;br /&gt;
|Decrypted battle video allocation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
(All offsets are White offsets.)&lt;br /&gt;
&lt;br /&gt;
==Pokémon B2W2 (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005124&lt;br /&gt;
|TwlMain&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005748&lt;br /&gt;
|RNG advancement routine 1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005784&lt;br /&gt;
|RNG advancement routine 2&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201592C&lt;br /&gt;
|Script handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020191D8&lt;br /&gt;
|Read event flag&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02019204&lt;br /&gt;
|Update event flag&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201922C&lt;br /&gt;
|Set event flag&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201D688&lt;br /&gt;
|Create special PID (N&#039;s pokemon, etc)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201D724&lt;br /&gt;
|Create wild PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02026B44&lt;br /&gt;
|Check for a hidden machine move&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02043F08&lt;br /&gt;
|Mersenne Twister setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02043F58&lt;br /&gt;
|Mersenne Twister handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020440C4&lt;br /&gt;
|Seed building function&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0209DAC0&lt;br /&gt;
|Current music&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214185C&lt;br /&gt;
|Game Freak&#039;s memory allocator&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214C5B0&lt;br /&gt;
|Tick system&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02153748&lt;br /&gt;
|Scripting system- virtual machine pointer list and count&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02153978&lt;br /&gt;
|execute script&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A2428&lt;br /&gt;
|EV handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BDA74&lt;br /&gt;
|Breeding&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021DD88C&lt;br /&gt;
|Battle RNG state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021FED68&lt;br /&gt;
|Mersenne Twister table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021FF728&lt;br /&gt;
|Mersenne Twister table counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021FFC58&lt;br /&gt;
|RNG state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02205244&lt;br /&gt;
|Save data info&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0220528C&lt;br /&gt;
|Save data block list (12 bytes per block: blknum, size, start)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02205624&lt;br /&gt;
|Save data in RAM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02223024&lt;br /&gt;
|Total steps&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02225882&lt;br /&gt;
|Const data storage in RAM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02225524&lt;br /&gt;
|Event flag storage in RAM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02226328&lt;br /&gt;
|Daycare poke 1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0222640C&lt;br /&gt;
|Daycare poke 2&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022264F0&lt;br /&gt;
|Egg seed&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02226724&lt;br /&gt;
|Money&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022291F0&lt;br /&gt;
|Hollow pokemon data array&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B534&lt;br /&gt;
|Current game step counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE35C8&lt;br /&gt;
|Egg data local array in RAM(u32 eggData[34])&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021FFB00&lt;br /&gt;
|Overlays currently loaded list, 1 list each for EWRAM, ITCM, and DTCM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203CED0&lt;br /&gt;
|Overlay inspector&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203CE38&lt;br /&gt;
|Overlay loader&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D01C0&lt;br /&gt;
|N&#039;s pokemon&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D0230&lt;br /&gt;
|Swarm pokemon&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D0190&lt;br /&gt;
|Encounter slots&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D014C&lt;br /&gt;
|Item percentages&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D0B6C&lt;br /&gt;
|Move tutor&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D0310&lt;br /&gt;
|Dust cloud rewards&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D0420&lt;br /&gt;
|Field effect lookup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C9F90&lt;br /&gt;
|Fog table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C9F34&lt;br /&gt;
|Edge color table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D21B0&lt;br /&gt;
|Incense breeding lookup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0208F18C&lt;br /&gt;
|Save block action lookup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0208F948&lt;br /&gt;
|Form lookup (u16 pkmFormSet[21][2])&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0208FA58&lt;br /&gt;
|Key system keys&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02090394&lt;br /&gt;
|Rotom special moves&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020903A0&lt;br /&gt;
|Lookup table for adjusting stats for nature (u8 stat_nature_adjust[25][5])&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020904A0&lt;br /&gt;
|Lookup table for pkm block shuffling (u8 pkm_blk_shuf[32][4])&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02091C42&lt;br /&gt;
|State list&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02091B58&lt;br /&gt;
|Sweden county list&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02090CB0&lt;br /&gt;
|TM List(tm1-92, hm1-6, tm93-95)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02090B78&lt;br /&gt;
|Berries&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BD100&lt;br /&gt;
|Battle rand&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A5958&lt;br /&gt;
|Damage formula&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02141914 &lt;br /&gt;
|Main rtc date - year, month, day, week&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02141924&lt;br /&gt;
|Main rtc time - hour, minute, second&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020492E8&lt;br /&gt;
|Get resource and resource type: bva, bma, bca, btp, bmd, btx&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020493B0&lt;br /&gt;
|Load 3d gfx from narc(from already loaded narc)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02049370&lt;br /&gt;
|Load 3d gfx from file(load narc then file from narc)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020493F0&lt;br /&gt;
|Load 3d gfx from file path(from path to narc)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B484&lt;br /&gt;
|Map number&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B48A&lt;br /&gt;
|X pos&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B48E&lt;br /&gt;
|Z pos&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B492&lt;br /&gt;
|Y pos&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B49D&lt;br /&gt;
|Direction facing&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02246830&lt;br /&gt;
|Area data(zonedata)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0209DAA4&lt;br /&gt;
|VRAM transfer manager counter for successful transfer&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D7540&lt;br /&gt;
|Type-effectiveness chart(0- no effect, 2- .5x dmg, 4- 1x dmg, 8- 2x dmg)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BD1A0&lt;br /&gt;
|Determine type effectiveness for the current attack&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020308EC&lt;br /&gt;
|Set up opposing trainers and their pokes for battle&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0209D780&lt;br /&gt;
|Start of .sbss&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214F540&lt;br /&gt;
|End of .sbss&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Technical References]]&lt;br /&gt;
[[Category:Structures]]&lt;/div&gt;</summary>
		<author><name>Magical</name></author>
	</entry>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=Notable_Breakpoints&amp;diff=4989</id>
		<title>Notable Breakpoints</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=Notable_Breakpoints&amp;diff=4989"/>
		<updated>2014-04-30T07:15:40Z</updated>

		<summary type="html">&lt;p&gt;Magical: /* Pokémon Emerald (J) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains RAM addresses to various interesting and useful processes of GBA and DS Pokemon games. &lt;br /&gt;
&lt;br /&gt;
Breakpoints can be set at these addresses.&lt;br /&gt;
&lt;br /&gt;
==Inspiration==&lt;br /&gt;
This page is inspired by tsanth&#039;s thread with the same name on GameFAQs: [http://boards.gamefaqs.com/gfaqs/genmessage.php?board=925602&amp;amp;topic=40532445]&lt;br /&gt;
&lt;br /&gt;
==Pokemon DPP (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!DP RAM Address&lt;br /&gt;
!Pl RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02000C54&lt;br /&gt;
|02000C88&lt;br /&gt;
|Main() &lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02000FB0&lt;br /&gt;
|02001034&lt;br /&gt;
|Begin Seed Calculation Routine&lt;br /&gt;
|[[mingot]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201B9E0&lt;br /&gt;
|0201D2DC&lt;br /&gt;
|Set [[PRNG]] seed&lt;br /&gt;
|[[mingot]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201B9EC&lt;br /&gt;
|0201D2E8&lt;br /&gt;
|PRNG&lt;br /&gt;
|[[loadingNOW]], [[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201BA10&lt;br /&gt;
|0201D30C&lt;br /&gt;
|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&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201BA1C&lt;br /&gt;
|0201D318&lt;br /&gt;
|Set [[IRNG]] Seed&lt;br /&gt;
|[[mingot, arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02038B70&lt;br /&gt;
|0203E778&lt;br /&gt;
|Script Handler&lt;br /&gt;
|[[loadingNOW]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|0203E7D2&lt;br /&gt;
|Loads address for a command then branches to that address&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FB4&lt;br /&gt;
|0204BAFC&lt;br /&gt;
|ARNG call for PID of Wondercard pokemon&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FBA&lt;br /&gt;
|0204BB02&lt;br /&gt;
|Loads PID from wondercard to r0&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FC8&lt;br /&gt;
|0204BB10&lt;br /&gt;
|First Shiny Check call during the generation of some wondercard pokemon&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FD0&lt;br /&gt;
|0204BB18&lt;br /&gt;
|Beginning of loop that makes sure you do not get a shiny wondercard pokemon (in some cases)&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0204305E&lt;br /&gt;
|0204BBA6&lt;br /&gt;
|PRNG call for first set of Wondercard pokemon IVs&lt;br /&gt;
|[[tsanth]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0204309C&lt;br /&gt;
|0204BBE4&lt;br /&gt;
|PRNG call for second set of Wondercard pokemon IVs&lt;br /&gt;
|[[tsanth]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205DED4&lt;br /&gt;
|&lt;br /&gt;
|Create chain set (not sure about address in tsanth&#039;s thread it said 205DED&lt;br /&gt;
|[[tsanth]], [[loadingNOW]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205DF42&lt;br /&gt;
|&lt;br /&gt;
|End of Create chain set routine&lt;br /&gt;
|[[tsanth]], [[loadingNOW]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205E40C&lt;br /&gt;
|02069B00&lt;br /&gt;
|Pokeradar Routine&lt;br /&gt;
|[[loadingNOW]], [[tsanth]], [[arcee]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02068AAC&lt;br /&gt;
|02075E38&lt;br /&gt;
|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.&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|02075C86&lt;br /&gt;
|128 step RNG advancement&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|0207760E&lt;br /&gt;
|Poketch check @ daycare screen&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0206A90C&lt;br /&gt;
|02078780&lt;br /&gt;
|Begin Calculation of [[Pokemon ID]] for alternate forms.&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020EBC80&lt;br /&gt;
|020E1F6C&lt;br /&gt;
|Division routine; R0= R0 / R1, R1=R0%R1&lt;br /&gt;
|[[tsanth]], [[SCV]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|020EAC58&lt;br /&gt;
|Pointer to Begin Routine for Script Command 0000&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|020EB974&lt;br /&gt;
|Pointer to Begin Routine for Script Command 0347&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C4D48&lt;br /&gt;
|021BFB14&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Kazo]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C4D4C&lt;br /&gt;
|021BFB18&lt;br /&gt;
|Mersenne Twister Lookup Table&lt;br /&gt;
|[[Kazo]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4DA8&lt;br /&gt;
|&lt;br /&gt;
|Beginning of [[Honey Tree]] Routine&lt;br /&gt;
|[[SCV]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4EE4&lt;br /&gt;
|&lt;br /&gt;
|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.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4F44&lt;br /&gt;
|&lt;br /&gt;
|Determines a number from 0-5 that represents which pokemon will be encountered in a honey tree.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4F98&lt;br /&gt;
|&lt;br /&gt;
|Determines which list will be used by  (value determined by 021F4EE4) - 1 (its not done this way, but is equivalent)&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4FAC&lt;br /&gt;
|&lt;br /&gt;
|Determines a number from 0-3 that represents how much a [[Honey Tree]] will shake&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F5138&lt;br /&gt;
|021EFF4C&lt;br /&gt;
|Returns 1 if the current tree being slathered is a [[Munchlax Tree]] and 0 otherwise.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02211E60&lt;br /&gt;
|&lt;br /&gt;
|Set [[GTS protocol#Encryption|GRNG]] seed&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02211E70&lt;br /&gt;
|&lt;br /&gt;
|[[GTS protocol#Encryption|GRNG]]&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BA10&lt;br /&gt;
|&lt;br /&gt;
|Movement Handler Start&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BA46&lt;br /&gt;
|&lt;br /&gt;
|&amp;quot;Am I on grass?&amp;quot; check&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BAD4&lt;br /&gt;
|&lt;br /&gt;
|Wild Encounter Check&lt;br /&gt;
|[[tsanth]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BB2E&lt;br /&gt;
|&lt;br /&gt;
|Pair-battle (NPC partner) check&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BD1C&lt;br /&gt;
|&lt;br /&gt;
|Movement Handler END&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C1EE &lt;br /&gt;
|022377A2&lt;br /&gt;
|Pokeball catching routine&lt;br /&gt;
|[[tsanth, arcee]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C5B8&lt;br /&gt;
|&lt;br /&gt;
|Start of Encounter Table Lookup Handler&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C66A&lt;br /&gt;
|&lt;br /&gt;
|Start of Water (Sweet Scent/Surfing) Encounter Table Lookup Handler&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C6A0&lt;br /&gt;
|&lt;br /&gt;
|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.&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|022417F4&lt;br /&gt;
|Encounter- terrain check&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|02241848&lt;br /&gt;
|Encounter- motion mod&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|022479E6&lt;br /&gt;
|Call to get ID routine (result in r0)&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|0224E920&lt;br /&gt;
|Start of Frozen Handler&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
0224190A - ESV calc&lt;br /&gt;
02241B28 - nature calc (probably)&lt;br /&gt;
&lt;br /&gt;
==Pokémon HGSS (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02000CA4&lt;br /&gt;
|Main()&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201FD44&lt;br /&gt;
|PRNG advancement routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201FD68&lt;br /&gt;
|Alternate(simpler) PRNG&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0204BFF0&lt;br /&gt;
|Wondercard pokemon generation- full routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02061E2A&lt;br /&gt;
|NPC movement&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0206C9D8&lt;br /&gt;
|International shiny PID generation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02070068&lt;br /&gt;
|Shiny check&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020D34B0&lt;br /&gt;
|Make wondercard PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020D3A38&lt;br /&gt;
|Disable slow IRQ&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020D3A4C&lt;br /&gt;
|Enable slow IRQ&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020F2998&lt;br /&gt;
|Signed divmod()&lt;br /&gt;
|?&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020F2BA4&lt;br /&gt;
|Unsigned divmod()&lt;br /&gt;
|?&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0210F6CC&lt;br /&gt;
|Mersenne Twister lookup table counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D15A8&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Kazo]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D15AC&lt;br /&gt;
|Mersenne Twister lookup table&lt;br /&gt;
|[[Kazo]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021E19DC&lt;br /&gt;
|Upper half of wondercard PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022440A0&lt;br /&gt;
|Pickup / Honey Gather handler&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02246B24&lt;br /&gt;
|Start of Water (Fishing) Encounter Table Lookup Handler [http://www.smogon.com/forums/showpost.php?p=2564048&amp;amp;postcount=215]&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02246FCC&lt;br /&gt;
|Fishing decision&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02247228&lt;br /&gt;
|Pokéball catching routine&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022475F2&lt;br /&gt;
|Partial encounter calc- movement modifier&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0224767A&lt;br /&gt;
|Partial encounter calc- ability/item modifier&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02247698&lt;br /&gt;
|Encounter slots&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02247720&lt;br /&gt;
|Start of Water (Sweet Scent/Surfing) Encounter Table Lookup Handler [http://www.smogon.com/forums/showpost.php?p=2564048&amp;amp;postcount=215]&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022477C0&lt;br /&gt;
|Headbutt tree encounter slots (Post-National Dex)&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022483C4&lt;br /&gt;
|Partial encounter calc- roamer modifier&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02108514&lt;br /&gt;
|Starter species in RAM(in the decompressed arm9 @ 108514)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon BW (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|01FF8000&lt;br /&gt;
|ITCM start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|01FF80F0&lt;br /&gt;
|ARM9 IRQ Handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005124&lt;br /&gt;
|main() function- infinite main/busy loop that runs the game starts at 02005166&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200520C&lt;br /&gt;
|VBlank handler function&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020056D0&lt;br /&gt;
|Set up both main RNGs for use&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020056EC&lt;br /&gt;
|PRNG advancement routine 1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005728&lt;br /&gt;
|PRNG advancement routine 2&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200852C&lt;br /&gt;
|Store sidtid as uint&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201778C&lt;br /&gt;
|IV creation routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02017EF4&lt;br /&gt;
|Shiny check routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02018746 &lt;br /&gt;
|PID type decision&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02018788&lt;br /&gt;
|Shiny prevention routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02019A6C&lt;br /&gt;
|PKM + RAM encryption&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02035F50&lt;br /&gt;
|Input handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203EFE0&lt;br /&gt;
|memcmp()- memory compare: 2 pointers and length of comparison(in bytes))&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F04C&lt;br /&gt;
|Set init MT seed (seed = init rng &amp;gt;&amp;gt; 32)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F078&lt;br /&gt;
|ARNG(same as gen 4)- build initial MT seed table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F0C0&lt;br /&gt;
|Mersenne Twister seed table handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F270&lt;br /&gt;
|Initial Seed Creation Routine&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F374&lt;br /&gt;
|.sav encryption&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020592E8&lt;br /&gt;
|MD5 hashing routine for wifi&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0207FD4C&lt;br /&gt;
|VRAM bank control handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02082BE4&lt;br /&gt;
|Takes 3 arguments: pointer to start of data write, length(in bytes) of data to write, uint to write multiple times- used constantly for clearing freed memory&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02082D5C&lt;br /&gt;
|memcpy32()- accepts pointer to data start, pointer to copy start, and a length in bytes to copy&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02085D54&lt;br /&gt;
|DSi Detection Routine&lt;br /&gt;
|[[chiizu]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02088A98&lt;br /&gt;
|Date/time switch statement- used to grab pieces of the date and time and convert them to hex&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02088E74&lt;br /&gt;
|Convert BCD-&amp;gt;hex, for RTC&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020946AC&lt;br /&gt;
|Metrowerks ARM-provided lib rand- used for DS-to-DS handshake&lt;br /&gt;
|[[XFR]],[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0209C0C4&lt;br /&gt;
|Signed divmod- r0/r1, result in r0; r0%r1, result in r1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0209C2C8&lt;br /&gt;
|Unsigned divmod- r0/r1, result in r0; r0%r1, result in r1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020A1B50&lt;br /&gt;
|Model/texture definitions/positioning data&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020AA1C4&lt;br /&gt;
|RNG state pointer&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02146292&lt;br /&gt;
|Pokemon to be encountered&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02146974&lt;br /&gt;
|Pointer to the struct for the current heap being used&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02146A18&lt;br /&gt;
|Mersenne Twister seed table pointer&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02146A2C&lt;br /&gt;
|u32 date_time[8] (in hex)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02150920&lt;br /&gt;
|SVC mode stack location for card reads/writes&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02151260&lt;br /&gt;
|SWI/SVC mode stack&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02168844&lt;br /&gt;
|rand(0xFFFFFFFF) / 0xFFFF&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02168A52&lt;br /&gt;
|ID generation for Battle Subway partner&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021763DC&lt;br /&gt;
|Inside probability loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021763F8&lt;br /&gt;
|Probability routine- influences starting frame/seed&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02176444&lt;br /&gt;
|Outside probability loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02176C6C&lt;br /&gt;
|Probability table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02193914&lt;br /&gt;
|White Forest Trainer # Counter- returns # of trainers in White Forest&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A9370&lt;br /&gt;
|Pre-battle setup(battle test, etc)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A948C&lt;br /&gt;
|Double battle test&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A9DB2&lt;br /&gt;
|0x80000000 OR PID decision routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A9DE8&lt;br /&gt;
|((rand() * 0xFFFF) &amp;gt;&amp;gt; 32) /0x290 -&amp;gt; function is called quite a bit for multiple calcs&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A9DF8&lt;br /&gt;
|Fishing decision&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021AA41C&lt;br /&gt;
|Battle test/decision&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021AA43A&lt;br /&gt;
|Battle test&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021AA44C&lt;br /&gt;
|White Forest Battle Decision Routine- return 0 if no battle, 1 if there&#039;s a battle&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021AA700&lt;br /&gt;
|((rand() * 0xFFFF) &amp;gt;&amp;gt; 32) /0x290 -&amp;gt; seems to only be used for battle tests&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BC4F8&lt;br /&gt;
|Player setup on new game&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BC50A&lt;br /&gt;
|Make IDs&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C0A6C&lt;br /&gt;
|Battle routine(setup)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C390C&lt;br /&gt;
|Complete breeding routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C4048&lt;br /&gt;
|International breeding PID generation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C6C18&lt;br /&gt;
|Damage formula routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F6388&lt;br /&gt;
|Battle PRNG State&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02215374&lt;br /&gt;
|Mersenne Twister Lookup Table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02215D34&lt;br /&gt;
|Mersenne Twister Lookup Table Counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02216244&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221BBD0&lt;br /&gt;
|Start of save data in RAM(when saving, all relevant data is written here, then cart RAM, then .sav)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022394E0&lt;br /&gt;
|Date/time in hex - uint array&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C9D0&lt;br /&gt;
|Daycare pokemon 1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223CAB4&lt;br /&gt;
|Daycare pokemon 2&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223D8CC&lt;br /&gt;
|BP Counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0224120C&lt;br /&gt;
|Wifi RNG&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02250030&lt;br /&gt;
|Encounter slots in RAM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02257030&lt;br /&gt;
|Step Counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02257034&lt;br /&gt;
|Shaking Patch Step Counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0226DC5A&lt;br /&gt;
|Move Consecutive Use Counter (Wild Battle)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0226DC66&lt;br /&gt;
|Protect Consecutive Turn Counter (Wild Battle)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0226E70E&lt;br /&gt;
|Move Consecutive Use Counter (Trainer Battle)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0226E71A&lt;br /&gt;
|Protect Consecutive Turn Counter (Trainer Battle)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02274302&lt;br /&gt;
|Move Decision Dump (Wild Battle)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022BC734&lt;br /&gt;
|Are there trainers in White Forest? (bool)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0233F004&lt;br /&gt;
|Egg step counter&lt;br /&gt;
|[[ToastPlusOne]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE0000&lt;br /&gt;
|DTCM start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE0020&lt;br /&gt;
|Interrupt handler lookup table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE3780&lt;br /&gt;
|Main(user/system mode) stack start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE3F80&lt;br /&gt;
|IRQ mode stack start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE3FC0&lt;br /&gt;
|Supervisor mode stack start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FFFC3C&lt;br /&gt;
|Vertical blank counter buffer&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FFFDE8&lt;br /&gt;
|RTC buffer(char rtc[8])&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|037FBCEC&lt;br /&gt;
|ARM7 IRQ Handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02017638&lt;br /&gt;
|Pokemon creation routine(makePKM)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02019AB8&lt;br /&gt;
|PKM checksum generation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02019C54&lt;br /&gt;
|PKM block shuffling &lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F3A0&lt;br /&gt;
|Encrypt SAV, battle video, mystery gift&lt;br /&gt;
|[[Bond697]], [[Codr]], [[XFR]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02150E6C&lt;br /&gt;
|Graphics bank assignment struct&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214EA70&lt;br /&gt;
|Sound archive info struct&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02006984&lt;br /&gt;
|Play PKM cry- in battle and otherwise&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02011298&lt;br /&gt;
|Script handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0224FED4&lt;br /&gt;
|Expanded heap memory allocation struct&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02169024&lt;br /&gt;
|Runs everything that has to happen after midnight &lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200D440&lt;br /&gt;
|Swarm calculation and storage&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02151350&lt;br /&gt;
|Tick system&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0272E9E8&lt;br /&gt;
|DSi library overlay&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021E6184&lt;br /&gt;
|Moonlight modifier picker&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon BW (J)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005124&lt;br /&gt;
|Main()	&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022151D4&lt;br /&gt;
|Mersenne Twister Lookup Table	&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02215B94&lt;br /&gt;
|Mersenne Twister Lookup Table Counter	&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022160A8&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Kazo]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FFFC3C&lt;br /&gt;
|Delay&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FFFDE8&lt;br /&gt;
|Date&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|}&lt;br /&gt;
(All offsets are White offsets.  Black offsets are White offset minus 0x20)&lt;br /&gt;
&lt;br /&gt;
==Pokémon Emerald (J)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02024664&lt;br /&gt;
|Frame Counter&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03005AE0&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000248&lt;br /&gt;
|IRQ setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080003A4&lt;br /&gt;
|Main loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080005E4&lt;br /&gt;
|Keypress handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000758&lt;br /&gt;
|VBlank interrupt&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806F050&lt;br /&gt;
|PRNG Advancement Routine&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B413A&lt;br /&gt;
|Feebas setup routine on finding a Feebas tile&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08295E87&lt;br /&gt;
|memset&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08296518&lt;br /&gt;
|Modulus routine- r0 % r1, return result in r0&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08297D6C&lt;br /&gt;
|Signed division&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon Emerald (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02020000&lt;br /&gt;
|Timer1 storage on TID creation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020249C0&lt;br /&gt;
|Main RNG Frame counter&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03000DC0&lt;br /&gt;
|RTC array buffer(char rtc[8])&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03000E20&lt;br /&gt;
|Directional movement counters(possibly per frame)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|030022E0&lt;br /&gt;
|Timer PRNG Initial State (Egg PIDs)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03002750&lt;br /&gt;
|IRQ Handler (user mode)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03005D80&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03005D84&lt;br /&gt;
|Timer RNG Current Seed (Egg PIDs)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000248&lt;br /&gt;
|IRQ setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080003A4&lt;br /&gt;
|Main loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080005E4&lt;br /&gt;
|Keypress handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000738&lt;br /&gt;
|VBlank interrupt callback&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000988&lt;br /&gt;
|Memblock header setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000B1C&lt;br /&gt;
|Malloc init&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000B38&lt;br /&gt;
|Declare memblock(malloc()?)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B49E2&lt;br /&gt;
|Feebas setup routine on finding a Feebas tile&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B4AC8&lt;br /&gt;
|Encounter Slot&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B4C74&lt;br /&gt;
|Set level&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B4E2A&lt;br /&gt;
|Sync (bool)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B4E4C&lt;br /&gt;
|Nature Setup/Decision (skip &amp;quot;if(sync())&amp;quot;)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B5144&lt;br /&gt;
|Battle Test&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08067BF8&lt;br /&gt;
|Roamer creation start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08067E96&lt;br /&gt;
|PKM Building Routine (test temp PIDs, make IVs on success)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806D088&lt;br /&gt;
|Get nature from tempPID(pass tempPID as an arg, return nature value)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806F5CC&lt;br /&gt;
|PRNG Advancement Routine&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0817759E&lt;br /&gt;
|ARNG&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|082E7BE0&lt;br /&gt;
|Modulus routine- r0 % r1, return result in r0&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|082E7B68&lt;br /&gt;
|Division routine- r0 / r1, return result in r0&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|082E7540&lt;br /&gt;
|Division routine- r0 / r1, return result in r0&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08070AC4&lt;br /&gt;
|Make bred pokemon&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080701E0&lt;br /&gt;
|Make bred PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020241F0&lt;br /&gt;
|Damage storage- base dmg, etc&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08070266&lt;br /&gt;
|Inheritance- bugged to not prevent inheriting the same IV multiple times&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08070218&lt;br /&gt;
|Inheritance check- make sure the same IV isn&#039;t inherited multiple times- bugged due to the wrong argument being passed to it&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806AD9C&lt;br /&gt;
|Set PKM data field&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806A674&lt;br /&gt;
|Read PKM data field&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806A518&lt;br /&gt;
|Get PKM data field&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806ACAC&lt;br /&gt;
|Write PKM data field&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806DCB4&lt;br /&gt;
|Pokerus handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806DEC4&lt;br /&gt;
|Pokerus spread&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03004134&lt;br /&gt;
|IME store&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon Ruby / Sapphire (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02024D1C&lt;br /&gt;
|Quick Claw Determination&lt;br /&gt;
|[[FractalFusion]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020287E4 &lt;br /&gt;
|Egg Creation Step Counter&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03004818&lt;br /&gt;
|PRNG State&lt;br /&gt;
|Multiple&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03000460&lt;br /&gt;
|RTC&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0800024C&lt;br /&gt;
|Main loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080003E4&lt;br /&gt;
|Initial seed creation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000428&lt;br /&gt;
|Keypress handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0803AADC&lt;br /&gt;
|PID creation routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08040048&lt;br /&gt;
|Pokerus handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08040EA4&lt;br /&gt;
|Seed set routine, post creation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08040E84&lt;br /&gt;
|rand()&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08084AA6&lt;br /&gt;
|Feebas decision&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|081E0770&lt;br /&gt;
|Interrupts/SWIs&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080421B0&lt;br /&gt;
|Make bred PKM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080418F0&lt;br /&gt;
|Build bred PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|081E0E20&lt;br /&gt;
|Division r0/r1, result in r0&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|081E0E98&lt;br /&gt;
|Modulus r0%r1, result in r0&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08041960&lt;br /&gt;
|Inheritance check- insure no duplicate IVs&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon FireRed / LeafGreen (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02020000&lt;br /&gt;
|Timer1 storage on initial seed creation&lt;br /&gt;
|[[flovv, Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03005000&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000558&lt;br /&gt;
|Turn on Timer1 @ TM1CNT_H = 0x80&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000564&lt;br /&gt;
|Grab and return the value of Timer1 for use in seeding&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000570&lt;br /&gt;
|Turn off Timer1 @ TM1CNT_H = 0x0 and store the grabbed value to 0x02020000&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0803DA54&lt;br /&gt;
|Make PKM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08044EC8&lt;br /&gt;
|PRNG Advancement Routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02023D50&lt;br /&gt;
|Damage store&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon Ruby Debug Version (G)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|030048F8&lt;br /&gt;
|PRNG state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08045324&lt;br /&gt;
|PRNG Advancement Routine(rand())&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08085CEC&lt;br /&gt;
|ARNG Advancement Routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon B2W2 (J)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005124&lt;br /&gt;
|TwlMain&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005748&lt;br /&gt;
|RNG advancement routine 1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005784&lt;br /&gt;
|RNG advancement routine 2&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020158E8&lt;br /&gt;
|Script handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02043BE8&lt;br /&gt;
|Mersenne Twister setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02043C38&lt;br /&gt;
|Mersenne Twister handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02043DA4&lt;br /&gt;
|Seed building function&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A0E30&lt;br /&gt;
|Create wild PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021FE6E8&lt;br /&gt;
|Mersenne Twister table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0276FA88&lt;br /&gt;
|DSi Mersenne Twister table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021FF0A8&lt;br /&gt;
|Mersenne Twister table counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021FF5D8&lt;br /&gt;
|RNG state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02770978&lt;br /&gt;
|DSi RNG state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021707DC&lt;br /&gt;
|Probability table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0216FCE0&lt;br /&gt;
|Probability loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0216FCFC&lt;br /&gt;
|Inside probability loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B188&lt;br /&gt;
|Encounter slots in RAM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021DD22C&lt;br /&gt;
|Battle RNG state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221D3A4&lt;br /&gt;
|Item slots in RAM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022268D1&lt;br /&gt;
|Repel counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022260A4&lt;br /&gt;
|Cash&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022229A4&lt;br /&gt;
|Total steps&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223AEB4&lt;br /&gt;
|Current game(loaded save) step counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0208D574&lt;br /&gt;
|Unsigned divmod&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0208D368&lt;br /&gt;
|Signed divmod&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0209D46C&lt;br /&gt;
|RNG pointer&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A0E9A&lt;br /&gt;
|0x80000000 PID-OR decision&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A1994&lt;br /&gt;
|Shaking patch generation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0219FAE4&lt;br /&gt;
|Hardcoded trainer name length&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0219CB1C&lt;br /&gt;
|Hardcoded wild pokemon name length&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D9DEC&lt;br /&gt;
|Data entry setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BF190&lt;br /&gt;
|Hardcoded starter pokemon name length&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02249BD0&lt;br /&gt;
|Script info struct&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020825B8&lt;br /&gt;
|Abort on bad allocation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BDA68&lt;br /&gt;
|Breeding- normal/Shiny Charm/Masuda Method&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021412C0&lt;br /&gt;
|Mersenne Twister table pointer&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02153100&lt;br /&gt;
|Scripting system- memory allocation/setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022581F4&lt;br /&gt;
|Wild pokemon PID storage&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02181E80&lt;br /&gt;
|Hollow pokemon generation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02228B70&lt;br /&gt;
|Hollow pokemon data array(u16 hollow[20])&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200F84C&lt;br /&gt;
|Is hollow filled&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C8938&lt;br /&gt;
|Hollow fill decisions&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214BE7C&lt;br /&gt;
|SVC stack&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200F8B4&lt;br /&gt;
|Get hollow&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200F8BC&lt;br /&gt;
|Set hollow&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02228B98&lt;br /&gt;
|Current hollow number&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221DDAC&lt;br /&gt;
|Slot 1 PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221DE88&lt;br /&gt;
|Slot 2 PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221DF64&lt;br /&gt;
|Slot 3 PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221E040&lt;br /&gt;
|Slot 4 PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221E11C&lt;br /&gt;
|Slot 5 PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221E1F8&lt;br /&gt;
|Slot 6 PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0207A998&lt;br /&gt;
|DSi check&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214DC24&lt;br /&gt;
|Mic status&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200F898&lt;br /&gt;
|Set hollow gender&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200F830&lt;br /&gt;
|Enable hollow&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200F818&lt;br /&gt;
|Set subslot&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200F800&lt;br /&gt;
|Set slot&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205780C&lt;br /&gt;
|Build seed - wifi&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02241970&lt;br /&gt;
|Wifi RNG state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BCAC0&lt;br /&gt;
|Battle rand&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A5318&lt;br /&gt;
|Damage formula&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BCC58&lt;br /&gt;
|Base damage&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BCC80&lt;br /&gt;
|Damage type modifier&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005234&lt;br /&gt;
|Vblank calback&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201C4E0&lt;br /&gt;
|PKM creation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201CDC0&lt;br /&gt;
|Shiny check&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201D6E0&lt;br /&gt;
|PID creation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203D988&lt;br /&gt;
|Input handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BD21C&lt;br /&gt;
|Breeding&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02156410&lt;br /&gt;
|Create scripted pokemon&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02140B1E&lt;br /&gt;
|Current special pokemon being created&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201D644&lt;br /&gt;
|Special PID creation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02026858&lt;br /&gt;
|HM check&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B3E4&lt;br /&gt;
|Expanded heap memory allocation struct&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02141324&lt;br /&gt;
|G3D info struct&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214340C&lt;br /&gt;
|G3D global state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022263A4&lt;br /&gt;
|Pokedex data in RAM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02162A14&lt;br /&gt;
|Runs everything that has to happen after midnight &lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200DD20&lt;br /&gt;
|Swarm calculation and storage&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02141440&lt;br /&gt;
|VRAM transfer task array&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214BF70&lt;br /&gt;
|Tick System&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02258454&lt;br /&gt;
|Decrypted battle video allocation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
(All offsets are White offsets.)&lt;br /&gt;
&lt;br /&gt;
==Pokémon B2W2 (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005124&lt;br /&gt;
|TwlMain&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005748&lt;br /&gt;
|RNG advancement routine 1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005784&lt;br /&gt;
|RNG advancement routine 2&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201592C&lt;br /&gt;
|Script handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020191D8&lt;br /&gt;
|Read event flag&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02019204&lt;br /&gt;
|Update event flag&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201922C&lt;br /&gt;
|Set event flag&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201D688&lt;br /&gt;
|Create special PID (N&#039;s pokemon, etc)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201D724&lt;br /&gt;
|Create wild PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02026B44&lt;br /&gt;
|Check for a hidden machine move&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02043F08&lt;br /&gt;
|Mersenne Twister setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02043F58&lt;br /&gt;
|Mersenne Twister handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020440C4&lt;br /&gt;
|Seed building function&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0209DAC0&lt;br /&gt;
|Current music&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214185C&lt;br /&gt;
|Game Freak&#039;s memory allocator&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214C5B0&lt;br /&gt;
|Tick system&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02153748&lt;br /&gt;
|Scripting system- virtual machine pointer list and count&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02153978&lt;br /&gt;
|execute script&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A2428&lt;br /&gt;
|EV handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BDA74&lt;br /&gt;
|Breeding&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021DD88C&lt;br /&gt;
|Battle RNG state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021FED68&lt;br /&gt;
|Mersenne Twister table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021FF728&lt;br /&gt;
|Mersenne Twister table counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021FFC58&lt;br /&gt;
|RNG state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02205244&lt;br /&gt;
|Save data info&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0220528C&lt;br /&gt;
|Save data block list (12 bytes per block: blknum, size, start)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02205624&lt;br /&gt;
|Save data in RAM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02223024&lt;br /&gt;
|Total steps&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02225882&lt;br /&gt;
|Const data storage in RAM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02225524&lt;br /&gt;
|Event flag storage in RAM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02226328&lt;br /&gt;
|Daycare poke 1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0222640C&lt;br /&gt;
|Daycare poke 2&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022264F0&lt;br /&gt;
|Egg seed&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02226724&lt;br /&gt;
|Money&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022291F0&lt;br /&gt;
|Hollow pokemon data array&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B534&lt;br /&gt;
|Current game step counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE35C8&lt;br /&gt;
|Egg data local array in RAM(u32 eggData[34])&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021FFB00&lt;br /&gt;
|Overlays currently loaded list, 1 list each for EWRAM, ITCM, and DTCM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203CED0&lt;br /&gt;
|Overlay inspector&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203CE38&lt;br /&gt;
|Overlay loader&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D01C0&lt;br /&gt;
|N&#039;s pokemon&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D0230&lt;br /&gt;
|Swarm pokemon&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D0190&lt;br /&gt;
|Encounter slots&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D014C&lt;br /&gt;
|Item percentages&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D0B6C&lt;br /&gt;
|Move tutor&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D0310&lt;br /&gt;
|Dust cloud rewards&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D0420&lt;br /&gt;
|Field effect lookup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C9F90&lt;br /&gt;
|Fog table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C9F34&lt;br /&gt;
|Edge color table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D21B0&lt;br /&gt;
|Incense breeding lookup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0208F18C&lt;br /&gt;
|Save block action lookup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0208F948&lt;br /&gt;
|Form lookup (u16 pkmFormSet[21][2])&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0208FA58&lt;br /&gt;
|Key system keys&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02090394&lt;br /&gt;
|Rotom special moves&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020903A0&lt;br /&gt;
|Lookup table for adjusting stats for nature (u8 stat_nature_adjust[25][5])&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020904A0&lt;br /&gt;
|Lookup table for pkm block shuffling (u8 pkm_blk_shuf[32][4])&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02091C42&lt;br /&gt;
|State list&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02091B58&lt;br /&gt;
|Sweden county list&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02090CB0&lt;br /&gt;
|TM List(tm1-92, hm1-6, tm93-95)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02090B78&lt;br /&gt;
|Berries&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BD100&lt;br /&gt;
|Battle rand&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A5958&lt;br /&gt;
|Damage formula&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02141914 &lt;br /&gt;
|Main rtc date - year, month, day, week&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02141924&lt;br /&gt;
|Main rtc time - hour, minute, second&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020492E8&lt;br /&gt;
|Get resource and resource type: bva, bma, bca, btp, bmd, btx&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020493B0&lt;br /&gt;
|Load 3d gfx from narc(from already loaded narc)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02049370&lt;br /&gt;
|Load 3d gfx from file(load narc then file from narc)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020493F0&lt;br /&gt;
|Load 3d gfx from file path(from path to narc)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B484&lt;br /&gt;
|Map number&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B48A&lt;br /&gt;
|X pos&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B48E&lt;br /&gt;
|Z pos&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B492&lt;br /&gt;
|Y pos&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223B49D&lt;br /&gt;
|Direction facing&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02246830&lt;br /&gt;
|Area data(zonedata)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0209DAA4&lt;br /&gt;
|VRAM transfer manager counter for successful transfer&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D7540&lt;br /&gt;
|Type-effectiveness chart(0- no effect, 2- .5x dmg, 4- 1x dmg, 8- 2x dmg)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BD1A0&lt;br /&gt;
|Determine type effectiveness for the current attack&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020308EC&lt;br /&gt;
|Set up opposing trainers and their pokes for battle&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0209D780&lt;br /&gt;
|Start of .sbss&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0214F540&lt;br /&gt;
|End of .sbss&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
[[Category:Technical References]]&lt;br /&gt;
[[Category:Structures]]&lt;/div&gt;</summary>
		<author><name>Magical</name></author>
	</entry>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=Pokemon_Black/White_Save_Structure&amp;diff=4542</id>
		<title>Pokemon Black/White Save Structure</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=Pokemon_Black/White_Save_Structure&amp;diff=4542"/>
		<updated>2012-06-10T01:16:26Z</updated>

		<summary type="html">&lt;p&gt;Magical: encryption hasn&amp;#039;t changed&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pokémon in the games Pokémon [[Pokémon Black|Black]] and [[Pokemon White|White]] are stored in a 136 byte or 220 byte structures.  All unencrypted values are stored in [[little-endian|little-endian]] format.  The game encrypts the data when it is stored in the [[Pokémon NDS Save File Structure|save file]].  Party Pokémon have additional values to hold current battle stats and conditions.  The information below describes the Pokémon data format.&lt;br /&gt;
&lt;br /&gt;
== Checksum / Block Shuffling / Encryption ==&lt;br /&gt;
&lt;br /&gt;
Same as before, see [[Pokemon NDS Structure]].&lt;br /&gt;
&lt;br /&gt;
== Unencrypted bytes ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Contents&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x00-0x03&lt;br /&gt;
| [[Personality value]] (Also known as the [[PID]])&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x04-0x05&lt;br /&gt;
| &#039;&#039;Unused&#039;&#039;&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x06-0x07&lt;br /&gt;
| Checksum&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Encrypted bytes ==&lt;br /&gt;
=== Block A ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Contents&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x08-0x09 &lt;br /&gt;
| [[Nationaldex|National Pokédex ID]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x0A-0x0B &lt;br /&gt;
| [[item index|Held Item]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x0C-0x0D&lt;br /&gt;
| [[Original Trainer|OT ID]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x0E-0x0F &lt;br /&gt;
| [[Original Trainer|OT Secret ID]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x10-0x13&lt;br /&gt;
| [[Experience Points|Experience points]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x14&lt;br /&gt;
| Friendship (Steps to Hatch if an egg)&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x15&lt;br /&gt;
| [[Ability]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x16&lt;br /&gt;
| [[#Markings|Markings]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x17&lt;br /&gt;
| [[#Original Language|Original Language]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x18&lt;br /&gt;
| [[Effort Values#Hit Points|HP Effort Value]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x19&lt;br /&gt;
| [[Effort Values#Attack Points|Attack Effort Value]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x1A&lt;br /&gt;
| [[Effort Values#Defense Points|Defense Effort Value]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x1B&lt;br /&gt;
| [[Effort Values#Speed Points|Speed Effort Value]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x1C&lt;br /&gt;
| [[Effort Values#Special Attack Points|SP Attack Effort Value]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x1D&lt;br /&gt;
| [[Effort Values#Special Defense Points|SP Defense Effort Value]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x1E&lt;br /&gt;
| [[Contest Stats#Cool|Cool Contest Value]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x1F&lt;br /&gt;
| [[Contest Stats#Beauty|Beauty Contest Value]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x20&lt;br /&gt;
| [[Contest Stats#Cute|Cute Contest Value]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x21&lt;br /&gt;
| [[Contest Stats#Smart|Smart Contest Value]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x22&lt;br /&gt;
| [[Contest Stats#Tough|Tough Contest Value]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x23&lt;br /&gt;
| [[Contest Stats#Sheen|Sheen Contest Value]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x24-0x25&lt;br /&gt;
| [[#Sinnoh Ribbon Set 1|Sinnoh Ribbon Set 1]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x26-0x27&lt;br /&gt;
| [[#Sinnoh Ribbon Set 2|Sinnoh Ribbon Set 2]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Block B ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Contents&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x28-0x29&lt;br /&gt;
| [[Pokemon Moves|Move 1 ID]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x2A-0x2B&lt;br /&gt;
| [[Pokemon Moves|Move 2 ID]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x2C-0x2D&lt;br /&gt;
| [[Pokemon Moves|Move 3 ID]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x2E-0x2F&lt;br /&gt;
| [[Pokemon Moves|Move 4 ID]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x30&lt;br /&gt;
| [[Pokemon Moves#Power Points|Move 1 Current PP]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x31&lt;br /&gt;
| [[Pokemon Moves#Power Points|Move 2 Current PP]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x32&lt;br /&gt;
| [[Pokemon Moves#Power Points|Move 3 Current PP]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x33&lt;br /&gt;
| [[Pokemon Moves#Power Points|Move 4 Current PP]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x34-0x37&lt;br /&gt;
| [[Pokemon Moves#Power Points|Move PP Ups]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x38-0x3B&lt;br /&gt;
| Bits 0-29 - [[Individual Values]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Individual Values#Hit Points|HP]] ( [0-31] &amp;lt;&amp;lt; 0 )&amp;lt;br&amp;gt;&lt;br /&gt;
[[Individual Values#Attack Points|Attack]] ( [0-31] &amp;lt;&amp;lt; 5 )&amp;lt;br&amp;gt;&lt;br /&gt;
[[Individual Values#Defense Points|Defense]] ( [0-31] &amp;lt;&amp;lt; 10 )&amp;lt;br&amp;gt;&lt;br /&gt;
[[Individual Values#Speed Points|Speed]] ( [0-31] &amp;lt;&amp;lt; 15 )&amp;lt;br&amp;gt;&lt;br /&gt;
[[Individual Values#Special Attack Points|SP Attack]] ( [0-31] &amp;lt;&amp;lt; 20 )&amp;lt;br&amp;gt;&lt;br /&gt;
[[Individual Values#Special Defense Points|SP Defense]] ( [0-31] &amp;lt;&amp;lt; 25 )&amp;lt;br&amp;gt;&lt;br /&gt;
Bit 30 - IsEgg Flag&amp;lt;br&amp;gt;Bit 31 - IsNicknamed Flag&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3C-0x3D&lt;br /&gt;
| [[#Hoenn Ribbon Set 1|Hoenn Ribbon Set 1]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3E-0x3F&lt;br /&gt;
| [[#Hoenn Ribbon Set 2|Hoenn Ribbon Set 2]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x40&lt;br /&gt;
| Bit 0 - Fateful Encounter Flag&amp;lt;br&amp;gt;Bit 1 - Female&amp;lt;br&amp;gt;Bit 2 - Genderless&amp;lt;br&amp;gt;Bit 3-7 - [[#Alternate Forms|Alternate Forms]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x41 &lt;br /&gt;
| Nature&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x42&lt;br /&gt;
| HasDreamWorldAbility Flag&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x43&lt;br /&gt;
| &#039;&#039;Unused&#039;&#039;&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x44-0x45&lt;br /&gt;
| &#039;&#039;Deleted / Unused&#039;&#039;&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x46-0x47&lt;br /&gt;
| &#039;&#039;Deleted / Unused&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Block C ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Contents&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x48-0x5D&lt;br /&gt;
| [[#Nickname and OT Name|Nickname]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x5E&lt;br /&gt;
| &#039;&#039;Unused&#039;&#039;&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x5F&lt;br /&gt;
| [[Pokemon Hometown|Hometown]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x60-0x61&lt;br /&gt;
| [[#Sinnoh Ribbon Set 3|Sinnoh Ribbon Set 3]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x62-0x63&lt;br /&gt;
| [[#Sinnoh Ribbon Set 4|Sinnoh Ribbon Set 4]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x64-0x67&lt;br /&gt;
| &#039;&#039;Unused&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Block D ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Contents&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x68-0x77 &lt;br /&gt;
| [[#Nickname and OT Name|OT Name]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x78-0x7A &lt;br /&gt;
| Date Egg Received&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x7B-0x7D&lt;br /&gt;
| Date Met&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x7E-0x7F&lt;br /&gt;
| Egg [[Pokemon NDS Locations|Location]] (Diamond/Pearl)&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x80-0x81&lt;br /&gt;
| Met At [[Pokemon NDS Locations|Location]] (Diamond/Pearl)&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x82&lt;br /&gt;
| [[Pokerus|Pokérus]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x83&lt;br /&gt;
| [http://projectpokemon.org/wiki/List_of_Diamond,_Pearl,_Platinum,_HeartGold_and_SoulSilver_Items_by_Index_Number#Balls Poké Ball]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x84&lt;br /&gt;
| Bit 0-6 - Met At Level&amp;lt;br&amp;gt;Bit 7 - Female OT Gender&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x85&lt;br /&gt;
| [[#Encounter Types|Encounter Type]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x86&lt;br /&gt;
| &#039;&#039;Unused&#039;&#039;&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x87&lt;br /&gt;
| &#039;&#039;Unused&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Battle Stats ==&lt;br /&gt;
&lt;br /&gt;
The battle stats are encrypted in the same manner, however the seed is not the checksum, it is the PID, and the bytes are not shuffled.&lt;br /&gt;
&lt;br /&gt;
=== Encrypted Bytes ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Contents&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x88&lt;br /&gt;
| Bits 0-2 - Asleep (0-7 rounds)&amp;lt;br&amp;gt;Bit 3 - Poisoned&amp;lt;br&amp;gt;Bit 4 - Burned&amp;lt;br&amp;gt;Bit 5 - Frozen&amp;lt;br&amp;gt;Bit 6 - Paralyzed&amp;lt;br&amp;gt;Bit 7 - Toxic&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x89&lt;br /&gt;
| &#039;&#039;Unknown&#039;&#039; - Flags - Max Value 0xF0&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x8A-0x8B&lt;br /&gt;
| &#039;&#039;Unknown&#039;&#039;&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x8C&lt;br /&gt;
| Level&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x8D&lt;br /&gt;
| Capsule Index (Seals)&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x8E-0x8F&lt;br /&gt;
| Current HP&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x90-0x91&lt;br /&gt;
| Max HP&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x92-0x93&lt;br /&gt;
| Attack&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x94-0x95&lt;br /&gt;
| Defense&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x96-0x97&lt;br /&gt;
| Speed&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x98-0x99&lt;br /&gt;
| Special Attack&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x9A-0x9B&lt;br /&gt;
| Special Defense&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x9C-0xD3&lt;br /&gt;
| &#039;&#039;Unknown&#039;&#039; - Contains Trash Data&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0xD4-0xDB&lt;br /&gt;
| &#039;&#039;Unknown&#039;&#039; - all 0s?&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Original Language ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Value&lt;br /&gt;
! Language&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x1&lt;br /&gt;
| 日本語 (Japan)&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x2&lt;br /&gt;
| English (US/UK/AU)&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3&lt;br /&gt;
| Français (France/Québec)&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x4&lt;br /&gt;
| Italiano (Italy)&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x5&lt;br /&gt;
| Deutsch (Germany)&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x7&lt;br /&gt;
| Español (Spain/Latin Americas)&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x8&lt;br /&gt;
| 한국어 (South Korea)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Markings ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Marking&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x01&lt;br /&gt;
| Circle&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x02&lt;br /&gt;
| Triangle&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x04&lt;br /&gt;
| Square&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x08&lt;br /&gt;
| Heart&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x10&lt;br /&gt;
| Star&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x20&lt;br /&gt;
| Diamond&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Alternate Forms ==&lt;br /&gt;
Alternate forms are stored at offset 0x40 of the Pokemon structure.  Each form follows the pattern of &#039;&#039;index &amp;lt;&amp;lt; 3&#039;&#039; where index starts at zero for the main form.&lt;br /&gt;
&lt;br /&gt;
=== Unown&#039;s Forms ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x00&lt;br /&gt;
| A&lt;br /&gt;
| 0x38&lt;br /&gt;
| H&lt;br /&gt;
| 0x70&lt;br /&gt;
| O&lt;br /&gt;
| 0xA8&lt;br /&gt;
| V&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x08&lt;br /&gt;
| B&lt;br /&gt;
| 0x40&lt;br /&gt;
| I&lt;br /&gt;
| 0x78&lt;br /&gt;
| P&lt;br /&gt;
| 0xB0&lt;br /&gt;
| W&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x10&lt;br /&gt;
| C&lt;br /&gt;
| 0x48&lt;br /&gt;
| J&lt;br /&gt;
| 0x80&lt;br /&gt;
| Q&lt;br /&gt;
| 0xB8&lt;br /&gt;
| X&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x18&lt;br /&gt;
| D&lt;br /&gt;
| 0x50&lt;br /&gt;
| K&lt;br /&gt;
| 0x88&lt;br /&gt;
| R&lt;br /&gt;
| 0xC0&lt;br /&gt;
| Y&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x20&lt;br /&gt;
| E&lt;br /&gt;
| 0x58&lt;br /&gt;
| L&lt;br /&gt;
| 0x90&lt;br /&gt;
| S&lt;br /&gt;
| 0xC8&lt;br /&gt;
| Z&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x28&lt;br /&gt;
| F&lt;br /&gt;
| 0x60&lt;br /&gt;
| M&lt;br /&gt;
| 0x98&lt;br /&gt;
| T&lt;br /&gt;
| 0xD0&lt;br /&gt;
| !&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x30&lt;br /&gt;
| G&lt;br /&gt;
| 0x68&lt;br /&gt;
| N&lt;br /&gt;
| 0xA0&lt;br /&gt;
| U&lt;br /&gt;
| 0xD8&lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Deoxy&#039;s Forms ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x00&lt;br /&gt;
| Normal&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x08&lt;br /&gt;
| Attack&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x10&lt;br /&gt;
| Defense&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x18&lt;br /&gt;
| Speed&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Burmy&#039;s &amp;amp; Wormadam&#039;s Forms ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x00&lt;br /&gt;
| Plant&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x08&lt;br /&gt;
| Sandy&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x10&lt;br /&gt;
| Trash&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Shellos&#039; &amp;amp; Gastrodon&#039;s Forms ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x00&lt;br /&gt;
| West&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x08&lt;br /&gt;
| East&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Rotom&#039;s Forms ===&lt;br /&gt;
Rotom&#039;s alternate forms will only be displayed in Pokemon Platinum.  Rotom may be traded between Diamond, Pearl, and Platinum without losing the alternate form.&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x00&lt;br /&gt;
| Normal&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x08&lt;br /&gt;
| Heat&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x10&lt;br /&gt;
| Wash&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x18&lt;br /&gt;
| Frost&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x20&lt;br /&gt;
| Fan&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x28&lt;br /&gt;
| Cut&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Giratina&#039;s Forms ===&lt;br /&gt;
Giratina&#039;s Origin form will only be displayed in Pokemon Platinum.&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x00&lt;br /&gt;
| Altered&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x08&lt;br /&gt;
| Origin&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Shaymin&#039;s Forms ===&lt;br /&gt;
Shaymin&#039;s Sky form will only be displayed in Pokemon Platinum.&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x00&lt;br /&gt;
| Land&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x08&lt;br /&gt;
| Sky&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Arceus&#039; Forms ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x00&lt;br /&gt;
| Normal&lt;br /&gt;
| 0x30&lt;br /&gt;
| Insect&lt;br /&gt;
| 0x60&lt;br /&gt;
| Zap&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x08&lt;br /&gt;
| Fist&lt;br /&gt;
| 0x38&lt;br /&gt;
| Spooky&lt;br /&gt;
| 0x68&lt;br /&gt;
| Mind&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x10&lt;br /&gt;
| Sky&lt;br /&gt;
| 0x40&lt;br /&gt;
| Iron&lt;br /&gt;
| 0x70&lt;br /&gt;
| Icicle&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x18&lt;br /&gt;
| Toxic&lt;br /&gt;
| 0x48&lt;br /&gt;
| Flame&lt;br /&gt;
| 0x78&lt;br /&gt;
| Draco&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x20&lt;br /&gt;
| Earth&lt;br /&gt;
| 0x50&lt;br /&gt;
| Splash&lt;br /&gt;
| 0x80&lt;br /&gt;
| Dread&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x28&lt;br /&gt;
| Stone&lt;br /&gt;
| 0x58&lt;br /&gt;
| Meadow&lt;br /&gt;
| 0x4C&lt;br /&gt;
| Curse&lt;br /&gt;
|}&lt;br /&gt;
== Nickname and OT Name ==&lt;br /&gt;
&lt;br /&gt;
Since generation 5, the nickname and OT name are encoded with Unicode instead of a &lt;br /&gt;
game-specific character map. However, there are some exceptions, which are listed&lt;br /&gt;
below. Note that unlike generation 4, the last two bytes of are always 0xFFFF, even&lt;br /&gt;
if there already was a terminator before. Exceptions to this rule are the Roaming Pokémon, Starters, and various gifts and in game trades, in which the OT name does not have the escape sequence.&lt;br /&gt;
&lt;br /&gt;
There are no normally occurring trash bytes for generation 5 Pokémon, but the Poké Transfer will keep existing trash bytes (except the last two) even if the Pokémon evolves in generation 5. In the advent of a different language Pokémon evolving in another language game, characters not overwritten are left as trash bytes.&lt;br /&gt;
&lt;br /&gt;
=== Characters that can be replaced in Unicode ===&lt;br /&gt;
In the game, those are half-width versions of existing Unicode characters used&lt;br /&gt;
in non-japanese versions with long name support.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Original character&lt;br /&gt;
! Unicode index&lt;br /&gt;
! Replace with&lt;br /&gt;
! Unicode index&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⑽&lt;br /&gt;
| 0x247d&lt;br /&gt;
| ☂&lt;br /&gt;
| 0x2602&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⑻&lt;br /&gt;
| 0x247b&lt;br /&gt;
| ☁&lt;br /&gt;
| 0x2601&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⑺&lt;br /&gt;
| 0x247a&lt;br /&gt;
| ☀&lt;br /&gt;
| 0x2600&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⑹&lt;br /&gt;
| 0x2479&lt;br /&gt;
| ♪&lt;br /&gt;
| 0x266a&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⑸&lt;br /&gt;
| 0x2478&lt;br /&gt;
| ◇&lt;br /&gt;
| 0x25c7&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⑷&lt;br /&gt;
| 0x2477&lt;br /&gt;
| △&lt;br /&gt;
| 0x25b3&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⑶&lt;br /&gt;
| 0x2476&lt;br /&gt;
| □&lt;br /&gt;
| 0x25a1&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⑵&lt;br /&gt;
| 0x2475&lt;br /&gt;
| ○&lt;br /&gt;
| 0x25cb&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⑴&lt;br /&gt;
| 0x2474&lt;br /&gt;
| ◎&lt;br /&gt;
| 0x25ce&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⑳&lt;br /&gt;
| 0x2473&lt;br /&gt;
| ★&lt;br /&gt;
| 0x2605&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⑲&lt;br /&gt;
| 0x2472&lt;br /&gt;
| ♦&lt;br /&gt;
| 0x2666&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⑱&lt;br /&gt;
| 0x2471&lt;br /&gt;
| ♥&lt;br /&gt;
| 0x2665&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⑰&lt;br /&gt;
| 0x2470&lt;br /&gt;
| ♣&lt;br /&gt;
| 0x2663&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⑯&lt;br /&gt;
| 0x246f&lt;br /&gt;
| ♠&lt;br /&gt;
| 0x2660&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⑮&lt;br /&gt;
| 0x246e&lt;br /&gt;
| ♀&lt;br /&gt;
| 0x2640&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⑭&lt;br /&gt;
| 0x246d&lt;br /&gt;
| ♂&lt;br /&gt;
| 0x2642&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⑬&lt;br /&gt;
| 0x246c&lt;br /&gt;
| …&lt;br /&gt;
| 0x2026&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⑨&lt;br /&gt;
| 0x2468&lt;br /&gt;
| ÷&lt;br /&gt;
| 0xf7&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⑧&lt;br /&gt;
| 0x2467&lt;br /&gt;
| ×&lt;br /&gt;
| 0xd7&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Pokémon exclusive characters ===&lt;br /&gt;
Some game-exclusive characters do not exist in Unicode and should be replaced with bitmaps.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Original character&lt;br /&gt;
! Unicode index&lt;br /&gt;
! Pokémon exclusive&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| $&lt;br /&gt;
| 0x24&lt;br /&gt;
| [[File:gen5_unicode_36.png]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⇒&lt;br /&gt;
| 0x21d2&lt;br /&gt;
| [[File:gen5_unicode_8658.png]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⇔&lt;br /&gt;
| 0x21d4&lt;br /&gt;
| [[File:gen5_unicode_8660.png]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ∀&lt;br /&gt;
| 0x2200&lt;br /&gt;
| [[File:gen5_unicode_8704.png]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ∃&lt;br /&gt;
| 0x2203&lt;br /&gt;
| [[File:gen5_unicode_8707.png]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ∧&lt;br /&gt;
| 0x2227&lt;br /&gt;
| [[File:gen5_unicode_8743.png]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ∨&lt;br /&gt;
| 0x2228&lt;br /&gt;
| [[File:gen5_unicode_8744.png]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ①&lt;br /&gt;
| 0x2460&lt;br /&gt;
| [[File:gen5_unicode_9312.png]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ②&lt;br /&gt;
| 0x2461&lt;br /&gt;
| [[File:gen5_unicode_8744.png]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ③&lt;br /&gt;
| 0x2462&lt;br /&gt;
| [[File:9314.png]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ④&lt;br /&gt;
| 0x2463&lt;br /&gt;
| [[File:gen5_unicode_8658.png]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⑤&lt;br /&gt;
| 0x2464&lt;br /&gt;
| [[File:gen5_unicode_8660.png]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⑥&lt;br /&gt;
| 0x2465&lt;br /&gt;
| [[File:gen5_unicode_8704.png]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⑦&lt;br /&gt;
| 0x2466&lt;br /&gt;
| [[File:gen5_unicode_8707.png]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⑩&lt;br /&gt;
| 0x2469&lt;br /&gt;
| [[File:gen5_unicode_9321.png]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⑪&lt;br /&gt;
| 0x246a&lt;br /&gt;
| [[File:gen5_unicode_9322.png]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⑫&lt;br /&gt;
| 0x246b&lt;br /&gt;
| [[File:9323.png]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⑾&lt;br /&gt;
| 0x247e&lt;br /&gt;
| [[File:gen5_unicode_9312.png]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⑿&lt;br /&gt;
| 0x247f&lt;br /&gt;
| [[File:gen5_unicode_9343.png]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⒀&lt;br /&gt;
| 0x2480&lt;br /&gt;
| [[File:gen5_unicode_9344.png]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⒁&lt;br /&gt;
| 0x2481&lt;br /&gt;
| [[File:9345.png]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⒂&lt;br /&gt;
| 0x2482&lt;br /&gt;
| [[File:gen5_unicode_9346.png]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⒃&lt;br /&gt;
| 0x2483&lt;br /&gt;
| [[File:gen5_unicode_9347.png]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⒄&lt;br /&gt;
| 0x2484&lt;br /&gt;
| [[File:gen5_unicode_9348.png]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⒅&lt;br /&gt;
| 0x2485&lt;br /&gt;
| [[File:9349.png]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⒆&lt;br /&gt;
| 0x2486&lt;br /&gt;
| [[File:gen5_unicode_9350.png]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ⒇&lt;br /&gt;
| 0x2487&lt;br /&gt;
| [[File:gen5_unicode_9351.png]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| ￢&lt;br /&gt;
| 0xffe2&lt;br /&gt;
| [[File:9314.png]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Encounter Types ==&lt;br /&gt;
&lt;br /&gt;
Encounter types are not used in Black and White. Pokeshifted Pokemon keep their Encounter Type hex.&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Value&lt;br /&gt;
! Country&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x0&lt;br /&gt;
| Pal Park, Egg, Hatched, Special Event&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x2&lt;br /&gt;
| Tall Grass&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x4&lt;br /&gt;
| Dialga/Palkia In-Game Event&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x5&lt;br /&gt;
| Cave, Hall of Origin&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x7&lt;br /&gt;
| Surfing, Fishing&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x9&lt;br /&gt;
| Building&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0xA&lt;br /&gt;
| Great Marsh (Safari Zone)&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0xC&lt;br /&gt;
| Starter, Fossil, Gift (Eevee)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ribbons ==&lt;br /&gt;
Diamond, Pearl, and Platinum store the ribbon information as [[Bitfields|bitfields]] in 1-byte words.  Given below are the bytewise representation of the ribbon bitfields.&lt;br /&gt;
&lt;br /&gt;
=== Sinnoh Ribbon Set 1 ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x24 &amp;amp; 0x01&lt;br /&gt;
| Sinnoh Champ Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x24 &amp;amp; 0x02&lt;br /&gt;
| Ability Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x24 &amp;amp; 0x04&lt;br /&gt;
| Great Ability Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x24 &amp;amp; 0x08&lt;br /&gt;
| Double Ability Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x24 &amp;amp; 0x10&lt;br /&gt;
| Multi Ability Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x24 &amp;amp; 0x20&lt;br /&gt;
| Pair Ability Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x24 &amp;amp; 0x40&lt;br /&gt;
| World Ability Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x24 &amp;amp; 0x80&lt;br /&gt;
| Alert Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x25 &amp;amp; 0x01&lt;br /&gt;
| Shock Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x25 &amp;amp; 0x02&lt;br /&gt;
| Downcast Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x25 &amp;amp; 0x04&lt;br /&gt;
| Careless Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x25 &amp;amp; 0x08&lt;br /&gt;
| Relax Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x25 &amp;amp; 0x10&lt;br /&gt;
| Snooze Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x25 &amp;amp; 0x20&lt;br /&gt;
| Smile Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x25 &amp;amp; 0x40&lt;br /&gt;
| Gorgeous Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x25 &amp;amp; 0x80&lt;br /&gt;
| Royal Ribbon&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sinnoh Ribbon Set 2 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x26 &amp;amp; 0x01&lt;br /&gt;
| Gorgeous Royal Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x26 &amp;amp; 0x02&lt;br /&gt;
| Footprint Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x26 &amp;amp; 0x04&lt;br /&gt;
| Record Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x26 &amp;amp; 0x08&lt;br /&gt;
| History Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x26 &amp;amp; 0x10&lt;br /&gt;
| Legend Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x26 &amp;amp; 0x20&lt;br /&gt;
| Red Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x26 &amp;amp; 0x40&lt;br /&gt;
| Green Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x26 &amp;amp; 0x80&lt;br /&gt;
| Blue Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x27 &amp;amp; 0x01&lt;br /&gt;
| Festival Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x27 &amp;amp; 0x02&lt;br /&gt;
| Carnival Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x27 &amp;amp; 0x04&lt;br /&gt;
| Classic Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x27 &amp;amp; 0x08&lt;br /&gt;
| Premier Ribbon&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sinnoh Ribbon Set 3 ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x60 &amp;amp; 0x01&lt;br /&gt;
| Cool Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x60 &amp;amp; 0x02&lt;br /&gt;
| Cool Ribbon Great&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x60 &amp;amp; 0x04&lt;br /&gt;
| Cool Ribbon Ultra&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x60 &amp;amp; 0x08&lt;br /&gt;
| Cool Ribbon Master&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x60 &amp;amp; 0x10&lt;br /&gt;
| Beauty Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x60 &amp;amp; 0x20&lt;br /&gt;
| Beauty Ribbon Great&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x60 &amp;amp; 0x40&lt;br /&gt;
| Beauty Ribbon Ultra&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x60 &amp;amp; 0x80&lt;br /&gt;
| Beauty Ribbon Master&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x61 &amp;amp; 0x01&lt;br /&gt;
| Cute Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x61 &amp;amp; 0x02&lt;br /&gt;
| Cute Ribbon Great&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x61 &amp;amp; 0x04&lt;br /&gt;
| Cute Ribbon Ultra&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x61 &amp;amp; 0x08&lt;br /&gt;
| Cute Ribbon Master&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x61 &amp;amp; 0x10&lt;br /&gt;
| Smart Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x61 &amp;amp; 0x20&lt;br /&gt;
| Smart Ribbon Great&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x61 &amp;amp; 0x40&lt;br /&gt;
| Smart Ribbon Ultra&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x61 &amp;amp; 0x80&lt;br /&gt;
| Smart Ribbon Master&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sinnoh Ribbon Set 4 ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x62 &amp;amp; 0x01&lt;br /&gt;
| Tough Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x62 &amp;amp; 0x02&lt;br /&gt;
| Tough Ribbon Great&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x62 &amp;amp; 0x04&lt;br /&gt;
| Tough Ribbon Ultra&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x62 &amp;amp; 0x08&lt;br /&gt;
| Tough Ribbon Master&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Hoenn Ribbon Set 1 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3C &amp;amp; 0x01&lt;br /&gt;
| Cool Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3C &amp;amp; 0x02&lt;br /&gt;
| Cool Ribbon Super&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3C &amp;amp; 0x04&lt;br /&gt;
| Cool Ribbon Hyper&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3C &amp;amp; 0x08&lt;br /&gt;
| Cool Ribbon Master&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3C &amp;amp; 0x10&lt;br /&gt;
| Beauty Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3C &amp;amp; 0x20&lt;br /&gt;
| Beauty Ribbon Super&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3C &amp;amp; 0x40&lt;br /&gt;
| Beauty Ribbon Hyper&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3C &amp;amp; 0x80&lt;br /&gt;
| Beauty Ribbon Master&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3D &amp;amp; 0x01&lt;br /&gt;
| Cute Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3D &amp;amp; 0x02&lt;br /&gt;
| Cute Ribbon Super&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3D &amp;amp; 0x04&lt;br /&gt;
| Cute Ribbon Hyper&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3D &amp;amp; 0x08&lt;br /&gt;
| Cute Ribbon Master&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3D &amp;amp; 0x10&lt;br /&gt;
| Smart Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3D &amp;amp; 0x20&lt;br /&gt;
| Smart Ribbon Super&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3D &amp;amp; 0x40&lt;br /&gt;
| Smart Ribbon Hyper&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3D &amp;amp; 0x80&lt;br /&gt;
| Smart Ribbon Master&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Hoenn Ribbon Set 2 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3F &amp;amp; 0x01&lt;br /&gt;
| Tough Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3F &amp;amp; 0x02&lt;br /&gt;
| Tough Ribbon Super&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3F &amp;amp; 0x04&lt;br /&gt;
| Tough Ribbon Hyper&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3F &amp;amp; 0x08&lt;br /&gt;
| Tough Ribbon Master&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3F &amp;amp; 0x10&lt;br /&gt;
| Champion Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3F &amp;amp; 0x20&lt;br /&gt;
| Winning Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3F &amp;amp; 0x40&lt;br /&gt;
| Victory Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3F &amp;amp; 0x80&lt;br /&gt;
| Artist Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3E &amp;amp; 0x01&lt;br /&gt;
| Effort Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3E &amp;amp; 0x02&lt;br /&gt;
| Marine Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3E &amp;amp; 0x04&lt;br /&gt;
| Land Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3E &amp;amp; 0x08&lt;br /&gt;
| Sky Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3E &amp;amp; 0x10&lt;br /&gt;
| Country Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3E &amp;amp; 0x20&lt;br /&gt;
| National Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3E &amp;amp; 0x40&lt;br /&gt;
| Earth Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3E &amp;amp; 0x80&lt;br /&gt;
| World Ribbon&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Save File Location ==&lt;br /&gt;
The party Pokémon are stored in the [[Pokémon NDS Save File Structure|save file]] beginning at offset 0x18e08.&lt;br /&gt;
&lt;br /&gt;
In the first small save block, the first Daycare Pokémon is located at 0x0141C, and the second is located at 0x01508.  In the second small block, the first Daycare Pokémon is located at 0x4141C, and the second is located at 0x41508.&lt;br /&gt;
&lt;br /&gt;
In the first small save block, the Pal Park Pokémon are stored beginning at 0x0BA28.  In the second small save block, the Pal Park Pokémon are stored beginning at 0x4BA28.&lt;br /&gt;
&lt;br /&gt;
Each party and Daycare Pokémon is 220 bytes in size.&lt;br /&gt;
&lt;br /&gt;
The PC storage Pokémon are stored in the save file from Box 1 to Box 24. The offset starts at 0x24400. Each Pokémon stored in the PC is 136 bytes in size.&lt;br /&gt;
&lt;br /&gt;
[[Category:Structures]]&lt;br /&gt;
[[Category:Game Mechanics]]&lt;br /&gt;
[[Category:ROM Research]]&lt;/div&gt;</summary>
		<author><name>Magical</name></author>
	</entry>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=Notable_Breakpoints&amp;diff=4511</id>
		<title>Notable Breakpoints</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=Notable_Breakpoints&amp;diff=4511"/>
		<updated>2012-03-27T01:52:25Z</updated>

		<summary type="html">&lt;p&gt;Magical: /* Pokémon HGSS (U) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains RAM addresses to various interesting and useful processes of GBA and DS Pokemon games. &lt;br /&gt;
&lt;br /&gt;
Breakpoints can be set at these addresses.&lt;br /&gt;
&lt;br /&gt;
==Inspiration==&lt;br /&gt;
This page is inspired by tsanth&#039;s thread with the same name on GameFAQs: [http://boards.gamefaqs.com/gfaqs/genmessage.php?board=925602&amp;amp;topic=40532445]&lt;br /&gt;
&lt;br /&gt;
==Pokemon DPP (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!DP RAM Address&lt;br /&gt;
!Pl RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02000C54&lt;br /&gt;
|02000C88&lt;br /&gt;
|Main() &lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02000FB0&lt;br /&gt;
|02001034&lt;br /&gt;
|Begin Seed Calculation Routine&lt;br /&gt;
|[[mingot]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201B9E0&lt;br /&gt;
|0201D2DC&lt;br /&gt;
|Set [[PRNG]] seed&lt;br /&gt;
|[[mingot]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201B9EC&lt;br /&gt;
|0201D2E8&lt;br /&gt;
|PRNG&lt;br /&gt;
|[[loadingNOW]], [[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201BA10&lt;br /&gt;
|0201D30C&lt;br /&gt;
|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&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201BA1C&lt;br /&gt;
|0201D318&lt;br /&gt;
|Set [[IRNG]] Seed&lt;br /&gt;
|[[mingot, arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02038B70&lt;br /&gt;
|0203E778&lt;br /&gt;
|Script Handler&lt;br /&gt;
|[[loadingNOW]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|0203E7D2&lt;br /&gt;
|Loads address for a command then branches to that address&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FB4&lt;br /&gt;
|0204BAFC&lt;br /&gt;
|ARNG call for PID of Wondercard pokemon&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FBA&lt;br /&gt;
|0204BB02&lt;br /&gt;
|Loads PID from wondercard to r0&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FC8&lt;br /&gt;
|0204BB10&lt;br /&gt;
|First Shiny Check call during the generation of some wondercard pokemon&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FD0&lt;br /&gt;
|0204BB18&lt;br /&gt;
|Beginning of loop that makes sure you do not get a shiny wondercard pokemon (in some cases)&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0204305E&lt;br /&gt;
|0204BBA6&lt;br /&gt;
|PRNG call for first set of Wondercard pokemon IVs&lt;br /&gt;
|[[tsanth]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0204309C&lt;br /&gt;
|0204BBE4&lt;br /&gt;
|PRNG call for second set of Wondercard pokemon IVs&lt;br /&gt;
|[[tsanth]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205DED4&lt;br /&gt;
|&lt;br /&gt;
|Create chain set (not sure about address in tsanth&#039;s thread it said 205DED&lt;br /&gt;
|[[tsanth]], [[loadingNOW]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205DF42&lt;br /&gt;
|&lt;br /&gt;
|End of Create chain set routine&lt;br /&gt;
|[[tsanth]], [[loadingNOW]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205E40C&lt;br /&gt;
|02069B00&lt;br /&gt;
|Pokeradar Routine&lt;br /&gt;
|[[loadingNOW]], [[tsanth]], [[arcee]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02068AAC&lt;br /&gt;
|02075E38&lt;br /&gt;
|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.&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|02075C86&lt;br /&gt;
|128 step RNG advancement&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|0207760E&lt;br /&gt;
|Poketch check @ daycare screen&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0206A90C&lt;br /&gt;
|02078780&lt;br /&gt;
|Begin Calculation of [[Pokemon ID]] for alternate forms.&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020EBC80&lt;br /&gt;
|020E1F6C&lt;br /&gt;
|Division routine; R0= R0 / R1, R1=R0%R1&lt;br /&gt;
|[[tsanth]], [[SCV]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|020EAC58&lt;br /&gt;
|Pointer to Begin Routine for Script Command 0000&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|020EB974&lt;br /&gt;
|Pointer to Begin Routine for Script Command 0347&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C4D48&lt;br /&gt;
|021BFB14&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Kazo]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C4D4C&lt;br /&gt;
|021BFB18&lt;br /&gt;
|Mersenne Twister Lookup Table&lt;br /&gt;
|[[Kazo]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4DA8&lt;br /&gt;
|&lt;br /&gt;
|Beginning of [[Honey Tree]] Routine&lt;br /&gt;
|[[SCV]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4EE4&lt;br /&gt;
|&lt;br /&gt;
|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.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4F44&lt;br /&gt;
|&lt;br /&gt;
|Determines a number from 0-5 that represents which pokemon will be encountered in a honey tree.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4F98&lt;br /&gt;
|&lt;br /&gt;
|Determines which list will be used by  (value determined by 021F4EE4) - 1 (its not done this way, but is equivalent)&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4FAC&lt;br /&gt;
|&lt;br /&gt;
|Determines a number from 0-3 that represents how much a [[Honey Tree]] will shake&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F5138&lt;br /&gt;
|021EFF4C&lt;br /&gt;
|Returns 1 if the current tree being slathered is a [[Munchlax Tree]] and 0 otherwise.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02211E60&lt;br /&gt;
|&lt;br /&gt;
|Set [[GTS protocol#Encryption|GRNG]] seed&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02211E70&lt;br /&gt;
|&lt;br /&gt;
|[[GTS protocol#Encryption|GRNG]]&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BA10&lt;br /&gt;
|&lt;br /&gt;
|Movement Handler Start&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BA46&lt;br /&gt;
|&lt;br /&gt;
|&amp;quot;Am I on grass?&amp;quot; check&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BAD4&lt;br /&gt;
|&lt;br /&gt;
|Wild Encounter Check&lt;br /&gt;
|[[tsanth]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BB2E&lt;br /&gt;
|&lt;br /&gt;
|Pair-battle (NPC partner) check&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BD1C&lt;br /&gt;
|&lt;br /&gt;
|Movement Handler END&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C1EE &lt;br /&gt;
|022377A2&lt;br /&gt;
|Pokeball catching routine&lt;br /&gt;
|[[tsanth, arcee]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C5B8&lt;br /&gt;
|&lt;br /&gt;
|Start of Encounter Table Lookup Handler&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C66A&lt;br /&gt;
|&lt;br /&gt;
|Start of Water (Sweet Scent/Surfing) Encounter Table Lookup Handler&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C6A0&lt;br /&gt;
|&lt;br /&gt;
|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.&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|022417F4&lt;br /&gt;
|Encounter- terrain check&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|02241848&lt;br /&gt;
|Encounter- motion mod&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|022479E6&lt;br /&gt;
|Call to get ID routine (result in r0)&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|0224E920&lt;br /&gt;
|Start of Frozen Handler&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
0224190A - ESV calc&lt;br /&gt;
02241B28 - nature calc (probably)&lt;br /&gt;
&lt;br /&gt;
==Pokémon HGSS (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02000CA4&lt;br /&gt;
|Main()&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201FD44&lt;br /&gt;
|PRNG advancement routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201FD68&lt;br /&gt;
|Alternate(simpler) PRNG&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0204BFF0&lt;br /&gt;
|Wondercard pokemon generation- full routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02061E2A&lt;br /&gt;
|NPC movement&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02070068&lt;br /&gt;
|Shiny check&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020D3A38&lt;br /&gt;
|Disable slow IRQ&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020D3A4C&lt;br /&gt;
|Enable slow IRQ&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020D34B0&lt;br /&gt;
|Make wondercard PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020F2998&lt;br /&gt;
|Signed divmod()&lt;br /&gt;
|?&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020F2BA4&lt;br /&gt;
|Unsigned divmod()&lt;br /&gt;
|?&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0210F6CC&lt;br /&gt;
|Mersenne Twister lookup table counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D15A8&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Kazo]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D15AC&lt;br /&gt;
|Mersenne Twister lookup table&lt;br /&gt;
|[[Kazo]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021E19DC&lt;br /&gt;
|Upper half of wondercard PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022440A0&lt;br /&gt;
|Pickup / Honey Gather handler&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02246B24&lt;br /&gt;
|Start of Water (Fishing) Encounter Table Lookup Handler [http://www.smogon.com/forums/showpost.php?p=2564048&amp;amp;postcount=215]&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02246FCC&lt;br /&gt;
|Fishing decision&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02247228&lt;br /&gt;
|Pokéball catching routine&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022475F2&lt;br /&gt;
|Partial encounter calc- movement modifier&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0224767A&lt;br /&gt;
|Partial encounter calc- ability/item modifier&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02247698&lt;br /&gt;
|Encounter slots&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02247720&lt;br /&gt;
|Start of Water (Sweet Scent/Surfing) Encounter Table Lookup Handler [http://www.smogon.com/forums/showpost.php?p=2564048&amp;amp;postcount=215]&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022477C0&lt;br /&gt;
|Headbutt tree encounter slots (Post-National Dex)&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022483C4&lt;br /&gt;
|Partial encounter calc- roamer modifier&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0206C9D8&lt;br /&gt;
|International shiny PID generation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02070068&lt;br /&gt;
|Shiny check&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon BW (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|01FF8000&lt;br /&gt;
|ITCM start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|01FF80F0&lt;br /&gt;
|ARM9 IRQ Handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005124&lt;br /&gt;
|main() function- infinite main/busy loop that runs the game starts at 02005166&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200520C&lt;br /&gt;
|VBlank handler function&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020056D0&lt;br /&gt;
|Set up both main RNGs for use&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020056EC&lt;br /&gt;
|PRNG advancement routine 1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005728&lt;br /&gt;
|PRNG advancement routine 2&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200852C&lt;br /&gt;
|Store sidtid as uint&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201778C&lt;br /&gt;
|IV creation routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02017EF4&lt;br /&gt;
|Shiny check routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02018746 &lt;br /&gt;
|PID type decision&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02018788&lt;br /&gt;
|Shiny prevention routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02019A6C&lt;br /&gt;
|PKM + RAM encryption&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02035F50&lt;br /&gt;
|New (NDS-only) input handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02035F94&lt;br /&gt;
|GBA-equivalent input handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203AE38&lt;br /&gt;
|C-Gear startup RNG interaction(reseed MT, encrypt, etc)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203EFE0&lt;br /&gt;
|memcmp()- memory compare: 2 pointers and length of comparison(in bytes))&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F04C&lt;br /&gt;
|Set init MT seed (seed = init rng &amp;gt;&amp;gt; 32)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F078&lt;br /&gt;
|ARNG(same as gen 4)- build initial MT seed table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F0C0&lt;br /&gt;
|Mersenne Twister seed table handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F270&lt;br /&gt;
|Initial Seed Creation Routine&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F374&lt;br /&gt;
|.sav encryption&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020592E8&lt;br /&gt;
|MD5 hashing routine for wifi&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0207FD4C&lt;br /&gt;
|VRAM bank control handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02082BE4&lt;br /&gt;
|Takes 3 arguments: pointer to start of data write, length(in bytes) of data to write, uint to write multiple times- used constantly for clearing freed memory&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02082D5C&lt;br /&gt;
|memcpy32()- accepts pointer to data start, pointer to copy start, and a length in bytes to copy&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02085D54&lt;br /&gt;
|DSi Detection Routine&lt;br /&gt;
|[[chiizu]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02088E74&lt;br /&gt;
|Convert dec -&amp;gt; hex(mainly for RTC data, but usable for anything)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02088A98&lt;br /&gt;
|Date/time switch statement- used to grab pieces of the date and time and convert them to hex&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0209C0C4&lt;br /&gt;
|Signed divmod- r0/r1, result in r0; r0%r1, result in r1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0209C2C8&lt;br /&gt;
|Unsigned divmod- r0/r1, result in r0; r0%r1, result in r1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020946AC&lt;br /&gt;
|ARNG2 - This is used in the DS to DS handshake&lt;br /&gt;
|[[XFR]],[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020A1B50&lt;br /&gt;
|Model/texture definitions/positioning data&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020AA1C4&lt;br /&gt;
|RNG state pointer&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02146292&lt;br /&gt;
|Pokemon to be encountered&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02146974&lt;br /&gt;
|Pointer to the struct for the current heap being used&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02146A18&lt;br /&gt;
|Mersenne Twister seed table pointer&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02150920&lt;br /&gt;
|SVC mode stack location for card reads/writes&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02151260&lt;br /&gt;
|SWI/SVC mode stack&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02193914&lt;br /&gt;
|White Forest Trainer # Counter- returns # of trainers in White Forest&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A9370&lt;br /&gt;
|Pre-battle setup(battle test, etc)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A948C&lt;br /&gt;
|Double battle test&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021AA43A&lt;br /&gt;
|Battle test&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A9DB2&lt;br /&gt;
|0x80000000 OR PID decision routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A9DE8&lt;br /&gt;
|((rand() * 0xFFFF) &amp;gt;&amp;gt; 32) /0x290 -&amp;gt; function is called quite a bit for multiple calcs&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A9DF8&lt;br /&gt;
|Fishing decision&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021AA700&lt;br /&gt;
|((rand() * 0xFFFF) &amp;gt;&amp;gt; 32) /0x290 -&amp;gt; seems to only be used for battle tests&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021AA44C&lt;br /&gt;
|White Forest Battle Decision Routine- return 0 if no battle, 1 if there&#039;s a battle&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BC4F8&lt;br /&gt;
|Player setup on new game&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BC50A&lt;br /&gt;
|Make IDs&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BFBD0&lt;br /&gt;
|Opponent accuracy&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C0A6C&lt;br /&gt;
|Battle routine(setup)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C2466&lt;br /&gt;
|Status infliction routine&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C390C&lt;br /&gt;
|Complete breeding routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C4048&lt;br /&gt;
|International breeding PID generation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C6C18&lt;br /&gt;
|Damage formula routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F6388&lt;br /&gt;
|Battle PRNG State&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02215374&lt;br /&gt;
|Mersenne Twister Lookup Table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02215D34&lt;br /&gt;
|Mersenne Twister Lookup Table Counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02216244&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02168844&lt;br /&gt;
|rand(0xFFFFFFFF) / 0xFFFF&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02168A52&lt;br /&gt;
|ID generation for Battle Subway partner&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021763DC&lt;br /&gt;
|Inside probability loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021763F8&lt;br /&gt;
|Probability routine- influences starting frame/seed&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02176444&lt;br /&gt;
|Outside probability loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02176C6C&lt;br /&gt;
|Probability table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221BBD0&lt;br /&gt;
|Start of save data in RAM(when saving, all relevant data is written here, then cart RAM, then .sav)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C9D0&lt;br /&gt;
|Daycare pokemon 1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223CAB4&lt;br /&gt;
|Daycare pokemon 2&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223D8CC&lt;br /&gt;
|BP Counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02250030&lt;br /&gt;
|Encounter slots in RAM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02257030&lt;br /&gt;
|Step Counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02257034&lt;br /&gt;
|Shaking Patch Step Counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0226DC5A&lt;br /&gt;
|Move Consecutive Use Counter (Wild Battle)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0226DC66&lt;br /&gt;
|Protect Consecutive Turn Counter (Wild Battle)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0226E70E&lt;br /&gt;
|Move Consecutive Use Counter (Trainer Battle)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0226E71A&lt;br /&gt;
|Protect Consecutive Turn Counter (Trainer Battle)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02274302&lt;br /&gt;
|Move Decision Dump (Wild Battle)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022BC734&lt;br /&gt;
|Are there trainers in White Forest? (bool)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0233F004&lt;br /&gt;
|Egg step counter&lt;br /&gt;
|[[ToastPlusOne]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE0000&lt;br /&gt;
|DTCM start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE0020&lt;br /&gt;
|Interrupt handler lookup table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE3780&lt;br /&gt;
|Main(user/system mode) stack start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE3F80&lt;br /&gt;
|IRQ mode stack start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE3FC0&lt;br /&gt;
|Supervisor mode stack start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FFFC3C&lt;br /&gt;
|Vertical blank counter buffer&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FFFDE8&lt;br /&gt;
|RTC buffer(char rtc[8])&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|037FBCEC&lt;br /&gt;
|ARM7 IRQ Handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022394E0&lt;br /&gt;
|Date/time in hex - uint array&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021AA41C&lt;br /&gt;
|Battle test/decision&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0224120C&lt;br /&gt;
|Wifi RNG&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203AE38&lt;br /&gt;
|Seed building routine for wifi RNG&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon BW (J)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005124&lt;br /&gt;
|Main()	&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022151D4&lt;br /&gt;
|Mersenne Twister Lookup Table	&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02215B94&lt;br /&gt;
|Mersenne Twister Lookup Table Counter	&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022160A8&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Kazo]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FFFC3C&lt;br /&gt;
|Delay&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FFFDE8&lt;br /&gt;
|Date&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|}&lt;br /&gt;
(All offsets are White offsets.  Black offsets are White offset minus 0x20)&lt;br /&gt;
&lt;br /&gt;
==Pokémon Emerald (J)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02024664&lt;br /&gt;
|Frame Counter&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03005AE0&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806F050&lt;br /&gt;
|PRNG Advancement Routine&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080003A4&lt;br /&gt;
|Main loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080005E4&lt;br /&gt;
|Keypress handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000758&lt;br /&gt;
|VBlank interrupt&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B413A&lt;br /&gt;
|Feebas setup routine on finding a Feebas tile&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08296518&lt;br /&gt;
|Modulus routine- r0 % r1, return result in r0&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000248&lt;br /&gt;
|IRQ setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon Emerald (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02020000&lt;br /&gt;
|Timer1 storage on TID creation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020249C0&lt;br /&gt;
|Main RNG Frame counter&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|030022E0&lt;br /&gt;
|Timer PRNG Initial State (Egg PIDs)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03002750&lt;br /&gt;
|IRQ Handler (user mode)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03005D80&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03005D84&lt;br /&gt;
|Timer RNG Current Seed (Egg PIDs)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000248&lt;br /&gt;
|IRQ setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080003A4&lt;br /&gt;
|Main loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080005E4&lt;br /&gt;
|Keypress handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000738&lt;br /&gt;
|VBlank interrupt callback&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000988&lt;br /&gt;
|Memblock header setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000B1C&lt;br /&gt;
|Malloc init&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000B38&lt;br /&gt;
|Declare memblock(malloc()?)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806F5CC&lt;br /&gt;
|PRNG Advancement Routine&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B49E2&lt;br /&gt;
|Feebas setup routine on finding a Feebas tile&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|Start Method H&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B5144&lt;br /&gt;
|Battle Test&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B4AC8&lt;br /&gt;
|Encounter Slot&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B4C74&lt;br /&gt;
|Set level&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B4E2A&lt;br /&gt;
|Sync (bool)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B4E4C&lt;br /&gt;
|Nature Setup/Decision (skip if sync() == TRUE)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08067E96&lt;br /&gt;
|PKM Building Routine (test temp PIDs, make IVs on success)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|End Method H&amp;lt;br&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08067BF8&lt;br /&gt;
|Roamer creation start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|082E7BE0&lt;br /&gt;
|Modulus routine- r0 % r1, return result in r0&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0817759E&lt;br /&gt;
|ARNG&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806D088&lt;br /&gt;
|Get nature from tempPID(pass tempPID as an arg, return nature value)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03000DC0&lt;br /&gt;
|RTC array buffer(char rtc[8])&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03000E20&lt;br /&gt;
|Directional movement counters(possibly per frame)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon Ruby / Sapphire (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02024D1C&lt;br /&gt;
|Quick Claw Determination&lt;br /&gt;
|[[FractalFusion]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020287E4 &lt;br /&gt;
|Egg Creation Step Counter&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03004818&lt;br /&gt;
|PRNG State&lt;br /&gt;
|Multiple&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0800010C&lt;br /&gt;
|IRQ setup/handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0800024C&lt;br /&gt;
|Main loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000428&lt;br /&gt;
|Keypress handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0803AADC&lt;br /&gt;
|PID creation routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08084AA6&lt;br /&gt;
|Feebas decision&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|081E0770&lt;br /&gt;
|Interrupts/SWIs&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080003E4&lt;br /&gt;
|Initial seed creation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08040EA4&lt;br /&gt;
|Seed set routine, post creation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08040E84&lt;br /&gt;
|rand()&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon FireRed / LeafGreen (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02020000&lt;br /&gt;
|Timer1 storage on initial seed creation&lt;br /&gt;
|[[flovv, Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03005000&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000558&lt;br /&gt;
|Turn on Timer1 @ TM1CNT_H = 0x80&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000564&lt;br /&gt;
|Grab and return the value of Timer1 for use in seeding&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000570&lt;br /&gt;
|Turn off Timer1 @ TM1CNT_H = 0x0 and store the grabbed value to 0x02020000&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08044EC8&lt;br /&gt;
|PRNG Advancement Routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0803DA54&lt;br /&gt;
|Make PKM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon Ruby Debug Version (G)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08045324&lt;br /&gt;
|PRNG Advancement Routine(rand())&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|030048F8&lt;br /&gt;
|PRNG state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08085CEC&lt;br /&gt;
|ARNG Advancement Routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical References]]&lt;br /&gt;
[[Category:Structures]]&lt;/div&gt;</summary>
		<author><name>Magical</name></author>
	</entry>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=Notable_Breakpoints&amp;diff=4510</id>
		<title>Notable Breakpoints</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=Notable_Breakpoints&amp;diff=4510"/>
		<updated>2012-03-27T01:51:56Z</updated>

		<summary type="html">&lt;p&gt;Magical: /* Pokémon HGSS (U) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains RAM addresses to various interesting and useful processes of GBA and DS Pokemon games. &lt;br /&gt;
&lt;br /&gt;
Breakpoints can be set at these addresses.&lt;br /&gt;
&lt;br /&gt;
==Inspiration==&lt;br /&gt;
This page is inspired by tsanth&#039;s thread with the same name on GameFAQs: [http://boards.gamefaqs.com/gfaqs/genmessage.php?board=925602&amp;amp;topic=40532445]&lt;br /&gt;
&lt;br /&gt;
==Pokemon DPP (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!DP RAM Address&lt;br /&gt;
!Pl RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02000C54&lt;br /&gt;
|02000C88&lt;br /&gt;
|Main() &lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02000FB0&lt;br /&gt;
|02001034&lt;br /&gt;
|Begin Seed Calculation Routine&lt;br /&gt;
|[[mingot]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201B9E0&lt;br /&gt;
|0201D2DC&lt;br /&gt;
|Set [[PRNG]] seed&lt;br /&gt;
|[[mingot]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201B9EC&lt;br /&gt;
|0201D2E8&lt;br /&gt;
|PRNG&lt;br /&gt;
|[[loadingNOW]], [[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201BA10&lt;br /&gt;
|0201D30C&lt;br /&gt;
|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&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201BA1C&lt;br /&gt;
|0201D318&lt;br /&gt;
|Set [[IRNG]] Seed&lt;br /&gt;
|[[mingot, arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02038B70&lt;br /&gt;
|0203E778&lt;br /&gt;
|Script Handler&lt;br /&gt;
|[[loadingNOW]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|0203E7D2&lt;br /&gt;
|Loads address for a command then branches to that address&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FB4&lt;br /&gt;
|0204BAFC&lt;br /&gt;
|ARNG call for PID of Wondercard pokemon&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FBA&lt;br /&gt;
|0204BB02&lt;br /&gt;
|Loads PID from wondercard to r0&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FC8&lt;br /&gt;
|0204BB10&lt;br /&gt;
|First Shiny Check call during the generation of some wondercard pokemon&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FD0&lt;br /&gt;
|0204BB18&lt;br /&gt;
|Beginning of loop that makes sure you do not get a shiny wondercard pokemon (in some cases)&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0204305E&lt;br /&gt;
|0204BBA6&lt;br /&gt;
|PRNG call for first set of Wondercard pokemon IVs&lt;br /&gt;
|[[tsanth]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0204309C&lt;br /&gt;
|0204BBE4&lt;br /&gt;
|PRNG call for second set of Wondercard pokemon IVs&lt;br /&gt;
|[[tsanth]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205DED4&lt;br /&gt;
|&lt;br /&gt;
|Create chain set (not sure about address in tsanth&#039;s thread it said 205DED&lt;br /&gt;
|[[tsanth]], [[loadingNOW]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205DF42&lt;br /&gt;
|&lt;br /&gt;
|End of Create chain set routine&lt;br /&gt;
|[[tsanth]], [[loadingNOW]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205E40C&lt;br /&gt;
|02069B00&lt;br /&gt;
|Pokeradar Routine&lt;br /&gt;
|[[loadingNOW]], [[tsanth]], [[arcee]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02068AAC&lt;br /&gt;
|02075E38&lt;br /&gt;
|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.&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|02075C86&lt;br /&gt;
|128 step RNG advancement&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|0207760E&lt;br /&gt;
|Poketch check @ daycare screen&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0206A90C&lt;br /&gt;
|02078780&lt;br /&gt;
|Begin Calculation of [[Pokemon ID]] for alternate forms.&lt;br /&gt;
|[[SCV]], [[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020EBC80&lt;br /&gt;
|020E1F6C&lt;br /&gt;
|Division routine; R0= R0 / R1, R1=R0%R1&lt;br /&gt;
|[[tsanth]], [[SCV]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|020EAC58&lt;br /&gt;
|Pointer to Begin Routine for Script Command 0000&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|020EB974&lt;br /&gt;
|Pointer to Begin Routine for Script Command 0347&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C4D48&lt;br /&gt;
|021BFB14&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Kazo]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C4D4C&lt;br /&gt;
|021BFB18&lt;br /&gt;
|Mersenne Twister Lookup Table&lt;br /&gt;
|[[Kazo]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4DA8&lt;br /&gt;
|&lt;br /&gt;
|Beginning of [[Honey Tree]] Routine&lt;br /&gt;
|[[SCV]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4EE4&lt;br /&gt;
|&lt;br /&gt;
|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.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4F44&lt;br /&gt;
|&lt;br /&gt;
|Determines a number from 0-5 that represents which pokemon will be encountered in a honey tree.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4F98&lt;br /&gt;
|&lt;br /&gt;
|Determines which list will be used by  (value determined by 021F4EE4) - 1 (its not done this way, but is equivalent)&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4FAC&lt;br /&gt;
|&lt;br /&gt;
|Determines a number from 0-3 that represents how much a [[Honey Tree]] will shake&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F5138&lt;br /&gt;
|021EFF4C&lt;br /&gt;
|Returns 1 if the current tree being slathered is a [[Munchlax Tree]] and 0 otherwise.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02211E60&lt;br /&gt;
|&lt;br /&gt;
|Set [[GTS protocol#Encryption|GRNG]] seed&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02211E70&lt;br /&gt;
|&lt;br /&gt;
|[[GTS protocol#Encryption|GRNG]]&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BA10&lt;br /&gt;
|&lt;br /&gt;
|Movement Handler Start&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BA46&lt;br /&gt;
|&lt;br /&gt;
|&amp;quot;Am I on grass?&amp;quot; check&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BAD4&lt;br /&gt;
|&lt;br /&gt;
|Wild Encounter Check&lt;br /&gt;
|[[tsanth]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BB2E&lt;br /&gt;
|&lt;br /&gt;
|Pair-battle (NPC partner) check&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BD1C&lt;br /&gt;
|&lt;br /&gt;
|Movement Handler END&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C1EE &lt;br /&gt;
|022377A2&lt;br /&gt;
|Pokeball catching routine&lt;br /&gt;
|[[tsanth, arcee]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C5B8&lt;br /&gt;
|&lt;br /&gt;
|Start of Encounter Table Lookup Handler&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C66A&lt;br /&gt;
|&lt;br /&gt;
|Start of Water (Sweet Scent/Surfing) Encounter Table Lookup Handler&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C6A0&lt;br /&gt;
|&lt;br /&gt;
|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.&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|022417F4&lt;br /&gt;
|Encounter- terrain check&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|02241848&lt;br /&gt;
|Encounter- motion mod&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|022479E6&lt;br /&gt;
|Call to get ID routine (result in r0)&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|0224E920&lt;br /&gt;
|Start of Frozen Handler&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
0224190A - ESV calc&lt;br /&gt;
02241B28 - nature calc (probably)&lt;br /&gt;
&lt;br /&gt;
==Pokémon HGSS (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02000CA4&lt;br /&gt;
|Main()&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201FD44&lt;br /&gt;
|PRNG advancement routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201FD68&lt;br /&gt;
|Alternate(simpler) PRNG&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0204BFF0&lt;br /&gt;
|Wondercard pokemon generation- full routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02061E2A&lt;br /&gt;
|NPC movement&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02070068&lt;br /&gt;
|Shiny check&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020D3A38&lt;br /&gt;
|Disable slow IRQ&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020D3A4C&lt;br /&gt;
|Enable slow IRQ&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020D34B0&lt;br /&gt;
|Make wondercard PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020F2998&lt;br /&gt;
|Signed divmod()&lt;br /&gt;
|?&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020F2BA4&lt;br /&gt;
|Unsigned divmod()&lt;br /&gt;
|?&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0210F6CC&lt;br /&gt;
|Mersenne Twister lookup table counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D15A8&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Kazo]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021D15AC&lt;br /&gt;
|Mersenne Twister lookup table&lt;br /&gt;
|[[Kazo]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021E19DC&lt;br /&gt;
|Upper half of wondercard PID&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022440A0&lt;br /&gt;
|Pickup / Honey Gather handler&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02246B24&lt;br /&gt;
|Start of Water (Fishing) Encounter Table Lookup Handler [http://www.smogon.com/forums/showpost.php?p=2564048&amp;amp;postcount=215]&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02246FCC&lt;br /&gt;
|Fishing decision&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02247228&lt;br /&gt;
|Pokéball catching routine&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022475F2&lt;br /&gt;
|Partial encounter calc- movement modifier&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0224767A&lt;br /&gt;
|Partial encounter calc- ability/item modifier&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02247698&lt;br /&gt;
|Encounter slots&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02247720&lt;br /&gt;
|Start of Water (Sweet Scent/Surfing) Encounter Table Lookup Handler [http://www.smogon.com/forums/showpost.php?p=2564048&amp;amp;postcount=215]&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022477C0&lt;br /&gt;
|Headbutt tree encounter slots (Post-National Dex)&lt;br /&gt;
|[[Magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022483C4&lt;br /&gt;
|Partial encounter calc- roamer modifier&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0206C9D8&lt;br /&gt;
|International shiny PID generation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02070068&lt;br /&gt;
|Shiny check&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon BW (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|01FF8000&lt;br /&gt;
|ITCM start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|01FF80F0&lt;br /&gt;
|ARM9 IRQ Handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005124&lt;br /&gt;
|main() function- infinite main/busy loop that runs the game starts at 02005166&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200520C&lt;br /&gt;
|VBlank handler function&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020056D0&lt;br /&gt;
|Set up both main RNGs for use&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020056EC&lt;br /&gt;
|PRNG advancement routine 1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005728&lt;br /&gt;
|PRNG advancement routine 2&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0200852C&lt;br /&gt;
|Store sidtid as uint&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201778C&lt;br /&gt;
|IV creation routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02017EF4&lt;br /&gt;
|Shiny check routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02018746 &lt;br /&gt;
|PID type decision&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02018788&lt;br /&gt;
|Shiny prevention routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02019A6C&lt;br /&gt;
|PKM + RAM encryption&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02035F50&lt;br /&gt;
|New (NDS-only) input handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02035F94&lt;br /&gt;
|GBA-equivalent input handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203AE38&lt;br /&gt;
|C-Gear startup RNG interaction(reseed MT, encrypt, etc)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203EFE0&lt;br /&gt;
|memcmp()- memory compare: 2 pointers and length of comparison(in bytes))&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F04C&lt;br /&gt;
|Set init MT seed (seed = init rng &amp;gt;&amp;gt; 32)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F078&lt;br /&gt;
|ARNG(same as gen 4)- build initial MT seed table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F0C0&lt;br /&gt;
|Mersenne Twister seed table handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F270&lt;br /&gt;
|Initial Seed Creation Routine&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203F374&lt;br /&gt;
|.sav encryption&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020592E8&lt;br /&gt;
|MD5 hashing routine for wifi&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0207FD4C&lt;br /&gt;
|VRAM bank control handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02082BE4&lt;br /&gt;
|Takes 3 arguments: pointer to start of data write, length(in bytes) of data to write, uint to write multiple times- used constantly for clearing freed memory&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02082D5C&lt;br /&gt;
|memcpy32()- accepts pointer to data start, pointer to copy start, and a length in bytes to copy&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02085D54&lt;br /&gt;
|DSi Detection Routine&lt;br /&gt;
|[[chiizu]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02088E74&lt;br /&gt;
|Convert dec -&amp;gt; hex(mainly for RTC data, but usable for anything)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02088A98&lt;br /&gt;
|Date/time switch statement- used to grab pieces of the date and time and convert them to hex&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0209C0C4&lt;br /&gt;
|Signed divmod- r0/r1, result in r0; r0%r1, result in r1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0209C2C8&lt;br /&gt;
|Unsigned divmod- r0/r1, result in r0; r0%r1, result in r1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020946AC&lt;br /&gt;
|ARNG2 - This is used in the DS to DS handshake&lt;br /&gt;
|[[XFR]],[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020A1B50&lt;br /&gt;
|Model/texture definitions/positioning data&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020AA1C4&lt;br /&gt;
|RNG state pointer&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02146292&lt;br /&gt;
|Pokemon to be encountered&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02146974&lt;br /&gt;
|Pointer to the struct for the current heap being used&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02146A18&lt;br /&gt;
|Mersenne Twister seed table pointer&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02150920&lt;br /&gt;
|SVC mode stack location for card reads/writes&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02151260&lt;br /&gt;
|SWI/SVC mode stack&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02193914&lt;br /&gt;
|White Forest Trainer # Counter- returns # of trainers in White Forest&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A9370&lt;br /&gt;
|Pre-battle setup(battle test, etc)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A948C&lt;br /&gt;
|Double battle test&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021AA43A&lt;br /&gt;
|Battle test&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A9DB2&lt;br /&gt;
|0x80000000 OR PID decision routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A9DE8&lt;br /&gt;
|((rand() * 0xFFFF) &amp;gt;&amp;gt; 32) /0x290 -&amp;gt; function is called quite a bit for multiple calcs&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021A9DF8&lt;br /&gt;
|Fishing decision&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021AA700&lt;br /&gt;
|((rand() * 0xFFFF) &amp;gt;&amp;gt; 32) /0x290 -&amp;gt; seems to only be used for battle tests&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021AA44C&lt;br /&gt;
|White Forest Battle Decision Routine- return 0 if no battle, 1 if there&#039;s a battle&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BC4F8&lt;br /&gt;
|Player setup on new game&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BC50A&lt;br /&gt;
|Make IDs&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021BFBD0&lt;br /&gt;
|Opponent accuracy&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C0A6C&lt;br /&gt;
|Battle routine(setup)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C2466&lt;br /&gt;
|Status infliction routine&lt;br /&gt;
|[[arcee]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C390C&lt;br /&gt;
|Complete breeding routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C4048&lt;br /&gt;
|International breeding PID generation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021C6C18&lt;br /&gt;
|Damage formula routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F6388&lt;br /&gt;
|Battle PRNG State&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02215374&lt;br /&gt;
|Mersenne Twister Lookup Table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02215D34&lt;br /&gt;
|Mersenne Twister Lookup Table Counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02216244&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02168844&lt;br /&gt;
|rand(0xFFFFFFFF) / 0xFFFF&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02168A52&lt;br /&gt;
|ID generation for Battle Subway partner&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021763DC&lt;br /&gt;
|Inside probability loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021763F8&lt;br /&gt;
|Probability routine- influences starting frame/seed&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02176444&lt;br /&gt;
|Outside probability loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02176C6C&lt;br /&gt;
|Probability table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0221BBD0&lt;br /&gt;
|Start of save data in RAM(when saving, all relevant data is written here, then cart RAM, then .sav)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C9D0&lt;br /&gt;
|Daycare pokemon 1&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223CAB4&lt;br /&gt;
|Daycare pokemon 2&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223D8CC&lt;br /&gt;
|BP Counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02250030&lt;br /&gt;
|Encounter slots in RAM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02257030&lt;br /&gt;
|Step Counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02257034&lt;br /&gt;
|Shaking Patch Step Counter&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0226DC5A&lt;br /&gt;
|Move Consecutive Use Counter (Wild Battle)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0226DC66&lt;br /&gt;
|Protect Consecutive Turn Counter (Wild Battle)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0226E70E&lt;br /&gt;
|Move Consecutive Use Counter (Trainer Battle)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0226E71A&lt;br /&gt;
|Protect Consecutive Turn Counter (Trainer Battle)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02274302&lt;br /&gt;
|Move Decision Dump (Wild Battle)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022BC734&lt;br /&gt;
|Are there trainers in White Forest? (bool)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0233F004&lt;br /&gt;
|Egg step counter&lt;br /&gt;
|[[ToastPlusOne]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE0000&lt;br /&gt;
|DTCM start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE0020&lt;br /&gt;
|Interrupt handler lookup table&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE3780&lt;br /&gt;
|Main(user/system mode) stack start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE3F80&lt;br /&gt;
|IRQ mode stack start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FE3FC0&lt;br /&gt;
|Supervisor mode stack start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FFFC3C&lt;br /&gt;
|Vertical blank counter buffer&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FFFDE8&lt;br /&gt;
|RTC buffer(char rtc[8])&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|037FBCEC&lt;br /&gt;
|ARM7 IRQ Handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022394E0&lt;br /&gt;
|Date/time in hex - uint array&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021AA41C&lt;br /&gt;
|Battle test/decision&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0224120C&lt;br /&gt;
|Wifi RNG&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0203AE38&lt;br /&gt;
|Seed building routine for wifi RNG&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon BW (J)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02005124&lt;br /&gt;
|Main()	&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022151D4&lt;br /&gt;
|Mersenne Twister Lookup Table	&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02215B94&lt;br /&gt;
|Mersenne Twister Lookup Table Counter	&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022160A8&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Kazo]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FFFC3C&lt;br /&gt;
|Delay&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02FFFDE8&lt;br /&gt;
|Date&lt;br /&gt;
|[[OmegaDonut]]&lt;br /&gt;
|}&lt;br /&gt;
(All offsets are White offsets.  Black offsets are White offset minus 0x20)&lt;br /&gt;
&lt;br /&gt;
==Pokémon Emerald (J)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02024664&lt;br /&gt;
|Frame Counter&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03005AE0&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806F050&lt;br /&gt;
|PRNG Advancement Routine&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080003A4&lt;br /&gt;
|Main loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080005E4&lt;br /&gt;
|Keypress handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000758&lt;br /&gt;
|VBlank interrupt&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B413A&lt;br /&gt;
|Feebas setup routine on finding a Feebas tile&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08296518&lt;br /&gt;
|Modulus routine- r0 % r1, return result in r0&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000248&lt;br /&gt;
|IRQ setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon Emerald (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02020000&lt;br /&gt;
|Timer1 storage on TID creation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020249C0&lt;br /&gt;
|Main RNG Frame counter&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|030022E0&lt;br /&gt;
|Timer PRNG Initial State (Egg PIDs)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03002750&lt;br /&gt;
|IRQ Handler (user mode)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03005D80&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03005D84&lt;br /&gt;
|Timer RNG Current Seed (Egg PIDs)&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000248&lt;br /&gt;
|IRQ setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080003A4&lt;br /&gt;
|Main loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080005E4&lt;br /&gt;
|Keypress handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000738&lt;br /&gt;
|VBlank interrupt callback&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000988&lt;br /&gt;
|Memblock header setup&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000B1C&lt;br /&gt;
|Malloc init&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000B38&lt;br /&gt;
|Declare memblock(malloc()?)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806F5CC&lt;br /&gt;
|PRNG Advancement Routine&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B49E2&lt;br /&gt;
|Feebas setup routine on finding a Feebas tile&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|Start Method H&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B5144&lt;br /&gt;
|Battle Test&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B4AC8&lt;br /&gt;
|Encounter Slot&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B4C74&lt;br /&gt;
|Set level&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B4E2A&lt;br /&gt;
|Sync (bool)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080B4E4C&lt;br /&gt;
|Nature Setup/Decision (skip if sync() == TRUE)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08067E96&lt;br /&gt;
|PKM Building Routine (test temp PIDs, make IVs on success)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|End Method H&amp;lt;br&amp;gt;&lt;br /&gt;
|&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08067BF8&lt;br /&gt;
|Roamer creation start&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|082E7BE0&lt;br /&gt;
|Modulus routine- r0 % r1, return result in r0&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0817759E&lt;br /&gt;
|ARNG&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0806D088&lt;br /&gt;
|Get nature from tempPID(pass tempPID as an arg, return nature value)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03000DC0&lt;br /&gt;
|RTC array buffer(char rtc[8])&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03000E20&lt;br /&gt;
|Directional movement counters(possibly per frame)&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon Ruby / Sapphire (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02024D1C&lt;br /&gt;
|Quick Claw Determination&lt;br /&gt;
|[[FractalFusion]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020287E4 &lt;br /&gt;
|Egg Creation Step Counter&lt;br /&gt;
|[[Kaphotics]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03004818&lt;br /&gt;
|PRNG State&lt;br /&gt;
|Multiple&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0800010C&lt;br /&gt;
|IRQ setup/handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0800024C&lt;br /&gt;
|Main loop&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000428&lt;br /&gt;
|Keypress handler&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0803AADC&lt;br /&gt;
|PID creation routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08084AA6&lt;br /&gt;
|Feebas decision&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|081E0770&lt;br /&gt;
|Interrupts/SWIs&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|080003E4&lt;br /&gt;
|Initial seed creation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08040EA4&lt;br /&gt;
|Seed set routine, post creation&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08040E84&lt;br /&gt;
|rand()&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon FireRed / LeafGreen (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02020000&lt;br /&gt;
|Timer1 storage on initial seed creation&lt;br /&gt;
|[[flovv, Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|03005000&lt;br /&gt;
|PRNG State&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000558&lt;br /&gt;
|Turn on Timer1 @ TM1CNT_H = 0x80&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000564&lt;br /&gt;
|Grab and return the value of Timer1 for use in seeding&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08000570&lt;br /&gt;
|Turn off Timer1 @ TM1CNT_H = 0x0 and store the grabbed value to 0x02020000&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08044EC8&lt;br /&gt;
|PRNG Advancement Routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0803DA54&lt;br /&gt;
|Make PKM&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon Ruby Debug Version (G)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08045324&lt;br /&gt;
|PRNG Advancement Routine(rand())&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|030048F8&lt;br /&gt;
|PRNG state&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|08085CEC&lt;br /&gt;
|ARNG Advancement Routine&lt;br /&gt;
|[[Bond697]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical References]]&lt;br /&gt;
[[Category:Structures]]&lt;/div&gt;</summary>
		<author><name>Magical</name></author>
	</entry>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=Notable_Breakpoints&amp;diff=3696</id>
		<title>Notable Breakpoints</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=Notable_Breakpoints&amp;diff=3696"/>
		<updated>2010-08-03T21:45:13Z</updated>

		<summary type="html">&lt;p&gt;Magical: /* Pokemon DPP (U) */ GRNG&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains RAM addresses to various interesting and useful processes of Pokemon DPP. &lt;br /&gt;
&lt;br /&gt;
Breakpoints can be set at these addresses.&lt;br /&gt;
&lt;br /&gt;
==Inspiration==&lt;br /&gt;
This page is inspired by tsanth&#039;s thread with the same name on GameFAQs: [http://boards.gamefaqs.com/gfaqs/genmessage.php?board=925602&amp;amp;topic=40532445]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pokemon DPP (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!DP RAM Address&lt;br /&gt;
!Pl RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02000FB0&lt;br /&gt;
|&lt;br /&gt;
|Begin Seed Calculation Routine&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201B9E0&lt;br /&gt;
|&lt;br /&gt;
|Set [[PRNG]] seed&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201B9EC&lt;br /&gt;
|0201D2E8&lt;br /&gt;
|PRNG&lt;br /&gt;
|[[loadingNOW]], [[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201BA10&lt;br /&gt;
|0201D30C&lt;br /&gt;
|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&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201BA1C&lt;br /&gt;
|&lt;br /&gt;
|Set [[IRNG]] Seed&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02038B70&lt;br /&gt;
|0203E778&lt;br /&gt;
|Script Handler&lt;br /&gt;
|[[loadingNOW]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|0203E7D2&lt;br /&gt;
|Loads address for a command then branches to that address&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FB4&lt;br /&gt;
|&lt;br /&gt;
|ARNG call for PID of Wondercard pokemon&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FBA&lt;br /&gt;
|&lt;br /&gt;
|Loads PID from wondercard to r0&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FC8&lt;br /&gt;
|&lt;br /&gt;
|First Shiny Check call during the generation of some wondercard pokemon&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FD0&lt;br /&gt;
|&lt;br /&gt;
|Beginning of loop that makes sure you do not get a shiny wondercard pokemon (in some cases)&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0204305E&lt;br /&gt;
|&lt;br /&gt;
|PRNG call for first set of Wondercard pokemon IVs&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0204309C&lt;br /&gt;
|&lt;br /&gt;
|PRNG call for second set of Wondercard pokemon IVs&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205DED4&lt;br /&gt;
|&lt;br /&gt;
|Create chain set (not sure about address in tsanth&#039;s thread it said 205DED&lt;br /&gt;
|[[tsanth]], [[loadingNOW]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205DF42&lt;br /&gt;
|&lt;br /&gt;
|End of Create chain set routine&lt;br /&gt;
|[[tsanth]], [[loadingNOW]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205E40C&lt;br /&gt;
|&lt;br /&gt;
|Pokeradar Routine&lt;br /&gt;
|[[loadingNOW]], [[tsanth]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02068AAC&lt;br /&gt;
|&lt;br /&gt;
|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.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|02078780&lt;br /&gt;
|Begin Calculation of [[Pokemon ID]] for alternate forms.&lt;br /&gt;
|SCV&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020EBC80&lt;br /&gt;
|020E1F6C&lt;br /&gt;
|Division routine; R0= R0 / R1, R1=R0%R1&lt;br /&gt;
|[[tsanth]], [[SCV]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|020EAC58&lt;br /&gt;
|Pointer to Begin Routine for Script Command 0000&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|020EB974&lt;br /&gt;
|Pointer to Begin Routine for Script Command 0347&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4DA8&lt;br /&gt;
|&lt;br /&gt;
|Beginning of [[Honey Tree]] Routine&lt;br /&gt;
|[[SCV]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4EE4&lt;br /&gt;
|&lt;br /&gt;
|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.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4F44&lt;br /&gt;
|&lt;br /&gt;
|Determines a number from 0-5 that represents which pokemon will be encountered in a honey tree.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4F98&lt;br /&gt;
|&lt;br /&gt;
|Determines which list will be used by  (value determined by 021F4EE4) - 1 (its not done this way, but is equivalent)&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4FAC&lt;br /&gt;
|&lt;br /&gt;
|Determines a number from 0-3 that represents how much a [[Honey Tree]] will shake&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F5138&lt;br /&gt;
|021EFF4C&lt;br /&gt;
|Returns 1 if the current tree being slathered is a [[Munchlax Tree]] and 0 otherwise.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02211E60&lt;br /&gt;
|&lt;br /&gt;
|Set [[GTS protocol#Encryption|GRNG]] seed&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02211E70&lt;br /&gt;
|&lt;br /&gt;
|[[GTS protocol#Encryption|GRNG]]&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C1EE &lt;br /&gt;
|&lt;br /&gt;
|Pokeball catching routine&lt;br /&gt;
|[[tsanth]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BA10&lt;br /&gt;
|&lt;br /&gt;
|Movement Handler Start&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BA46&lt;br /&gt;
|&lt;br /&gt;
|&amp;quot;Am I on grass?&amp;quot; check&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BB2E&lt;br /&gt;
|&lt;br /&gt;
|Pair-battle (NPC partner) check&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BAD4&lt;br /&gt;
|&lt;br /&gt;
|Wild Encounter Check&lt;br /&gt;
|[[tsanth]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BD1C&lt;br /&gt;
|&lt;br /&gt;
|Movement Handler END&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|022479E6&lt;br /&gt;
|Call to get ID routine (result in r0)&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|0224E920&lt;br /&gt;
|Start of Frozen Handler&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C5B8&lt;br /&gt;
|&lt;br /&gt;
|Start of Encounter Table Lookup Handler&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C66A&lt;br /&gt;
|&lt;br /&gt;
|Start of Water (Sweet Scent/Surfing) Encounter Table Lookup Handler&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C6A0&lt;br /&gt;
|&lt;br /&gt;
|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.&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon HGSS (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020F2998&lt;br /&gt;
|Signed divmod()&lt;br /&gt;
|?&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020F2BA4&lt;br /&gt;
|Unsigned divmod()&lt;br /&gt;
|?&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022440A0&lt;br /&gt;
|Pickup / Honey Gather handler&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02247228&lt;br /&gt;
|Pokéball catching routine&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02246B24&lt;br /&gt;
|Start of Water (Fishing) Encounter Table Lookup Handler [http://www.smogon.com/forums/showpost.php?p=2564048&amp;amp;postcount=215]&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02247720&lt;br /&gt;
|Start of Water (Sweet Scent/Surfing) Encounter Table Lookup Handler [http://www.smogon.com/forums/showpost.php?p=2564048&amp;amp;postcount=215]&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical References]]&lt;br /&gt;
[[Category:Structures]]&lt;/div&gt;</summary>
		<author><name>Magical</name></author>
	</entry>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=Notable_Breakpoints&amp;diff=3695</id>
		<title>Notable Breakpoints</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=Notable_Breakpoints&amp;diff=3695"/>
		<updated>2010-08-03T21:22:27Z</updated>

		<summary type="html">&lt;p&gt;Magical: /* Pokémon HGSS (U) */ added a couple addresses found by mingot&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains RAM addresses to various interesting and useful processes of Pokemon DPP. &lt;br /&gt;
&lt;br /&gt;
Breakpoints can be set at these addresses.&lt;br /&gt;
&lt;br /&gt;
==Inspiration==&lt;br /&gt;
This page is inspired by tsanth&#039;s thread with the same name on GameFAQs: [http://boards.gamefaqs.com/gfaqs/genmessage.php?board=925602&amp;amp;topic=40532445]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pokemon DPP (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!DP RAM Address&lt;br /&gt;
!Pl RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02000FB0&lt;br /&gt;
|&lt;br /&gt;
|Begin Seed Calculation Routine&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201B9E0&lt;br /&gt;
|&lt;br /&gt;
|Set [[PRNG]] seed&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201B9EC&lt;br /&gt;
|0201D2E8&lt;br /&gt;
|PRNG&lt;br /&gt;
|[[loadingNOW]], [[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201BA10&lt;br /&gt;
|0201D30C&lt;br /&gt;
|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&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201BA1C&lt;br /&gt;
|&lt;br /&gt;
|Set [[IRNG]] Seed&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02038B70&lt;br /&gt;
|0203E778&lt;br /&gt;
|Script Handler&lt;br /&gt;
|[[loadingNOW]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|0203E7D2&lt;br /&gt;
|Loads address for a command then branches to that address&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FB4&lt;br /&gt;
|&lt;br /&gt;
|ARNG call for PID of Wondercard pokemon&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FBA&lt;br /&gt;
|&lt;br /&gt;
|Loads PID from wondercard to r0&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FC8&lt;br /&gt;
|&lt;br /&gt;
|First Shiny Check call during the generation of some wondercard pokemon&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FD0&lt;br /&gt;
|&lt;br /&gt;
|Beginning of loop that makes sure you do not get a shiny wondercard pokemon (in some cases)&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0204305E&lt;br /&gt;
|&lt;br /&gt;
|PRNG call for first set of Wondercard pokemon IVs&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0204309C&lt;br /&gt;
|&lt;br /&gt;
|PRNG call for second set of Wondercard pokemon IVs&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205DED4&lt;br /&gt;
|&lt;br /&gt;
|Create chain set (not sure about address in tsanth&#039;s thread it said 205DED&lt;br /&gt;
|[[tsanth]], [[loadingNOW]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205DF42&lt;br /&gt;
|&lt;br /&gt;
|End of Create chain set routine&lt;br /&gt;
|[[tsanth]], [[loadingNOW]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205E40C&lt;br /&gt;
|&lt;br /&gt;
|Pokeradar Routine&lt;br /&gt;
|[[loadingNOW]], [[tsanth]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02068AAC&lt;br /&gt;
|&lt;br /&gt;
|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.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|02078780&lt;br /&gt;
|Begin Calculation of [[Pokemon ID]] for alternate forms.&lt;br /&gt;
|SCV&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020EBC80&lt;br /&gt;
|020E1F6C&lt;br /&gt;
|Division routine; R0= R0 / R1, R1=R0%R1&lt;br /&gt;
|[[tsanth]], [[SCV]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|020EAC58&lt;br /&gt;
|Pointer to Begin Routine for Script Command 0000&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|020EB974&lt;br /&gt;
|Pointer to Begin Routine for Script Command 0347&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4DA8&lt;br /&gt;
|&lt;br /&gt;
|Beginning of [[Honey Tree]] Routine&lt;br /&gt;
|[[SCV]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4EE4&lt;br /&gt;
|&lt;br /&gt;
|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.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4F44&lt;br /&gt;
|&lt;br /&gt;
|Determines a number from 0-5 that represents which pokemon will be encountered in a honey tree.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4F98&lt;br /&gt;
|&lt;br /&gt;
|Determines which list will be used by  (value determined by 021F4EE4) - 1 (its not done this way, but is equivalent)&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4FAC&lt;br /&gt;
|&lt;br /&gt;
|Determines a number from 0-3 that represents how much a [[Honey Tree]] will shake&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F5138&lt;br /&gt;
|021EFF4C&lt;br /&gt;
|Returns 1 if the current tree being slathered is a [[Munchlax Tree]] and 0 otherwise.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C1EE &lt;br /&gt;
|&lt;br /&gt;
|Pokeball catching routine&lt;br /&gt;
|[[tsanth]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BA10&lt;br /&gt;
|&lt;br /&gt;
|Movement Handler Start&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BA46&lt;br /&gt;
|&lt;br /&gt;
|&amp;quot;Am I on grass?&amp;quot; check&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BB2E&lt;br /&gt;
|&lt;br /&gt;
|Pair-battle (NPC partner) check&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BAD4&lt;br /&gt;
|&lt;br /&gt;
|Wild Encounter Check&lt;br /&gt;
|[[tsanth]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BD1C&lt;br /&gt;
|&lt;br /&gt;
|Movement Handler END&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|022479E6&lt;br /&gt;
|Call to get ID routine (result in r0)&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|0224E920&lt;br /&gt;
|Start of Frozen Handler&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C5B8&lt;br /&gt;
|&lt;br /&gt;
|Start of Encounter Table Lookup Handler&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C66A&lt;br /&gt;
|&lt;br /&gt;
|Start of Water (Sweet Scent/Surfing) Encounter Table Lookup Handler&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C6A0&lt;br /&gt;
|&lt;br /&gt;
|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.&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon HGSS (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020F2998&lt;br /&gt;
|Signed divmod()&lt;br /&gt;
|?&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020F2BA4&lt;br /&gt;
|Unsigned divmod()&lt;br /&gt;
|?&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022440A0&lt;br /&gt;
|Pickup / Honey Gather handler&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02247228&lt;br /&gt;
|Pokéball catching routine&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02246B24&lt;br /&gt;
|Start of Water (Fishing) Encounter Table Lookup Handler [http://www.smogon.com/forums/showpost.php?p=2564048&amp;amp;postcount=215]&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02247720&lt;br /&gt;
|Start of Water (Sweet Scent/Surfing) Encounter Table Lookup Handler [http://www.smogon.com/forums/showpost.php?p=2564048&amp;amp;postcount=215]&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical References]]&lt;br /&gt;
[[Category:Structures]]&lt;/div&gt;</summary>
		<author><name>Magical</name></author>
	</entry>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=Notable_Breakpoints&amp;diff=3694</id>
		<title>Notable Breakpoints</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=Notable_Breakpoints&amp;diff=3694"/>
		<updated>2010-08-03T19:04:05Z</updated>

		<summary type="html">&lt;p&gt;Magical: /* Pokémon HGSS (U) */ added Pickup and Pokéball routines&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains RAM addresses to various interesting and useful processes of Pokemon DPP. &lt;br /&gt;
&lt;br /&gt;
Breakpoints can be set at these addresses.&lt;br /&gt;
&lt;br /&gt;
==Inspiration==&lt;br /&gt;
This page is inspired by tsanth&#039;s thread with the same name on GameFAQs: [http://boards.gamefaqs.com/gfaqs/genmessage.php?board=925602&amp;amp;topic=40532445]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pokemon DPP (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!DP RAM Address&lt;br /&gt;
!Pl RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02000FB0&lt;br /&gt;
|&lt;br /&gt;
|Begin Seed Calculation Routine&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201B9E0&lt;br /&gt;
|&lt;br /&gt;
|Set [[PRNG]] seed&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201B9EC&lt;br /&gt;
|0201D2E8&lt;br /&gt;
|PRNG&lt;br /&gt;
|[[loadingNOW]], [[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201BA10&lt;br /&gt;
|0201D30C&lt;br /&gt;
|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&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201BA1C&lt;br /&gt;
|&lt;br /&gt;
|Set [[IRNG]] Seed&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02038B70&lt;br /&gt;
|0203E778&lt;br /&gt;
|Script Handler&lt;br /&gt;
|[[loadingNOW]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|0203E7D2&lt;br /&gt;
|Loads address for a command then branches to that address&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FB4&lt;br /&gt;
|&lt;br /&gt;
|ARNG call for PID of Wondercard pokemon&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FBA&lt;br /&gt;
|&lt;br /&gt;
|Loads PID from wondercard to r0&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FC8&lt;br /&gt;
|&lt;br /&gt;
|First Shiny Check call during the generation of some wondercard pokemon&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FD0&lt;br /&gt;
|&lt;br /&gt;
|Beginning of loop that makes sure you do not get a shiny wondercard pokemon (in some cases)&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0204305E&lt;br /&gt;
|&lt;br /&gt;
|PRNG call for first set of Wondercard pokemon IVs&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0204309C&lt;br /&gt;
|&lt;br /&gt;
|PRNG call for second set of Wondercard pokemon IVs&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205DED4&lt;br /&gt;
|&lt;br /&gt;
|Create chain set (not sure about address in tsanth&#039;s thread it said 205DED&lt;br /&gt;
|[[tsanth]], [[loadingNOW]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205DF42&lt;br /&gt;
|&lt;br /&gt;
|End of Create chain set routine&lt;br /&gt;
|[[tsanth]], [[loadingNOW]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205E40C&lt;br /&gt;
|&lt;br /&gt;
|Pokeradar Routine&lt;br /&gt;
|[[loadingNOW]], [[tsanth]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02068AAC&lt;br /&gt;
|&lt;br /&gt;
|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.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|02078780&lt;br /&gt;
|Begin Calculation of [[Pokemon ID]] for alternate forms.&lt;br /&gt;
|SCV&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020EBC80&lt;br /&gt;
|020E1F6C&lt;br /&gt;
|Division routine; R0= R0 / R1, R1=R0%R1&lt;br /&gt;
|[[tsanth]], [[SCV]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|020EAC58&lt;br /&gt;
|Pointer to Begin Routine for Script Command 0000&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|020EB974&lt;br /&gt;
|Pointer to Begin Routine for Script Command 0347&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4DA8&lt;br /&gt;
|&lt;br /&gt;
|Beginning of [[Honey Tree]] Routine&lt;br /&gt;
|[[SCV]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4EE4&lt;br /&gt;
|&lt;br /&gt;
|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.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4F44&lt;br /&gt;
|&lt;br /&gt;
|Determines a number from 0-5 that represents which pokemon will be encountered in a honey tree.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4F98&lt;br /&gt;
|&lt;br /&gt;
|Determines which list will be used by  (value determined by 021F4EE4) - 1 (its not done this way, but is equivalent)&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4FAC&lt;br /&gt;
|&lt;br /&gt;
|Determines a number from 0-3 that represents how much a [[Honey Tree]] will shake&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F5138&lt;br /&gt;
|021EFF4C&lt;br /&gt;
|Returns 1 if the current tree being slathered is a [[Munchlax Tree]] and 0 otherwise.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C1EE &lt;br /&gt;
|&lt;br /&gt;
|Pokeball catching routine&lt;br /&gt;
|[[tsanth]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BA10&lt;br /&gt;
|&lt;br /&gt;
|Movement Handler Start&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BA46&lt;br /&gt;
|&lt;br /&gt;
|&amp;quot;Am I on grass?&amp;quot; check&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BB2E&lt;br /&gt;
|&lt;br /&gt;
|Pair-battle (NPC partner) check&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BAD4&lt;br /&gt;
|&lt;br /&gt;
|Wild Encounter Check&lt;br /&gt;
|[[tsanth]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BD1C&lt;br /&gt;
|&lt;br /&gt;
|Movement Handler END&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|022479E6&lt;br /&gt;
|Call to get ID routine (result in r0)&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|0224E920&lt;br /&gt;
|Start of Frozen Handler&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C5B8&lt;br /&gt;
|&lt;br /&gt;
|Start of Encounter Table Lookup Handler&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C66A&lt;br /&gt;
|&lt;br /&gt;
|Start of Water (Sweet Scent/Surfing) Encounter Table Lookup Handler&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C6A0&lt;br /&gt;
|&lt;br /&gt;
|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.&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon HGSS (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020F2998&lt;br /&gt;
|Signed divmod()&lt;br /&gt;
|?&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020F2BA4&lt;br /&gt;
|Unsigned divmod()&lt;br /&gt;
|?&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|022440A0&lt;br /&gt;
|Pickup / Honey Gather handler&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02247228&lt;br /&gt;
|Pokéball catching routine&lt;br /&gt;
|[[magical]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical References]]&lt;br /&gt;
[[Category:Structures]]&lt;/div&gt;</summary>
		<author><name>Magical</name></author>
	</entry>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=Notable_Breakpoints&amp;diff=3693</id>
		<title>Notable Breakpoints</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=Notable_Breakpoints&amp;diff=3693"/>
		<updated>2010-08-03T18:53:50Z</updated>

		<summary type="html">&lt;p&gt;Magical: New section /* Pokémon HGSS (U) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This page contains RAM addresses to various interesting and useful processes of Pokemon DPP. &lt;br /&gt;
&lt;br /&gt;
Breakpoints can be set at these addresses.&lt;br /&gt;
&lt;br /&gt;
==Inspiration==&lt;br /&gt;
This page is inspired by tsanth&#039;s thread with the same name on GameFAQs: [http://boards.gamefaqs.com/gfaqs/genmessage.php?board=925602&amp;amp;topic=40532445]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pokemon DPP (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!DP RAM Address&lt;br /&gt;
!Pl RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02000FB0&lt;br /&gt;
|&lt;br /&gt;
|Begin Seed Calculation Routine&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201B9E0&lt;br /&gt;
|&lt;br /&gt;
|Set [[PRNG]] seed&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201B9EC&lt;br /&gt;
|0201D2E8&lt;br /&gt;
|PRNG&lt;br /&gt;
|[[loadingNOW]], [[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201BA10&lt;br /&gt;
|0201D30C&lt;br /&gt;
|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&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0201BA1C&lt;br /&gt;
|&lt;br /&gt;
|Set [[IRNG]] Seed&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02038B70&lt;br /&gt;
|0203E778&lt;br /&gt;
|Script Handler&lt;br /&gt;
|[[loadingNOW]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|0203E7D2&lt;br /&gt;
|Loads address for a command then branches to that address&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FB4&lt;br /&gt;
|&lt;br /&gt;
|ARNG call for PID of Wondercard pokemon&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FBA&lt;br /&gt;
|&lt;br /&gt;
|Loads PID from wondercard to r0&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FC8&lt;br /&gt;
|&lt;br /&gt;
|First Shiny Check call during the generation of some wondercard pokemon&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02042FD0&lt;br /&gt;
|&lt;br /&gt;
|Beginning of loop that makes sure you do not get a shiny wondercard pokemon (in some cases)&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0204305E&lt;br /&gt;
|&lt;br /&gt;
|PRNG call for first set of Wondercard pokemon IVs&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0204309C&lt;br /&gt;
|&lt;br /&gt;
|PRNG call for second set of Wondercard pokemon IVs&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205DED4&lt;br /&gt;
|&lt;br /&gt;
|Create chain set (not sure about address in tsanth&#039;s thread it said 205DED&lt;br /&gt;
|[[tsanth]], [[loadingNOW]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205DF42&lt;br /&gt;
|&lt;br /&gt;
|End of Create chain set routine&lt;br /&gt;
|[[tsanth]], [[loadingNOW]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0205E40C&lt;br /&gt;
|&lt;br /&gt;
|Pokeradar Routine&lt;br /&gt;
|[[loadingNOW]], [[tsanth]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|02068AAC&lt;br /&gt;
|&lt;br /&gt;
|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.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|02078780&lt;br /&gt;
|Begin Calculation of [[Pokemon ID]] for alternate forms.&lt;br /&gt;
|SCV&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020EBC80&lt;br /&gt;
|020E1F6C&lt;br /&gt;
|Division routine; R0= R0 / R1, R1=R0%R1&lt;br /&gt;
|[[tsanth]], [[SCV]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|020EAC58&lt;br /&gt;
|Pointer to Begin Routine for Script Command 0000&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|020EB974&lt;br /&gt;
|Pointer to Begin Routine for Script Command 0347&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4DA8&lt;br /&gt;
|&lt;br /&gt;
|Beginning of [[Honey Tree]] Routine&lt;br /&gt;
|[[SCV]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4EE4&lt;br /&gt;
|&lt;br /&gt;
|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.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4F44&lt;br /&gt;
|&lt;br /&gt;
|Determines a number from 0-5 that represents which pokemon will be encountered in a honey tree.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4F98&lt;br /&gt;
|&lt;br /&gt;
|Determines which list will be used by  (value determined by 021F4EE4) - 1 (its not done this way, but is equivalent)&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F4FAC&lt;br /&gt;
|&lt;br /&gt;
|Determines a number from 0-3 that represents how much a [[Honey Tree]] will shake&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|021F5138&lt;br /&gt;
|021EFF4C&lt;br /&gt;
|Returns 1 if the current tree being slathered is a [[Munchlax Tree]] and 0 otherwise.&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C1EE &lt;br /&gt;
|&lt;br /&gt;
|Pokeball catching routine&lt;br /&gt;
|[[tsanth]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BA10&lt;br /&gt;
|&lt;br /&gt;
|Movement Handler Start&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BA46&lt;br /&gt;
|&lt;br /&gt;
|&amp;quot;Am I on grass?&amp;quot; check&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BB2E&lt;br /&gt;
|&lt;br /&gt;
|Pair-battle (NPC partner) check&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BAD4&lt;br /&gt;
|&lt;br /&gt;
|Wild Encounter Check&lt;br /&gt;
|[[tsanth]] &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223BD1C&lt;br /&gt;
|&lt;br /&gt;
|Movement Handler END&lt;br /&gt;
|[[tsanth]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|022479E6&lt;br /&gt;
|Call to get ID routine (result in r0)&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|0224E920&lt;br /&gt;
|Start of Frozen Handler&lt;br /&gt;
|[[SCV]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C5B8&lt;br /&gt;
|&lt;br /&gt;
|Start of Encounter Table Lookup Handler&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C66A&lt;br /&gt;
|&lt;br /&gt;
|Start of Water (Sweet Scent/Surfing) Encounter Table Lookup Handler&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|0223C6A0&lt;br /&gt;
|&lt;br /&gt;
|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.&lt;br /&gt;
|[[mingot]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pokémon HGSS (U)==&lt;br /&gt;
{|border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|-style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
!RAM Address&lt;br /&gt;
!Description&lt;br /&gt;
!Discovered by &lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020F2998&lt;br /&gt;
|Signed divmod()&lt;br /&gt;
|?&lt;br /&gt;
|-style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
|020F2BA4&lt;br /&gt;
|Unsigned divmod()&lt;br /&gt;
|?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
[[Category:Technical References]]&lt;br /&gt;
[[Category:Structures]]&lt;/div&gt;</summary>
		<author><name>Magical</name></author>
	</entry>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=3679</id>
		<title>GTS protocol</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=3679"/>
		<updated>2010-06-02T05:07:12Z</updated>

		<summary type="html">&lt;p&gt;Magical: /* Conversation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following is &#039;&#039;&#039;wild conjecture&#039;&#039;&#039; based on LordLandon&#039;s [http://projectpokemon.org/forums/showthread.php?780-GTC-website-research&amp;amp;p=67086&amp;amp;viewfull=1#post67086 sendpkm.py].&lt;br /&gt;
&lt;br /&gt;
Communication with the GTS is done over regular HTTP with http://gamestats2.gs.nintendowifi.net/.  The same protocol is used for all five Gen IV games.&lt;br /&gt;
&lt;br /&gt;
==HTTP headers==&lt;br /&gt;
&lt;br /&gt;
The games don&#039;t seem to care about these at all.  The GTS sends back a bunch of boilerplate response headers, but the game happily accepts a response with only a Content-Length.&lt;br /&gt;
&lt;br /&gt;
==Protocol==&lt;br /&gt;
&lt;br /&gt;
All requests to the server are GET requests of the form &amp;lt;code&amp;gt;&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;amp;amp;hash=&amp;lt;var&amp;gt;hash&amp;lt;/var&amp;gt;&amp;amp;amp;data=&amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===pid===&lt;br /&gt;
&lt;br /&gt;
The pid is an unsigned 32-bit integer that appears to uniquely identify a game cartridge.  When the pid is obtained and whether the pid has any relation to the Pal Pad friend code are unknown.&lt;br /&gt;
&lt;br /&gt;
For the mathematically inclined: Eevee&#039;s Platinum pid is 192615460 (0x0b7b1424) and his Pal Pad code is 0904 2026 4621.&lt;br /&gt;
&lt;br /&gt;
===Challenge/response===&lt;br /&gt;
&lt;br /&gt;
Before each &amp;quot;real&amp;quot; request, the game sends a request of the form &amp;lt;code&amp;gt;&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt; and the server responds with a 32-byte challenge token. The game computes &amp;lt;code&amp;gt;sha1(&amp;quot;sAdeqWo3voLeC5r16DYv&amp;quot; + token)&amp;lt;/code&amp;gt; and uses that as the &amp;lt;var&amp;gt;hash&amp;lt;/var&amp;gt; value which it sends to the server. The &amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt; parameter is encrypted, as explained further down.&lt;br /&gt;
&lt;br /&gt;
That is, each request looks like the following:&lt;br /&gt;
&lt;br /&gt;
# Game requests &amp;lt;code&amp;gt;GET /pokemondpds/&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Server responds with &amp;lt;var&amp;gt;token&amp;lt;/var&amp;gt;&lt;br /&gt;
# Game requests &amp;lt;code&amp;gt;GET /pokemondpds/&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;amp;amp;hash=&amp;lt;var&amp;gt;sha1(...)&amp;lt;/var&amp;gt;&amp;amp;amp;data=&amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Server responds with payload&lt;br /&gt;
&lt;br /&gt;
The exact details of the game&#039;s requests are not currently known, but we are working on it!&lt;br /&gt;
&lt;br /&gt;
===Checksum===&lt;br /&gt;
&lt;br /&gt;
A 32-bit checksum of the data is used as the key for the encryption. The checksum is simply the sum of every byte of the data.&lt;br /&gt;
&lt;br /&gt;
The first 4 bytes of the sent data are the checksum, &amp;lt;code&amp;gt;xor&amp;lt;/code&amp;gt;ed with &amp;lt;code&amp;gt;0x4a3b2c1d&amp;lt;/code&amp;gt;, and sent in network byte order (big-endian).&lt;br /&gt;
&lt;br /&gt;
===Encryption===&lt;br /&gt;
&lt;br /&gt;
The data sent to the server is encrypted with a [http://en.wikipedia.org/wiki/Stream_cipher stream cipher], and [http://en.wikipedia.org/wiki/Base64#URL_applications urlsafe-base64]-encoded.&lt;br /&gt;
&lt;br /&gt;
This encryption algorithm, like others used in the game, uses a [http://en.wikipedia.org/wiki/Linear_congruential_generator Linear Congruential Generator] (not a very strong choice). The multiplicative constant is &amp;lt;code&amp;gt;0x45&amp;lt;/code&amp;gt;, and the additive constant is &amp;lt;code&amp;gt;0x1111&amp;lt;/code&amp;gt;. It appears that the game uses a signed dword to store the seed, which doesn&#039;t really matter; it shouldn&#039;t affect anything. (It means that the modulus is effectively &amp;lt;code&amp;gt;0x80000000&amp;lt;/code&amp;gt;.)&lt;br /&gt;
&lt;br /&gt;
 GRNG[n+1] = (GRNG[n] * 0x45 + 0x1111) &amp;amp; 0x7fffffff&lt;br /&gt;
&lt;br /&gt;
The GRNG is seeded with the &amp;lt;var&amp;gt;checksum&amp;lt;/var&amp;gt;, like so:&lt;br /&gt;
&lt;br /&gt;
 GRNG[0] = &amp;lt;var&amp;gt;checksum&amp;lt;/var&amp;gt; | (&amp;lt;var&amp;gt;checksum&amp;lt;/var&amp;gt; &amp;lt;&amp;lt; 16)&lt;br /&gt;
&lt;br /&gt;
The keystream is composed of the lower byte of the high word of successive GRNG values.&lt;br /&gt;
&lt;br /&gt;
 keystream[n] = (GRNG[n] &amp;gt;&amp;gt; 16) &amp;amp; 0xff&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Xor&amp;lt;/code&amp;gt; the keystream with the plaintext to get the ciphertext. &amp;lt;code&amp;gt;Xor&amp;lt;/code&amp;gt; the keystream with the ciphertext to get the plaintext.&lt;br /&gt;
&lt;br /&gt;
==Conversation==&lt;br /&gt;
&lt;br /&gt;
The first request the game makes is to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/info.asp&amp;lt;/code&amp;gt;. The server responds with 0x0001.&lt;br /&gt;
&lt;br /&gt;
Platinum, Heart Gold, and Soul Silver will then make a request to &amp;lt;code&amp;gt;/pokemondpds/common/setProfile.asp&amp;lt;/code&amp;gt;.  The server responds with eight NULs (0x00000000 0x00000000).&lt;br /&gt;
&lt;br /&gt;
After the above step(s) or &#039;&#039;&#039;performing any of the tasks below&#039;&#039;&#039; other than searching, the game makes a request to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/result.asp&amp;lt;/code&amp;gt;.  If the game has had a Pokémon sent to it via a trade, the server responds with the entire encrypted [[Pokemon NDS Structure|Pokémon save struct]].  Otherwise, if there is a Pokémon deposited in the GTS, it responds with 0x0004; if not, it responds with 0x0005.&lt;br /&gt;
&lt;br /&gt;
===Receiving a traded Pokémon===&lt;br /&gt;
&lt;br /&gt;
If the game receives a Pokémon from a successful trade as a response from &amp;lt;code&amp;gt;result.asp&amp;lt;/code&amp;gt;, it next requests &amp;lt;code&amp;gt;/pokemondpds/worldexchange/delete.asp&amp;lt;/code&amp;gt;.  The server responds with 0x0001.&lt;br /&gt;
&lt;br /&gt;
====A note on sendpkm.py====&lt;br /&gt;
&lt;br /&gt;
After doing the above, some Platinum, Heart Gold, and Soul Silver games will report a communication error and dump the player back to the title screen.  The Pokémon is still successfully received.  At least one person with HG/SS has received a Pokémon from a fake server without getting the error, and Diamond/Pearl have never been reported to have the problem.&lt;br /&gt;
&lt;br /&gt;
===Depositing a Pokémon===&lt;br /&gt;
&lt;br /&gt;
Pokémon are offered on the GTS by requesting &amp;lt;code&amp;gt;/pokemondpds/worldexchange/post.asp&amp;lt;/code&amp;gt;.  The sent data is 300 bytes long, and includes the Pokémon struct. If the Pokémon is rejected by the server, the response is 0x000c; otherwise, if the deposit is successful, 0x0001.&lt;br /&gt;
&lt;br /&gt;
The game then saves. After the save is complete, it issues a request to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/post_finish.asp&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Retrieving the deposited Pokémon===&lt;br /&gt;
&lt;br /&gt;
Checking on the deposited Pokémon is apparently done by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/get.asp&amp;lt;/code&amp;gt;.  The response appears to be a [[Pokemon NDS Structure|Pokémon save struct]].&lt;br /&gt;
&lt;br /&gt;
Retrieving the deposited Pokémon is done by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/return.asp&amp;lt;/code&amp;gt;.  The response is merely 0x0001; the actual Pokémon data is taken from the &amp;lt;code&amp;gt;get.asp&amp;lt;/code&amp;gt; request.&lt;br /&gt;
&lt;br /&gt;
===Searching===&lt;br /&gt;
&lt;br /&gt;
Searching is done through &amp;lt;code&amp;gt;/pokemondpds/worldexchange/search.asp&amp;lt;/code&amp;gt;.  The sent data is either 15 or 16 bytes long.&lt;br /&gt;
&lt;br /&gt;
The server responds with a full 292-byte Pokémon struct for each result.  If there are &amp;lt;var&amp;gt;n&amp;lt;/var&amp;gt; results, the response will be 292 * &amp;lt;var&amp;gt;n&amp;lt;/var&amp;gt; bytes long.  If there are no results, the server will give an empty response (0 bytes).&lt;br /&gt;
&lt;br /&gt;
==Pokémon struct==&lt;br /&gt;
&lt;br /&gt;
The Pokémon data for the GTS is 292 bytes—56 bytes larger than a party Pokémon struct. The extra 56 bytes are GTS-specific data, such as the player&#039;s name &amp;amp; country, and what Pokémon they are requesting.&lt;br /&gt;
&lt;br /&gt;
They are as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0x00-0x01 Current Pokémon&lt;br /&gt;
0x02      Gender          1=male; 2=female; 3=either/neither&lt;br /&gt;
0x03      Level&lt;br /&gt;
0x04-0x05 Requested Pokémon&lt;br /&gt;
0x06      Gender&lt;br /&gt;
0x07      Min level&lt;br /&gt;
0x08      Max level&lt;br /&gt;
0x09      always 0?&lt;br /&gt;
0x0A      Trainer Gender  0=male; 1=female&lt;br /&gt;
0x0B      always 0?&lt;br /&gt;
0x0C-0x13 Timestamp - Deposited time&lt;br /&gt;
0x14-0x1B Timestamp - Time traded away?&lt;br /&gt;
0x1c-0x1F pid - also 0x4c in the sav&lt;br /&gt;
0x20-0x2F Trainer Name&lt;br /&gt;
0x30-0x31 Trainer ID&lt;br /&gt;
0x32      Country&lt;br /&gt;
0x33      City&lt;br /&gt;
0x34      Trainer Sprite&lt;br /&gt;
0x35      Exchanged flag&lt;br /&gt;
0x36      Version         0x0A=Diamond; 0x0B=Pearl; ...&lt;br /&gt;
0x37      Language        1=jp; 2=en; 3=fr; ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The timestamps are set by the server, and are always PST (UTC-8). Timestamp format:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0x00-0x01 Year&lt;br /&gt;
0x02      Month&lt;br /&gt;
0x03      Day&lt;br /&gt;
0x04      Hour&lt;br /&gt;
0x05      Minute&lt;br /&gt;
0x06      Second&lt;br /&gt;
0x07      always 0?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Magical</name></author>
	</entry>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=Pokemon_Save_Structure&amp;diff=3678</id>
		<title>Pokemon Save Structure</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=Pokemon_Save_Structure&amp;diff=3678"/>
		<updated>2010-06-01T00:20:39Z</updated>

		<summary type="html">&lt;p&gt;Magical: /* Block Shuffling */ add inverse permutations, for unshuffling&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Pokémon in the games Pokémon [[Pokémon Diamond|Diamond]], [[Pokemon Pearl|Pearl]], and [[Pokémon Platinum Version|Platinum]] are stored in a 136 byte or 236 byte structures.  All unencrypted values are stored in [[little-endian|little-endian]] format.  The game encrypts the data when it is stored in the [[Pokémon NDS Save File Structure|save file]].  Party Pokémon have additional values to hold current battle stats and conditions.  The information below describes the Pokémon data format.&lt;br /&gt;
&lt;br /&gt;
== Checksum ==&lt;br /&gt;
&lt;br /&gt;
The checksum serves two purposes:&lt;br /&gt;
# It validates the data after decryption, and&lt;br /&gt;
# It serves as the encryption key for the data.&lt;br /&gt;
&lt;br /&gt;
The checksum is calculated in three steps:&lt;br /&gt;
# Split the unencrypted data from offsets 0x08 to 0x87 into two-byte words,&lt;br /&gt;
# Take the sum of the words, and&lt;br /&gt;
# Truncate the sum to 16 bits.&lt;br /&gt;
&lt;br /&gt;
== Block Shuffling ==&lt;br /&gt;
&lt;br /&gt;
The 128 bytes of Pokémon data are split into four 32-byte blocks for shuffling.  The blocks are shuffled according to a shift value derived from the [[personality value]].  Given the personality value &#039;&#039;pv&#039;&#039;, the expression yielding the shift value is:&lt;br /&gt;
: &#039;&#039;((pv &amp;gt;&amp;gt; 0xD) &amp;amp; 0x1F) % 24&#039;&#039;&lt;br /&gt;
The right shifting (pv &amp;gt;&amp;gt; 0xD) is equivalent to a division of 8192.&lt;br /&gt;
&lt;br /&gt;
To shuffle the blocks, take the four blocks of unencrypted data, &#039;&#039;A&#039;&#039;, &#039;&#039;B&#039;&#039;, &#039;&#039;C&#039;&#039;, and &#039;&#039;D&#039;&#039;.  The blocks shall be rearranged in the encrypted data according to the Block Order column of the following table.  (To unshuffle, use the Inverse column.)&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Shift Value (decimal)&lt;br /&gt;
! Block Order&lt;br /&gt;
! Inverse&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 00&lt;br /&gt;
| ABCD&lt;br /&gt;
| ABCD&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 01&lt;br /&gt;
| ABDC&lt;br /&gt;
| ABDC&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 02&lt;br /&gt;
| ACBD&lt;br /&gt;
| ACBD&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 03&lt;br /&gt;
| ACDB&lt;br /&gt;
| ADBC&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 04&lt;br /&gt;
| ADBC&lt;br /&gt;
| ACDB&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 05&lt;br /&gt;
| ADCB&lt;br /&gt;
| ADCB&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 06&lt;br /&gt;
| BACD&lt;br /&gt;
| BACD&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 07&lt;br /&gt;
| BADC&lt;br /&gt;
| BADC&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 08&lt;br /&gt;
| BCAD&lt;br /&gt;
| CABD&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 09&lt;br /&gt;
| BCDA&lt;br /&gt;
| DABC&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 10&lt;br /&gt;
| BDAC&lt;br /&gt;
| CADB&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 11&lt;br /&gt;
| BDCA&lt;br /&gt;
| DACB&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 12&lt;br /&gt;
| CABD&lt;br /&gt;
| BCAD&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 13&lt;br /&gt;
| CADB&lt;br /&gt;
| BDAC&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 14&lt;br /&gt;
| CBAD&lt;br /&gt;
| CBAD&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 15&lt;br /&gt;
| CBDA&lt;br /&gt;
| DBAC&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 16&lt;br /&gt;
| CDAB&lt;br /&gt;
| CDAB&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 17&lt;br /&gt;
| CDBA&lt;br /&gt;
| DCAB&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 18&lt;br /&gt;
| DABC&lt;br /&gt;
| BCDA&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 19&lt;br /&gt;
| DACB&lt;br /&gt;
| BDCA&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 20&lt;br /&gt;
| DBAC&lt;br /&gt;
| CBDA&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 21&lt;br /&gt;
| DBCA&lt;br /&gt;
| DBCA&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 22&lt;br /&gt;
| DCAB&lt;br /&gt;
| CDBA&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 23&lt;br /&gt;
| DCBA&lt;br /&gt;
| DCBA&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Encryption ==&lt;br /&gt;
&lt;br /&gt;
The encryption uses the [http://projectpokemon.org/wiki/PRNG_in_Pok%C3%A9mon pseudorandom number generator (PRNG)], a linear congruential generator.  Elements of the PRNG can be described with the recursive function:&lt;br /&gt;
: &#039;&#039;X[n+1] = (0x41C64E6D * X[n] + 0x6073)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
To decrypt the data, given a function &#039;&#039;rand()&#039;&#039; which returns the upper 16 bits of consecutive results of the above given function:&lt;br /&gt;
# Seed the PRNG with the checksum (let &#039;&#039;X[n]&#039;&#039; be the checksum).&lt;br /&gt;
# Sequentially, for each 2-byte word &#039;&#039;Y&#039;&#039; from 0x08 to 0x87, apply the transformation: &#039;&#039;unencryptedByte = Y xor rand()&#039;&#039;&lt;br /&gt;
# Unshuffle the blocks using the block shuffling algorithm above.&lt;br /&gt;
&lt;br /&gt;
To encrypt the data:&lt;br /&gt;
# Shuffle the blocks using the block shuffling algorithm above.&lt;br /&gt;
# Seed the PRNG with the checksum (let &#039;&#039;X[n]&#039;&#039; be the checksum),&lt;br /&gt;
# Sequentially, for each 2-byte word &#039;&#039;Y&#039;&#039; from 0x08 to 0x87, apply the transformation: &#039;&#039;unencryptedByte = Y xor rand()&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Unencrypted bytes ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Contents&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x00-0x03&lt;br /&gt;
| [[Personality value]] (Also known as the [[PID]])&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x04-0x05&lt;br /&gt;
| &#039;&#039;Unused&#039;&#039;&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x06-0x07&lt;br /&gt;
| Checksum&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Encrypted bytes ==&lt;br /&gt;
=== Block A ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Contents&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x08-0x09 &lt;br /&gt;
| [[Nationaldex|National Pokédex ID]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x0A-0x0B &lt;br /&gt;
| [[item index|Held Item]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x0C-0x0D&lt;br /&gt;
| [[Original Trainer|OT ID]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x0E-0x0F &lt;br /&gt;
| [[Original Trainer|OT Secret ID]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x10-0x13&lt;br /&gt;
| [[Experience Points|Experience points]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x14&lt;br /&gt;
| Friendship (Steps to Hatch if an egg)&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x15&lt;br /&gt;
| [[Ability]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x16&lt;br /&gt;
| [[#Markings|Markings]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x17&lt;br /&gt;
| [[#Original Language|Original Language]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x18&lt;br /&gt;
| [[Effort Values#Hit Points|HP Effort Value]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x19&lt;br /&gt;
| [[Effort Values#Attack Points|Attack Effort Value]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x1A&lt;br /&gt;
| [[Effort Values#Defense Points|Defense Effort Value]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x1B&lt;br /&gt;
| [[Effort Values#Speed Points|Speed Effort Value]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x1C&lt;br /&gt;
| [[Effort Values#Special Attack Points|SP Attack Effort Value]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x1D&lt;br /&gt;
| [[Effort Values#Special Defense Points|SP Defense Effort Value]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x1E&lt;br /&gt;
| [[Contest Stats#Cool|Cool Contest Value]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x1F&lt;br /&gt;
| [[Contest Stats#Beauty|Beauty Contest Value]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x20&lt;br /&gt;
| [[Contest Stats#Cute|Cute Contest Value]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x21&lt;br /&gt;
| [[Contest Stats#Smart|Smart Contest Value]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x22&lt;br /&gt;
| [[Contest Stats#Tough|Tough Contest Value]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x23&lt;br /&gt;
| [[Contest Stats#Sheen|Sheen Contest Value]]&lt;br /&gt;
&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x24-0x25&lt;br /&gt;
| [[#Sinnoh Ribbon Set 1|Sinnoh Ribbon Set 1]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x26-0x27&lt;br /&gt;
| [[#Sinnoh Ribbon Set 2|Sinnoh Ribbon Set 2]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Block B ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Contents&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x28-0x29&lt;br /&gt;
| [[Pokemon Moves|Move 1 ID]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x2A-0x2B&lt;br /&gt;
| [[Pokemon Moves|Move 2 ID]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x2C-0x2D&lt;br /&gt;
| [[Pokemon Moves|Move 3 ID]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x2E-0x2F&lt;br /&gt;
| [[Pokemon Moves|Move 4 ID]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x30&lt;br /&gt;
| [[Pokemon Moves#Power Points|Move 1 Current PP]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x31&lt;br /&gt;
| [[Pokemon Moves#Power Points|Move 2 Current PP]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x32&lt;br /&gt;
| [[Pokemon Moves#Power Points|Move 3 Current PP]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x33&lt;br /&gt;
| [[Pokemon Moves#Power Points|Move 4 Current PP]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x34-0x37&lt;br /&gt;
| [[Pokemon Moves#Power Points|Move PP Ups]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x38-0x3B&lt;br /&gt;
| Bits 0-29 - [[Individual Values]]&amp;lt;br&amp;gt;&lt;br /&gt;
[[Individual Values#Hit Points|HP]] ( [0-31] &amp;lt;&amp;lt; 0 )&amp;lt;br&amp;gt;&lt;br /&gt;
[[Individual Values#Attack Points|Attack]] ( [0-31] &amp;lt;&amp;lt; 5 )&amp;lt;br&amp;gt;&lt;br /&gt;
[[Individual Values#Defense Points|Defense]] ( [0-31] &amp;lt;&amp;lt; 10 )&amp;lt;br&amp;gt;&lt;br /&gt;
[[Individual Values#Speed Points|Speed]] ( [0-31] &amp;lt;&amp;lt; 15 )&amp;lt;br&amp;gt;&lt;br /&gt;
[[Individual Values#Special Attack Points|SP Attack]] ( [0-31] &amp;lt;&amp;lt; 20 )&amp;lt;br&amp;gt;&lt;br /&gt;
[[Individual Values#Special Defense Points|SP Defense]] ( [0-31] &amp;lt;&amp;lt; 25 )&amp;lt;br&amp;gt;&lt;br /&gt;
Bit 30 - IsEgg Flag&amp;lt;br&amp;gt;Bit 31 - IsNicknamed Flag&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3C-0x3D&lt;br /&gt;
| [[#Hoenn Ribbon Set 1|Hoenn Ribbon Set 1]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3E-0x3F&lt;br /&gt;
| [[#Hoenn Ribbon Set 2|Hoenn Ribbon Set 2]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x40&lt;br /&gt;
| Bit 0 - Fateful Encounter Flag&amp;lt;br&amp;gt;Bit 1 - Female&amp;lt;br&amp;gt;Bit 2 - Genderless&amp;lt;br&amp;gt;Bit 3-7 - [[#Alternate Forms|Alternate Forms]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x41 &lt;br /&gt;
| Shining Leaves (HGSS)&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x42-0x43&lt;br /&gt;
| &#039;&#039;Unused&#039;&#039;&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x44-0x45&lt;br /&gt;
| Egg [[Pokemon NDS Locations#Egg Locations|Location]] (Platinum)&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x46-0x47&lt;br /&gt;
| Met at [[Pokemon NDS Locations|Location]] (Platinum)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Block C ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Contents&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x48-0x5D&lt;br /&gt;
| Nickname&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x5E&lt;br /&gt;
| &#039;&#039;Unused&#039;&#039;&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x5F&lt;br /&gt;
| [[Pokemon Hometown|Hometown]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x60-0x61&lt;br /&gt;
| [[#Sinnoh Ribbon Set 3|Sinnoh Ribbon Set 3]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x62-0x63&lt;br /&gt;
| [[#Sinnoh Ribbon Set 4|Sinnoh Ribbon Set 4]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x64-0x67&lt;br /&gt;
| &#039;&#039;Unused&#039;&#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Block D ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Contents&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x68-0x77 &lt;br /&gt;
| [[Original Trainer|OT Name]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x78-0x7A &lt;br /&gt;
| Date Egg Received&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x7B-0x7D&lt;br /&gt;
| Date Met&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x7E-0x7F&lt;br /&gt;
| Egg [[Pokemon NDS Locations|Location]] (Diamond/Pearl)&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x80-0x81&lt;br /&gt;
| Met At [[Pokemon NDS Locations|Location]] (Diamond/Pearl)&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x82&lt;br /&gt;
| [[Pokerus|Pokérus]]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x83&lt;br /&gt;
| [http://projectpokemon.org/wiki/List_of_Diamond,_Pearl,_Platinum,_HeartGold_and_SoulSilver_Items_by_Index_Number#Balls Poké Ball]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x84&lt;br /&gt;
| Bit 0-6 - Met At Level&amp;lt;br&amp;gt;Bit 7 - Female OT Gender&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x85&lt;br /&gt;
| [[#Encounter Types|Encounter Type]]&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x86&lt;br /&gt;
|[http://projectpokemon.org/wiki/List_of_Diamond,_Pearl,_Platinum,_HeartGold_and_SoulSilver_Items_by_Index_Number#HeartGold_and_SoulSilver_exclusive_Balls HGSS Poké Ball]&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x87&lt;br /&gt;
| &#039;&#039;Unused&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Battle Stats ==&lt;br /&gt;
&lt;br /&gt;
The battle stats are encrypted in the same manner, however the seed is not the checksum, it is the PID.&lt;br /&gt;
&lt;br /&gt;
=== Encrypted Bytes ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
|- style=&amp;quot;background: #ccc;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
! Offset&lt;br /&gt;
! Contents&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x88&lt;br /&gt;
| Bits 0-2 - Asleep (0-7 rounds)&amp;lt;br&amp;gt;Bit 3 - Poisoned&amp;lt;br&amp;gt;Bit 4 - Burned&amp;lt;br&amp;gt;Bit 5 - Frozen&amp;lt;br&amp;gt;Bit 6 - Paralyzed&amp;lt;br&amp;gt;Bit 7 - Toxic&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x89&lt;br /&gt;
| &#039;&#039;Unknown&#039;&#039; - Flags - Max Value 0xF0&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x8A-0x8B&lt;br /&gt;
| &#039;&#039;Unknown&#039;&#039;&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x8C&lt;br /&gt;
| Level&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x8D&lt;br /&gt;
| Capsule Index (Seals)&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x8E-0x8F&lt;br /&gt;
| Current HP&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x90-0x91&lt;br /&gt;
| Max HP&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x92-0x93&lt;br /&gt;
| Attack&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x94-0x95&lt;br /&gt;
| Defense&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x96-0x97&lt;br /&gt;
| Speed&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x98-0x99&lt;br /&gt;
| Special Attack&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x9A-0x9B&lt;br /&gt;
| Special Defense&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x9C-0xD3&lt;br /&gt;
| &#039;&#039;Unknown&#039;&#039; - Contains Trash Data&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0xD4-0xEB&lt;br /&gt;
| Seal Coordinates&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Original Language ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Value&lt;br /&gt;
! Language&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x1&lt;br /&gt;
| 日本語 (Japan)&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x2&lt;br /&gt;
| English (US/UK/AU)&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3&lt;br /&gt;
| Français (France/Québec)&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x4&lt;br /&gt;
| Italiano (Italy)&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x5&lt;br /&gt;
| Deutsch (Germany)&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x7&lt;br /&gt;
| Español (Spain/Latin Americas)&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x8&lt;br /&gt;
| 한국어 (South Korea)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Markings ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Marking&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x01&lt;br /&gt;
| Circle&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x02&lt;br /&gt;
| Triangle&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x04&lt;br /&gt;
| Square&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x08&lt;br /&gt;
| Heart&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x10&lt;br /&gt;
| Star&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x20&lt;br /&gt;
| Diamond&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Alternate Forms ==&lt;br /&gt;
Alternate forms are stored at offset 0x40 of the Pokemon structure.  Each form follows the pattern of &#039;&#039;index &amp;lt;&amp;lt; 3&#039;&#039; where index starts at zero for the main form.&lt;br /&gt;
&lt;br /&gt;
=== Unown&#039;s Forms ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x00&lt;br /&gt;
| A&lt;br /&gt;
| 0x38&lt;br /&gt;
| H&lt;br /&gt;
| 0x70&lt;br /&gt;
| O&lt;br /&gt;
| 0xA8&lt;br /&gt;
| V&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x08&lt;br /&gt;
| B&lt;br /&gt;
| 0x40&lt;br /&gt;
| I&lt;br /&gt;
| 0x78&lt;br /&gt;
| P&lt;br /&gt;
| 0xB0&lt;br /&gt;
| W&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x10&lt;br /&gt;
| C&lt;br /&gt;
| 0x48&lt;br /&gt;
| J&lt;br /&gt;
| 0x80&lt;br /&gt;
| Q&lt;br /&gt;
| 0xB8&lt;br /&gt;
| X&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x18&lt;br /&gt;
| D&lt;br /&gt;
| 0x50&lt;br /&gt;
| K&lt;br /&gt;
| 0x88&lt;br /&gt;
| R&lt;br /&gt;
| 0xC0&lt;br /&gt;
| Y&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x20&lt;br /&gt;
| E&lt;br /&gt;
| 0x58&lt;br /&gt;
| L&lt;br /&gt;
| 0x90&lt;br /&gt;
| S&lt;br /&gt;
| 0xC8&lt;br /&gt;
| Z&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x28&lt;br /&gt;
| F&lt;br /&gt;
| 0x60&lt;br /&gt;
| M&lt;br /&gt;
| 0x98&lt;br /&gt;
| T&lt;br /&gt;
| 0xD0&lt;br /&gt;
| !&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x30&lt;br /&gt;
| G&lt;br /&gt;
| 0x68&lt;br /&gt;
| N&lt;br /&gt;
| 0xA0&lt;br /&gt;
| U&lt;br /&gt;
| 0xD8&lt;br /&gt;
| ?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Deoxy&#039;s Forms ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x00&lt;br /&gt;
| Normal&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x08&lt;br /&gt;
| Attack&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x10&lt;br /&gt;
| Defense&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x18&lt;br /&gt;
| Speed&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Burmy&#039;s &amp;amp; Wormadam&#039;s Forms ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x00&lt;br /&gt;
| Plant&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x08&lt;br /&gt;
| Sandy&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x10&lt;br /&gt;
| Trash&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Shellos&#039; &amp;amp; Gastrodon&#039;s Forms ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x00&lt;br /&gt;
| West&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x08&lt;br /&gt;
| East&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Rotom&#039;s Forms ===&lt;br /&gt;
Rotom&#039;s alternate forms will only be displayed in Pokemon Platinum.  Rotom may be traded between Diamond, Pearl, and Platinum without losing the alternate form.&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x00&lt;br /&gt;
| Normal&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x08&lt;br /&gt;
| Heat&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x10&lt;br /&gt;
| Wash&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x18&lt;br /&gt;
| Frost&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x20&lt;br /&gt;
| Fan&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x28&lt;br /&gt;
| Cut&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Giratina&#039;s Forms ===&lt;br /&gt;
Giratina&#039;s Origin form will only be displayed in Pokemon Platinum.&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x00&lt;br /&gt;
| Altered&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x08&lt;br /&gt;
| Origin&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Shaymin&#039;s Forms ===&lt;br /&gt;
Shaymin&#039;s Sky form will only be displayed in Pokemon Platinum.&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x00&lt;br /&gt;
| Land&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x08&lt;br /&gt;
| Sky&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Arceus&#039; Forms ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
! Bit&lt;br /&gt;
! Form&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x00&lt;br /&gt;
| Normal&lt;br /&gt;
| 0x30&lt;br /&gt;
| Insect&lt;br /&gt;
| 0x60&lt;br /&gt;
| Zap&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x08&lt;br /&gt;
| Fist&lt;br /&gt;
| 0x38&lt;br /&gt;
| Spooky&lt;br /&gt;
| 0x68&lt;br /&gt;
| Mind&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x10&lt;br /&gt;
| Sky&lt;br /&gt;
| 0x40&lt;br /&gt;
| Iron&lt;br /&gt;
| 0x70&lt;br /&gt;
| Icicle&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x18&lt;br /&gt;
| Toxic&lt;br /&gt;
| 0x48&lt;br /&gt;
| Flame&lt;br /&gt;
| 0x78&lt;br /&gt;
| Draco&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x20&lt;br /&gt;
| Earth&lt;br /&gt;
| 0x50&lt;br /&gt;
| Splash&lt;br /&gt;
| 0x80&lt;br /&gt;
| Dread&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x28&lt;br /&gt;
| Stone&lt;br /&gt;
| 0x58&lt;br /&gt;
| Meadow&lt;br /&gt;
| 0x4C&lt;br /&gt;
| Curse&lt;br /&gt;
|}&lt;br /&gt;
== Encounter Types ==&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Value&lt;br /&gt;
! Country&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x0&lt;br /&gt;
| Pal Park, Egg, Hatched, Special Event&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x2&lt;br /&gt;
| Tall Grass&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x4&lt;br /&gt;
| Dialga/Palkia In-Game Event&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x5&lt;br /&gt;
| Cave, Hall of Origin&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x7&lt;br /&gt;
| Surfing, Fishing&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x9&lt;br /&gt;
| Building&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0xA&lt;br /&gt;
| Great Marsh (Safari Zone)&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0xC&lt;br /&gt;
| Starter, Fossil, Gift (Eevee)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Ribbons ==&lt;br /&gt;
Diamond, Pearl, and Platinum store the ribbon information as [[Bitfields|bitfields]] in 1-byte words.  Given below are the bytewise representation of the ribbon bitfields.&lt;br /&gt;
&lt;br /&gt;
=== Sinnoh Ribbon Set 1 ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x24 &amp;amp; 0x01&lt;br /&gt;
| Sinnoh Champ Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x24 &amp;amp; 0x02&lt;br /&gt;
| Ability Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x24 &amp;amp; 0x04&lt;br /&gt;
| Great Ability Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x24 &amp;amp; 0x08&lt;br /&gt;
| Double Ability Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x24 &amp;amp; 0x10&lt;br /&gt;
| Multi Ability Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x24 &amp;amp; 0x20&lt;br /&gt;
| Pair Ability Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x24 &amp;amp; 0x40&lt;br /&gt;
| World Ability Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x24 &amp;amp; 0x80&lt;br /&gt;
| Alert Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x25 &amp;amp; 0x01&lt;br /&gt;
| Shock Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x25 &amp;amp; 0x02&lt;br /&gt;
| Downcast Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x25 &amp;amp; 0x04&lt;br /&gt;
| Careless Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x25 &amp;amp; 0x08&lt;br /&gt;
| Relax Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x25 &amp;amp; 0x10&lt;br /&gt;
| Snooze Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x25 &amp;amp; 0x20&lt;br /&gt;
| Smile Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x25 &amp;amp; 0x40&lt;br /&gt;
| Gorgeous Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x25 &amp;amp; 0x80&lt;br /&gt;
| Royal Ribbon&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sinnoh Ribbon Set 2 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x26 &amp;amp; 0x01&lt;br /&gt;
| Gorgeous Royal Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x26 &amp;amp; 0x02&lt;br /&gt;
| Footprint Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x26 &amp;amp; 0x04&lt;br /&gt;
| Record Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x26 &amp;amp; 0x08&lt;br /&gt;
| History Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x26 &amp;amp; 0x10&lt;br /&gt;
| Legend Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x26 &amp;amp; 0x20&lt;br /&gt;
| Red Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x26 &amp;amp; 0x40&lt;br /&gt;
| Green Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x26 &amp;amp; 0x80&lt;br /&gt;
| Blue Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x27 &amp;amp; 0x01&lt;br /&gt;
| Festival Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x27 &amp;amp; 0x02&lt;br /&gt;
| Carnival Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x27 &amp;amp; 0x04&lt;br /&gt;
| Classic Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x27 &amp;amp; 0x08&lt;br /&gt;
| Premier Ribbon&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sinnoh Ribbon Set 3 ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x60 &amp;amp; 0x01&lt;br /&gt;
| Cool Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x60 &amp;amp; 0x02&lt;br /&gt;
| Cool Ribbon Great&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x60 &amp;amp; 0x04&lt;br /&gt;
| Cool Ribbon Ultra&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x60 &amp;amp; 0x08&lt;br /&gt;
| Cool Ribbon Master&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x60 &amp;amp; 0x10&lt;br /&gt;
| Beauty Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x60 &amp;amp; 0x20&lt;br /&gt;
| Beauty Ribbon Great&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x60 &amp;amp; 0x40&lt;br /&gt;
| Beauty Ribbon Ultra&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x60 &amp;amp; 0x80&lt;br /&gt;
| Beauty Ribbon Master&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x61 &amp;amp; 0x01&lt;br /&gt;
| Cute Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x61 &amp;amp; 0x02&lt;br /&gt;
| Cute Ribbon Great&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x61 &amp;amp; 0x04&lt;br /&gt;
| Cute Ribbon Ultra&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x61 &amp;amp; 0x08&lt;br /&gt;
| Cute Ribbon Master&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x61 &amp;amp; 0x10&lt;br /&gt;
| Smart Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x61 &amp;amp; 0x20&lt;br /&gt;
| Smart Ribbon Great&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x61 &amp;amp; 0x40&lt;br /&gt;
| Smart Ribbon Ultra&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x61 &amp;amp; 0x80&lt;br /&gt;
| Smart Ribbon Master&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Sinnoh Ribbon Set 4 ===&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x62 &amp;amp; 0x01&lt;br /&gt;
| Tough Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x62 &amp;amp; 0x02&lt;br /&gt;
| Tough Ribbon Great&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x62 &amp;amp; 0x04&lt;br /&gt;
| Tough Ribbon Ultra&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x62 &amp;amp; 0x08&lt;br /&gt;
| Tough Ribbon Master&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Hoenn Ribbon Set 1 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3C &amp;amp; 0x01&lt;br /&gt;
| Cool Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3C &amp;amp; 0x02&lt;br /&gt;
| Cool Ribbon Super&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3C &amp;amp; 0x04&lt;br /&gt;
| Cool Ribbon Hyper&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3C &amp;amp; 0x08&lt;br /&gt;
| Cool Ribbon Master&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3C &amp;amp; 0x10&lt;br /&gt;
| Beauty Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3C &amp;amp; 0x20&lt;br /&gt;
| Beauty Ribbon Super&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3C &amp;amp; 0x40&lt;br /&gt;
| Beauty Ribbon Hyper&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3C &amp;amp; 0x80&lt;br /&gt;
| Beauty Ribbon Master&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3D &amp;amp; 0x01&lt;br /&gt;
| Cute Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3D &amp;amp; 0x02&lt;br /&gt;
| Cute Ribbon Super&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3D &amp;amp; 0x04&lt;br /&gt;
| Cute Ribbon Hyper&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3D &amp;amp; 0x08&lt;br /&gt;
| Cute Ribbon Master&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3D &amp;amp; 0x10&lt;br /&gt;
| Smart Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3D &amp;amp; 0x20&lt;br /&gt;
| Smart Ribbon Super&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3D &amp;amp; 0x40&lt;br /&gt;
| Smart Ribbon Hyper&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3D &amp;amp; 0x80&lt;br /&gt;
| Smart Ribbon Master&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Hoenn Ribbon Set 2 ===&lt;br /&gt;
&lt;br /&gt;
{| border=&amp;quot;1&amp;quot; style=&amp;quot;border: 1px solid #999; border-collapse: collapse;&amp;quot;&lt;br /&gt;
! Bit&lt;br /&gt;
! Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3F &amp;amp; 0x01&lt;br /&gt;
| Tough Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3F &amp;amp; 0x02&lt;br /&gt;
| Tough Ribbon Super&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3F &amp;amp; 0x04&lt;br /&gt;
| Tough Ribbon Hyper&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3F &amp;amp; 0x08&lt;br /&gt;
| Tough Ribbon Master&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3F &amp;amp; 0x10&lt;br /&gt;
| Champion Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3F &amp;amp; 0x20&lt;br /&gt;
| Winning Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3F &amp;amp; 0x40&lt;br /&gt;
| Victory Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3F &amp;amp; 0x80&lt;br /&gt;
| Artist Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3E &amp;amp; 0x01&lt;br /&gt;
| Effort Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3E &amp;amp; 0x02&lt;br /&gt;
| Marine Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3E &amp;amp; 0x04&lt;br /&gt;
| Land Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3E &amp;amp; 0x08&lt;br /&gt;
| Sky Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3E &amp;amp; 0x10&lt;br /&gt;
| Country Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3E &amp;amp; 0x20&lt;br /&gt;
| National Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #eee;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3E &amp;amp; 0x40&lt;br /&gt;
| Earth Ribbon&lt;br /&gt;
|- style=&amp;quot;background: #ddd;&amp;quot; align=&amp;quot;center&amp;quot;&lt;br /&gt;
| 0x3E &amp;amp; 0x80&lt;br /&gt;
| World Ribbon&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Save File Location ==&lt;br /&gt;
The party Pokémon are stored in the [[Pokémon NDS Save File Structure|save file]] beginning at offset 0x00098 for the first small block, and 0x40098 for the second small block.&lt;br /&gt;
&lt;br /&gt;
In the first small save block, the first Daycare Pokémon is located at 0x0141C, and the second is located at 0x01508.  In the second small block, the first Daycare Pokémon is located at 0x4141C, and the second is located at 0x41508.&lt;br /&gt;
&lt;br /&gt;
In the first small save block, the Pal Park Pokémon are stored beginning at 0x0BA28.  In the second small save block, the Pal Park Pokémon are stored beginning at 0x4BA28.&lt;br /&gt;
&lt;br /&gt;
Each party, Daycare, and Pal Park Pokémon is 236 bytes in size.&lt;br /&gt;
&lt;br /&gt;
The PC storage Pokémon are stored in the save file from Box 1 to Box 18.  The offset starts at 0x0C104 for the first big block and 0x4C104 for the second big block.  Each PC stored Pokémon is 136 bytes in size.&lt;br /&gt;
&lt;br /&gt;
[[Category:Structures]]&lt;br /&gt;
[[Category:Game Mechanics]]&lt;br /&gt;
[[Category:ROM Research]]&lt;/div&gt;</summary>
		<author><name>Magical</name></author>
	</entry>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2390</id>
		<title>GTS protocol</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2390"/>
		<updated>2010-04-21T05:07:51Z</updated>

		<summary type="html">&lt;p&gt;Magical: /* Pokémon struct */ updated with info from nyanya&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following is &#039;&#039;&#039;wild conjecture&#039;&#039;&#039; based on LordLandon&#039;s [http://projectpokemon.org/forums/showthread.php?780-GTC-website-research&amp;amp;p=67086&amp;amp;viewfull=1#post67086 sendpkm.py].&lt;br /&gt;
&lt;br /&gt;
Communication with the GTS is done over regular HTTP with http://gamestats2.gs.nintendowifi.net/.  The same protocol is used for all five Gen IV games.&lt;br /&gt;
&lt;br /&gt;
==HTTP headers==&lt;br /&gt;
&lt;br /&gt;
The games don&#039;t seem to care about these at all.  The GTS sends back a bunch of boilerplate response headers, but the game happily accepts a response with only a Content-Length.&lt;br /&gt;
&lt;br /&gt;
==Protocol==&lt;br /&gt;
&lt;br /&gt;
All requests to the server are GET requests of the form &amp;lt;code&amp;gt;&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;amp;amp;hash=&amp;lt;var&amp;gt;hash&amp;lt;/var&amp;gt;&amp;amp;amp;data=&amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===pid===&lt;br /&gt;
&lt;br /&gt;
The pid is an unsigned 32-bit integer that appears to uniquely identify a game cartridge.  When the pid is obtained and whether the pid has any relation to the Pal Pad friend code are unknown.&lt;br /&gt;
&lt;br /&gt;
For the mathematically inclined: Eevee&#039;s Platinum pid is 192615460 (0x0b7b1424) and his Pal Pad code is 0904 2026 4621.&lt;br /&gt;
&lt;br /&gt;
===Challenge/response===&lt;br /&gt;
&lt;br /&gt;
Before each &amp;quot;real&amp;quot; request, the game sends a request of the form &amp;lt;code&amp;gt;&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt; and the server responds with a 32-byte challenge token. The game computes &amp;lt;code&amp;gt;sha1(&amp;quot;sAdeqWo3voLeC5r16DYv&amp;quot; + token)&amp;lt;/code&amp;gt; and uses that as the &amp;lt;var&amp;gt;hash&amp;lt;/var&amp;gt; value which it sends to the server. The &amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt; parameter is encrypted, as explained further down.&lt;br /&gt;
&lt;br /&gt;
That is, each request looks like the following:&lt;br /&gt;
&lt;br /&gt;
# Game requests &amp;lt;code&amp;gt;GET /pokemondpds/&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Server responds with &amp;lt;var&amp;gt;token&amp;lt;/var&amp;gt;&lt;br /&gt;
# Game requests &amp;lt;code&amp;gt;GET /pokemondpds/&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;amp;amp;hash=&amp;lt;var&amp;gt;sha1(...)&amp;lt;/var&amp;gt;&amp;amp;amp;data=&amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Server responds with payload&lt;br /&gt;
&lt;br /&gt;
The exact details of the game&#039;s requests are not currently known, but we are working on it!&lt;br /&gt;
&lt;br /&gt;
===Checksum===&lt;br /&gt;
&lt;br /&gt;
A 32-bit checksum of the data is used as the key for the encryption. The checksum is simply the sum of every byte of the data.&lt;br /&gt;
&lt;br /&gt;
The first 4 bytes of the sent data are the checksum, &amp;lt;code&amp;gt;xor&amp;lt;/code&amp;gt;ed with &amp;lt;code&amp;gt;0x4a3b2c1d&amp;lt;/code&amp;gt;, and sent in network byte order (big-endian).&lt;br /&gt;
&lt;br /&gt;
===Encryption===&lt;br /&gt;
&lt;br /&gt;
The data sent to the server is encrypted with a [http://en.wikipedia.org/wiki/Stream_cipher stream cipher], and [http://en.wikipedia.org/wiki/Base64#URL_applications urlsafe-base64]-encoded.&lt;br /&gt;
&lt;br /&gt;
This encryption algorithm, like others used in the game, uses a [http://en.wikipedia.org/wiki/Linear_congruential_generator Linear Congruential Generator] (not a very strong choice). The multiplicative constant is &amp;lt;code&amp;gt;0x45&amp;lt;/code&amp;gt;, and the additive constant is &amp;lt;code&amp;gt;0x1111&amp;lt;/code&amp;gt;. It appears that the game uses a signed dword to store the seed, which doesn&#039;t really matter; it shouldn&#039;t affect anything. (It means that the modulus is effectively &amp;lt;code&amp;gt;0x80000000&amp;lt;/code&amp;gt;.)&lt;br /&gt;
&lt;br /&gt;
 GRNG[n+1] = (GRNG[n] * 0x45 + 0x1111) &amp;amp; 0x7fffffff&lt;br /&gt;
&lt;br /&gt;
The GRNG is seeded with the &amp;lt;var&amp;gt;checksum&amp;lt;/var&amp;gt;, like so:&lt;br /&gt;
&lt;br /&gt;
 GRNG[0] = &amp;lt;var&amp;gt;checksum&amp;lt;/var&amp;gt; | (&amp;lt;var&amp;gt;checksum&amp;lt;/var&amp;gt; &amp;lt;&amp;lt; 16)&lt;br /&gt;
&lt;br /&gt;
The keystream is composed of the lower byte of the high word of successive GRNG values.&lt;br /&gt;
&lt;br /&gt;
 keystream[n] = (GRNG[n] &amp;gt;&amp;gt; 16) &amp;amp; 0xff&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Xor&amp;lt;/code&amp;gt; the keystream with the plaintext to get the ciphertext. &amp;lt;code&amp;gt;Xor&amp;lt;/code&amp;gt; the keystream with the ciphertext to get the plaintext.&lt;br /&gt;
&lt;br /&gt;
==Conversation==&lt;br /&gt;
&lt;br /&gt;
The first request the game makes is to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/info.asp&amp;lt;/code&amp;gt;. The server responds with 0x0001.&lt;br /&gt;
&lt;br /&gt;
Platinum, Heart Gold, and Soul Silver will then make a request to &amp;lt;code&amp;gt;/pokemondpds/common/setProfile.asp&amp;lt;/code&amp;gt;.  The server responds with eight NULs (0x00000000 0x00000000).&lt;br /&gt;
&lt;br /&gt;
After the above step(s) or &#039;&#039;&#039;performing any of the tasks below&#039;&#039;&#039; other than searching, the game makes a request to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/result.asp&amp;lt;/code&amp;gt;.  If the game has had a Pokémon sent to it (via a successful trade?), the server responds with the entire encrypted [[Pokemon NDS Structure|Pokémon save struct]].  If there is a Pokémon deposited in the GTS, it responds with 0x0004.  Otherwise, it responds with 0x0005.&lt;br /&gt;
&lt;br /&gt;
===Receiving a Pokémon===&lt;br /&gt;
&lt;br /&gt;
If the game receives a Pokémon from a successful trade as a response from &amp;lt;code&amp;gt;result.asp&amp;lt;/code&amp;gt;, it next requests &amp;lt;code&amp;gt;/pokemondpds/worldexchange/delete.asp&amp;lt;/code&amp;gt;.  The server responds with 0x0001.&lt;br /&gt;
&lt;br /&gt;
====A note on sendpkm.py====&lt;br /&gt;
&lt;br /&gt;
After doing the above, some Platinum, Heart Gold, and Soul Silver games will report a communication error and dump the player back to the title screen.  The Pokémon is still successfully received.  At least one person with HG/SS has received a Pokémon from a fake server without getting the error, and Diamond/Pearl have never been reported to have the problem.  It&#039;s possible that the server should respond with something other than 0x0001.&lt;br /&gt;
&lt;br /&gt;
===Depositing a Pokémon===&lt;br /&gt;
&lt;br /&gt;
Pokémon are offered on the GTS by requesting &amp;lt;code&amp;gt;/pokemondpds/worldexchange/post.asp&amp;lt;/code&amp;gt;.  The sent data is 300 bytes long, and includes the Pokémon struct. If the Pokémon is rejected by the server, the response is 0x000c; otherwise, if the deposit is successful, 0x0001.&lt;br /&gt;
&lt;br /&gt;
The game then saves. After the save is complete, it issues a request to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/post_finish.asp&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Retrieving the deposited Pokémon===&lt;br /&gt;
&lt;br /&gt;
Checking on the deposited Pokémon is apparently done by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/get.asp&amp;lt;/code&amp;gt;.  The response appears to be a [[Pokemon NDS Structure|Pokémon save struct]].&lt;br /&gt;
&lt;br /&gt;
Retrieving the deposited Pokémon is done by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/return.asp&amp;lt;/code&amp;gt;.  The response is merely 0x0001; the actual Pokémon data is taken from the &amp;lt;code&amp;gt;get.asp&amp;lt;/code&amp;gt; request.&lt;br /&gt;
&lt;br /&gt;
===Searching===&lt;br /&gt;
&lt;br /&gt;
Searching is done through &amp;lt;code&amp;gt;/pokemondpds/worldexchange/search.asp&amp;lt;/code&amp;gt;.  The sent data is either 15 or 16 bytes long.&lt;br /&gt;
&lt;br /&gt;
The server responds with a full 292-byte Pokémon struct for each result.  If there are &amp;lt;var&amp;gt;n&amp;lt;/var&amp;gt; results, the response will be 292 * &amp;lt;var&amp;gt;n&amp;lt;/var&amp;gt; bytes long.  If there are no results, the server will give an empty response (0 bytes).&lt;br /&gt;
&lt;br /&gt;
==Pokémon struct==&lt;br /&gt;
&lt;br /&gt;
The Pokémon data for the GTS is 292 bytes—56 bytes larger than a party Pokémon struct. The extra 56 bytes are GTS-specific data, such as the player&#039;s name &amp;amp; country, and what Pokémon they are requesting.&lt;br /&gt;
&lt;br /&gt;
They are as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0x00-0x01 Current Pokémon&lt;br /&gt;
0x02      Gender          1=male; 2=female; 3=either/neither&lt;br /&gt;
0x03      Level&lt;br /&gt;
0x04-0x05 Requested Pokémon&lt;br /&gt;
0x06      Gender&lt;br /&gt;
0x07      Min level&lt;br /&gt;
0x08      Max level&lt;br /&gt;
0x09      always 0?&lt;br /&gt;
0x0A      Trainer Gender  0=male; 1=female&lt;br /&gt;
0x0B      always 0?&lt;br /&gt;
0x0C-0x13 Timestamp - Deposited time&lt;br /&gt;
0x14-0x1B Timestamp - Time traded away?&lt;br /&gt;
0x1c-0x1F pid - also 0x4c in the sav&lt;br /&gt;
0x20-0x2F Trainer Name&lt;br /&gt;
0x30-0x31 Trainer ID&lt;br /&gt;
0x32      Country&lt;br /&gt;
0x33      City&lt;br /&gt;
0x34      Trainer Sprite&lt;br /&gt;
0x35      Exchanged flag&lt;br /&gt;
0x36      Version         0x0A=Diamond; 0x0B=Pearl; ...&lt;br /&gt;
0x37      Language        1=jp; 2=en; 3=fr; ...&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The timestamps are set by the server, and are always PST (UTC-8). Timestamp format:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0x00-0x01 Year&lt;br /&gt;
0x02      Month&lt;br /&gt;
0x03      Day&lt;br /&gt;
0x04      Hour&lt;br /&gt;
0x05      Minute&lt;br /&gt;
0x06      Second&lt;br /&gt;
0x07      always 0?&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Magical</name></author>
	</entry>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=Item_index&amp;diff=2389</id>
		<title>Item index</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=Item_index&amp;diff=2389"/>
		<updated>2010-04-21T04:44:41Z</updated>

		<summary type="html">&lt;p&gt;Magical: page moved&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[List of Diamond, Pearl, Platinum, HeartGold and SoulSilver Items by Index Number]]&lt;/div&gt;</summary>
		<author><name>Magical</name></author>
	</entry>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2388</id>
		<title>GTS protocol</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2388"/>
		<updated>2010-04-17T12:15:56Z</updated>

		<summary type="html">&lt;p&gt;Magical: /* Depositing a Pokémon */ server responses&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following is &#039;&#039;&#039;wild conjecture&#039;&#039;&#039; based on LordLandon&#039;s [http://projectpokemon.org/forums/showthread.php?780-GTC-website-research&amp;amp;p=67086&amp;amp;viewfull=1#post67086 sendpkm.py].&lt;br /&gt;
&lt;br /&gt;
Communication with the GTS is done over regular HTTP with http://gamestats2.gs.nintendowifi.net/.  The same protocol is used for all five Gen IV games.&lt;br /&gt;
&lt;br /&gt;
==HTTP headers==&lt;br /&gt;
&lt;br /&gt;
The games don&#039;t seem to care about these at all.  The GTS sends back a bunch of boilerplate response headers, but the game happily accepts a response with only a Content-Length.&lt;br /&gt;
&lt;br /&gt;
==Protocol==&lt;br /&gt;
&lt;br /&gt;
All requests to the server are GET requests of the form &amp;lt;code&amp;gt;&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;amp;amp;hash=&amp;lt;var&amp;gt;hash&amp;lt;/var&amp;gt;&amp;amp;amp;data=&amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===pid===&lt;br /&gt;
&lt;br /&gt;
The pid is an unsigned 32-bit integer that appears to uniquely identify a game cartridge.  When the pid is obtained and whether the pid has any relation to the Pal Pad friend code are unknown.&lt;br /&gt;
&lt;br /&gt;
For the mathematically inclined: Eevee&#039;s Platinum pid is 192615460 (0x0b7b1424) and his Pal Pad code is 0904 2026 4621.&lt;br /&gt;
&lt;br /&gt;
===Challenge/response===&lt;br /&gt;
&lt;br /&gt;
Before each &amp;quot;real&amp;quot; request, the game sends a request of the form &amp;lt;code&amp;gt;&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt; and the server responds with a 32-byte challenge token. The game computes &amp;lt;code&amp;gt;sha1(&amp;quot;sAdeqWo3voLeC5r16DYv&amp;quot; + token)&amp;lt;/code&amp;gt; and uses that as the &amp;lt;var&amp;gt;hash&amp;lt;/var&amp;gt; value which it sends to the server. The &amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt; parameter is encrypted, as explained further down.&lt;br /&gt;
&lt;br /&gt;
That is, each request looks like the following:&lt;br /&gt;
&lt;br /&gt;
# Game requests &amp;lt;code&amp;gt;GET /pokemondpds/&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Server responds with &amp;lt;var&amp;gt;token&amp;lt;/var&amp;gt;&lt;br /&gt;
# Game requests &amp;lt;code&amp;gt;GET /pokemondpds/&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;amp;amp;hash=&amp;lt;var&amp;gt;sha1(...)&amp;lt;/var&amp;gt;&amp;amp;amp;data=&amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Server responds with payload&lt;br /&gt;
&lt;br /&gt;
The exact details of the game&#039;s requests are not currently known, but we are working on it!&lt;br /&gt;
&lt;br /&gt;
===Checksum===&lt;br /&gt;
&lt;br /&gt;
A 32-bit checksum of the data is used as the key for the encryption. The checksum is simply the sum of every byte of the data.&lt;br /&gt;
&lt;br /&gt;
The first 4 bytes of the sent data are the checksum, &amp;lt;code&amp;gt;xor&amp;lt;/code&amp;gt;ed with &amp;lt;code&amp;gt;0x4a3b2c1d&amp;lt;/code&amp;gt;, and sent in network byte order (big-endian).&lt;br /&gt;
&lt;br /&gt;
===Encryption===&lt;br /&gt;
&lt;br /&gt;
The data sent to the server is encrypted with a [http://en.wikipedia.org/wiki/Stream_cipher stream cipher], and [http://en.wikipedia.org/wiki/Base64#URL_applications urlsafe-base64]-encoded.&lt;br /&gt;
&lt;br /&gt;
This encryption algorithm, like others used in the game, uses a [http://en.wikipedia.org/wiki/Linear_congruential_generator Linear Congruential Generator] (not a very strong choice). The multiplicative constant is &amp;lt;code&amp;gt;0x45&amp;lt;/code&amp;gt;, and the additive constant is &amp;lt;code&amp;gt;0x1111&amp;lt;/code&amp;gt;. It appears that the game uses a signed dword to store the seed, which doesn&#039;t really matter; it shouldn&#039;t affect anything. (It means that the modulus is effectively &amp;lt;code&amp;gt;0x80000000&amp;lt;/code&amp;gt;.)&lt;br /&gt;
&lt;br /&gt;
 GRNG[n+1] = (GRNG[n] * 0x45 + 0x1111) &amp;amp; 0x7fffffff&lt;br /&gt;
&lt;br /&gt;
The GRNG is seeded with the &amp;lt;var&amp;gt;checksum&amp;lt;/var&amp;gt;, like so:&lt;br /&gt;
&lt;br /&gt;
 GRNG[0] = &amp;lt;var&amp;gt;checksum&amp;lt;/var&amp;gt; | (&amp;lt;var&amp;gt;checksum&amp;lt;/var&amp;gt; &amp;lt;&amp;lt; 16)&lt;br /&gt;
&lt;br /&gt;
The keystream is composed of the lower byte of the high word of successive GRNG values.&lt;br /&gt;
&lt;br /&gt;
 keystream[n] = (GRNG[n] &amp;gt;&amp;gt; 16) &amp;amp; 0xff&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Xor&amp;lt;/code&amp;gt; the keystream with the plaintext to get the ciphertext. &amp;lt;code&amp;gt;Xor&amp;lt;/code&amp;gt; the keystream with the ciphertext to get the plaintext.&lt;br /&gt;
&lt;br /&gt;
==Conversation==&lt;br /&gt;
&lt;br /&gt;
The first request the game makes is to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/info.asp&amp;lt;/code&amp;gt;. The server responds with 0x0001.&lt;br /&gt;
&lt;br /&gt;
Platinum, Heart Gold, and Soul Silver will then make a request to &amp;lt;code&amp;gt;/pokemondpds/common/setProfile.asp&amp;lt;/code&amp;gt;.  The server responds with eight NULs (0x00000000 0x00000000).&lt;br /&gt;
&lt;br /&gt;
After the above step(s) or &#039;&#039;&#039;performing any of the tasks below&#039;&#039;&#039; other than searching, the game makes a request to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/result.asp&amp;lt;/code&amp;gt;.  If the game has had a Pokémon sent to it (via a successful trade?), the server responds with the entire encrypted [[Pokemon NDS Structure|Pokémon save struct]].  If there is a Pokémon deposited in the GTS, it responds with 0x0004.  Otherwise, it responds with 0x0005.&lt;br /&gt;
&lt;br /&gt;
===Receiving a Pokémon===&lt;br /&gt;
&lt;br /&gt;
If the game receives a Pokémon from a successful trade as a response from &amp;lt;code&amp;gt;result.asp&amp;lt;/code&amp;gt;, it next requests &amp;lt;code&amp;gt;/pokemondpds/worldexchange/delete.asp&amp;lt;/code&amp;gt;.  The server responds with 0x0001.&lt;br /&gt;
&lt;br /&gt;
====A note on sendpkm.py====&lt;br /&gt;
&lt;br /&gt;
After doing the above, some Platinum, Heart Gold, and Soul Silver games will report a communication error and dump the player back to the title screen.  The Pokémon is still successfully received.  At least one person with HG/SS has received a Pokémon from a fake server without getting the error, and Diamond/Pearl have never been reported to have the problem.  It&#039;s possible that the server should respond with something other than 0x0001.&lt;br /&gt;
&lt;br /&gt;
===Depositing a Pokémon===&lt;br /&gt;
&lt;br /&gt;
Pokémon are offered on the GTS by requesting &amp;lt;code&amp;gt;/pokemondpds/worldexchange/post.asp&amp;lt;/code&amp;gt;.  The sent data is 300 bytes long, and includes the Pokémon struct. If the Pokémon is rejected by the server, the response is 0x000c; otherwise, if the deposit is successful, 0x0001.&lt;br /&gt;
&lt;br /&gt;
The game then saves. After the save is complete, it issues a request to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/post_finish.asp&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Retrieving the deposited Pokémon===&lt;br /&gt;
&lt;br /&gt;
Checking on the deposited Pokémon is apparently done by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/get.asp&amp;lt;/code&amp;gt;.  The response appears to be a [[Pokemon NDS Structure|Pokémon save struct]].&lt;br /&gt;
&lt;br /&gt;
Retrieving the deposited Pokémon is done by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/return.asp&amp;lt;/code&amp;gt;.  The response is merely 0x0001; the actual Pokémon data is taken from the &amp;lt;code&amp;gt;get.asp&amp;lt;/code&amp;gt; request.&lt;br /&gt;
&lt;br /&gt;
===Searching===&lt;br /&gt;
&lt;br /&gt;
Searching is done through &amp;lt;code&amp;gt;/pokemondpds/worldexchange/search.asp&amp;lt;/code&amp;gt;.  The sent data is either 15 or 16 bytes long.&lt;br /&gt;
&lt;br /&gt;
The server responds with a full 292-byte Pokémon struct for each result.  If there are &amp;lt;var&amp;gt;n&amp;lt;/var&amp;gt; results, the response will be 292 * &amp;lt;var&amp;gt;n&amp;lt;/var&amp;gt; bytes long.  If there are no results, the server will give an empty response (0 bytes).&lt;br /&gt;
&lt;br /&gt;
==Pokémon struct==&lt;br /&gt;
&lt;br /&gt;
The Pokémon data for the GTS is 292 bytes—56 bytes larger than a party Pokémon struct. The extra 56 bytes are GTS-specific data, such as the player&#039;s name &amp;amp; country, and what Pokémon they are requesting.&lt;br /&gt;
&lt;br /&gt;
They are as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0x00-0x01 Current Pokémon&lt;br /&gt;
0x02      Gender          1=male; 2=female; 3=either/neither&lt;br /&gt;
0x03      Level&lt;br /&gt;
0x04-0x05 Requested Pokémon&lt;br /&gt;
0x06      Gender&lt;br /&gt;
0x07      Min level&lt;br /&gt;
0x08      Max level&lt;br /&gt;
0x09      always 0?&lt;br /&gt;
0x10      sometimes 1, sometimes 0&lt;br /&gt;
0x0B      always 0?&lt;br /&gt;
0x0C-0x0D Year deposited&lt;br /&gt;
0x0E      Month dep&#039;d&lt;br /&gt;
0x0F      Day dep&#039;d&lt;br /&gt;
0x10      Hour dep&#039;d&lt;br /&gt;
0x11      Minute dep&#039;d&lt;br /&gt;
0x12      Second depd&#039;d&lt;br /&gt;
0x13      always 0?&lt;br /&gt;
0x14-0x1a Another timestamp. Time traded away?&lt;br /&gt;
0x1b      always 0?&lt;br /&gt;
0x1c-0x1f pid - also 0x4c in the sav&lt;br /&gt;
0x20-0x2F OT Name&lt;br /&gt;
0x30-0x31 OT ID&lt;br /&gt;
0x32      Country&lt;br /&gt;
0x33      City&lt;br /&gt;
0x34-0x37 Unknown&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Magical</name></author>
	</entry>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2387</id>
		<title>GTS protocol</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2387"/>
		<updated>2010-04-15T09:37:19Z</updated>

		<summary type="html">&lt;p&gt;Magical: /* Protocol */ add encryption details&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following is &#039;&#039;&#039;wild conjecture&#039;&#039;&#039; based on LordLandon&#039;s [http://projectpokemon.org/forums/showthread.php?780-GTC-website-research&amp;amp;p=67086&amp;amp;viewfull=1#post67086 sendpkm.py].&lt;br /&gt;
&lt;br /&gt;
Communication with the GTS is done over regular HTTP with http://gamestats2.gs.nintendowifi.net/.  The same protocol is used for all five Gen IV games.&lt;br /&gt;
&lt;br /&gt;
==HTTP headers==&lt;br /&gt;
&lt;br /&gt;
The games don&#039;t seem to care about these at all.  The GTS sends back a bunch of boilerplate response headers, but the game happily accepts a response with only a Content-Length.&lt;br /&gt;
&lt;br /&gt;
==Protocol==&lt;br /&gt;
&lt;br /&gt;
All requests to the server are GET requests of the form &amp;lt;code&amp;gt;&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;amp;amp;hash=&amp;lt;var&amp;gt;hash&amp;lt;/var&amp;gt;&amp;amp;amp;data=&amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===pid===&lt;br /&gt;
&lt;br /&gt;
The pid is an unsigned 32-bit integer that appears to uniquely identify a game cartridge.  When the pid is obtained and whether the pid has any relation to the Pal Pad friend code are unknown.&lt;br /&gt;
&lt;br /&gt;
For the mathematically inclined: Eevee&#039;s Platinum pid is 192615460 (0x0b7b1424) and his Pal Pad code is 0904 2026 4621.&lt;br /&gt;
&lt;br /&gt;
===Challenge/response===&lt;br /&gt;
&lt;br /&gt;
Before each &amp;quot;real&amp;quot; request, the game sends a request of the form &amp;lt;code&amp;gt;&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt; and the server responds with a 32-byte challenge token. The game computes &amp;lt;code&amp;gt;sha1(&amp;quot;sAdeqWo3voLeC5r16DYv&amp;quot; + token)&amp;lt;/code&amp;gt; and uses that as the &amp;lt;var&amp;gt;hash&amp;lt;/var&amp;gt; value which it sends to the server. The &amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt; parameter is encrypted, as explained further down.&lt;br /&gt;
&lt;br /&gt;
That is, each request looks like the following:&lt;br /&gt;
&lt;br /&gt;
# Game requests &amp;lt;code&amp;gt;GET /pokemondpds/&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Server responds with &amp;lt;var&amp;gt;token&amp;lt;/var&amp;gt;&lt;br /&gt;
# Game requests &amp;lt;code&amp;gt;GET /pokemondpds/&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;amp;amp;hash=&amp;lt;var&amp;gt;sha1(...)&amp;lt;/var&amp;gt;&amp;amp;amp;data=&amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Server responds with payload&lt;br /&gt;
&lt;br /&gt;
The exact details of the game&#039;s requests are not currently known, but we are working on it!&lt;br /&gt;
&lt;br /&gt;
===Checksum===&lt;br /&gt;
&lt;br /&gt;
A 32-bit checksum of the data is used as the key for the encryption. The checksum is simply the sum of every byte of the data.&lt;br /&gt;
&lt;br /&gt;
The first 4 bytes of the sent data are the checksum, &amp;lt;code&amp;gt;xor&amp;lt;/code&amp;gt;ed with &amp;lt;code&amp;gt;0x4a3b2c1d&amp;lt;/code&amp;gt;, and sent in network byte order (big-endian).&lt;br /&gt;
&lt;br /&gt;
===Encryption===&lt;br /&gt;
&lt;br /&gt;
The data sent to the server is encrypted with a [http://en.wikipedia.org/wiki/Stream_cipher stream cipher], and [http://en.wikipedia.org/wiki/Base64#URL_applications urlsafe-base64]-encoded.&lt;br /&gt;
&lt;br /&gt;
This encryption algorithm, like others used in the game, uses a [http://en.wikipedia.org/wiki/Linear_congruential_generator Linear Congruential Generator] (not a very strong choice). The multiplicative constant is &amp;lt;code&amp;gt;0x45&amp;lt;/code&amp;gt;, and the additive constant is &amp;lt;code&amp;gt;0x1111&amp;lt;/code&amp;gt;. It appears that the game uses a signed dword to store the seed, which doesn&#039;t really matter; it shouldn&#039;t affect anything. (It means that the modulus is effectively &amp;lt;code&amp;gt;0x80000000&amp;lt;/code&amp;gt;.)&lt;br /&gt;
&lt;br /&gt;
 GRNG[n+1] = (GRNG[n] * 0x45 + 0x1111) &amp;amp; 0x7fffffff&lt;br /&gt;
&lt;br /&gt;
The GRNG is seeded with the &amp;lt;var&amp;gt;checksum&amp;lt;/var&amp;gt;, like so:&lt;br /&gt;
&lt;br /&gt;
 GRNG[0] = &amp;lt;var&amp;gt;checksum&amp;lt;/var&amp;gt; | (&amp;lt;var&amp;gt;checksum&amp;lt;/var&amp;gt; &amp;lt;&amp;lt; 16)&lt;br /&gt;
&lt;br /&gt;
The keystream is composed of the lower byte of the high word of successive GRNG values.&lt;br /&gt;
&lt;br /&gt;
 keystream[n] = (GRNG[n] &amp;gt;&amp;gt; 16) &amp;amp; 0xff&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;Xor&amp;lt;/code&amp;gt; the keystream with the plaintext to get the ciphertext. &amp;lt;code&amp;gt;Xor&amp;lt;/code&amp;gt; the keystream with the ciphertext to get the plaintext.&lt;br /&gt;
&lt;br /&gt;
==Conversation==&lt;br /&gt;
&lt;br /&gt;
The first request the game makes is to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/info.asp&amp;lt;/code&amp;gt;. The server responds with 0x0001.&lt;br /&gt;
&lt;br /&gt;
Platinum, Heart Gold, and Soul Silver will then make a request to &amp;lt;code&amp;gt;/pokemondpds/common/setProfile.asp&amp;lt;/code&amp;gt;.  The server responds with eight NULs (0x00000000 0x00000000).&lt;br /&gt;
&lt;br /&gt;
After the above step(s) or &#039;&#039;&#039;performing any of the tasks below&#039;&#039;&#039; other than searching, the game makes a request to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/result.asp&amp;lt;/code&amp;gt;.  If the game has had a Pokémon sent to it (via a successful trade?), the server responds with the entire encrypted [[Pokemon NDS Structure|Pokémon save struct]].  If there is a Pokémon deposited in the GTS, it responds with 0x0004.  Otherwise, it responds with 0x0005.&lt;br /&gt;
&lt;br /&gt;
===Receiving a Pokémon===&lt;br /&gt;
&lt;br /&gt;
If the game receives a Pokémon from a successful trade as a response from &amp;lt;code&amp;gt;result.asp&amp;lt;/code&amp;gt;, it next requests &amp;lt;code&amp;gt;/pokemondpds/worldexchange/delete.asp&amp;lt;/code&amp;gt;.  The server responds with 0x0001.&lt;br /&gt;
&lt;br /&gt;
====A note on sendpkm.py====&lt;br /&gt;
&lt;br /&gt;
After doing the above, some Platinum, Heart Gold, and Soul Silver games will report a communication error and dump the player back to the title screen.  The Pokémon is still successfully received.  At least one person with HG/SS has received a Pokémon from a fake server without getting the error, and Diamond/Pearl have never been reported to have the problem.  It&#039;s possible that the server should respond with something other than 0x0001.&lt;br /&gt;
&lt;br /&gt;
===Depositing a Pokémon===&lt;br /&gt;
&lt;br /&gt;
Pokémon are offered on the GTS by requesting &amp;lt;code&amp;gt;/pokemondpds/worldexchange/post.asp&amp;lt;/code&amp;gt;.  The sent data is 300 bytes long, and includes the Pokémon struct.&lt;br /&gt;
&lt;br /&gt;
The game then saves. After the save is complete, it issues a request to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/post_finish.asp&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Retrieving the deposited Pokémon===&lt;br /&gt;
&lt;br /&gt;
Checking on the deposited Pokémon is apparently done by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/get.asp&amp;lt;/code&amp;gt;.  The response appears to be a [[Pokemon NDS Structure|Pokémon save struct]].&lt;br /&gt;
&lt;br /&gt;
Retrieving the deposited Pokémon is done by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/return.asp&amp;lt;/code&amp;gt;.  The response is merely 0x0001; the actual Pokémon data is taken from the &amp;lt;code&amp;gt;get.asp&amp;lt;/code&amp;gt; request.&lt;br /&gt;
&lt;br /&gt;
===Searching===&lt;br /&gt;
&lt;br /&gt;
Searching is done through &amp;lt;code&amp;gt;/pokemondpds/worldexchange/search.asp&amp;lt;/code&amp;gt;.  The sent data is either 15 or 16 bytes long.&lt;br /&gt;
&lt;br /&gt;
The server responds with a full 292-byte Pokémon struct for each result.  If there are &amp;lt;var&amp;gt;n&amp;lt;/var&amp;gt; results, the response will be 292 * &amp;lt;var&amp;gt;n&amp;lt;/var&amp;gt; bytes long.  If there are no results, the server will give an empty response (0 bytes).&lt;br /&gt;
&lt;br /&gt;
==Pokémon struct==&lt;br /&gt;
&lt;br /&gt;
The Pokémon data for the GTS is 292 bytes—56 bytes larger than a party Pokémon struct. The extra 56 bytes are GTS-specific data, such as the player&#039;s name &amp;amp; country, and what Pokémon they are requesting.&lt;br /&gt;
&lt;br /&gt;
They are as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0x00-0x01 Current Pokémon&lt;br /&gt;
0x02      Gender          1=male; 2=female; 3=either/neither&lt;br /&gt;
0x03      Level&lt;br /&gt;
0x04-0x05 Requested Pokémon&lt;br /&gt;
0x06      Gender&lt;br /&gt;
0x07      Min level&lt;br /&gt;
0x08      Max level&lt;br /&gt;
0x09      always 0?&lt;br /&gt;
0x10      sometimes 1, sometimes 0&lt;br /&gt;
0x0B      always 0?&lt;br /&gt;
0x0C-0x0D Year deposited&lt;br /&gt;
0x0E      Month dep&#039;d&lt;br /&gt;
0x0F      Day dep&#039;d&lt;br /&gt;
0x10      Hour dep&#039;d&lt;br /&gt;
0x11      Minute dep&#039;d&lt;br /&gt;
0x12      Second depd&#039;d&lt;br /&gt;
0x13      always 0?&lt;br /&gt;
0x14-0x1a Another timestamp. Time traded away?&lt;br /&gt;
0x1b      always 0?&lt;br /&gt;
0x1c-0x1f pid - also 0x4c in the sav&lt;br /&gt;
0x20-0x2F OT Name&lt;br /&gt;
0x30-0x31 OT ID&lt;br /&gt;
0x32      Country&lt;br /&gt;
0x33      City&lt;br /&gt;
0x34-0x37 Unknown&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Magical</name></author>
	</entry>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2383</id>
		<title>GTS protocol</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2383"/>
		<updated>2010-03-27T08:43:39Z</updated>

		<summary type="html">&lt;p&gt;Magical: /* Searching */ length of sent data&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following is &#039;&#039;&#039;wild conjecture&#039;&#039;&#039; based on LordLandon&#039;s [http://projectpokemon.org/forums/showthread.php?780-GTC-website-research&amp;amp;p=67086&amp;amp;viewfull=1#post67086 sendpkm.py].&lt;br /&gt;
&lt;br /&gt;
Communication with the GTS is done over regular HTTP with http://gamestats2.gs.nintendowifi.net/.  The same protocol is used for all five Gen IV games.&lt;br /&gt;
&lt;br /&gt;
==HTTP headers==&lt;br /&gt;
&lt;br /&gt;
The games don&#039;t seem to care about these at all.  The GTS sends back a bunch of boilerplate response headers, but the game happily accepts a response with only a Content-Length.&lt;br /&gt;
&lt;br /&gt;
==Protocol==&lt;br /&gt;
&lt;br /&gt;
All requests to the server are GET requests of the form &amp;lt;code&amp;gt;&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;amp;amp;hash=&amp;lt;var&amp;gt;hash&amp;lt;/var&amp;gt;&amp;amp;amp;data=&amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===pid===&lt;br /&gt;
&lt;br /&gt;
The pid is an unsigned 32-bit integer that appears to uniquely identify a game cartridge.  When the pid is obtained and whether the pid has any relation to the Pal Pad friend code are unknown.&lt;br /&gt;
&lt;br /&gt;
For the mathematically inclined: Eevee&#039;s Platinum pid is 192615460 (0x0b7b1424) and his Pal Pad code is 0904 2026 4621.&lt;br /&gt;
&lt;br /&gt;
===Challenge/response===&lt;br /&gt;
&lt;br /&gt;
Before each &amp;quot;real&amp;quot; request, the game sends a request of the form &amp;lt;code&amp;gt;&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt; and the server responds with a 32-byte challenge token. The game computes &amp;lt;code&amp;gt;sha1(&amp;quot;sAdeqWo3voLeC5r16DYv&amp;quot; + token)&amp;lt;/code&amp;gt; and uses that as the &amp;lt;var&amp;gt;hash&amp;lt;/var&amp;gt; value which it sends to the server. The &amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt; parameter is encrypted with an unknown algorithm.&lt;br /&gt;
&lt;br /&gt;
That is, each request looks like the following:&lt;br /&gt;
&lt;br /&gt;
# Game requests &amp;lt;code&amp;gt;GET /pokemondpds/&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Server responds with &amp;lt;var&amp;gt;token&amp;lt;/var&amp;gt;&lt;br /&gt;
# Game requests &amp;lt;code&amp;gt;GET /pokemondpds/&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;amp;amp;hash=&amp;lt;var&amp;gt;sha1(...)&amp;lt;/var&amp;gt;&amp;amp;amp;data=&amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Server responds with payload&lt;br /&gt;
&lt;br /&gt;
Unfortunately, this means that the exact details of the game&#039;s requests are currently not known.&lt;br /&gt;
&lt;br /&gt;
==Conversation==&lt;br /&gt;
&lt;br /&gt;
The first request the game makes is to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/info.asp&amp;lt;/code&amp;gt;. The server responds with 0x0001.&lt;br /&gt;
&lt;br /&gt;
Platinum, Heart Gold, and Soul Silver will then make a request to &amp;lt;code&amp;gt;/pokemondpds/common/setProfile.asp&amp;lt;/code&amp;gt;.  The server responds with eight NULs (0x00000000 0x00000000).&lt;br /&gt;
&lt;br /&gt;
After the above step(s) or &#039;&#039;&#039;performing any of the tasks below&#039;&#039;&#039; other than searching, the game makes a request to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/result.asp&amp;lt;/code&amp;gt;.  If the game has had a Pokémon sent to it (via a successful trade?), the server responds with the entire encrypted [[Pokemon NDS Structure|Pokémon save struct]].  If there is a Pokémon deposited in the GTS, it responds with 0x0004.  Otherwise, it responds with 0x0005.&lt;br /&gt;
&lt;br /&gt;
===Receiving a Pokémon===&lt;br /&gt;
&lt;br /&gt;
If the game receives a Pokémon from a successful trade as a response from &amp;lt;code&amp;gt;result.asp&amp;lt;/code&amp;gt;, it next requests &amp;lt;code&amp;gt;/pokemondpds/worldexchange/delete.asp&amp;lt;/code&amp;gt;.  The server responds with 0x0001.&lt;br /&gt;
&lt;br /&gt;
====A note on sendpkm.py====&lt;br /&gt;
&lt;br /&gt;
After doing the above, some Platinum, Heart Gold, and Soul Silver games will report a communication error and dump the player back to the title screen.  The Pokémon is still successfully received.  At least one person with HG/SS has received a Pokémon from a fake server without getting the error, and Diamond/Pearl have never been reported to have the problem.  It&#039;s possible that the server should respond with something other than 0x0001.&lt;br /&gt;
&lt;br /&gt;
===Depositing a Pokémon===&lt;br /&gt;
&lt;br /&gt;
Pokémon are offered on the GTS by requesting &amp;lt;code&amp;gt;/pokemondpds/worldexchange/post.asp&amp;lt;/code&amp;gt;.  The sent data is 300 bytes long, and includes the Pokémon struct.&lt;br /&gt;
&lt;br /&gt;
The game then saves. After the save is complete, it issues a request to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/post_finish.asp&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Retrieving the deposited Pokémon===&lt;br /&gt;
&lt;br /&gt;
Checking on the deposited Pokémon is apparently done by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/get.asp&amp;lt;/code&amp;gt;.  The response appears to be a [[Pokemon NDS Structure|Pokémon save struct]].&lt;br /&gt;
&lt;br /&gt;
Retrieving the deposited Pokémon is done by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/return.asp&amp;lt;/code&amp;gt;.  The response is merely 0x0001; the actual Pokémon data is taken from the &amp;lt;code&amp;gt;get.asp&amp;lt;/code&amp;gt; request.&lt;br /&gt;
&lt;br /&gt;
===Searching===&lt;br /&gt;
&lt;br /&gt;
Searching is done through &amp;lt;code&amp;gt;/pokemondpds/worldexchange/search.asp&amp;lt;/code&amp;gt;.  The sent data is either 15 or 16 bytes long.&lt;br /&gt;
&lt;br /&gt;
The server responds with a full 292-byte Pokémon struct for each result.  If there are &amp;lt;var&amp;gt;n&amp;lt;/var&amp;gt; results, the response will be 292 * &amp;lt;var&amp;gt;n&amp;lt;/var&amp;gt; bytes long.  If there are no results, the server will give an empty response (0 bytes).&lt;br /&gt;
&lt;br /&gt;
==Pokémon struct==&lt;br /&gt;
&lt;br /&gt;
The Pokémon data for the GTS is 292 bytes—56 bytes larger than a party Pokémon struct. The extra 56 bytes are GTS-specific data, such as the player&#039;s name &amp;amp; country, and what Pokémon they are requesting.&lt;br /&gt;
&lt;br /&gt;
They are as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0x00-0x01 Current Pokémon&lt;br /&gt;
0x02      Gender          1=male; 2=female; 3=either/neither&lt;br /&gt;
0x03      Level&lt;br /&gt;
0x04-0x05 Requested Pokémon&lt;br /&gt;
0x06      Gender&lt;br /&gt;
0x07      Min level&lt;br /&gt;
0x08      Max level&lt;br /&gt;
0x09      always 0?&lt;br /&gt;
0x10      sometimes 1, sometimes 0&lt;br /&gt;
0x0B      always 0?&lt;br /&gt;
0x0C-0x0D Year deposited&lt;br /&gt;
0x0E      Month dep&#039;d&lt;br /&gt;
0x0F      Day dep&#039;d&lt;br /&gt;
0x10      Hour dep&#039;d&lt;br /&gt;
0x11      Minute dep&#039;d&lt;br /&gt;
0x12      Second depd&#039;d&lt;br /&gt;
0x13      always 0?&lt;br /&gt;
0x14-0x1a Another timestamp. Time traded away?&lt;br /&gt;
0x1b      always 0?&lt;br /&gt;
0x1c-0x1f pid - also 0x4c in the sav&lt;br /&gt;
0x20-0x2F OT Name&lt;br /&gt;
0x30-0x31 OT ID&lt;br /&gt;
0x32      Country&lt;br /&gt;
0x33      City&lt;br /&gt;
0x34-0x37 Unknown&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Magical</name></author>
	</entry>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2382</id>
		<title>GTS protocol</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2382"/>
		<updated>2010-03-21T13:25:45Z</updated>

		<summary type="html">&lt;p&gt;Magical: /* Searching */ no results&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following is &#039;&#039;&#039;wild conjecture&#039;&#039;&#039; based on LordLandon&#039;s [http://projectpokemon.org/forums/showthread.php?780-GTC-website-research&amp;amp;p=67086&amp;amp;viewfull=1#post67086 sendpkm.py].&lt;br /&gt;
&lt;br /&gt;
Communication with the GTS is done over regular HTTP with http://gamestats2.gs.nintendowifi.net/.  The same protocol is used for all five Gen IV games.&lt;br /&gt;
&lt;br /&gt;
==HTTP headers==&lt;br /&gt;
&lt;br /&gt;
The games don&#039;t seem to care about these at all.  The GTS sends back a bunch of boilerplate response headers, but the game happily accepts a response with only a Content-Length.&lt;br /&gt;
&lt;br /&gt;
==Protocol==&lt;br /&gt;
&lt;br /&gt;
All requests to the server are GET requests of the form &amp;lt;code&amp;gt;&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;amp;amp;hash=&amp;lt;var&amp;gt;hash&amp;lt;/var&amp;gt;&amp;amp;amp;data=&amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===pid===&lt;br /&gt;
&lt;br /&gt;
The pid is an unsigned 32-bit integer that appears to uniquely identify a game cartridge.  When the pid is obtained and whether the pid has any relation to the Pal Pad friend code are unknown.&lt;br /&gt;
&lt;br /&gt;
For the mathematically inclined: Eevee&#039;s Platinum pid is 192615460 (0x0b7b1424) and his Pal Pad code is 0904 2026 4621.&lt;br /&gt;
&lt;br /&gt;
===Challenge/response===&lt;br /&gt;
&lt;br /&gt;
Before each &amp;quot;real&amp;quot; request, the game sends a request of the form &amp;lt;code&amp;gt;&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt; and the server responds with a 32-byte challenge token. The game computes &amp;lt;code&amp;gt;sha1(&amp;quot;sAdeqWo3voLeC5r16DYv&amp;quot; + token)&amp;lt;/code&amp;gt; and uses that as the &amp;lt;var&amp;gt;hash&amp;lt;/var&amp;gt; value which it sends to the server. The &amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt; parameter is encrypted with an unknown algorithm.&lt;br /&gt;
&lt;br /&gt;
That is, each request looks like the following:&lt;br /&gt;
&lt;br /&gt;
# Game requests &amp;lt;code&amp;gt;GET /pokemondpds/&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Server responds with &amp;lt;var&amp;gt;token&amp;lt;/var&amp;gt;&lt;br /&gt;
# Game requests &amp;lt;code&amp;gt;GET /pokemondpds/&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;amp;amp;hash=&amp;lt;var&amp;gt;sha1(...)&amp;lt;/var&amp;gt;&amp;amp;amp;data=&amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Server responds with payload&lt;br /&gt;
&lt;br /&gt;
Unfortunately, this means that the exact details of the game&#039;s requests are currently not known.&lt;br /&gt;
&lt;br /&gt;
==Conversation==&lt;br /&gt;
&lt;br /&gt;
The first request the game makes is to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/info.asp&amp;lt;/code&amp;gt;. The server responds with 0x0001.&lt;br /&gt;
&lt;br /&gt;
Platinum, Heart Gold, and Soul Silver will then make a request to &amp;lt;code&amp;gt;/pokemondpds/common/setProfile.asp&amp;lt;/code&amp;gt;.  The server responds with eight NULs (0x00000000 0x00000000).&lt;br /&gt;
&lt;br /&gt;
After the above step(s) or &#039;&#039;&#039;performing any of the tasks below&#039;&#039;&#039; other than searching, the game makes a request to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/result.asp&amp;lt;/code&amp;gt;.  If the game has had a Pokémon sent to it (via a successful trade?), the server responds with the entire encrypted [[Pokemon NDS Structure|Pokémon save struct]].  If there is a Pokémon deposited in the GTS, it responds with 0x0004.  Otherwise, it responds with 0x0005.&lt;br /&gt;
&lt;br /&gt;
===Receiving a Pokémon===&lt;br /&gt;
&lt;br /&gt;
If the game receives a Pokémon from a successful trade as a response from &amp;lt;code&amp;gt;result.asp&amp;lt;/code&amp;gt;, it next requests &amp;lt;code&amp;gt;/pokemondpds/worldexchange/delete.asp&amp;lt;/code&amp;gt;.  The server responds with 0x0001.&lt;br /&gt;
&lt;br /&gt;
====A note on sendpkm.py====&lt;br /&gt;
&lt;br /&gt;
After doing the above, some Platinum, Heart Gold, and Soul Silver games will report a communication error and dump the player back to the title screen.  The Pokémon is still successfully received.  At least one person with HG/SS has received a Pokémon from a fake server without getting the error, and Diamond/Pearl have never been reported to have the problem.  It&#039;s possible that the server should respond with something other than 0x0001.&lt;br /&gt;
&lt;br /&gt;
===Depositing a Pokémon===&lt;br /&gt;
&lt;br /&gt;
Pokémon are offered on the GTS by requesting &amp;lt;code&amp;gt;/pokemondpds/worldexchange/post.asp&amp;lt;/code&amp;gt;.  The sent data is 300 bytes long, and includes the Pokémon struct.&lt;br /&gt;
&lt;br /&gt;
The game then saves. After the save is complete, it issues a request to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/post_finish.asp&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Retrieving the deposited Pokémon===&lt;br /&gt;
&lt;br /&gt;
Checking on the deposited Pokémon is apparently done by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/get.asp&amp;lt;/code&amp;gt;.  The response appears to be a [[Pokemon NDS Structure|Pokémon save struct]].&lt;br /&gt;
&lt;br /&gt;
Retrieving the deposited Pokémon is done by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/return.asp&amp;lt;/code&amp;gt;.  The response is merely 0x0001; the actual Pokémon data is taken from the &amp;lt;code&amp;gt;get.asp&amp;lt;/code&amp;gt; request.&lt;br /&gt;
&lt;br /&gt;
===Searching===&lt;br /&gt;
&lt;br /&gt;
Searching is done through &amp;lt;code&amp;gt;/pokemondpds/worldexchange/search.asp&amp;lt;/code&amp;gt;.  The sent data is 15 bytes long.&lt;br /&gt;
&lt;br /&gt;
The server responds with a full 292-byte Pokémon struct for each result.  If there are &amp;lt;var&amp;gt;n&amp;lt;/var&amp;gt; results, the response will be 292 * &amp;lt;var&amp;gt;n&amp;lt;/var&amp;gt; bytes long.  If there are no results, the server will give an empty response (0 bytes).&lt;br /&gt;
&lt;br /&gt;
==Pokémon struct==&lt;br /&gt;
&lt;br /&gt;
The Pokémon data for the GTS is 292 bytes—56 bytes larger than a party Pokémon struct. The extra 56 bytes are GTS-specific data, such as the player&#039;s name &amp;amp; country, and what Pokémon they are requesting.&lt;br /&gt;
&lt;br /&gt;
They are as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0x00-0x01 Current Pokémon&lt;br /&gt;
0x02      Gender          1=male; 2=female; 3=either/neither&lt;br /&gt;
0x03      Level&lt;br /&gt;
0x04-0x05 Requested Pokémon&lt;br /&gt;
0x06      Gender&lt;br /&gt;
0x07      Min level&lt;br /&gt;
0x08      Max level&lt;br /&gt;
0x09      always 0?&lt;br /&gt;
0x10      sometimes 1, sometimes 0&lt;br /&gt;
0x0B      always 0?&lt;br /&gt;
0x0C-0x0D Year deposited&lt;br /&gt;
0x0E      Month dep&#039;d&lt;br /&gt;
0x0F      Day dep&#039;d&lt;br /&gt;
0x10      Hour dep&#039;d&lt;br /&gt;
0x11      Minute dep&#039;d&lt;br /&gt;
0x12      Second depd&#039;d&lt;br /&gt;
0x13      always 0?&lt;br /&gt;
0x14-0x1a Another timestamp. Time traded away?&lt;br /&gt;
0x1b      always 0?&lt;br /&gt;
0x1c-0x1f pid - also 0x4c in the sav&lt;br /&gt;
0x20-0x2F OT Name&lt;br /&gt;
0x30-0x31 OT ID&lt;br /&gt;
0x32      Country&lt;br /&gt;
0x33      City&lt;br /&gt;
0x34-0x37 Unknown&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Magical</name></author>
	</entry>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2381</id>
		<title>GTS protocol</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2381"/>
		<updated>2010-03-21T11:54:32Z</updated>

		<summary type="html">&lt;p&gt;Magical: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following is &#039;&#039;&#039;wild conjecture&#039;&#039;&#039; based on LordLandon&#039;s [http://projectpokemon.org/forums/showthread.php?780-GTC-website-research&amp;amp;p=67086&amp;amp;viewfull=1#post67086 sendpkm.py].&lt;br /&gt;
&lt;br /&gt;
Communication with the GTS is done over regular HTTP with http://gamestats2.gs.nintendowifi.net/.  The same protocol is used for all five Gen IV games.&lt;br /&gt;
&lt;br /&gt;
==HTTP headers==&lt;br /&gt;
&lt;br /&gt;
The games don&#039;t seem to care about these at all.  The GTS sends back a bunch of boilerplate response headers, but the game happily accepts a response with only a Content-Length.&lt;br /&gt;
&lt;br /&gt;
==Protocol==&lt;br /&gt;
&lt;br /&gt;
All requests to the server are GET requests of the form &amp;lt;code&amp;gt;&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;amp;amp;hash=&amp;lt;var&amp;gt;hash&amp;lt;/var&amp;gt;&amp;amp;amp;data=&amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===pid===&lt;br /&gt;
&lt;br /&gt;
The pid is an unsigned 32-bit integer that appears to uniquely identify a game cartridge.  When the pid is obtained and whether the pid has any relation to the Pal Pad friend code are unknown.&lt;br /&gt;
&lt;br /&gt;
For the mathematically inclined: Eevee&#039;s Platinum pid is 192615460 (0x0b7b1424) and his Pal Pad code is 0904 2026 4621.&lt;br /&gt;
&lt;br /&gt;
===Challenge/response===&lt;br /&gt;
&lt;br /&gt;
Before each &amp;quot;real&amp;quot; request, the game sends a request of the form &amp;lt;code&amp;gt;&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt; and the server responds with a 32-byte challenge token. The game computes &amp;lt;code&amp;gt;sha1(&amp;quot;sAdeqWo3voLeC5r16DYv&amp;quot; + token)&amp;lt;/code&amp;gt; and uses that as the &amp;lt;var&amp;gt;hash&amp;lt;/var&amp;gt; value which it sends to the server. The &amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt; parameter is encrypted with an unknown algorithm.&lt;br /&gt;
&lt;br /&gt;
That is, each request looks like the following:&lt;br /&gt;
&lt;br /&gt;
# Game requests &amp;lt;code&amp;gt;GET /pokemondpds/&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Server responds with &amp;lt;var&amp;gt;token&amp;lt;/var&amp;gt;&lt;br /&gt;
# Game requests &amp;lt;code&amp;gt;GET /pokemondpds/&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;amp;amp;hash=&amp;lt;var&amp;gt;sha1(...)&amp;lt;/var&amp;gt;&amp;amp;amp;data=&amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Server responds with payload&lt;br /&gt;
&lt;br /&gt;
Unfortunately, this means that the exact details of the game&#039;s requests are currently not known.&lt;br /&gt;
&lt;br /&gt;
==Conversation==&lt;br /&gt;
&lt;br /&gt;
The first request the game makes is to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/info.asp&amp;lt;/code&amp;gt;. The server responds with 0x0001.&lt;br /&gt;
&lt;br /&gt;
Platinum, Heart Gold, and Soul Silver will then make a request to &amp;lt;code&amp;gt;/pokemondpds/common/setProfile.asp&amp;lt;/code&amp;gt;.  The server responds with eight NULs (0x00000000 0x00000000).&lt;br /&gt;
&lt;br /&gt;
After the above step(s) or &#039;&#039;&#039;performing any of the tasks below&#039;&#039;&#039; other than searching, the game makes a request to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/result.asp&amp;lt;/code&amp;gt;.  If the game has had a Pokémon sent to it (via a successful trade?), the server responds with the entire encrypted [[Pokemon NDS Structure|Pokémon save struct]].  If there is a Pokémon deposited in the GTS, it responds with 0x0004.  Otherwise, it responds with 0x0005.&lt;br /&gt;
&lt;br /&gt;
===Receiving a Pokémon===&lt;br /&gt;
&lt;br /&gt;
If the game receives a Pokémon from a successful trade as a response from &amp;lt;code&amp;gt;result.asp&amp;lt;/code&amp;gt;, it next requests &amp;lt;code&amp;gt;/pokemondpds/worldexchange/delete.asp&amp;lt;/code&amp;gt;.  The server responds with 0x0001.&lt;br /&gt;
&lt;br /&gt;
====A note on sendpkm.py====&lt;br /&gt;
&lt;br /&gt;
After doing the above, some Platinum, Heart Gold, and Soul Silver games will report a communication error and dump the player back to the title screen.  The Pokémon is still successfully received.  At least one person with HG/SS has received a Pokémon from a fake server without getting the error, and Diamond/Pearl have never been reported to have the problem.  It&#039;s possible that the server should respond with something other than 0x0001.&lt;br /&gt;
&lt;br /&gt;
===Depositing a Pokémon===&lt;br /&gt;
&lt;br /&gt;
Pokémon are offered on the GTS by requesting &amp;lt;code&amp;gt;/pokemondpds/worldexchange/post.asp&amp;lt;/code&amp;gt;.  The sent data is 300 bytes long, and includes the Pokémon struct.&lt;br /&gt;
&lt;br /&gt;
The game then saves. After the save is complete, it issues a request to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/post_finish.asp&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Retrieving the deposited Pokémon===&lt;br /&gt;
&lt;br /&gt;
Checking on the deposited Pokémon is apparently done by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/get.asp&amp;lt;/code&amp;gt;.  The response appears to be a [[Pokemon NDS Structure|Pokémon save struct]].&lt;br /&gt;
&lt;br /&gt;
Retrieving the deposited Pokémon is done by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/return.asp&amp;lt;/code&amp;gt;.  The response is merely 0x0001; the actual Pokémon data is taken from the &amp;lt;code&amp;gt;get.asp&amp;lt;/code&amp;gt; request.&lt;br /&gt;
&lt;br /&gt;
===Searching===&lt;br /&gt;
&lt;br /&gt;
Searching is done through &amp;lt;code&amp;gt;/pokemondpds/worldexchange/search.asp&amp;lt;/code&amp;gt;.  The sent data is 15 bytes long.&lt;br /&gt;
&lt;br /&gt;
The server responds with a full 292-byte Pokémon struct for each result.  If there are &amp;lt;var&amp;gt;n&amp;lt;/var&amp;gt; results, the response will be 292 * &amp;lt;var&amp;gt;n&amp;lt;/var&amp;gt; bytes long.&lt;br /&gt;
&lt;br /&gt;
==Pokémon struct==&lt;br /&gt;
&lt;br /&gt;
The Pokémon data for the GTS is 292 bytes—56 bytes larger than a party Pokémon struct. The extra 56 bytes are GTS-specific data, such as the player&#039;s name &amp;amp; country, and what Pokémon they are requesting.&lt;br /&gt;
&lt;br /&gt;
They are as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0x00-0x01 Current Pokémon&lt;br /&gt;
0x02      Gender          1=male; 2=female; 3=either/neither&lt;br /&gt;
0x03      Level&lt;br /&gt;
0x04-0x05 Requested Pokémon&lt;br /&gt;
0x06      Gender&lt;br /&gt;
0x07      Min level&lt;br /&gt;
0x08      Max level&lt;br /&gt;
0x09      always 0?&lt;br /&gt;
0x10      sometimes 1, sometimes 0&lt;br /&gt;
0x0B      always 0?&lt;br /&gt;
0x0C-0x0D Year deposited&lt;br /&gt;
0x0E      Month dep&#039;d&lt;br /&gt;
0x0F      Day dep&#039;d&lt;br /&gt;
0x10      Hour dep&#039;d&lt;br /&gt;
0x11      Minute dep&#039;d&lt;br /&gt;
0x12      Second depd&#039;d&lt;br /&gt;
0x13      always 0?&lt;br /&gt;
0x14-0x1a Another timestamp. Time traded away?&lt;br /&gt;
0x1b      always 0?&lt;br /&gt;
0x1c-0x1f pid - also 0x4c in the sav&lt;br /&gt;
0x20-0x2F OT Name&lt;br /&gt;
0x30-0x31 OT ID&lt;br /&gt;
0x32      Country&lt;br /&gt;
0x33      City&lt;br /&gt;
0x34-0x37 Unknown&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Magical</name></author>
	</entry>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2380</id>
		<title>GTS protocol</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2380"/>
		<updated>2010-03-21T07:54:49Z</updated>

		<summary type="html">&lt;p&gt;Magical: /* Pokémon struct */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following is &#039;&#039;&#039;wild conjecture&#039;&#039;&#039; based on LordLandon&#039;s [http://projectpokemon.org/forums/showthread.php?780-GTC-website-research&amp;amp;p=67086&amp;amp;viewfull=1#post67086 sendpkm.py].&lt;br /&gt;
&lt;br /&gt;
Communication with the GTS is done over regular HTTP with http://gamestats2.gs.nintendowifi.net/.  The same protocol is used for all five Gen IV games.&lt;br /&gt;
&lt;br /&gt;
==HTTP headers==&lt;br /&gt;
&lt;br /&gt;
The games don&#039;t seem to care about these at all.  The GTS sends back a bunch of boilerplate response headers, but the game happily accepts a response with only a Content-Length.&lt;br /&gt;
&lt;br /&gt;
==Protocol==&lt;br /&gt;
&lt;br /&gt;
All requests to the server are GET requests of the form &amp;lt;code&amp;gt;&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;amp;amp;hash=&amp;lt;var&amp;gt;hash&amp;lt;/var&amp;gt;&amp;amp;amp;data=&amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===pid===&lt;br /&gt;
&lt;br /&gt;
The pid is an unsigned 32-bit integer that appears to uniquely identify a game cartridge.  When the pid is obtained and whether the pid has any relation to the Pal Pad friend code are unknown.&lt;br /&gt;
&lt;br /&gt;
For the mathematically inclined: Eevee&#039;s Platinum pid is 192615460 (0x0b7b1424) and his Pal Pad code is 0904 2026 4621.&lt;br /&gt;
&lt;br /&gt;
===Challenge/response===&lt;br /&gt;
&lt;br /&gt;
Before each &amp;quot;real&amp;quot; request, the game sends a request of the form &amp;lt;code&amp;gt;&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt; and the server responds with a 32-byte hex challenge token. The game computes &amp;lt;code&amp;gt;sha1(&amp;quot;sAdeqWo3voLeC5r16DYv&amp;quot; + token)&amp;lt;/code&amp;gt; and uses that as the &amp;lt;var&amp;gt;hash&amp;lt;/var&amp;gt; value which it sends to the server. The &amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt; parameter is encrypted with an unknown algorithm.&lt;br /&gt;
&lt;br /&gt;
That is, each request looks like the following:&lt;br /&gt;
&lt;br /&gt;
# Game requests &amp;lt;code&amp;gt;GET /pokemondpds/&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Server responds with &amp;lt;var&amp;gt;token&amp;lt;/var&amp;gt;&lt;br /&gt;
# Game requests &amp;lt;code&amp;gt;GET /pokemondpds/&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;amp;amp;hash=&amp;lt;var&amp;gt;sha1(...)&amp;lt;/var&amp;gt;&amp;amp;amp;data=&amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Server responds with payload&lt;br /&gt;
&lt;br /&gt;
Unfortunately, this means that the exact details of the game&#039;s requests are currently not known.&lt;br /&gt;
&lt;br /&gt;
==Conversation==&lt;br /&gt;
&lt;br /&gt;
The first request the game makes is to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/info.asp&amp;lt;/code&amp;gt;. The server responds with 0x0001.&lt;br /&gt;
&lt;br /&gt;
Platinum, Heart Gold, and Soul Silver will then make a request to &amp;lt;code&amp;gt;/pokemondpds/common/setProfile.asp&amp;lt;/code&amp;gt;.  The server responds with eight NULs (0x00000000 0x00000000).&lt;br /&gt;
&lt;br /&gt;
After the above step(s) or &#039;&#039;&#039;performing any of the tasks below&#039;&#039;&#039;, the game makes a request to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/result.asp&amp;lt;/code&amp;gt;.  If the game has had a Pokémon sent to it (via a successful trade?), the server responds with the entire encrypted [[Pokemon NDS Structure|Pokémon save struct]].  If there is a Pokémon uploaded to the GTS, it responds with 0x0004.  Otherwise, it responds with 0x0005.&lt;br /&gt;
&lt;br /&gt;
===Receiving a Pokémon===&lt;br /&gt;
&lt;br /&gt;
If the game receives a Pokémon from a successful trade as a response from &amp;lt;code&amp;gt;result.asp&amp;lt;/code&amp;gt;, it next requests &amp;lt;code&amp;gt;/pokemondpds/worldexchange/delete.asp&amp;lt;/code&amp;gt;.  The server responds with 0x0001.&lt;br /&gt;
&lt;br /&gt;
====A note on sendpkm.py====&lt;br /&gt;
&lt;br /&gt;
After doing the above, some Platinum, Heart Gold, and Soul Silver games will report a communication error and dump the player back to the title screen.  The Pokémon is still successfully received.  At least one person with HG/SS has received a Pokémon from a fake server without getting the error, and Diamond/Pearl have never been reported to have the problem.  It&#039;s possible that the server should respond with something other than 0x0001.&lt;br /&gt;
&lt;br /&gt;
===Offering a Pokémon===&lt;br /&gt;
&lt;br /&gt;
Pokémon are offered on the GTS by requesting &amp;lt;code&amp;gt;/pokemondpds/worldexchange/post.asp&amp;lt;/code&amp;gt;, followed by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/post_finish.asp&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Retrieving an offered Pokémon===&lt;br /&gt;
&lt;br /&gt;
Checking on the currently offered Pokémon is apparently done by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/get.asp&amp;lt;/code&amp;gt;.  The response appears to be a [[Pokemon NDS Structure|Pokémon save struct]].&lt;br /&gt;
&lt;br /&gt;
Retrieving the currently offered Pokémon is done by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/return.asp&amp;lt;/code&amp;gt;.  The response is merely 0x0001; the actual Pokémon data is taken from the &amp;lt;code&amp;gt;get.asp&amp;lt;/code&amp;gt; request.&lt;br /&gt;
&lt;br /&gt;
===Searching===&lt;br /&gt;
&lt;br /&gt;
Searching is done through &amp;lt;code&amp;gt;/pokemondpds/worldexchange/search.asp&amp;lt;/code&amp;gt;.  The sent data is 15 bytes long.&lt;br /&gt;
&lt;br /&gt;
The server responds with a full 292-byte Pokémon struct for each result.  If there are &amp;lt;var&amp;gt;n&amp;lt;/var&amp;gt; results, the response will be 292 * &amp;lt;var&amp;gt;n&amp;lt;/var&amp;gt; bytes long.&lt;br /&gt;
&lt;br /&gt;
==Pokémon struct==&lt;br /&gt;
&lt;br /&gt;
The Pokémon data for the GTS is 292 bytes—56 bytes larger than a party Pokémon struct. The extra 56 bytes are GTS-specific data, such as the player&#039;s name &amp;amp; country, and what Pokémon they are requesting.&lt;br /&gt;
&lt;br /&gt;
They are as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0x00-0x01 Current Pokémon&lt;br /&gt;
0x02      Gender          1=male; 2=female; 3=either/neither&lt;br /&gt;
0x03      Level&lt;br /&gt;
0x04-0x05 Requested Pokémon&lt;br /&gt;
0x06      Gender&lt;br /&gt;
0x07      Min level&lt;br /&gt;
0x08      Max level&lt;br /&gt;
0x09      always 0?&lt;br /&gt;
0x10      sometimes 1, sometimes 0&lt;br /&gt;
0x0B      always 0?&lt;br /&gt;
0x0C-0x0D Year deposited&lt;br /&gt;
0x0E      Month dep&#039;d&lt;br /&gt;
0x0F      Day dep&#039;d&lt;br /&gt;
0x10      Hour dep&#039;d&lt;br /&gt;
0x11      Minute dep&#039;d&lt;br /&gt;
0x12      Second depd&#039;d&lt;br /&gt;
0x13      always 0?&lt;br /&gt;
0x14-0x1a Another timestamp. Time traded away?&lt;br /&gt;
0x1b      always 0?&lt;br /&gt;
0x1c-0x1f pid - also 0x4c in the sav&lt;br /&gt;
0x20-0x2F OT Name&lt;br /&gt;
0x30-0x31 OT ID&lt;br /&gt;
0x32      Country&lt;br /&gt;
0x33      City&lt;br /&gt;
0x34-0x37 Unknown&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Magical</name></author>
	</entry>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2379</id>
		<title>GTS protocol</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2379"/>
		<updated>2010-03-21T07:00:37Z</updated>

		<summary type="html">&lt;p&gt;Magical: /* Pokémon struct */  explain the extra 56 bytes&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following is &#039;&#039;&#039;wild conjecture&#039;&#039;&#039; based on LordLandon&#039;s [http://projectpokemon.org/forums/showthread.php?780-GTC-website-research&amp;amp;p=67086&amp;amp;viewfull=1#post67086 sendpkm.py].&lt;br /&gt;
&lt;br /&gt;
Communication with the GTS is done over regular HTTP with http://gamestats2.gs.nintendowifi.net/.  The same protocol is used for all five Gen IV games.&lt;br /&gt;
&lt;br /&gt;
==HTTP headers==&lt;br /&gt;
&lt;br /&gt;
The games don&#039;t seem to care about these at all.  The GTS sends back a bunch of boilerplate response headers, but the game happily accepts a response with only a Content-Length.&lt;br /&gt;
&lt;br /&gt;
==Protocol==&lt;br /&gt;
&lt;br /&gt;
All requests to the server are GET requests of the form &amp;lt;code&amp;gt;&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;amp;amp;hash=&amp;lt;var&amp;gt;hash&amp;lt;/var&amp;gt;&amp;amp;amp;data=&amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===pid===&lt;br /&gt;
&lt;br /&gt;
The pid is an unsigned 32-bit integer that appears to uniquely identify a game cartridge.  When the pid is obtained and whether the pid has any relation to the Pal Pad friend code are unknown.&lt;br /&gt;
&lt;br /&gt;
For the mathematically inclined: Eevee&#039;s Platinum pid is 192615460 (0x0b7b1424) and his Pal Pad code is 0904 2026 4621.&lt;br /&gt;
&lt;br /&gt;
===Challenge/response===&lt;br /&gt;
&lt;br /&gt;
Before each &amp;quot;real&amp;quot; request, the game sends a request of the form &amp;lt;code&amp;gt;&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt; and the server responds with a 32-byte hex challenge token. The game computes &amp;lt;code&amp;gt;sha1(&amp;quot;sAdeqWo3voLeC5r16DYv&amp;quot; + token)&amp;lt;/code&amp;gt; and uses that as the &amp;lt;var&amp;gt;hash&amp;lt;/var&amp;gt; value which it sends to the server. The &amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt; parameter is encrypted with an unknown algorithm.&lt;br /&gt;
&lt;br /&gt;
That is, each request looks like the following:&lt;br /&gt;
&lt;br /&gt;
# Game requests &amp;lt;code&amp;gt;GET /pokemondpds/&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Server responds with &amp;lt;var&amp;gt;token&amp;lt;/var&amp;gt;&lt;br /&gt;
# Game requests &amp;lt;code&amp;gt;GET /pokemondpds/&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;amp;amp;hash=&amp;lt;var&amp;gt;sha1(...)&amp;lt;/var&amp;gt;&amp;amp;amp;data=&amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Server responds with payload&lt;br /&gt;
&lt;br /&gt;
Unfortunately, this means that the exact details of the game&#039;s requests are currently not known.&lt;br /&gt;
&lt;br /&gt;
==Conversation==&lt;br /&gt;
&lt;br /&gt;
The first request the game makes is to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/info.asp&amp;lt;/code&amp;gt;. The server responds with 0x0001.&lt;br /&gt;
&lt;br /&gt;
Platinum, Heart Gold, and Soul Silver will then make a request to &amp;lt;code&amp;gt;/pokemondpds/common/setProfile.asp&amp;lt;/code&amp;gt;.  The server responds with eight NULs (0x00000000 0x00000000).&lt;br /&gt;
&lt;br /&gt;
After the above step(s) or &#039;&#039;&#039;performing any of the tasks below&#039;&#039;&#039;, the game makes a request to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/result.asp&amp;lt;/code&amp;gt;.  If the game has had a Pokémon sent to it (via a successful trade?), the server responds with the entire encrypted [[Pokemon NDS Structure|Pokémon save struct]].  If there is a Pokémon uploaded to the GTS, it responds with 0x0004.  Otherwise, it responds with 0x0005.&lt;br /&gt;
&lt;br /&gt;
===Receiving a Pokémon===&lt;br /&gt;
&lt;br /&gt;
If the game receives a Pokémon from a successful trade as a response from &amp;lt;code&amp;gt;result.asp&amp;lt;/code&amp;gt;, it next requests &amp;lt;code&amp;gt;/pokemondpds/worldexchange/delete.asp&amp;lt;/code&amp;gt;.  The server responds with 0x0001.&lt;br /&gt;
&lt;br /&gt;
====A note on sendpkm.py====&lt;br /&gt;
&lt;br /&gt;
After doing the above, some Platinum, Heart Gold, and Soul Silver games will report a communication error and dump the player back to the title screen.  The Pokémon is still successfully received.  At least one person with HG/SS has received a Pokémon from a fake server without getting the error, and Diamond/Pearl have never been reported to have the problem.  It&#039;s possible that the server should respond with something other than 0x0001.&lt;br /&gt;
&lt;br /&gt;
===Offering a Pokémon===&lt;br /&gt;
&lt;br /&gt;
Pokémon are offered on the GTS by requesting &amp;lt;code&amp;gt;/pokemondpds/worldexchange/post.asp&amp;lt;/code&amp;gt;, followed by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/post_finish.asp&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Retrieving an offered Pokémon===&lt;br /&gt;
&lt;br /&gt;
Checking on the currently offered Pokémon is apparently done by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/get.asp&amp;lt;/code&amp;gt;.  The response appears to be a [[Pokemon NDS Structure|Pokémon save struct]].&lt;br /&gt;
&lt;br /&gt;
Retrieving the currently offered Pokémon is done by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/return.asp&amp;lt;/code&amp;gt;.  The response is merely 0x0001; the actual Pokémon data is taken from the &amp;lt;code&amp;gt;get.asp&amp;lt;/code&amp;gt; request.&lt;br /&gt;
&lt;br /&gt;
===Searching===&lt;br /&gt;
&lt;br /&gt;
Searching is done through &amp;lt;code&amp;gt;/pokemondpds/worldexchange/search.asp&amp;lt;/code&amp;gt;.  The sent data is 15 bytes long.&lt;br /&gt;
&lt;br /&gt;
The server responds with a full 292-byte Pokémon struct for each result.  If there are &amp;lt;var&amp;gt;n&amp;lt;/var&amp;gt; results, the response will be 292 * &amp;lt;var&amp;gt;n&amp;lt;/var&amp;gt; bytes long.&lt;br /&gt;
&lt;br /&gt;
==Pokémon struct==&lt;br /&gt;
&lt;br /&gt;
The Pokémon data for the GTS is 292 bytes—56 bytes larger than a party Pokémon struct. The extra 56 bytes are GTS-specific data, such as the player&#039;s name &amp;amp; country, and what Pokémon they are requesting.&lt;br /&gt;
&lt;br /&gt;
They are as follows:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
0x00-0x01 Current Pokémon&lt;br /&gt;
0x02      Gender          1=male; 2=female; 3=either/neither&lt;br /&gt;
0x03      Level&lt;br /&gt;
0x04-0x05 Requested Pokémon&lt;br /&gt;
0x06      Gender&lt;br /&gt;
0x07      Min level&lt;br /&gt;
0x08      Max level&lt;br /&gt;
0x09      always 0?&lt;br /&gt;
0x10      sometimes 1, sometimes 0&lt;br /&gt;
0x0B      always 0?&lt;br /&gt;
0x0C      Year deposited&lt;br /&gt;
0x0D      moar year dep&#039;d&lt;br /&gt;
0x0E      Month dep&#039;d&lt;br /&gt;
0x0F      Day dep&#039;d&lt;br /&gt;
0x10      Hour dep&#039;d&lt;br /&gt;
0x11      Minute dep&#039;d&lt;br /&gt;
0x12      Second depd&#039;d&lt;br /&gt;
0x13      always 0?&lt;br /&gt;
0x14-0x1a Another timestamp. Time traded away?&lt;br /&gt;
0x1b      always 0?&lt;br /&gt;
0x1c-0x1f PID - also 0x4c in the sav&lt;br /&gt;
0x20-0x2F OT Name&lt;br /&gt;
0x30-0x31 OT ID&lt;br /&gt;
0x32      Country&lt;br /&gt;
0x33      City&lt;br /&gt;
0x34-0x37 Unknown&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;/div&gt;</summary>
		<author><name>Magical</name></author>
	</entry>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2378</id>
		<title>GTS protocol</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2378"/>
		<updated>2010-03-21T04:01:09Z</updated>

		<summary type="html">&lt;p&gt;Magical: /* Searching */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following is &#039;&#039;&#039;wild conjecture&#039;&#039;&#039; based on LordLandon&#039;s [http://projectpokemon.org/forums/showthread.php?780-GTC-website-research&amp;amp;p=67086&amp;amp;viewfull=1#post67086 sendpkm.py].&lt;br /&gt;
&lt;br /&gt;
Communication with the GTS is done over regular HTTP with http://gamestats2.gs.nintendowifi.net/.  The same protocol is used for all five Gen IV games.&lt;br /&gt;
&lt;br /&gt;
==HTTP headers==&lt;br /&gt;
&lt;br /&gt;
The games don&#039;t seem to care about these at all.  The GTS sends back a bunch of boilerplate response headers, but the game happily accepts a response with only a Content-Length.&lt;br /&gt;
&lt;br /&gt;
==Protocol==&lt;br /&gt;
&lt;br /&gt;
All requests to the server are GET requests of the form &amp;lt;code&amp;gt;&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;amp;amp;hash=&amp;lt;var&amp;gt;hash&amp;lt;/var&amp;gt;&amp;amp;amp;data=&amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===pid===&lt;br /&gt;
&lt;br /&gt;
The pid is an unsigned 32-bit integer that appears to uniquely identify a game cartridge.  When the pid is obtained and whether the pid has any relation to the Pal Pad friend code are unknown.&lt;br /&gt;
&lt;br /&gt;
For the mathematically inclined: Eevee&#039;s Platinum pid is 192615460 (0x0b7b1424) and his Pal Pad code is 0904 2026 4621.&lt;br /&gt;
&lt;br /&gt;
===Challenge/response===&lt;br /&gt;
&lt;br /&gt;
Before each &amp;quot;real&amp;quot; request, the game sends a request of the form &amp;lt;code&amp;gt;&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt; and the server responds with a 32-byte hex challenge token. The game computes &amp;lt;code&amp;gt;sha1(&amp;quot;sAdeqWo3voLeC5r16DYv&amp;quot; + token)&amp;lt;/code&amp;gt; and uses that as the &amp;lt;var&amp;gt;hash&amp;lt;/var&amp;gt; value which it sends to the server. The &amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt; parameter is encrypted with an unknown algorithm.&lt;br /&gt;
&lt;br /&gt;
That is, each request looks like the following:&lt;br /&gt;
&lt;br /&gt;
# Game requests &amp;lt;code&amp;gt;GET /pokemondpds/&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Server responds with &amp;lt;var&amp;gt;token&amp;lt;/var&amp;gt;&lt;br /&gt;
# Game requests &amp;lt;code&amp;gt;GET /pokemondpds/&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;amp;amp;hash=&amp;lt;var&amp;gt;sha1(...)&amp;lt;/var&amp;gt;&amp;amp;amp;data=&amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Server responds with payload&lt;br /&gt;
&lt;br /&gt;
Unfortunately, this means that the exact details of the game&#039;s requests are currently not known.&lt;br /&gt;
&lt;br /&gt;
==Conversation==&lt;br /&gt;
&lt;br /&gt;
The first request the game makes is to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/info.asp&amp;lt;/code&amp;gt;. The server responds with 0x0001.&lt;br /&gt;
&lt;br /&gt;
Platinum, Heart Gold, and Soul Silver will then make a request to &amp;lt;code&amp;gt;/pokemondpds/common/setProfile.asp&amp;lt;/code&amp;gt;.  The server responds with eight NULs (0x00000000 0x00000000).&lt;br /&gt;
&lt;br /&gt;
After the above step(s) or &#039;&#039;&#039;performing any of the tasks below&#039;&#039;&#039;, the game makes a request to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/result.asp&amp;lt;/code&amp;gt;.  If the game has had a Pokémon sent to it (via a successful trade?), the server responds with the entire encrypted [[Pokemon NDS Structure|Pokémon save struct]].  If there is a Pokémon uploaded to the GTS, it responds with 0x0004.  Otherwise, it responds with 0x0005.&lt;br /&gt;
&lt;br /&gt;
===Receiving a Pokémon===&lt;br /&gt;
&lt;br /&gt;
If the game receives a Pokémon from a successful trade as a response from &amp;lt;code&amp;gt;result.asp&amp;lt;/code&amp;gt;, it next requests &amp;lt;code&amp;gt;/pokemondpds/worldexchange/delete.asp&amp;lt;/code&amp;gt;.  The server responds with 0x0001.&lt;br /&gt;
&lt;br /&gt;
====A note on sendpkm.py====&lt;br /&gt;
&lt;br /&gt;
After doing the above, some Platinum, Heart Gold, and Soul Silver games will report a communication error and dump the player back to the title screen.  The Pokémon is still successfully received.  At least one person with HG/SS has received a Pokémon from a fake server without getting the error, and Diamond/Pearl have never been reported to have the problem.  It&#039;s possible that the server should respond with something other than 0x0001.&lt;br /&gt;
&lt;br /&gt;
===Offering a Pokémon===&lt;br /&gt;
&lt;br /&gt;
Pokémon are offered on the GTS by requesting &amp;lt;code&amp;gt;/pokemondpds/worldexchange/post.asp&amp;lt;/code&amp;gt;, followed by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/post_finish.asp&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Retrieving an offered Pokémon===&lt;br /&gt;
&lt;br /&gt;
Checking on the currently offered Pokémon is apparently done by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/get.asp&amp;lt;/code&amp;gt;.  The response appears to be a [[Pokemon NDS Structure|Pokémon save struct]].&lt;br /&gt;
&lt;br /&gt;
Retrieving the currently offered Pokémon is done by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/return.asp&amp;lt;/code&amp;gt;.  The response is merely 0x0001; the actual Pokémon data is taken from the &amp;lt;code&amp;gt;get.asp&amp;lt;/code&amp;gt; request.&lt;br /&gt;
&lt;br /&gt;
===Searching===&lt;br /&gt;
&lt;br /&gt;
Searching is done through &amp;lt;code&amp;gt;/pokemondpds/worldexchange/search.asp&amp;lt;/code&amp;gt;.  The sent data is 15 bytes long.&lt;br /&gt;
&lt;br /&gt;
The server responds with a full 292-byte Pokémon struct for each result.  If there are &amp;lt;var&amp;gt;n&amp;lt;/var&amp;gt; results, the response will be 292 * &amp;lt;var&amp;gt;n&amp;lt;/var&amp;gt; bytes long.&lt;/div&gt;</summary>
		<author><name>Magical</name></author>
	</entry>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2377</id>
		<title>GTS protocol</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2377"/>
		<updated>2010-03-21T03:59:53Z</updated>

		<summary type="html">&lt;p&gt;Magical: /* Searching */ New section&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following is &#039;&#039;&#039;wild conjecture&#039;&#039;&#039; based on LordLandon&#039;s [http://projectpokemon.org/forums/showthread.php?780-GTC-website-research&amp;amp;p=67086&amp;amp;viewfull=1#post67086 sendpkm.py].&lt;br /&gt;
&lt;br /&gt;
Communication with the GTS is done over regular HTTP with http://gamestats2.gs.nintendowifi.net/.  The same protocol is used for all five Gen IV games.&lt;br /&gt;
&lt;br /&gt;
==HTTP headers==&lt;br /&gt;
&lt;br /&gt;
The games don&#039;t seem to care about these at all.  The GTS sends back a bunch of boilerplate response headers, but the game happily accepts a response with only a Content-Length.&lt;br /&gt;
&lt;br /&gt;
==Protocol==&lt;br /&gt;
&lt;br /&gt;
All requests to the server are GET requests of the form &amp;lt;code&amp;gt;&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;amp;amp;hash=&amp;lt;var&amp;gt;hash&amp;lt;/var&amp;gt;&amp;amp;amp;data=&amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===pid===&lt;br /&gt;
&lt;br /&gt;
The pid is an unsigned 32-bit integer that appears to uniquely identify a game cartridge.  When the pid is obtained and whether the pid has any relation to the Pal Pad friend code are unknown.&lt;br /&gt;
&lt;br /&gt;
For the mathematically inclined: Eevee&#039;s Platinum pid is 192615460 (0x0b7b1424) and his Pal Pad code is 0904 2026 4621.&lt;br /&gt;
&lt;br /&gt;
===Challenge/response===&lt;br /&gt;
&lt;br /&gt;
Before each &amp;quot;real&amp;quot; request, the game sends a request of the form &amp;lt;code&amp;gt;&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt; and the server responds with a 32-byte hex challenge token. The game computes &amp;lt;code&amp;gt;sha1(&amp;quot;sAdeqWo3voLeC5r16DYv&amp;quot; + token)&amp;lt;/code&amp;gt; and uses that as the &amp;lt;var&amp;gt;hash&amp;lt;/var&amp;gt; value which it sends to the server. The &amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt; parameter is encrypted with an unknown algorithm.&lt;br /&gt;
&lt;br /&gt;
That is, each request looks like the following:&lt;br /&gt;
&lt;br /&gt;
# Game requests &amp;lt;code&amp;gt;GET /pokemondpds/&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Server responds with &amp;lt;var&amp;gt;token&amp;lt;/var&amp;gt;&lt;br /&gt;
# Game requests &amp;lt;code&amp;gt;GET /pokemondpds/&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;amp;amp;hash=&amp;lt;var&amp;gt;sha1(...)&amp;lt;/var&amp;gt;&amp;amp;amp;data=&amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Server responds with payload&lt;br /&gt;
&lt;br /&gt;
Unfortunately, this means that the exact details of the game&#039;s requests are currently not known.&lt;br /&gt;
&lt;br /&gt;
==Conversation==&lt;br /&gt;
&lt;br /&gt;
The first request the game makes is to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/info.asp&amp;lt;/code&amp;gt;. The server responds with 0x0001.&lt;br /&gt;
&lt;br /&gt;
Platinum, Heart Gold, and Soul Silver will then make a request to &amp;lt;code&amp;gt;/pokemondpds/common/setProfile.asp&amp;lt;/code&amp;gt;.  The server responds with eight NULs (0x00000000 0x00000000).&lt;br /&gt;
&lt;br /&gt;
After the above step(s) or &#039;&#039;&#039;performing any of the tasks below&#039;&#039;&#039;, the game makes a request to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/result.asp&amp;lt;/code&amp;gt;.  If the game has had a Pokémon sent to it (via a successful trade?), the server responds with the entire encrypted [[Pokemon NDS Structure|Pokémon save struct]].  If there is a Pokémon uploaded to the GTS, it responds with 0x0004.  Otherwise, it responds with 0x0005.&lt;br /&gt;
&lt;br /&gt;
===Receiving a Pokémon===&lt;br /&gt;
&lt;br /&gt;
If the game receives a Pokémon from a successful trade as a response from &amp;lt;code&amp;gt;result.asp&amp;lt;/code&amp;gt;, it next requests &amp;lt;code&amp;gt;/pokemondpds/worldexchange/delete.asp&amp;lt;/code&amp;gt;.  The server responds with 0x0001.&lt;br /&gt;
&lt;br /&gt;
====A note on sendpkm.py====&lt;br /&gt;
&lt;br /&gt;
After doing the above, some Platinum, Heart Gold, and Soul Silver games will report a communication error and dump the player back to the title screen.  The Pokémon is still successfully received.  At least one person with HG/SS has received a Pokémon from a fake server without getting the error, and Diamond/Pearl have never been reported to have the problem.  It&#039;s possible that the server should respond with something other than 0x0001.&lt;br /&gt;
&lt;br /&gt;
===Offering a Pokémon===&lt;br /&gt;
&lt;br /&gt;
Pokémon are offered on the GTS by requesting &amp;lt;code&amp;gt;/pokemondpds/worldexchange/post.asp&amp;lt;/code&amp;gt;, followed by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/post_finish.asp&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Retrieving an offered Pokémon===&lt;br /&gt;
&lt;br /&gt;
Checking on the currently offered Pokémon is apparently done by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/get.asp&amp;lt;/code&amp;gt;.  The response appears to be a [[Pokemon NDS Structure|Pokémon save struct]].&lt;br /&gt;
&lt;br /&gt;
Retrieving the currently offered Pokémon is done by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/return.asp&amp;lt;/code&amp;gt;.  The response is merely 0x0001; the actual Pokémon data is taken from the &amp;lt;code&amp;gt;get.asp&amp;lt;/code&amp;gt; request.&lt;br /&gt;
&lt;br /&gt;
===Searching===&lt;br /&gt;
&lt;br /&gt;
Searching is done through &amp;lt;code&amp;gt;/pokemondpds/worldexchange/search.asp&amp;lt;/code&amp;gt;.  The payload is 15 bytes long.&lt;br /&gt;
&lt;br /&gt;
The server responds with a full 292-byte Pokémon struct for each result.  If there are &amp;lt;var&amp;gt;n&amp;lt;/var&amp;gt; results, the response will be 292 * &amp;lt;var&amp;gt;n&amp;lt;/var&amp;gt; bytes long.&lt;/div&gt;</summary>
		<author><name>Magical</name></author>
	</entry>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2375</id>
		<title>GTS protocol</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2375"/>
		<updated>2010-03-21T03:28:48Z</updated>

		<summary type="html">&lt;p&gt;Magical: headers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following is &#039;&#039;&#039;wild conjecture&#039;&#039;&#039; based on LordLandon&#039;s [http://projectpokemon.org/forums/showthread.php?780-GTC-website-research&amp;amp;p=67086&amp;amp;viewfull=1#post67086 sendpkm.py].&lt;br /&gt;
&lt;br /&gt;
Communication with the GTS is done over regular HTTP with http://gamestats2.gs.nintendowifi.net/.  The same protocol is used for all five Gen IV games.&lt;br /&gt;
&lt;br /&gt;
==HTTP headers==&lt;br /&gt;
&lt;br /&gt;
The games don&#039;t seem to care about these at all.  The GTS sends back a bunch of boilerplate response headers, but the game happily accepts a response with only a Content-Length.&lt;br /&gt;
&lt;br /&gt;
==Protocol==&lt;br /&gt;
&lt;br /&gt;
All requests to the server are GET requests of the form &amp;lt;code&amp;gt;&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;amp;amp;hash=&amp;lt;var&amp;gt;hash&amp;lt;/var&amp;gt;&amp;amp;amp;data=&amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===pid===&lt;br /&gt;
&lt;br /&gt;
The pid is an unsigned 32-bit integer that appears to uniquely identify a game cartridge.  When the pid is obtained and whether the pid has any relation to the Pal Pad friend code are unknown.&lt;br /&gt;
&lt;br /&gt;
For the mathematically inclined: Eevee&#039;s Platinum pid is 192615460 (0x0b7b1424) and his Pal Pad code is 0904 2026 4621.&lt;br /&gt;
&lt;br /&gt;
===Challenge/response===&lt;br /&gt;
&lt;br /&gt;
Before each &amp;quot;real&amp;quot; request, the game sends a request of the form &amp;lt;code&amp;gt;&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt; and the server responds with a 32-byte hex challenge token. The game computes &amp;lt;code&amp;gt;sha1(&amp;quot;sAdeqWo3voLeC5r16DYv&amp;quot; + token)&amp;lt;/code&amp;gt; and uses that as the &amp;lt;var&amp;gt;hash&amp;lt;/var&amp;gt; value which it sends to the server. The &amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt; parameter is encrypted with an unknown algorithm.&lt;br /&gt;
&lt;br /&gt;
That is, each request looks like the following:&lt;br /&gt;
&lt;br /&gt;
# Game requests &amp;lt;code&amp;gt;GET /pokemondpds/&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Server responds with &amp;lt;var&amp;gt;token&amp;lt;/var&amp;gt;&lt;br /&gt;
# Game requests &amp;lt;code&amp;gt;GET /pokemondpds/&amp;lt;var&amp;gt;page&amp;lt;/var&amp;gt;.asp?pid=&amp;lt;var&amp;gt;pid&amp;lt;/var&amp;gt;&amp;amp;amp;hash=&amp;lt;var&amp;gt;sha1(...)&amp;lt;/var&amp;gt;&amp;amp;amp;data=&amp;lt;var&amp;gt;data&amp;lt;/var&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
# Server responds with payload&lt;br /&gt;
&lt;br /&gt;
Unfortunately, this means that the exact details of the game&#039;s requests are currently not known.&lt;br /&gt;
&lt;br /&gt;
==Conversation==&lt;br /&gt;
&lt;br /&gt;
The first request the game makes is to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/info.asp&amp;lt;/code&amp;gt;. The server responds with 0x0001.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Sometimes&#039;&#039;, the game will make a request to &amp;lt;code&amp;gt;/pokemondpds/common/setProfile.asp&amp;lt;/code&amp;gt;.  The server responds with eight NULs (0x00000000 0x00000000).  When this occurs and why is unknown; it happened with Eevee&#039;s Platinum game but not LordLandon&#039;s Diamond/Pearl.&lt;br /&gt;
&lt;br /&gt;
After the above step(s) or &#039;&#039;&#039;performing any of the tasks below&#039;&#039;&#039;, the game makes a request to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/result.asp&amp;lt;/code&amp;gt;.  If the game has had a Pokémon sent to it (via a successful trade?), the server responds with the entire encrypted [[Pokemon NDS Structure|Pokémon save struct]].  If there is a Pokémon uploaded to the GTS, it responds with 0x0004.  Otherwise, it responds with 0x0005.&lt;br /&gt;
&lt;br /&gt;
===Receiving a Pokémon===&lt;br /&gt;
&lt;br /&gt;
If the game receives a Pokémon from a successful trade as a response from &amp;lt;code&amp;gt;result.asp&amp;lt;/code&amp;gt;, it next requests &amp;lt;code&amp;gt;/pokemondpds/worldexchange/delete.asp&amp;lt;/code&amp;gt;.  The server responds with 0x0001.&lt;br /&gt;
&lt;br /&gt;
====A note on sendpkm.py====&lt;br /&gt;
&lt;br /&gt;
After doing the above, some Platinum, Heart Gold, and Soul Silver games will report a communication error and dump the player back to the title screen.  The Pokémon is still successfully received.  At least one person with HG/SS has received a Pokémon from a fake server without getting the error, and Diamond/Pearl have never been reported to have the problem.  It&#039;s possible that the server should respond with something other than 0x0001.&lt;br /&gt;
&lt;br /&gt;
===Offering a Pokémon===&lt;br /&gt;
&lt;br /&gt;
Pokémon are offered on the GTS by requesting &amp;lt;code&amp;gt;/pokemondpds/worldexchange/post.asp&amp;lt;/code&amp;gt;, followed by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/post_finish.asp&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
===Retrieving an offered Pokémon===&lt;br /&gt;
&lt;br /&gt;
Checking on the currently offered Pokémon is apparently done by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/get.asp&amp;lt;/code&amp;gt;.  The response appears to be a [[Pokemon NDS Structure|Pokémon save struct]].&lt;br /&gt;
&lt;br /&gt;
Retrieving the currently offered Pokémon is done by &amp;lt;code&amp;gt;/pokemondpds/worldexchange/return.asp&amp;lt;/code&amp;gt;.  The response is merely 0x0001; the actual Pokémon data is taken from the &amp;lt;code&amp;gt;get.asp&amp;lt;/code&amp;gt; request.&lt;/div&gt;</summary>
		<author><name>Magical</name></author>
	</entry>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2373</id>
		<title>GTS protocol</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2373"/>
		<updated>2010-03-21T01:49:53Z</updated>

		<summary type="html">&lt;p&gt;Magical: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following is &#039;&#039;&#039;wild conjecture&#039;&#039;&#039; based on LordLandon&#039;s [http://projectpokemon.org/forums/showthread.php?780-GTC-website-research&amp;amp;p=67086&amp;amp;viewfull=1#post67086 sendpkm.py].&lt;br /&gt;
&lt;br /&gt;
Communication with the GTS is done over regular HTTP with http://gamestats2.gs.nintendowifi.net/.&lt;br /&gt;
&lt;br /&gt;
==HTTP headers==&lt;br /&gt;
&lt;br /&gt;
The games don&#039;t seem to care about these at all.  The GTS sends back a bunch of boilerplate response headers, but the game happily accepts a response with only a Content-Length.&lt;br /&gt;
&lt;br /&gt;
==Protocol==&lt;br /&gt;
&lt;br /&gt;
This takes the form of HTTP GET requests to the server. The requests are of the form &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;.asp?pid=&amp;lt;pid&amp;gt;&amp;amp;hash=&amp;lt;hash&amp;gt;&amp;amp;data=&amp;lt;data&amp;gt;&amp;lt;/code&amp;gt;. Before each &amp;quot;real&amp;quot; request, the game sends a request of the form &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;.asp?pid=&amp;lt;pid&amp;gt;&amp;lt;/code&amp;gt; and the server responds with a 32-byte challenge token. The game computes &amp;lt;code&amp;gt;sha1(&amp;quot;sAdeqWo3voLeC5r16DYv&amp;quot; + token)&amp;lt;/code&amp;gt; and uses that as the hash value which it sends to the server. The data parameter is encrypted with an unknown algorithm.&lt;br /&gt;
&lt;br /&gt;
The first request the game makes is to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/info.asp&amp;lt;/code&amp;gt;. The server responds with 0x0001.&lt;br /&gt;
&lt;br /&gt;
Next, it makes a request to &amp;lt;code&amp;gt;/pokemondpds/worldexchange/result.php&amp;lt;/code&amp;gt;. If there is a Pokémon stored at the GTS, the server responds with 0x0005, otherwise it responds with 0x0004.&lt;/div&gt;</summary>
		<author><name>Magical</name></author>
	</entry>
	<entry>
		<id>https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2372</id>
		<title>GTS protocol</title>
		<link rel="alternate" type="text/html" href="https://projectpokemon.org/wiki/index.php?title=GTS_protocol&amp;diff=2372"/>
		<updated>2010-03-21T01:39:23Z</updated>

		<summary type="html">&lt;p&gt;Magical: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The following is &#039;&#039;&#039;wild conjecture&#039;&#039;&#039; based on LordLandon&#039;s [http://projectpokemon.org/forums/showthread.php?780-GTC-website-research&amp;amp;p=67086&amp;amp;viewfull=1#post67086 sendpkm.py].&lt;br /&gt;
&lt;br /&gt;
Communication with the GTS is done over regular HTTP with http://gamestats2.gs.nintendowifi.net/.&lt;br /&gt;
&lt;br /&gt;
==HTTP headers==&lt;br /&gt;
&lt;br /&gt;
The games don&#039;t seem to care about these at all.  The GTS sends back a bunch of boilerplate response headers, but the game happily accepts a response with only a Content-Length.&lt;br /&gt;
&lt;br /&gt;
==Protocol==&lt;br /&gt;
&lt;br /&gt;
This takes the form of HTTP GET requests to the server. The requests are of the form &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;.asp?pid=&amp;lt;pid&amp;gt;&amp;amp;hash=&amp;lt;hash&amp;gt;&amp;amp;data=&amp;lt;data&amp;gt;&amp;lt;/code&amp;gt;. Before each &amp;quot;real&amp;quot; request, the game sends a request of the form &amp;lt;code&amp;gt;&amp;lt;page&amp;gt;.asp?pid=&amp;lt;pid&amp;gt;&amp;lt;/code&amp;gt; and the server responds with a 32-byte challenge token. The game computes &amp;lt;code&amp;gt;sha1(&amp;quot;sAdeqWo3voLeC5r16DYv&amp;quot; + token)&amp;lt;/code&amp;gt; and uses that as the hash value which it sends to the server. The data parameter is encrypted with an unknown algorithm.&lt;/div&gt;</summary>
		<author><name>Magical</name></author>
	</entry>
</feed>