Romhacking.net

Romhacking => ROM Hacking Discussion => Topic started by: Only a kirby fan on November 05, 2021, 11:54:29 AM

Title: Help decompressing arm9/7 from ds game
Post by: Only a kirby fan on November 05, 2021, 11:54:29 AM
I'm doing a mod for puyo puyo 7 ds that add full voice acting. I managed to add the voicd clips but there's a problem. The original version have voice beeps that replace voice clips and to remove them, i need to modify these files.
I couldn't find what type of compression was used.
Here's a link to the 2 files:
https://www.mediafire.com/file/cqo49yjqu6bttmu/Puyo_puyo_7_arm.bin.zip/file
Title: Re: Help decompressing arm9/7 from ds game
Post by: FAST6191 on November 05, 2021, 01:27:30 PM
The ARM9 (don't think I have seen a compressed arm7 outside of a download play file) and overlays tend to use a slightly different form of compression to the usual type 10/type 11/type 40/BIOS LZ compressions seen in basically every other class of DS file.
Other than DS binary compression then it tends to be called BLZ
Cue's compression tools (the BLZ component thereof) http://www.romhacking.net/utilities/826/ being what most would suggest for such things, though you might be able to get some of the all in one tools to do something.


I would also note if it is Crystaltile2 telling you it is compressed then it often lies. Usual way to check is compressing it and seeing what happens (if it compresses notably then it is probably not compressed, if it remains the same/grows then already compressed), seeing whether the code makes sense or seeing whether the code lines up with what you will dump from RAM (the ARM9 having to be decompressed, if it is compressed, and then put in RAM where it stays for the whole runtime.
Title: Re: Help decompressing arm9/7 from ds game
Post by: Only a kirby fan on November 05, 2021, 03:36:53 PM
Quote from: FAST6191 on November 05, 2021, 01:27:30 PM
The ARM9 (don't think I have seen a compressed arm7 outside of a download play file) and overlays tend to use a slightly different form of compression to the usual type 10/type 11/type 40/BIOS LZ compressions seen in basically every other class of DS file.
Other than DS binary compression then it tends to be called BLZ
Cue's compression tools (the BLZ component thereof) http://www.romhacking.net/utilities/826/ being what most would suggest for such things, though you might be able to get some of the all in one tools to do something.


I would also note if it is Crystaltile2 telling you it is compressed then it often lies. Usual way to check is compressing it and seeing what happens (if it compresses notably then it is probably not compressed, if it remains the same/grows then already compressed), seeing whether the code makes sense or seeing whether the code lines up with what you will dump from RAM (the ARM9 having to be decompressed, if it is compressed, and then put in RAM where it stays for the whole runtime.

The file is compressed but it isn't in any of the supported formats in the program.