CyberBotX / SDATStuff

Tools for working with SDATs and NCSFs
17 stars 2 forks source link

NCSF/SDAT Utilities By Naram Qashat (CyberBotX) [cyberbotx@cyberbotx.com]

(If you need to email me, please include NCSF in the subject line.)

Special thanks to fincs for FeOS Sound System, as well as the DeSmuME team for their open-source Nintendo DS emulator.

2SF Tags to NCSF Version History

v1.0 - 2013-03-30 - Initial Version v1.1 - 2012-03-30 - Added option to rename the NCSFs, requested by Knurek. v1.2 - 2012-04-10 - Made it so a file is not overwritten when renaming if a duplicate is found. v1.3 - 2012-12-08 - Minor cleanup of PseudoReadFile to not use a pointer.

2SF to NCSF Version History

v1.0 - 2014-10-29 - Initial Version v1.1 - 2012-12-08 - Minor cleanup of PseudoReadFile to not use a pointer.

NDS to NCSF Version History

v1.0 - 2013-03-25 - Initial Version v1.1 - 2013-03-26 - Merged SDAT Strip's verbosity into the SDAT class' Strip function.

SDAT Strip Version History

v1.0 - 2013-03-25 - Initial Version v1.1 - 2013-03-26 - Merged verbosity of SDAT stripping into the SDAT class and removed the static Strip function from this.

SDAT to NCSF Version History

v1.0 - 2013-03-25 - Initial Version v1.1 - 2013-03-28 - Made timing to be on by default, with 2 loops.

These utilities are used to work with SDAT files from Nintendo DS ROMs. SDATs are created through the Nintendo Nitro/TWL SDK for the DS. NCSF is a PSF-style music format that uses the SDAT as it's "program".

Contains:

WINDOWS

For Windows, the binaries are included (these are command-line tools). If you do not already have it, you will need the Microsoft Visual C++ 2010 Runtime installed. You can obtain it here:

http://www.microsoft.com/en-us/download/details.aspx?id=5555

(NOTE: You will usually not require this runtime if you have Visual Studio installed, or if you plan on installing Visual Studio. But you will need it if you do not have Visual Studio installed.)

If you wish to compile these binaries under Windows yourself, you can do so with Microsoft Visual Studio. You must use version 2010 or later. If you do not have Microsoft Visual Studio, you can obtain the Express version of Microsoft Visual C++ from Microsoft, at:

http://www.microsoft.com/visualstudio/eng/downloads

You may use any Express version that is 2010 or later. Once you have Visual Studio installed, you need to open the SDATStuff.sln file. If using a version of Visual Studio later than 2010, you may be asked to upgrade the solution.

Of note, the utilities will not compile out of the box immediately. The zlib library is also required. zlib can be obtained from here:

http://www.zlib.net/

You need to download the "compiled DLL" version.

Once you have this, you need to modify the value of zlibRootDir in common\common.props. Just replace ZLIBFIXME with the directory to which you extracted the above file. Once this has been done, you can compile the solution.

UNIX-LIKE OPERATING SYSTEMS

For Unix-like operating systems, you will need to compile the utilities yourself. You will need a compiler that supports C++11, at the very least it's auto keyword and the new return value syntax. For GCC, version 4.6 and later will work. For Clang, nearly any version will work. You will also need the GNU version of Make. This will usually be installed as either "make" or "gmake" depending. To build the utilities, simply run "make" or "gmake" from this directory.