Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Consider adding an Advanced tab to allow people to manually select certain transformations #167

Open
euan-forrester opened this issue Sep 26, 2022 · 5 comments
Labels
enhancement New feature or request

Comments

@euan-forrester
Copy link
Owner

euan-forrester commented Sep 26, 2022

For example:

  • Resizing a save by adding/removing padding (allow user to select 0x00 or 0xFF padding)
  • Endian swapping (allow the user to select 16, 32, 64 byte endian swapping)
  • Byte expanding/contracting Genesis files (allow user to select byte expansion byte: 0x00, 0xFF, or double byte e.g. 0xA -> 0xAA)
  • Remove a header/footer (allow user to specify number of bytes, or attempt to autodetect based on making the file a size that's a power of 2)
  • Add a header/footer by copying it from another save file
  • Allow people to select a certain range of offsets to slice out, for example to allow: https://www.reddit.com/r/AnaloguePocket/comments/10ampwi/solution_for_extracting_pokemon_emerald_cartridge/
  • Maybe decompressing the data using a common compression scheme like .zip or .lzo

See here for ideas: https://forums.launchbox-app.com/topic/66417-n64-save-converter-tools/

@euan-forrester
Copy link
Owner Author

We should also have instructions somewhere (maybe the FAQ on Discord?) indicating to try first removing a header then truncating the file to be the same size as a known good file. I suspect this will handle many cases.

@omardelarosa
Copy link

+1 on adding this:

Maybe decompressing the data using a common compression scheme like .zip or .lzo

I actually ran into a gnarly issue where the .srm files I was trying to convert had been compressed by RetroArch and the output .sav files were not decompressed correctly. It took me a while to debug the issue, had to use a hex editor to figure out what was going and see the .rz / rzip header and then re-create the .srms with compression turned off.

tl;dr - having advanced options like (de-)compression in the tool would save a ton of grief.

@euan-forrester
Copy link
Owner Author

Nice! That's great to hear that it would be useful. I'm looking forward to adding this feature!

@euan-forrester
Copy link
Owner Author

I've started looking at this more closely, and apparently the format is not rzip but actually zlib. "rzip" in this case apparently stands for "Retroarch zip" and not the actual rzip tool: libretro/RetroArch#14031 (comment)

@omardelarosa
Copy link

Oh good to know @euan-forrester ! But yeah, that sounds about right because the context I was using this all in was a Recalbox btw.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants