.SND Util is a program that edits .SND files made with iNES.  I used this program to create my Zelda MIDI pack.

Basically what it 's useful for is reading a .SND file, reporting the byte locations of the first and last few notes and ticks in the file, and then it chops notes off the beginning or end of the .SND file.  It can also convert .SND files into .MID files using a version of Marat Fayzullin's converting code modified by myself so that it actually works on a 16-bit compiled platform.  You can now convert .SND files to .MID in DOS without needing DPMI.

Using this program and iNES for Windows, an 8-bit NES emulator for Windows in my opinion is now obsolete in every way but the feature of .SND recording, you can play a NES game on your computer, record repeating background music (plus a few bytes before and after the repeating loop to make sure you've got all of it), chop off extra, unwanted notes from the beginning or end of the .SND file, and then convert the .SND into a MIDI file.

Why use SNDUtil to modify the .SND file instead of using a MIDI editor (which might well be programmed by a more experienced programmer/programming staff capable of writing many more features and easy interface and so forth) to edit the MIDI files?  Well, truth is, there's no really great reason.  Using SNDUtil, you are using a very portable program.  Also, by releasing the .SND files, you can show people the notes you recorded, what steps you took to remove extra notes (via a batch file log of the commands you use), and the resulting MIDI file.  This way, if anybody wants to question the accuracy of the file, a very clear record can be presented.

Beyond those two reasons, there's not much of a point to this program, which is why I didn't make it very polished up for public release.  I'll be completely honest: I don't care much about this program.  However, I figured that since I did make it, I'll release it to the general public so that if somebody else does want to use this program, it is available to them and they won't have to redo all the work themselves.

There are also a few other functions this program can do, such as eliminating one channel from a .SND file, or combining multiple .SND files into one file.  Some of the functions may not work.  This program is version numbered at 1.0 because it does everything it was originally meant to do perfectly well (that is, report what happens on each different "tick") and seems to satisfactory work on the other functions that I bothered to test.  Some of the other options used to work but due to major changes in the program, they may have discontinued their working status.  Just consider those functions to be "Beta".

Here's some of the online help it gives, so you can get a feel for what the program is capable of:

SNDUtil Test.Snd c-------Report number of channels.
SNDUtil Test.Snd s-------Give summary of 1st & last changes of each channel.
SNDUtil Test.Snd 2 T2----Runs SND2Mid Test.Snd T2 (T2 parm optional). See f
SNDUtil Test.Snd a T2 T3-Combines T3 to end of Test.Snd
SNDUtil Test.Snd b2 3 T2-Cuts all notes up to & including 1st use of channel 2.
SNDUtil Test.Snd e3 4 T2-Cuts last use of channel 3 and everything after.
SNDUtil Test.Snd el 2 T2-Cuts lots off end: Until it cuts from every channel.
SNDUtil Test.Snd bl 5 T2-Cuts lots off beginning until every channel gets cut.
SNDUtil Test.Snd k2 3 T2-Kills 1 note: Last 1 in channel 2. Or... (See Src)
SNDUtil SndU.Zip o help--Gives help on outputting source code to this program.

This program is available for download in the following forms:
MS-DOS Executable 69,778 bytes

Source Code Release

71,630 bytes

Note: If you are downloading the MS-DOS executable, you do not also need to download the source code seperately because the source code is included in the MS-DOS executable which is more than a K and a half smaller.