Jump to content

Pokewalker EEPROM PID Extraction [HELP]


Recommended Posts

I was wondering if anyone could help me get the PID of a Pokemon that's stuck on my Pokewalker.

Since Pokemon like Spinda keep their patterns when transferred, it seems pretty likely that at least the personality value is stored somewhere on the device. But I'm not very well-versed in reading Hex code so I have no real idea how to find it.

Would really appreciate it if someone could point me in the right direction as to what to look for. 

If it is any help the Pokemon on the walker is a female Quilava, I don't know the stats though ( ̄┰ ̄*)

pweep.rom

Edited by PixelatedMess64
Link to comment
Share on other sites

13 hours ago, PixelatedMess64 said:

I was wondering if anyone could help me get the PID of a Pokemon that's stuck on my Pokewalker.

Since Pokemon like Spinda keep their patterns when transferred, it seems pretty likely that at least the personality value is stored somewhere on the device. But I'm not very well-versed in reading Hex code so I have no real idea how to find it.

Would really appreciate it if someone could point me in the right direction as to what to look for. 

If it is any help the Pokemon on the walker is a female Quilava, I don't know the stats though ( ̄┰ ̄*)

pweep.rom 64 kB · 5 downloads

I've tried using a tool to dump full mons from hex, but to no avail. At the very least, there's nothing that is stored in the full pk4 format in that file.

Anyways, Quilava doesn't have patterns like Spinda, so not sure what you're on about with the Spinda example..
(unless you were going off this, thus stating PID exists inside?)


Anyhow, there's 24 hits for the ID of Quilava in the code (if it's not encrypted), but I don't think I'll be able to tell where the PID is..
image.png

 

edit: hmm, may help if you give me what you can remember for Quilava (or the save that owns this Quilava)
 

Quote

PID, EXP (but if it has the Pokémon be above Lv 50 the Pokémon is rounded down to Lv 50), nature item, ability, friendship, IVs, EVs, attacks, TID, SID, and trainer gender

 

Link to comment
Share on other sites

16 minutes ago, theSLAYER said:

I've tried using a tool to dump full mons from hex, but to no avail. At the very least, there's nothing that is stored in the full pk4 format in that file.

Anyways, Quilava doesn't have patterns like Spinda, so not sure what you're on about with the Spinda example..
(unless you were going off this, thus stating PID exists inside?)


Anyhow, there's 24 hits for the ID of Quilava in the code (if it's not encrypted), but I don't think I'll be able to tell where the PID is..
image.png

 

edit: hmm, may help if you give me what you can remember for Quilava (or the save that owns this Quilava)
 

 

Yeah I was going off that thread as well as the Pokewalker article on Bulbapedia image.thumb.png.b17d6cf867067839a326dd40c256fa77.png

 I figured that maybe something could be found, especially since team data for your trainer is also saved on the walker for the trainer's house.



Sadly I don't have the original save anymore which is why I wanted to see if I could get it off the walker.

From what I remember it was female around Lv. 20-23 with the ability Blaze (it's the starter one if that helps at all). There doesn't seem to be a nickname when looking at it in the Pokewalker so it likely just has the name マグマラシ but it could also have the nickname フレイム, the OT is ぎんが, male. Since I only made it to Violet City on this file the party likely only had some basic Pokemon like Pidgey, Sentret, and Ratata. That's kinda the extent of the info I have (〒▽〒)


Thanks for taking a look to begin with though, really appreciate it. 

Link to comment
Share on other sites

2 hours ago, PixelatedMess64 said:

ぎんが

I couldn't find the ID for Blaze in the data, nor the ID for the met location (New Bark Town), so instead I looked for that, and found 3 hits.
image.png

Cross-referencing against the Quilava hits, there's only one in the same area.
image.png

Still can't make heads or tails of what I'm seeing, but I'll like to believe it is in this general area.

edit: I think I found it, well, parts of it. Unrelated to the area I mentioned earlier.
image.png
Red: Quilava
Green: Tackle
Yellow: Quick Attack
Blue: Flame Wheel
Silver: Ember


Now to find the PID.


edit1: that data is written at somewhere unexpected. And I can't seem to find other stuff that's useful.
Using this
image.png
and
image.png
I was able to find data that better fit the recorded structure, but it's a single Kakuna -.-

(source: http://dmitry.gr/?r=05.Projects&proj=28. pokewalker#_TOC_2dec5ee9db863ffb68915b70bce4efe4)

 

Probably Final Edit:
Sorry, it doesn't look like your Quilava's PID is stored.

The only area that would have stored the PID (and also Ability, abd also IVs) data appears to be Team Data, and there's only a singular Kakuna in your Team.

The first Quilava instance was for Walking Pokemon (RouteInfo), but PID isn't there. [Image with Quilava info I sent earlier]
(since PID and IVs and ability ain't there, also the reason why I couldn't find Blaze earlier)
For the other instances where Quilava appears, are logs saying what Quilava has found(item)/captured(species).

at the very least, I did find your save's TID/SID. But that's about it.


@PixelatedMess64 do you still have access to your Pokewalker? Mind sending a Spinda with a known PID over? in case the PID gets saved anywhere else.

Link to comment
Share on other sites

The data of the Pokemon sent to Pokewalker is not actually stored inside the Pokewalker. It is stored on HG/SS save file. That is how the game allows you to recover the Pokewalker Pokemon in case you lose the device. What is stored inside the device is a reduced copy of you full team (with enough data to recover a team to battle them) so it can be sent to a second Pokewalker and then sent to a second HG/SS for the other player to battle them, but that probably won't include your Quilava because sending him to your Pokewalker means is no longer of your team.

Link to comment
Share on other sites

2 hours ago, javier_himura said:

The data of the Pokemon sent to Pokewalker is not actually stored inside the Pokewalker. It is stored on HG/SS save file. That is how the game allows you to recover the Pokewalker Pokemon in case you lose the device. What is stored inside the device is a reduced copy of you full team (with enough data to recover a team to battle them) so it can be sent to a second Pokewalker and then sent to a second HG/SS for the other player to battle them, but that probably won't include your Quilava because sending him to your Pokewalker means is no longer of your team.

That makes sense for teams, that they send partial data over to recreate your team on another walker.

The issue came about due to Spinda appearing as-is on the walker.
I don't use the walker much. Any idea what is this screen on the walker? What's the conditions for triggering this screen. Just being able to send Spinda over?
https://pporg-cdn.nullcontent.net/monthly_2022_08/image.jpeg.8b34db9b84817c9db9fbe93c54536fa2.jpeg

3 hours ago, PixelatedMess64 said:

I sent in a Spinda hopefully he'll be of use🤞

Sadly I couldn't find the PID anywhere :(

Also is the PID different from the image? The one in the file you sent is different from the image.

3 hours ago, PixelatedMess64 said:

Could you send me the TID/SID?

TID: 22197
SID: 14778

Link to comment
Share on other sites

1 hour ago, theSLAYER said:

Also is the PID different from the image? The one in the file you sent is different from the image.

my bad, I sent the wrong screenshot. The one on the file is the right one 

image.png.22e5ceef7426d0fc01d597825af79983.png

 

 

1 hour ago, theSLAYER said:

Any what is this screen on the walker? What's the conditions for triggering this screen. Just being able to send Spinda over?
https://pporg-cdn.nullcontent.net/monthly_2022_08/image.jpeg.8b34db9b84817c9db9fbe93c54536fa2.jpeg

The screen is just the default screen for the Pokewalker, so you would be able to see it immediately after transferring a Pokemon. 

 


Apparently, gender differences also appear on the Walker. Maybe the game reads the PID ahead of time to determine what sprite/pattern to display when transferring a Pokemon. 

10 hours ago, theSLAYER said:

Red: Quilava
Green: Tackle
Yellow: Quick Attack
Blue: Flame Wheel
Silver: Ember

Though the moves being saved on here is a little curious

 

Thanks for the IDs btw maybe I can Frankenstein a new one (Ignore the fact that its irrelevant to the Pokemon itself, it's the spirit that counts) 

Edited by PixelatedMess64
Link to comment
Share on other sites

1 hour ago, PixelatedMess64 said:

Apparently, gender differences also appear on the Walker. Maybe the game reads the PID ahead of time to determine what sprite/pattern to display when transferring a Pokemon. 

Gender differences and form differences have unique flags in the data, so they're easy enough to identify.
I wonder if the PID was truncated to something else, so that the spots show up correctly.

It would be why I can't find the PID but the spots show up right.

1 hour ago, PixelatedMess64 said:

Though the moves being saved on here is a little curious

It shows the moves what Quilava have, and the level being 25.

If it at least showed the IVs, I could try to work backwards to calculate the PID :/

For the section that has Quilava, this is literally all the data there is in the structure:
image.png

If you're curious, this is the line of code.
image.png

u16 => 2 words
Example: Species => 9C 00. Then take endianness into account, reverse the words and you get 00 9C.
Convert that from hexadecimal to decimal (windows calculator in programmer mode can do that) and you get the value 156.
156 is the Dex ID value of Quilava.

u8 => 1 word.
Example would be to look at level. After linearly looking at all the values, level's value is 19 in hexadecimal.
Now convert that to decimal, and you get the value 25. So the level is 25.

Link to comment
Share on other sites

According to Dmitry's Pokewalker's documentation, the device stores the Pokemon's sprite in the EEPROM, so maybe the device shows the correct Spinda because it was HG/SS the one who send the sprite to the device when the Pokemon was transferred. Maybe the device ROM doesn't contain all Gen 4 Pokemon sprites? That would mean that changing the Species ID won't change the sprites.

0x91BE-0x933D current pokemon animated sprite for "held items and pokemon" screen, fights, etc. 32 x 24 x 2 frames
0x933E-0x993D current pokemon large animated sprite for the main screen 64 x 48 x 2 frames
Link to comment
Share on other sites

5 hours ago, javier_himura said:

According to Dmitry's Pokewalker's documentation, the device stores the Pokemon's sprite in the EEPROM, so maybe the device shows the correct Spinda because it was HG/SS the one who send the sprite to the device when the Pokemon was transferred. Maybe the device ROM doesn't contain all Gen 4 Pokemon sprites? That would mean that changing the Species ID won't change the sprites.

0x91BE-0x933D current pokemon animated sprite for "held items and pokemon" screen, fights, etc. 32 x 24 x 2 frames
0x933E-0x993D current pokemon large animated sprite for the main screen 64 x 48 x 2 frames

That’ll be interesting. Either the sprite is sent, or it reconstructs the sprite based on PID (like maybe it has a base Spinda with no dots), then tosses it out. Would explain why we can’t find the PID.

I mean, it does have flags for Unown, Spinda, Arceus, Gender (presumably for gender differences)

Link to comment
Share on other sites

11 minutes ago, theSLAYER said:

That’ll be interesting. Either the sprite is sent, or it reconstructs the sprite based on PID (like maybe it has a base Spinda with no dots), then tosses it out. Would explain why we can’t find the PID.

I'm assuming the Spinda sprite is just sent with the spot coordinates already calculated, on the off chance PID is stored it might just be Spinda exclusive lol

image.thumb.png.1ee3cc9ad433effe3d94da336701bc00.png

 

 

7 hours ago, theSLAYER said:

For the section that has Quilava, this is literally all the data there is in the structure:
image.png

 

I wonder why it bothers storing levels, moves, and held items. It's not like any of this is relevant to the walker. For caught Pokemon maybe?

Link to comment
Share on other sites

17 minutes ago, PixelatedMess64 said:

I’m assuming the Spinda sprite is just sent with the spot coordinates already calculated, on the off chance PID is stored it might just be Spinda exclusive

Well it does store PID for your team. And yeah I couldn’t find PID for the Spinda you sent earlier. So it’s probably broken up or precalculated spots.

18 minutes ago, PixelatedMess64 said:

I wonder why it bothers storing levels, moves, and held items. It's not like any of this is relevant to the walker. For caught Pokemon maybe?

That was definitely Quilava’s moveset tho. Maybe there originally was some function that utilised the moves of a Pokémon to increase chances of finding stuff? Don’t really know what they’re thinking at this point. It’s not new for them to have extra stuff stored. They do the same for wonder records in recent Gens..

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...