# $RCSfile: ReadMe.txt,v $
# $Revision: 1.5 $
# $Name: $
# $Date: 2009/12/07 11:32:06 $
# $Author: agibert $
Welcome to NDS2RM:Nintendo DS Simple ROM Manger !
This little shell script (BASH) is designed for automatize simple Nintendo DS ROM Management.
There is three modes available
------------------------------
- Test Mode (-T | --test):
In this mode, nds2rm will load rom data from dsrom.xml, scan the roms repository and finally report info and statistics about what would be done in correct mode. No file are modified.
- Correct Mode (-C | --correct):
In this mode, nds2rm will load rom data from dsrom.xml, scan the roms repository, perform action on rom files (extract / rename / compress) and finally report info and statistics about what have been done.
- dsrom.lst dump Mode (-D | --dsrom):
In this mode, nds2rm will load rom data from dsrom.xml, scan the roms repository and finally dump on stdout the dsrom.lst file.
This file is used by NinjaPass cards (http://www.ninjapass.com).
Repository structure
--------------------
The repository is minimally composed by two directory: roms and misc.
The rom directory is full of rom files. These file can be uncompressed (.nds) or compressed. Three compressors are supported: zip, rar and 7zip. Next to a nds2rm run, the rom file names and rom archive file names follow the RRFNFS 1.2 format. Before a nds2rn run, the rom file names must start with a number followed by a space.
In the misc directory, nds2rm is looking for the dat file: dsrom.xml. This file is comming from http://www.advanscene.com/offline/datas/ADVANsCEne_NDS.zip
RRFNFS 1.2: Rx3 Rom File Name Format Standard version 1.2
---------------------------------------------------------
nds2rm stores ROMs in a .nds file with a standardized file name format:
XXXX - NNNNNNNNNN (R=L1-...-Ln) [SS].nds
with
XXXX: id
NNNNNNNNN: name
R: region
L1-...-Ln: language list
SS: status (OK,KO)
nds2rm compresses each ROM file in an archive file with a standardized file name format:
XXXX - NNNNNNNNNN (R=L1-...-Ln) [SS] {CCCCCCCC} _FFFF_.ccc
or this form for a duplicate archive:
XXXX - NNNNNNNNNN (R=L1-...-Ln) [SS] {CCCCCCCC} _FFFF_-Y.ccc
with:
XXXX: id
NNNNNNNNN: name
R: region
L1-...-Ln: language list
SS: status (OK,KO)
CCCCCCCC: checksum
FFFF: fingerprint
Y: dup id
ccc: archive suffix (zip, rar, 7z)
Statistics explanations
-----------------------
Example:
run statistics:
1 roms set to OK
0 roms changed to OK
3560 roms kept to OK
0 roms set to KO
0 roms changed to KO
61 roms kept to KO
0 roms are renumbered
This details in term of status and renumbering what has been (or would be) done.
global statistics:
3600 roms are in dsrom.dat Number of entry in the XML dat file
3622 roms are found Number of ROMs found in the input repository
0 roms are ignored Number of ROMs ignored by the "max idx" option
3622 roms are proceeded Number of ROMs proceed (found - ignored)
22 roms are duplicated Number of ROMs with the same id and the same status
3561 total roms are OK Total number of ROMs which have the OK status
6 roms are dup OK Number of duplacted OK ROMs
3555 roms are OK Number of unique ROMs which have the OK status (total - duplicated)
61 total roms are KO Total number of ROMs which have the KO status
16 roms are dup KO Number of duplacted KO ROMs
45 roms are KO Number of unique ROMs which have the OK status (total - duplicated)
39 roms are KO not OK Number of unique ROMs which have the OK and not the OK status
6 roms are missing Number of missing ROMs (ROMs found in the dat file and not found in the repository)
The four more important numbers are:
3600 roms are in dsrom.dat
3555 roms are OK
39 roms are KO not OK
6 roms are missing
This means that on 3600 ROMs found in the dat file, 6 are missing in the repository, 3555 are found OK and 39 are found KO.
Command line help
-----------------
Path options:
-i | --repo_in <path>: input repository path (default: /opt/public/nds)
-o | --repo_out <path>: output repository path (default: /opt/public/nds)
Mode selection
-C | --correct: corect output repository
-T | --test: test input repository (default mode)
-D | --dsrom: dsrom.lst will be dumped
-h | --help: print this help and exit
-V | --version: print the version and exit
Global options
-m | --max <id>: maximum rom id to load from dat file (default: 9999)
-v | --verbose: switch on verbosity
-c | --compressor <c>: set archive compressor (zip, rar or 7z) (default: 7z)
Test and Correct Mode options:
-j | --jobs <jobs>: nuber of parallel jobs to run (default: 1)
-r | --rebuild: don't trust archive file name (test & correct mode)
rebuild archives (correct mode)
-n | --renum: try to renumber archives
--list_ok: list roms with ok status
--list_ko: list roms with ko status
--list_miss: list missing roms
Examples
--------
- nds2rm -T -i /opt/public/nds.new -o /opt/public/nds.new -m 3600 -n
it will ask nds2rm to tests the repository (/opt/public/nds.new) with renum option. Only the 3600 first roms will be used.
- nds2rm -C -i /opt/public/nds.old -o /opt/public/nds.new -m 3600 -n
it will ask nds2rm to create a new repository in /opt/public/nds.new by reading an existing one from /opt/public/nds.old. Only the 3600 first roms will be processed. The roms archive with the right name format (RRNF) will not be extracted / recompressed. If needed roms will be renumbered.
- nds2rm -C -i /opt/public/nds.old -o /opt/public/nds.new -m 3600 -r -n
it will ask nds2rm to create a new repository in /opt/public/nds.new by reading an existing one from /opt/public/nds.old. Only the 3600 first roms will be processed. The roms archive name format (RRNF) will not be trusted and systematically extracted / recompressed. If needed roms will be renumbered.
License
-------
NDS2RM is licensed under the GPL GNU Licenses.
For more information, please read the corresponding source file headers.
The license details can be found in the GNU-GPL.txt and GNU-FDL.txt files.
Enjoy it!
Your NDS2RM Team.
arnaud@rx3.net
http://www.rx3.org/dvp/?dvp=nds2rm