Jump to content
Sign in to follow this  
froggestspirit

research Pokewalker Sprite Hacking! (On the Walker)

Recommended Posts

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.

422403_318338404883482_100001219743251_982805_1485454568_n.jpg

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.

Edited by froggestspirit

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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 !!!

Share this post


Link to post
Share on other sites

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.

EDIT:

Pokemon graphics are in a/2/5/6, and they are loaded into RAM when the DS tries connecting to the pokewalker

Edited by froggestspirit

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

I wonder if it'd be possible to utilise the same method of using an AR and a modified RAM to load custom files to the RAM while the game is playing so you could use things like custom sprites, textures or music?

Share this post


Link to post
Share on other sites

Actually, that's what I have been doing!

If you have a program to edit saves on a GBA cart, you can use a code to read from that in DS mode, but keep in mind you have to read one byte at a time.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...