Views: 1,609,241 | Main | Rules/FAQ | Memberlist | Active users | Last posts | Calendar | Stats | Online users | Search | 11-21-24 11:46 AM |
Guest: |
0 users reading Reading NDS save files (pxi:dev 0x000D0688) | 1 bot |
Main - Reverse-engineering - Reading NDS save files (pxi:dev 0x000D0688) | Show post layouts | New reply |
TuxSH |
| ||
Newcomer Normal user Level: 6 Posts: 2/6 EXP: 838 Next: 69 Since: 12-27-15 Last post: 3203 days ago Last view: 2989 days ago |
PokéTransporter uses pxi:dev 0x000D0688 to read/write to NDS save files.
However this function have no less than 33 args, and I can't find its backend implementation (which should be more or less documented by savegame-manager). I know I can just RE PokéTransporter, but I'd prefer to know how this function exactly works. Any help or advice would be greatly appreciated . |
Steveice10 |
| ||
Newcomer Normal user Level: 7 Posts: 5/7 EXP: 1104 Next: 344 Since: 02-25-15 Last post: 3224 days ago Last view: 2455 days ago |
Just documented the basic command layout and functionality of that command, hope it helps.
https://www.3dbrew.org/wiki/PXIDEV:SPIMultiWriteRead |
TuxSH |
| ||
Newcomer Normal user Level: 6 Posts: 3/6 EXP: 838 Next: 69 Since: 12-27-15 Last post: 3203 days ago Last view: 2989 days ago |
Wow, this is just amazing .
This will definitely help when I'm on my computer this evening. Edit: Started looking at the function. One argument seems to be missing. |
Steveice10 |
| ||
Newcomer Normal user Level: 7 Posts: 6/7 EXP: 1104 Next: 344 Since: 02-25-15 Last post: 3224 days ago Last view: 2455 days ago |
If you mean on the wiki page, none of them are missing there. |
TuxSH |
| ||
Newcomer Normal user Level: 6 Posts: 4/6 EXP: 838 Next: 69 Since: 12-27-15 Last post: 3203 days ago Last view: 2989 days ago |
Yeah, sorry, it just seems that the function sending the sync. request has unused parameters.
EDIT: no, it's just ida having problems with the calling conventions, since I've labeled each of its stack variables/params. |
TuxSH |
| ||
Newcomer Normal user Level: 6 Posts: 5/6 EXP: 838 Next: 69 Since: 12-27-15 Last post: 3203 days ago Last view: 2989 days ago |
I've managed to get things working (https://github.com/TuxSH/TWLSaveTool/blob/master/source/SPI.cpp) , except for a few things:
* Chips whose JEDEC ID is 0x204013 seem to reject every single PW or SE command, even though WEL=1. This chip is sometimes used for example for Zelda:PH, Pokémon Black2 (maybe the chip used is not the same for everyone, but I doubt it). In fact, even after WEL to 1, it reverts back to 0. * 512-byte EEPROM chips seem to get stuck in an endless loop waiting for WEL to be 1. Any idea why? |
Main - Reverse-engineering - Reading NDS save files (pxi:dev 0x000D0688) | Show post layouts | New reply |
Page rendered in 0.010 seconds. (2048KB of memory used) MySQL - queries: 26, rows: 73/73, time: 0.005 seconds. Acmlmboard 2.064 (2018-07-20) © 2005-2008 Acmlm, Xkeeper, blackhole89 et al. |