ÜÜÜÜÜÜ ÜÜ ÛÛ ÞÛ ÜÜÜÜ ÜÜÜÜÜÜÜÜ ÜÜÜÜ ÜÜÜÜÜ ÜÜÜÜ ÜÜÜÛ ÛÛ ÞÛ ÜÜÛÝ ÞÛ ÞÛ ÞÛ ÜÜÛÝ ÛÝÞÛ ÛÜÜß ÞÛ ÞÛ ÛÛÜÜÜÛß ÛÛÜÛÜ ÜÛ ÜÛ ÜÛÜ ÛÛÜÛÜ ÛÛÜÜÜ ÛÜÜÜ ÞÛÜÛÛÜ ÜÜÜÜÜ ÜÜ ÞÛÜÜÜÛ Ü Ü ÛÛ ßß ÜÜ ÜÜ ÞÛÜÜÜ ÜÜÜÜ ÜÜÜÜ ÜÜÜÜ ÜÜÜÜ ÛÛÜ ÜÜÝ ÜÜÜ ÜÜÜÜ ÛÛ ßÛÜÛß ÞÛ ÞÛ ÛÜÜß ÛÝ ß ÛÝ ÛÝ ÛÜÜß ÞÛ ÛÝ ÛÝ ß ßÜÜ ÛÛÜÜÛß ßÛÝ ÞÛÜÛß ÛÜÜÜ ÛÝ ÛÛ ÛÛ ÛÜÜÜ ÞÛÜ ÛÛ ßÛÜÜßÞÜÜÜÛ ÜÜß http://www.futureone.com/~damaged/ NES Image version 3.00 Copyright (c) 1996 John Pappas (DiskDude). All rights reserved. It is a crime to redistribute this software in a commercial venture of any kind without written permission or a licensing agreement. Please contact DiskDude via email for information on licensing. This package is freely distributable for private use, however DiskDude disclaims any damages which may result from the use or misuse of the software. DiskDude's email address is diskdude@gaianet.net Note: The latest version of NES Image can always be found on the World Wide Web residing on my site at http://gaianet.net/diskdude/ Contents: 1.0 Absract 1.1 Version history 2.0 The History of NES utilities 3.0 How to use NES Image 3.1 View .NES image information 3.2 Convert a .NES image to FFE's format 3.3 To split a .NES image to Pasofami's format 3.4 To join a Pasofami image to the .NES format 3.5 Edit a .NES header 3.6 Add/edit a title 3.7 Remove a title 3.8 How to batch convert .NES images 4.0 Compatibilities 5.0 Acknowledgements 6.0 Information required 7.0 Known bugs 8.0 Greets! 9.0 Registration < < < < < < < < < < < < < < < < < IMPORTANT!!!!!!!! 1.0 Absract ----------- This tool is designed to manipulate Nintendo Entertainment System (NES) images which were backed up using a console backup system. It will convert between the following formats: - .NES or iNES - Pasofami - FFE The .NES format is becoming the standard for images and was designed for the iNES Nintendo emulator by Alex (Landy). Many people think that Marat wrote it, however he did not. It was Alex - Marat merely improved and ported the code to other operating systems (That's not to say Marat didn't do any work!). Pasofami, another Nintendo emulator has its own image format however due to the fact that it requires the image to be split into many files (including image information and image title files), it isn't very popular (in my opinion anyhow). FFE's image format is very similar in design to the rest its family of backup systems, consisting of a standard 512 byte header to the images. A NES cartridge usually consists of a "program" or PRG ROM and a "character" or CHR ROM (also sometimes RAM). The PRG ROM, as you might have guessed is where the actual code of the game is stored. It has a maximum density of 4 Megabits. The CHR ROM (or RAM) is where sprite information is stored. Most larger games (usually 1Mbit or bigger) do not have the CHR ROM/RAM which implyes that the sprite information is stored in the PRG ROM. NES Image can accomodate both types - if a CHR ROM image is not found, NES Image will not complain, but assume it isn't needed. NES Image is now CARDWARE. See section 9.0 Registration for more information. 1.1 Version history ------------------- Inital version (no version number was specifyed) - Source code was released! - Support for *.ROM and *.VID to *.NES was added. Version 0.9 - Added support for FFE and Pasofami. - Added support for titles in .NES and FFE images. - Added support to remove titles from images. - Added support to convert image format .NES <-> FFE. Version 0.91 - Totally new re-write because v0.9 code was very messy. - Auto-detects format of an image file, regardless of extention. (The Pasofami format requires the extentions are standard *.prg, *.chr, *.prm and *.nam however) No extention? Specify the filename as "mario.". - Removed title flag bit in header - NES Image detects titles automatically. - Added a new option! You can now add/edit a title embeded within an image. - Encrypted the secret message within NES Image because MindRape thought he was clever and just used a hex editor to view it. Now lets see if you can find it Donald! :> Version 0.91c - Should read Pasofami images properly now. - *.prm flag added for battery backup (hope it's right!). - Bank mode nibble for .NES header fixed. - Size detect of Pasofami CHR image fixed. Version 1.00 Version 2.00 - Skipped because MindRape released his own "NES Image" versions 1.xx-2.xx People still thought that it was the latest (which wasn't). Version 3.00 (beta) - Added new bank modes for the .NES image format. - Fixed a little mistake where the title string in the FFE format wasn't placed in the file where it should've been. If you've added a title with a previous version, it is now missing its first character... Sorry! :) Version 3.00 - Fixed a bug... I thought the biggest CHR ROM was 32kbytes. Before NES Image said it couldn't find the file when it was >32kbytes. Now it will allow for image sizes up to 4Mbits. - NESImage is now CARDWARE. 2.0 The History of NES utilities -------------------------------- As you might have guessed, NES utilities haven't been around for a very long time. As far as I know, the first person to write a console utility specifically for the NES was Donald Moore (MindRape) of Damaged Cybernetics. It was called BreakNES which simply took PRG and CHR images and joined them into a .NES file. At first, it seemed very crude as it only supported one image size. I then decided to write my own utility - NES Image. Since then, Donald improved his BreakNES and renamed it, strangely enough, to NES Image! Well, let me explain at this point in time that since then, he has agreed to rename it back to BreakNES to allow my continued development of NES Image... but he never did. :( Why am I telling you this? You may be startled at the different versions of NES Image circulating around the world (especially via the Internet) and some people may be unsure of which one is which - NES Image by Donald was at version 2.1c at the time of writing, whereas the original NES Image hadn't passed its version 1.0 release - this is why NES Image is now in its version 3.00, skipping version 2.xx altogether. 3.0 How to use NES Image ------------------------ I was quite surprised to find that some people on the Internet were confused on how to use the first version of NES Image which was released some time ago. A small document was written and posted to some World Wide Web page explaining its usage... it was *very* surprising let me tell you! :> Anyway, the basic concepts are below. An example is given and it is assumed that the file "mario.nes" contains a copy of Super Mario Bros. Usage: NESimage [v|c|s|j|e|a|r] [filename] v - View image information (default) c - Convert a NES image to FFE and vice versa s - Split a NES image to Pasofami format j - Join a Pasofami image to NES format e - Edit a NES header a - Add/edit a title r - Remove a title 3.1 View .NES image information ------------------------------- NESimage v mario (.nes is assumed) NESimage v mario.nes NESimage v mario.ffe NESimage v mario.prm .NES images contain information such as: - The title of the game (see "compatibilities" below) - The size of the whole image and seperate PRG/CHR images - If the image uses vertical or horizontal mirroring - If the image uses a battery backup - If the image has a 512 byte trainer - The type of bank switching the image uses This function will display this information, extracted from the image's header. 3.2 Convert a .NES image to FFE's format ---------------------------------------- NESimage c mario (.nes is assumed) NESimage c mario.nes A file will be created called "mario.ffe" which is in FFE's standard format. To go backwards, you type: NESimage c mario.ffe Now the a file called "mario.nes" will be created. Note: this file will NOT be the same as the original file "mario.nes" because not all file formats are 100% compatible. See "compatibilities" below. 3.3 To split a .NES image to Pasofami's format ---------------------------------------------- NESimage s mario (.nes is assumed) NESimage s mario.nes The following Pasofami files are created, ready for use with the emulator: mario.prg mario.chr mario.prm mario.nam (if applicable - see "compatibilities" below) 3.4 To join a Pasofami image to the .NES format ----------------------------------------------- NESimage j mario (.prm is assumed) NESimage j mario.prm The resulting file is mario.nes. If NES Image finds the file "mario.nam", which contains the title of the game (or who distributed it :>), then it will be stored into the new "mario.nes" file. 3.5 Edit a .NES header ---------------------- NESimage e mario (.nes is assumed) NESimage e mario.nes As stated previously, .NES headers contain some information about the ROM image in its header. This will allow you to edit this information - it is provided as a tool for people who know what they are doing as it effects how the Nintendo emulator "iNES" processes the image. 3.6 Add/edit a title --------------------- NESimage a mario (.nes is assumed) NESimage a mario.nes NESimage a mario.ffe NESimage a mario.prm As an extension to the standard .NES and FFE headers, NES Image embeds the title information which a Pasofami image may use. This does not effect the usage of the image file in the iNES emulator or the SmartCard backup device. This command allows you to add a title if one is not present in an image, or edit the title which is currently present within the image file. 3.7 Remove a title ------------------ NESimage r mario (.nes is assumed) NESimage r mario.nes NESimage r mario.ffe NESimage r mario.prm If an image contains a title, you may use this command to remove it. Once removed, it is gone forever. 3.8 How to batch convert .NES images ------------------------------------ This is a handy tip if you've got a few hundred Pasofami images in a directory, but you don't want to sit there for hours converting each file individually so you can play them on your brand spanking new iNES emulator. All you have to do is make a batch file like the following: rem [start of go.bat] @echo off echo. echo Covnerting all Pasofami images to to .NES format... FOR %%t IN (.\*.prm) DO nesimage j %%t echo. echo Deleting non-converted images... del *.prg > nul del *.chr > nul del *.nam > nul del *.prm > nul del *.set > nul echo. echo Complete. rem [end of go.bat] Put this file in the same directory as your Pasofami images and type "go" to start the mass conversion. Due to the way Borland wrote their crt unit in Turbo Pascal, having a "> nul" after "nesimage j %%t" has no effect - which slows the conversion down because it must write to the screen. If there are enough requests for a "quiet" switch (to turn off writes to the display) then I will do so... For now, you will just have to wait an extra 10 seconds or so. :> 4.0 Compatibilities ------------------- The images NES Image creates are completely compatible with those created by the previous version or Donald's BreakNES. However, this version of NES Image extends the .NES and FFE formats considerably. NES Image has the ability to embed the title information into a .NES file without having an effect on it when used with the iNES emulator. How does it do this you ask? It places a maximum 128 byte title area at the *end* of the image - which iNES ignores. As for the FFE header, it consists of 512 bytes - only 4-5 are actually used! 128 bytes are used for title information - the last 128 bytes of the 512 byte header. 5.0 Acknowledgements -------------------- - Landy/Marat for the format of the .NES header (from the official iNES web page) 6.0 Information required ------------------------ - Format of the NES Game Genie codes This will allow NES Image to "patch" a NES image with a Game Genie code, similarly to the way CartDisk patches SNES images with Game Genie, Gold Finger and Action Replay codes. The cheat is then made permanent and usable on a backup system or emulator. - Complete format of Pasofami's .prm file format. I have the information MindRape gave me which was translated from Japanese by EFX, however I'm a bit hesitant in including this into NES Image at the present stage - I would like a "second opinion" first. :> - Proper format of the first two image size bytes in the FFE header 7.0 Known bugs -------------- The following are known bugs present in NES Image 3.00: - FFE header format not 100% correct - Pasofami *.prm format only about 50% correct Please report any bugs you may find or "features" to DiskDude via email: diskdude@gaianet.net Make sure you include a small description of what the problem is, a directory listing of all the files where you typed the command and the command itself. To write the directory listing to a file, type "dir > dir_list.txt". Please attach this in the email otherwise I am unable to recreate the bug, hence fix it for any future release. It's amazing to see just how many people do not do this - perhaps no-one reads my documentation..... :( 8.0 Greets! ----------- A BIG G'day to the following people: * Landy - Keep iNES-DOS coming! * Mindrape - Get some sleep once in a while man! * P. Grey - HUUUUUGE thanks for all those datasheets! * LordViper - Man are they small! * MadHatter - Didn't expect to see this did you? :) * anyone else I forgot who I usually talk to on IRC or via email. By the way, there's a hidden message embeded within NES Image - see if you can find it! :> Hint: you must specify three command line arguments to see it. 9.0 Registration ---------------- This version of NES Image is the product of many hours of work and contains almost 900 lines of code (This document is almost 400 lines by itself!). If you use it and/or like it, I request only one thing of you. That is, to register it with me by sending a PostCard of your beautiful city/town/country to the following address: John Pappas PO BOX 48 Coburg 3058 VIC, AUSTRALIA Please include a statement of the weather and that you sent it for the registration of NES Image. Thank you for your kind support! DiskDude of Damaged Cybernetics (diskdude@gaianet.net) [EOF]