dstaley Posted December 6, 2022 Posted December 6, 2022 I'm working on a tool to analyze and extract Pokémon team data from PokeWalker EEPROM dumps and could use some help gathering a varied collection. Particularly, I'd love to get a few containing exchanged trainer data, which the PokeWalker stores when pairing with another PokeWalker. To create a dump, there are currently two methods: If you have a Homebrew-capable DSi, you can use this tool. If you have a Palm OS 4 device, you can use this app. (I'm hoping that I'll eventually be able to update this list with a third method allowing you to dump the PokeWalker via USB infrared dongles, but that's a ways off!) Any dumps would be appreciated since the more data I have, the more accurate I can make the tool. Also, if you happen to know the team that's on your dump, please share that as well (especially if you have something exotic like a shiny or a 'mon with alternate forms).
javier_himura Posted January 10, 2023 Posted January 10, 2023 I bought a copy of Heart Gold with Pokewalker years ago, before DS games prices, especially Johto ones, got prohibitive. I have not actually use the device nor the cartridges so it still contains the original owner data and when I found recently that dumping it is possible I have taken it out of the drawer where I had forgotten it to being able to dump it. I initially try to use the PalmOS method by buying a second-hand PalmM500 at 10€ but unfortunately, I haven't been able to make it work. But I was able to dump it with the DSi homebre, but to clarify, it is not necessarily a DSi. A 3DS also works. The DSi homebrew works in a 3DS with TWiLight Menu++. I confirm it. I am not sure if the dump data contains exchange pokemon data because that requires having two Pokewalkers and I only have one. But the data is from the original owner, I never deleted it to start my own save, so maybe there is something. If I am not making any mistakes the two files I have from the dump, pweep.rom and pwflash.rom. The first is the one that you need with user and save data while the second is the internal executable so that second file shouln't be uploaded for copyright reasons but there shouldn't be any problem with the save file. pweep.rom
PixelatedMess64 Posted April 8, 2023 Posted April 8, 2023 (edited) Hope progress is going well, I've had a Quilava stuck on here for years. pweep.rom Edited April 8, 2023 by PixelatedMess64
OakholdC Posted July 12, 2023 Posted July 12, 2023 Okay, so I came across a used PokeWalker at a tech shop today and had the urge to buy it out of curiosity. It turns out that the old player's name (PHILMAV) is still on there somehow. As I was heading home a pidgey decided to come along on the aforementioned player's PokeWalker. I wanted to figure out a way to get that pidgey out of the pokewalker. I can't be bothered resetting the gadget, because I had the most trauma-equivalent experience when I was using the 3DS Transfer tool. Here's the ROM of PHILMAV's PokeWalker Data. pweep.rom
RodrigoTR Posted October 9 Posted October 9 On 12/6/2022 at 7:41 PM, dstaley said: If you have a Homebrew-capable DSi, you can use this tool. https://gitlab.ulyssis.org/pcy/pokewalker-rom-dumper the link changed to here.
eloeri Posted October 10 Posted October 10 (edited) On 12/6/2022 at 4:41 PM, dstaley said: I'm working on a tool to analyze and extract Pokémon team data from PokeWalker EEPROM dumps and could use some help gathering a varied collection. Particularly, I'd love to get a few containing exchanged trainer data, which the PokeWalker stores when pairing with another PokeWalker. To create a dump, there are currently two methods: If you have a Homebrew-capable DSi, you can use this tool. If you have a Palm OS 4 device, you can use this app. (I'm hoping that I'll eventually be able to update this list with a third method allowing you to dump the PokeWalker via USB infrared dongles, but that's a ways off!) Any dumps would be appreciated since the more data I have, the more accurate I can make the tool. Also, if you happen to know the team that's on your dump, please share that as well (especially if you have something exotic like a shiny or a 'mon with alternate forms). Hello! I was hoping that I could have a moment of your time in trying to build the eeprom nds dumper. Do you still have the project available or know what these errors could mean on compilation? C:/Users/Major/pokewalker-rom-dumper-master/arm7/source/template.c:32:10: fatal error: nwram.h: No such file or directory 32 | #include "nwram.h" | ^~~~~~~~~ compilation terminated. make[2]: *** [/opt/devkitpro/devkitARM/base_rules:39: template.o] Error 1 make[1]: *** [Makefile:93: build] Error 2 make[1]: Leaving directory '/home/Major/pokewalker-rom-dumper-master/arm7' make: *** [Makefile:31: checkarm7] Error 2 and C:/Users/Major/pokewalker-rom-dumper-master/arm9/source/main.c:305:65: error: passing argument 4 of 'pw_write_mem' from incompatible pointer type [-Wincompatible-pointer-types] 305 | &orgBE)) { | ^~~~~~ | | | uint16_t * {aka short unsigned int *} In file included from C:/Users/Major/pokewalker-rom-dumper-master/arm9/source/main.c:11: C:/Users/Major/pokewalker-rom-dumper-master/arm9/include/pw.h:93:79: note: expected 'const uint8_t *' {aka 'const unsigned char *'} but argument is of type 'uint16_t *' {aka 'short unsigned int *'} 93 | bool pw_write_mem(uint32_t sessid, uint16_t addr, size_t size, const uint8_t* data); // 0x06 | ~~~~~~~~~~~~~~~^~~~ make[1]: *** [/opt/devkitpro/devkitARM/base_rules:39: main.o] Error 1 make: *** [Makefile:97: build] Error 2 EDIT: Found the fixes, here they are for those in the future who have the same issue: comment out `#include "nwram.h"` in `arm7/source/template.c` comment out `REG_MBK_PROT=0;//allow ARM9 rw` also in `arm7/source/template.c` and change `&orgBE)) {` to `(const uint8_t*)&orgBE)) {` on line 305 of `arm9/source/main.c` Also, if anyone else had the same issue as me when trying to dump the eeprom, getting stuck on 26*/512 (I forget where exactly it kept failing), then here's a way to assign buttons X and Y to dumping exactly half of the eeprom for each button which you can then combine to get the full eeprom: if (run && (keys & KEY_X) && !(oldkeys & KEY_X)) { if (pw_scan()) { iprintf("ping!\n"); uint32_t sessid; if (pw_do_synack(&sessid)) { //iprintf("got sess! %08lx\n", sessid); // EEPROM dumper FILE* fff = fopen("sd:/eeprom_1.bin", "wb"); if (!fff) { iprintf("can't open file :(\n"); goto Lnop; } for (size_t i = 0; i < 256; ++i) { uint8_t mwahah[0x80]; if (pw_read_eeprom(sessid, i*sizeof mwahah, sizeof mwahah, mwahah)) { iprintf("reading eeprom (%3d/256)\n", i+1); } else { iprintf("read failed :/\n"); break; } fwrite(mwahah, sizeof mwahah, 1, fff); } fclose(fff); //fatUnmount("sd:"); Lnop: if (pw_conn_end(sessid)) iprintf("closed correctly\n"); else iprintf("welp\n"); } else iprintf("can't connect\n"); } else iprintf("no scan results\n"); } if (run && (keys & KEY_Y) && !(oldkeys & KEY_Y)) { if (pw_scan()) { iprintf("ping!\n"); uint32_t sessid; if (pw_do_synack(&sessid)) { //iprintf("got sess! %08lx\n", sessid); // EEPROM dumper FILE* fff = fopen("sd:/eeprom_2.bin", "wb"); if (!fff) { iprintf("can't open file :(\n"); goto Lnop9; } for (size_t i = 256; i < 512; ++i) { uint8_t mwahah[0x80]; if (pw_read_eeprom(sessid, i * sizeof mwahah, sizeof mwahah, mwahah)) { iprintf("reading eeprom (%3d/512)\n", i+1); } else { iprintf("read failed :/\n"); break; } fwrite(mwahah, sizeof mwahah, 1, fff); } fclose(fff); //fatUnmount("sd:"); Lnop9: if (pw_conn_end(sessid)) iprintf("closed correctly\n"); else iprintf("welp\n"); } else iprintf("can't connect\n"); } else iprintf("no scan results\n"); } Edited October 23 by eloeri
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now