General [English] => General => Topic started by: ner0 on 13 May 2020, 23:25

Title: Manually recompressing 7zip ROM
Post by: ner0 on 13 May 2020, 23:25

I apologize in advance for the topic because it is somewhat out of scope.
I am wondering if on occasion it is possible to just manually extract a ROM in zip format and re-compress it in 7zip format.
At the moment I know that the answer is: yes and no

I should give a specific example: I have a "Street Fighter II - The World Warrior (910522 World)" zipped ROM, and I want to extract it and compress it back with 7zip LZMA2 instead. Even though I did try several times with and without the exact same arguments that clrmamepro uses for 7z (a -y -r -ms=off -mx9 %1 %2), the resulting ROM archive never works with the emulator - bytesize comes very close, but that's about it.

Comparing both clrmamepro and manual 7z produced archive, one thing in particular stands out: the files archived with clrmamepro have various levels of LZMA2 compression while the one produced manually applies the same ratio to every single file within it. I can see that clrmamepro is issuing multiple compression commands (per file?) instead of a single one for all files, but since I don't understand fully how the process works I am still left with the question: having the same source rom files, is it possible to achieve the same resulting "working 7z archive" without using clrmamepro?

Obviously that if I want to process a full set or even a big number of ROMS I should not be doing manual work, but I still wonder if this can be achieved in individual instances or not; and if not, why?

Thanks in advance.
Title: Re: Manually recompressing 7zip ROM
Post by: oxyandy on 13 May 2020, 23:36
Probably out of scope for Roman to answer..
Not fully sure of what you are doing or what is going on with your emulator... but
Take a zipped archive drop it onto t7z.exe it will make a 7zip archive, does that resulting archive work with your emulator ?
If so, you could then drop a whole folder of zipped (or incompatible 7z) archives onto the EXE and it will convert them all
Title: Re: Manually recompressing 7zip ROM
Post by: ner0 on 14 May 2020, 00:51
Well, that was... easy.
I wasn't aware of such tool and how it parses the files apparently differently than using plain 7z; it does work perfectly with maximum compression with said ROM, I'm assuming it will work with others. Thanks a lot, I've been going in circles for hours!
Title: Re: Manually recompressing 7zip ROM
Post by: Lewis-H on 07 November 2020, 09:55
Here’s how to use 7-Zip to compress files:

Open the 7-Zip application, then access the files you want to compress. Select those files and click Add.  Make sure to put the files in the same directory.
This image shows you where to locate the Add button in 7-Zip.
In the Add to Archive window, manage the settings as desired. The following is the breakdown of the main parameters:
This image shows you the Add to Archive window where you get to choose how you want to compress your files. In short, this image explains how to use 7-Zip to compress files.
Archive — contains the name of your archive file.
Archive format — lets you choose the file’s format. For the best compression rate, choose 7z.
Compression level — the compression time increases with the compression level. The presets range from Store (fastest compression) to Ultra (slowest compression time with the most space saved).
Compression method — select the LZMA option as the best method for handling the compression process.
Split to volumes, bytes — lets you split the archive into parts.
Encryption — allows you to secure the archive with a password.
Once you’re done, click OK. The archive file should appear in the same location as the original files.
Aside from having a robust compression tool, 7-Zip can also unpack up to 31 file formats. In case you need to uncompress files, here’s how to do it using 7-Zip:

Right-click on the archive file, then select 7-Zip -> Extract Here.
This image shows you how to uncompress an archive file using 7-Zip.
7-Zip will extract the files to the same directory as the original archive file.
Title: Re: Manually recompressing 7zip ROM
Post by: ner0 on 07 November 2020, 11:45
Thanks, but that wasn't at all what I asked about.