So, I hacked the pokewalker.... I dumped RAM when I was on the transfer screen, and looked through it with a GameBoy tile editor. I found something interesting... The graphics for the Pokewalker are stored on HG/SS This also includes a DECOMPRESSED sprite of Spinda (because of the way the game handles his spots). So, this led me to conclude, the game transfers the Pokemon sprites when it connects, (and probably the sprites for that route youre on) I'd have to assume that if you transfer your pokemon back. The only time it transfers the menu Icons and misc sprites is the first time you sync it, or after you erase it, then sync again.
I did this by hacking the sprites with AR, I made a code that will copy data from a hacked gba save file to the RAM.
Last edited by froggestspirit; Feb 12th, 2012 at 02:10 AM.
Very nice work. I wouldn't have thought the sprites would be in HG/SS.
I want to say that it's stored on the rom for the reason: if you sync a pokewalker with a game, it will use the language the game is in (the route names etc. are all in there as sprites), that way, nintendo wouldn't have to make the pokewalkers have different innards worldwide. Also, the sprites in the RAM dump I did were rotated 90 degrees clockwise, just incase anyone else searches. I might look for this in the ROM though, because id imagine the pokemon sprites might be located near the folder of the icons and such
The beauty of this discover is that it seems to be a step closer to manipulate wich pokemon of group A, B or C is choosen when sending a pokemon for a stroll. Congratulations for your discover froggestspirit !!!
I think someone should take a look at the NARC in a/2/4/8 it contains 540 or so files, small, and they seem to be compressed. I couldn't find them in the RAM dump though...
Edit: On HG (us) I changed some spots in the ram, at address 023BF1A8. This is the pointer to the file a/2/4/8, so i changed it to match the pointer of a/2/4/9 (not for any particular reason, just wanted to get to to a different location). And 023BF1AC is the end pointer of a/2/4/8, so I changed that aswell to match a/2/4/9's (for consistency I guess). When I went to the pokewalker option, picked Bulbasaur, and hit transfer, it said Point at the DS card and press select, about a second later, the game froze.
Pokemon graphics are in a/2/5/6, and they are loaded into RAM when the DS tries connecting to the pokewalker
Last edited by froggestspirit; Feb 12th, 2012 at 04:01 AM.
Double post because the site wouldn't let me edit my previous one: After more tedious research, I don't know if the file a/2/4/8 is related. I managed to find out that in the US HG, address 0x021FFAD0 contains a pointer that points to the info that is sent to the walker. I want to say 0x021FFAD4 is the end of that data, and out of all those i've dumped, they are all x28C0 bytes long. This contains (imagewise) (in this order more or less):
The icon of your route
Name of your route (sprite text)
Your pokemon small sprites
Your pokemon big sprites
Name of your pokemon/nickname (sprite text)
group A pokemon small sprites
group B pokemon small sprites
group C pokemon small sprites
group C pokemon big sprites (for if they join you with an empty walker)
Name of group A pokemon (sprite text)
Name of group B pokemon (sprite text)
Name of group C pokemon (sprite text)
Name of the 10 items (sprite text)
Keep in mind this data is only present when your DS is waiting to sync with the walker.
And if any Moderators are reading this, feel free to move it to RAM if necessary. I wasn't sure which approach I'd find when creating this thread.
Can we use the info from "group A pokemon small sprites" and "Name of group A pokemon (sprite text)" to choose wich pokemon of every group is set on a route? You know, like, choosing a selfdestruct munchlax instead of beldum on winner's path when sending a pokemon for a stroll.
No, Those are all defined in the ROM, the pokewalker doesn't actually store the data of the wild pokemon, except pictures, a (picture of the) name, and.. maybe the type. Although, If you found the route definitions in the rom, you could do that, but mearly changing the graphics wont change what you get when you send it back obviously.