ROM Hack Tomodachi collection save files: How do they work????

unspecifiedvalentine

New Member
Newbie
Joined
Feb 13, 2020
Messages
2
Reaction score
6
Trophies
0
Age
19
Location
Wuhu island
XP
70
Country
United States
(For the sake of simplicity i will be referring to tomodachi collection as "tomocolle")

Hi im a complete noob with hex editing so sorry if this is a very dumb and unnecessary thread. A bit of backstory: Considering there is not yet an existing tomocolle save editor ive decided to try my hand at making one. I know a bit of basic programming and am planning to learn more over the course of this project - its more for me than anyone else but at the same time id like it to come in handy for others someday.

However ive discovered one major roadblock and its that i cannot for the life of me figure out whats going on with tomocolle's save files when opening them in a hex editor
Tomolife seems to be at least somewhat comprehensible but this makes little to no sense to me. Whats with all the MaaMiiMuuMeeMoo. Can anyone more experienced with this stuff than i am give me some insight?

Thanks in advance!!!
 
Well while I do not know much about save editing, here's one thing I know about editing a Tomodachi Collection save file.
If you open the .sav in a hex editor and go to address 0x20 (which by default is likely the start of the 3rd line) and byteswap the next 2 bytes, that's where the amount of money you have is stored.
2 (alternating?) copies of the save at 0 and 0x40000.

0x00020: Money in hex, 2(?) bytes, byteswapped.

Warning: There is a checksum, so you can't just write FFFF there to get lotsa money.
 
  • Like
Reactions: NitroShell
Swapping it over works but can't write random things?

Assuming you have not got exceptionally lucky with a collision in your tests that sounds more like a bytesum based approach wherein individual bytes are added up to make for the checksum. Easy enough to test if the bytes edited as part of that add up to the same value as before, and do that for a bunch of saves just in case it is a collision. It is a bit old school for a DS checksum but still within reason and usually detects corruption happily enough.

Eventually you will want to figure the checksum, or dodge it (disable the check and when it writes the save back again it will hopefully sort the checksum for you in the process), but if it is this bytesum then you can probably figure out an awful lot using simple edits compared to most.
 
  • Like
Reactions: NitroShell

Site & Scene News

Popular threads in this forum