d0k3 / GodMode9

GodMode9 Explorer - A full access file browser for the Nintendo 3DS console :godmode:
GNU General Public License v3.0
2.09k stars 190 forks source link

[FEATURE REQUEST] Automatically account for FAT32 4GB size limit when dumping carts #780

Closed mariomadproductions closed 2 years ago

mariomadproductions commented 2 years ago

E.g. disallow dumping the non-split files if there isn't enough space, or maybe just add the last byte of the file to the txt metadata file?

d0k3 commented 2 years ago

Are you requesting a feature or an antifeature? The 4GB-1 limit is not a storage space limit, it's the maximum size of a file in FAT32. I guess you already know, though.

Anyways, nope, I won't remove a feature that's in there for that long and that's used by many users. I can add the padding byte info (padding byte being the last byte in the cart rom memory) to the cart info, though.

Here's a test build, let me know if that works for you: GodMode9_Padding_Cartinfo.zip

logandavis01 commented 2 years ago

Seems to work, only issue is the timestamp is on the same line as the padding byte instead of a new line.

Below is a screenshot of the hex editor showing the last byte, a screenshot of the .txt in gm9 and the .txt file itself for Xenoblade Chronicles 3D (4GB game).

Last_Byte

txt

000400000F700100_v00.txt

d0k3 commented 2 years ago

Thanks a lot for testing! Well, that's what happens if you're coding blind - I got no gamecarts for testing with me right now. Here's a new test build, with the output fixed: GodMode9_Padding_Cartinfo_fixed.zip

@mariomadproductions - is that a working solution for you?

mariomadproductions commented 2 years ago

Unfortunately I can't test myself as I don't have any 4GB carts, but yeah that looks good.

d0k3 commented 2 years ago

Unfortunately I can't test myself as I don't have any 4GB carts, but yeah that looks good.

Well, the padding byte is now always in there, regardless of the size of the cart. It's just the last byte in the rom. Fix commit is up now, additional testing is still appreciated.