 ----------------------------------------------------------------------------
    tniNES v2.6 (1 Sep 1998)                          By Patriek Lesparre
    an iNES ROM-Imagetool                          (c) The New Image 1998
 ----------------------------------------------------------------------------

         Do NOT ask me for ROM images! Such requests will be ignored.

 I do NOT accept ANY responsibility for ANY damages this program might cause.


 About
 -----
 tniNES is a freeware MS-DOS program to edit and otherwise manipulate NES
 ROM-images in iNES-format (.NES files), used by emulators like iNES,
 NESticle and fwNES.

 There are other programs to edit the iNES header, but none have the
 capabilities or interface I like to see. What's more, many tools leave a tag
 in the reserved space of the iNES header, a space which the iNES v0.7
 specification partially uses. Thus, many .NES files treated with these tools
 cause problems when using with an iNES v0.7 headercompatible emulator.

 tniNES has grown very powerful, if I may say so. I think it will prove to be
 useful to everyone, from gamers to hackers, from collectors to programmers.

 As the iNES ROM-Image standard may expand one day, tniNES takes special care
 not to change any currently unused bit, so no data will be lost. Ofcourse, I
 will try to keep tniNES up-to-date, but if you don't do anything stupid, you
 can use this version forever.


 How to use
 ----------
 The usage of this program is simple:

 TNINES [command[subcommand(s)]] [[drive:][path]filename]
 or
 TNINES [[drive:][path]filename] [command[subcommand(s)]]

 Wildcards (* and ?) are supported in the filename and even in the last
 directory of the path! If no file-extension is given, .NES is assumed.

 command:  -c   Check and repair the header and filesize, afterwhich you can
                edit the header. (default)

           -d   Check for duplicate ROM and VROM pages. You can truncate the
                file, then a back-up (.BAK) will be made.

           -e   Edit the header.
                You will directly enter Edit-mode. The headerintegrity will
                not be checked.

           -j   Join .NES file.
                If a .HDR file is present: reconstruct a .NES file from
                .HDR, .PRG and if applicable .TRN, .CHR and .FTR files.
                If there's no .HDR file: create a .NES file with an
                appropriate header from .PRG and if existant .TRN, .CHR and
                .FTR files, after which the Header can be edited.
                (You can convert PasoFami files to .NES files this way!)

           -s   Split .NES file into files with the following extensions:
                .HDR (Header), .PRG (ROM pages) and if applicable:
                .TRN (Trainer), .CHR (VROM pages), .FTR (Footer).

 Command-specific subcommands:
        -c: e   Identical to -c, but you won't be asked if you want to edit
                the header.

        -d: a   Identical to -d, but files are truncated without asking.

        -j: h   Apply .HDR file to .NES file.
            t   Apply .TRN file to .NES file. If the header specifies that no
                Trainer should be present, extra space will be created.

        -s: h   Split .HDR file from .NES file.
            t   Split .TRN file from .NES file.
            p   Split .PRG file from .NES file.
            c   Split .CHR file from .NES file.
            f   Split .FTR file from .NES file.

 General subcommands:
            b   No back-ups will be made.
            q   Automatically answer "no" to all questions. (No is always a
                safe answer to give to questions/warnings, it never changes
                a file.)
            w   Wait for a keypress before proceeding with the next file when
                using wildcards.

 You can also use '/' in stead of '-'.
 Subcommands can be combined.

Examples:
 TNINES ZELDA                   Check/repair and edit the header of ZELDA.NES
 TNINES -dab NESROMS\*          Checks for duplicate (V)ROM banks in all .NES
                                files in the NESROMS directory and truncates
                                them without asking, without making back-ups.
 TNINES -s KIRBY.NES            Split KIRBY.NES.
 TNINES MARIO.HDR -e            Edit the headerfile MARIO.HDR
 TNINES D:\*\*.* -cweq          View (because of the q command) the headers of
                                any and all files in drive D and wait for a
                                keypress between them.

 The functioning of the rest of the program should speak for itself.


 History
 -------

 v2.6   1 Sep 1998
        - Added support for the VS Unisystem.
        - Added support for even more fwNES mappers.
        - Added support for path and filename with wildcards! (You can now
        process all files in the entire drive or directorytree! ^_^
        - Added subcommands, read the 'how to use' for details.
        - Lots of internal and external changes.
        - Changed -m command to -j.
        - Bugfix: When splitting a file with a footer, a far too large file
        would be output. (I haven't tested this behaviour, but fixed it
        anyway ;)
        - Bugfix: When joining a .NES file without .CHR, lotsa stuff would go
        kinda wrong.
        - Bugfix: When saving a headerfile, any changes to the number of
        ROM/VROM pages weren't saved.
        - Bugfix: When truncating a file in a directory other than the
        current, it would be moved to the current directory. Back-ups would
        also be made in the current directory.
        (This should be the last of those stOOpid bugs. Knock on wood ^^;)

 v2.3   7 Mar 1998
        - Added support for the new fwNES mappers.
        - When editing a headerfile, the number of ROM/VROM pages can be
        altered.
        - Reduced program size (by using compacter code and compression).
        - Filtered out ASCII controlcodes when displaying the reserved space
        of the header.
        - Improved the user interface in the header editing.
        - Bugfix: When truncating a file with a footer, a far too large file
        would be output.

 v2.1   16 Dec 1997
        - Added commands for splitting and reconstructing/creating (making)
        of .NES files - effectively allowing for PasoFami -> .NES conversion!
        - Added tolerance for other extensions than .NES - you can now edit
        a .HDR file!
        - Added improved support for a Footer to a .NES file.
        - Added better errorhandling/prevention.
        - Major bugfix: When editing a header with Battery RAM, Mirroring or
        4-Screen Layout turned on, these settings couldn't be turned off.
        (Stupid STUPID bug! ^^;)
        - Changed the use of colors. I like it better now :)

 v2.0   16 Nov 1997
        - Added checking for filesize and duplicate ROM and VROM pages. (This
        makes use of the truncation routine :)
        - Added a routine to truncate the file according to specified
        parameters.
        - The routine that does the headerjunk removal is even more
        intelligent now.
        - Added commandline commands.
        - Small bugfix: After adjusting the mapper during headerjunk removal,
        the old (wrong) mapper would be displayed when entering Edit-mode.

 v1.0   6 Sep 1997
        - Initial release.


 Contacting information
 ----------------------
 tniNES homepage: http://huizen.dds.nl/~patriekl/tniNES.html

 If you have any questions, comments or suggestions, send e-mail to
 patriekl@dds.nl, but (once again) requests for ROMs will be ignored.

 Enjoy!

