7z files
Moderator: ZSNES Mods
A compression format for roms that NSRt uses. It's optimal for SNES roms, since Nach developed it.
http://nsrt.edgeemu.com
http://nsrt.edgeemu.com
-
- Locksmith of Hyrule
- Posts: 3634
- Joined: Sun Aug 08, 2004 7:49 am
- Location: 255.255.255.255
- Contact:
Yes, 7z will never be inserted into ZSNES because it's supposedly drugged up.
(or so Nach says, or smth)
(or so Nach says, or smth)
<Nach> so why don't the two of you get your own room and leave us alone with this stupidity of yours?
NSRT here.
NSRT here.
-
- ZSNES Developer
- Posts: 6747
- Joined: Tue Dec 28, 2004 6:47 am
I guess, but Nach does have solid archives available in JMA (and a decompressor for it). Nothing public unfortunately.xamenus wrote:I'd like to mention that a GoodMerged 7z set is smaller than a set with everything archived individually in JMA. So you can't truly say JMA is better until NSRT supports a GoodMerge-like feature.
JMA as a single archive is still better than 7z in a single archive (oh so slightly). I don't think any SNES emulator to date has 7z support (let alone reading solid archives) and IIRC, the libs for 7z support (as I'm told) just plain suck.
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
-
- ZSNES Developer
- Posts: 3904
- Joined: Tue Jul 27, 2004 10:54 pm
- Location: Solar powered park bench
- Contact:
I can say it. I compress my files with my JMA standalone.xamenus wrote:So you can't truly say JMA is better until NSRT supports a GoodMerge-like feature.
And no, I'm not releasing it to the public till I feel it's ready.
May 9 2007 - NSRT 3.4, now with lots of hashing and even more accurate information! Go download it.
_____________
Insane Coding
_____________
Insane Coding
You could try the utility in my signature. It goes through each 7z archive, lets you pick the ROM you want (since most people only want one version of each game) and creates a batch file that either uses 7-Zip or NSRT to extract and recompress each one into individual ZIP or JMA archives. It also optionally filters out a lot of the junk that's included, such as hacks, bad dumps, etc. to narrow down the list of files you can pick from.EJmcn wrote:so what is jma and can I transfer my 1.61gb 7z roms to it?
EDIT: Actually, that program has a small bug in it at the moment. I'll edit this post when it's fixed. (Most likely in a few hours.)
EDIT 2: If you're still here, it's fixed now. The problem was that I was using a Windows port of GCC 4 rather than the latest stable MinGW release, and completely illogical things were occuring as a result of that.
Alright. Firstly, you'll want to quickly look at this to use as a reference for GoodTools tags. You'll also need to download and install [url=http://www.7-zip.org[/url]7-Zip[/url] to its default location, so that the program can use it to extract the files. If you will be using JMA compression (which is recommended), then you'll also want to download NSRT, and extract it to wherever you want. Copy the directory you extracted NSRT to, press Window Key + Pause Key to bring up System Properties, click "Advanced" and then "Environment Variables", select "Path" in the bottom box, and click "Edit". Press "End" to go to the end of the "Variable Value" text box, and append a semicolon ( ; ) if there isn't one already there, and paste in the path that NSRT was extracted to. Then log-off and log-on again to apply this. (It allows the program to use NSRT for JMA compression.)
Download the zip file, and extract its contents to anywhere you want. Run "UnGoodMerge Front-End.exe". Select "browse" next to the "7z Files directory" text box, and select the directory that contains all the 7z files you want to work with. Then also browse for the "Output batch file", and choose the name of this batch file, such as "output.bat". This batch file is what you'll run later on to actually do the extracting and recompressing.
In the "Files" section, you can choose which of the 7z files in the directory specified above you will use. You'll probably want to select "all files".
The program uses tool-tips, so you can hover the mouse over options that you don't understand, and a brief description will come up. Select the desired options in the "filtering" section". (You'll probably want all of them enabled.)
Choose your compression type, and then choose whether you want to enable "automatically select single ROMs". When you start the program, after choosing the country codes that you don't want (such as (J) for Japanese ROMs -- see the GoodCodes link above), you'll be given a listing of the variants of each ROM within each 7z archive. If, after filtering out all the unwanted variants, there is only one ROM left in the list, that option will have it automatically selected, saving you time. There isn't really any loss to using that option, so it should be OK.
Here is a list of the country codes you'll want to type in once you click the start button, assuming you can only read English:That last entry (the missing bracket is intentional) is to filter out all of the hacked garbage that is included in GoodTools sets.
If everything went well, then you can either quit the program or click "Run batch file". Keep in mind, though, that running that batch file will probably take a few hours, so you might want to leave it running while you're at school/work. If you aren't going to run it straight away using the "Run batch file" button, you'll be able to double-click the one you specified earlier to run it.
Download the zip file, and extract its contents to anywhere you want. Run "UnGoodMerge Front-End.exe". Select "browse" next to the "7z Files directory" text box, and select the directory that contains all the 7z files you want to work with. Then also browse for the "Output batch file", and choose the name of this batch file, such as "output.bat". This batch file is what you'll run later on to actually do the extracting and recompressing.
In the "Files" section, you can choose which of the 7z files in the directory specified above you will use. You'll probably want to select "all files".
The program uses tool-tips, so you can hover the mouse over options that you don't understand, and a brief description will come up. Select the desired options in the "filtering" section". (You'll probably want all of them enabled.)
Choose your compression type, and then choose whether you want to enable "automatically select single ROMs". When you start the program, after choosing the country codes that you don't want (such as (J) for Japanese ROMs -- see the GoodCodes link above), you'll be given a listing of the variants of each ROM within each 7z archive. If, after filtering out all the unwanted variants, there is only one ROM left in the list, that option will have it automatically selected, saving you time. There isn't really any loss to using that option, so it should be OK.
Here is a list of the country codes you'll want to type in once you click the start button, assuming you can only read English:
Code: Select all
(C)
(F)
(FC)
(FN)
(G)
(GR)
(HK)
(I)
(J)
(K)
(NL)
(PD)
(S)
(SW)
Hack)
If everything went well, then you can either quit the program or click "Run batch file". Keep in mind, though, that running that batch file will probably take a few hours, so you might want to leave it running while you're at school/work. If you aren't going to run it straight away using the "Run batch file" button, you'll be able to double-click the one you specified earlier to run it.
Last edited by Poobah on Mon Aug 14, 2006 12:05 am, edited 1 time in total.
Try this debug version and see what it says.
EDIT: I guess you'll just have to use the command-line program. Create a shortcut to UnGoodMerge.exe, right-click it, go to "Properties", and add the following to the "Target" section (after the quotation mark, with a space after it):Where X is the full path and filename to where you want the batch file to be created (such as C:\process.bat) and Y is the path containing the 7-Zip files (such as C:\Games\GoodSNES). Run this short-cut and everything should work. You'll still need to use the above instructions, but just skip the sections regarding the GUI.
EDIT: I guess you'll just have to use the command-line program. Create a shortcut to UnGoodMerge.exe, right-click it, go to "Properties", and add the following to the "Target" section (after the quotation mark, with a space after it):
Code: Select all
-a -cJMA "-oX" "Y\*.7z"
F:\out>UnGoodMerge.exe -a -cJMA "-of:\out\" "F:\FULL\*.7z"
Error: No input file names were specified.
Usage: UnGoodMerge.exe -oOutput [-a] [-d[t][l][o][v]] [-cZIP|-cJMA] input [...]
-o Specifies the output file name. Required.
Output The name of the batch file to be created and written to.
-a Automatically selects a ROM if it is the only variant available
after filtering.
-d Disables certain filters specified using the following letters:
t Filter files with unwanted tags, such as .
l Filter unwanted translated files.
o Filter old translations if newer ones are available.
v Filter old versions of new ones are available.
-c Sets the compression method to either ZIP or JMA. Omit this
switch to leave the files uncompressed.
input The 7z files to be input. Wildcards accepted.
... This indicates that multiple input file names are accepted.
Press any key to continue . . .
so what am I doing wrong ? and thare are 7z files in that dir
Error: No input file names were specified.
Usage: UnGoodMerge.exe -oOutput [-a] [-d[t][l][o][v]] [-cZIP|-cJMA] input [...]
-o Specifies the output file name. Required.
Output The name of the batch file to be created and written to.
-a Automatically selects a ROM if it is the only variant available
after filtering.
-d Disables certain filters specified using the following letters:
t Filter files with unwanted tags, such as .
l Filter unwanted translated files.
o Filter old translations if newer ones are available.
v Filter old versions of new ones are available.
-c Sets the compression method to either ZIP or JMA. Omit this
switch to leave the files uncompressed.
input The 7z files to be input. Wildcards accepted.
... This indicates that multiple input file names are accepted.
Press any key to continue . . .
so what am I doing wrong ? and thare are 7z files in that dir
F:\out>UnGoodMerge.exe -a -cJMA "-of:\out\go.bat" "F:\FULL\*.7z"
Please enter a list of country codes that aren't wanted.
All versions of files containing these country codes will be excluded, except
for ones that are translated or multilingual.
Enter one entry per line, and a blank entry to finish.
A common example is "(J)". You can also use other types of codes such
as "Hack)" (yes, without the first bracket in that case) or "(PD)".
> (j)
ok I got this far and then it stoped. I did the blank entry and then nothing.
Please enter a list of country codes that aren't wanted.
All versions of files containing these country codes will be excluded, except
for ones that are translated or multilingual.
Enter one entry per line, and a blank entry to finish.
A common example is "(J)". You can also use other types of codes such
as "Hack)" (yes, without the first bracket in that case) or "(PD)".
> (j)
ok I got this far and then it stoped. I did the blank entry and then nothing.
Did the program actually stop responding, or did it just not continue when you entered an empty line? If the latter was the case, then it may be fixed now. Otherwise, I'll have to look into it more.
The entries are case-sensitive, by the way, so you should use (J) rather than (j).
Do you think there's any chance you have any viruses on your computer? I'm completely dumbfounded about why my programs are producing strange results on your computer. Besides the error from the front-end program, if I run the same version of UnGoodMerge.exe on my computer, with the same arguments you used when it didn't work, it correctly reports the lack of a ".bat" file extension, while on yours it says it couldn't find any files. It only ever says "Error: No input file names were specified." if every argument begins with either a hyphen or a forward-slash.
The entries are case-sensitive, by the way, so you should use (J) rather than (j).
Do you think there's any chance you have any viruses on your computer? I'm completely dumbfounded about why my programs are producing strange results on your computer. Besides the error from the front-end program, if I run the same version of UnGoodMerge.exe on my computer, with the same arguments you used when it didn't work, it correctly reports the lack of a ".bat" file extension, while on yours it says it couldn't find any files. It only ever says "Error: No input file names were specified." if every argument begins with either a hyphen or a forward-slash.

I dl it again and the same thing happed. Bot to let you know my system is free of viruses and the program just not continued when I entered a empty line. The program did not say (not responding) at the top.
F:\out>UnGoodMerge.exe -a -cJMA "-of:\out\go.bat" "F:\FULL\*.7z"
Please enter a list of country codes that aren't wanted.
All versions of files containing these country codes will be excluded, except
for ones that are translated or multilingual.
Enter one entry per line, and a blank entry to finish.
A common example is "(J)". You can also use other types of codes such
as "Hack)" (yes, without the first bracket in that case) or "(PD)".
> (J)
> (j)
>
this is the out put and then nothing
but it does make sometheing the the go.bat after I close the program and here it is
@ECHO OFF
7za.exe > NUL
cls
IF ERRORLEVEL 9009 GOTO nosevenzip
nsrt > NUL
cls
IF ERRORLEVEL 9009 GOTO nonsrt
I am running
OS Name Microsoft Windows XP Professional
Version 5.1.2600 Service Pack 2 Build 2600
OS Manufacturer Microsoft Corporation
System Name X5Q2A9
System Manufacturer ECS
System Model K7S5A
System Type X86-based PC
Processor x86 Family 6 Model 8 Stepping 1 AuthenticAMD ~1659 Mhz
BIOS Version/Date American Megatrends Inc. 07.00T, 4/2/2001
SMBIOS Version 2.3
Windows Directory C:\WINDOWS
System Directory C:\WINDOWS\system32
Boot Device \Device\HarddiskVolume1
Locale United States
Hardware Abstraction Layer Version = "5.1.2600.2180 (xpsp_sp2_rtm.040803-2158)"
User Name X5Q2A9\E.J. McNaughton
Time Zone Eastern Daylight Time
Total Physical Memory 512.00 MB
Available Physical Memory 236.05 MB
Total Virtual Memory 2.00 GB
Available Virtual Memory 1.96 GB
Page File Space 1.22 GB
Page File F:\pagefile.sys
And the frontend does not work tryed it again
F:\out>UnGoodMerge.exe -a -cJMA "-of:\out\go.bat" "F:\FULL\*.7z"
Please enter a list of country codes that aren't wanted.
All versions of files containing these country codes will be excluded, except
for ones that are translated or multilingual.
Enter one entry per line, and a blank entry to finish.
A common example is "(J)". You can also use other types of codes such
as "Hack)" (yes, without the first bracket in that case) or "(PD)".
> (J)
> (j)
>
this is the out put and then nothing
but it does make sometheing the the go.bat after I close the program and here it is
@ECHO OFF
7za.exe > NUL
cls
IF ERRORLEVEL 9009 GOTO nosevenzip
nsrt > NUL
cls
IF ERRORLEVEL 9009 GOTO nonsrt
I am running
OS Name Microsoft Windows XP Professional
Version 5.1.2600 Service Pack 2 Build 2600
OS Manufacturer Microsoft Corporation
System Name X5Q2A9
System Manufacturer ECS
System Model K7S5A
System Type X86-based PC
Processor x86 Family 6 Model 8 Stepping 1 AuthenticAMD ~1659 Mhz
BIOS Version/Date American Megatrends Inc. 07.00T, 4/2/2001
SMBIOS Version 2.3
Windows Directory C:\WINDOWS
System Directory C:\WINDOWS\system32
Boot Device \Device\HarddiskVolume1
Locale United States
Hardware Abstraction Layer Version = "5.1.2600.2180 (xpsp_sp2_rtm.040803-2158)"
User Name X5Q2A9\E.J. McNaughton
Time Zone Eastern Daylight Time
Total Physical Memory 512.00 MB
Available Physical Memory 236.05 MB
Total Virtual Memory 2.00 GB
Available Virtual Memory 1.96 GB
Page File Space 1.22 GB
Page File F:\pagefile.sys
And the frontend does not work tryed it again
The program itself is written in C, but the front-end is made with VB, because I don't know a think about Win32 programming, and I can't stand MSVC, and I don't like C++. It does more work than it first might appear. The source is available here, if you're interested. (Maybe you can find what's going wrong, too.)paulguy wrote:something simple like that needs .NET framework? I could make this in QBASIC but it'd kindof suck tho and make all your files like superm~1.smc :/
EJmcn, try this special extra-verbose version of the program, and let me know what it says.