[iNES Header/Format Information File]
[Version 2.2 Compiled on 1/4/99]
[VmprHntrD - New Nick & Email address withheld]


NOTE: This document is on the iNES/FWNES98 format and is almost totally done.
I still need to add some little tidbits as the iNES format is updated.  Please
do not modify this document in any way without MY prior consent.  If you wish
to add to this please talk to me through e-mail, or in the evenings on the IRC
- EFnet, in the channel #emu.  [I'm an OP in there.]  I use a new nick now,
and don't wish to give it out, ask for me under my old nick I may respond, or
someone there will point me out if I'm away.  Sorry but I just don't like to
do some of what I used to and what got tied to that old name.  PLEASE IF YOU
DO FIGURE IT OUT DON'T POST IT ON WEBPAGES, ETC. USE THE OLD NAME AT THE TOP
OF THIS DOCUMENT, THANK YOU.  There's a hint though in this text somewhere to
who I now am, so if you like play my guessing game and figure it out. =)

<Personal thanks goes to:>
* Conjurer which for some reason with a related request inspired me to not to
  discontinue this list with v2.1.
* Zophar for help with some math and errors.
* FanWen for the greater extension of the iNES Extended Header format and all
  the associated work along with it, and especially for NES Emulator called
  FWNES98.  It's a next to perfect NES Emulator, keep up the great work!
* Groups like Damaged Cybernetics, GitM, NPS, Vertigo 2099 and more that have
  in one way or the other brought us the games this guide pertains to.
* Anyone who has ever e-mailed and/or talked to me in IRC that assisted in the
  fixes and upkeep of this guide.
* And thanks to all the loyal readers that actually care about this document
  and what I have to say here.


[Table of Contents]___________________________________________________________

Section 1 .Known HEXidecimal Values of the First 8 Bytes of the NES/FDS Header
Section 2 ................... The Seventh and Eighth Bytes' HEXidecimal Values
Section 3 .........................Those Many Mysterious Mappers Now Supported
Section 4 .................................. HEXidecimal Values of the PRG/CHR
Section 5 ........................ Miscellaneous Information on the NES Format
Section 6 ......... Let's Get Cracking on Prepping Your RAW/FFE/PasoFami Image
Section 7 ......... Information (Recommended Tools for Converting iNES Images)
Section 8 ...... UPDATES (The History of the iNES Header/Format Documentation)


[Sect.1 - Known HEXidecimal Values of the First 8 Bytes of the NES/FDS Header]

...Those FIRST (8) bytes of your NES, or to be a NES file...

(Bytes 0->3 MUST BE What is stated below.)

0 = 4E (N)
1 = 45 (E)
2 = 53 (S)
3 = 1A (Character Break, necessary!)

(Bytes 4->8-15 Can BE MODIFIED!)

4 = PRG (Hex number depends on size of PRG file)-/-- (See Sect. 4)
5 = CHR (Hex number depends on size of CHR file)/
6 = Mapper 0-15/ V or H Mirroring, Battery, 4 Screen VRAM, Trainer Switches
    Also is used as the "Ones" place holder digit for the extended iNES Header
    format. (See Sect. 2)
7 = Mappers 16-?, the extended iNES Header format "Tens" place holder digit.
    Again (See Sect. 2 for details on how this is set up.)

8->15 = Not used at this tume but MUST BE ALL ZEROS or games will not work.

NOTE: Now that there is a fully established Extened iNES Header Format set up
      gracefully by FanWen and Marat Fayzullin ALWAYS leave in games that do
      not use over mapper 15 blank in bytes 8->15 or the games WILL NOT WORK!

* FWNESS FDS Support NOTE *
As of FWNES98 v.300+ there has been Famicom Disk System support.  To make sure
that it works right for bytes 6->15 of the game header leave it all 00's or it
will NOT WORK.  All that is needed is a Famicom Disk System BIOS file, which
is NOT included, and I can't give you it either.

(The .FDS Header Contents)

0 = 46 (F)
1 = 44 (D)
2 = 53 (S)
3 = 1A (Character Break, necessary!)

(Byte 4) - Number of Sides to FDS Disk(s)

4 = 04 (4 Sided disk)  The 04 changes per amount of disk(s) side(s).

Above the example being used is Super Mario Bros. 2(Known as Super Mario Bros.
the Lost Levels to Americans in the SNES game Super Mario Allstars)

(For Easy Conversion purposes, one side of a FDS disk is 65500 bytes of data!)
The correct file sizes for FWNES's .FDS support then is as follows:

1 sided game = 16+65500 = 65516
2 sided game = 16+65500 X 2 = 131016
4 sided game = 16+65550 X 4 = 262016

* If you wish you can convert .DKA(Pasofami), .FAM(Famicom), and .FF3(Far
  Front East) files to the .FDS(FWNES) format with a tool included in it named
  2FDS.EXE.
  Use it, but use it wisely as the real file will give life, the other will
  take it away.  (Indiana Jones and the Last Crusade plug/pun intended.) =)

(Bytes 5->8-15 CAN NOT BE MODIFIED!) <-- Reserved leave as 00's


[Sect. 2: - The Seventh and Eighth Bytes' HEXidecimal Values]_________________

Byte 6 in a hexeditor will look something like this:

        59 <---This is for CastleVania III: Dracula's Curse

(The "5" is the mapper number, the "9" stands for Vertical Mirroring AND 4
Screen VRAM ON!) -- See below for all the possible values!

Byte 7 in a hexeditor will look a little different, something like this:

        * 1->F/0<---Only the first part is used in coorilation with the first
                    part of byte 6 above. *READ BELOW FOR EXAMPLE!*

*Famicom Disk System Format Design*

This has got to be the easiest setup yet for a Nintendo/Famicom file yet.  In
this setup contributed by Fanwen for FWNES98 v.300+ there are simple single
files with the extension of .FDS, and unlike the Pasofami with its .DKA, etc
system the files are all in one.  The header for these is quite simple as well
which just consists bytes 0-3 reading (FDS Character Break) and the rest as
00's the emulator itself will handle the rest with no more information needed.
Also unlike Marat's format as you are probably thinking about since it's on
Mapper 20, Fanwen's has NO mapper, less fuss, no muss.

*Extended iNES Header Format Design*

Basically in this extended design the 7th byte is used to implement mappers of
16 and higher designed by FanWen, thought Marat likes to think he made it up.
It does this through a hexidecimal conversion of the actual mapper number.  In
my example I'll use Mapper 69 with a vertical switch(1).

Example: Mapper 69 = 4E in hexidecimal...

Therefore in the new iNES Extended Header format this is how bytes 6 and 7
would look in hex and work together.

Example:
Bytes=> 0       1       2       3       4       5       6       7
        N       E       S       ^Z      PRG     CHR     MAP/SW  MAP/0(always)
        4E      45      53      1A      10      20      E1      40

* See above that the ONES DIGIT (E) is in the 6th byte, and the TENS DIGIT (4)
  is the first half of the 7th byte.  But be advised that the second half of
  the 7th byte in hex HAS TO ALWAYS BE 0 (zero)!

*AND NOW FOR THE BAD NEWS FOR "YOU"*

Considering iNES has set the standard for "Mapper Compatibility" we are faced
with a new problem ...CONVERSION.  We must convert the current games to the
new format which is very TIME CONSUMING because of the iNES Header Editors out
there that insert extra garbage into the header.  Therefore let's get to
FIXING YOUR GAMES for the new "Extended iNES Header Format":

* First get out your hexeditor and move over to the eighth byte.  For example
  lets use the NESimage(an old NES header editing tool) tag of: "DiskDude!"
* On the 7th byte it will be covered by the "D", to make your game a "clean"
  image you must on the hexidecimal side put a double zero "00" through bytes
  7-15, then save it.
* Be very careful doing so, if you hit the first byte of the game, its DEAD if
  you aren't paying attention and save it...you've been warned.
* If you can find a program on the internet called "NESFIX.EXE" this will do
  all the tasks above in a fraction of the time of doing it manually.  Ask
  around a few people will be able to get it to you.
* NOW your games will work in FWNES98 and iNES v0.7+

[Below are the current possibilities for the second figure of the 6th byte.]

This part of the byte is the place you setup the game to use, or not use
Horizontal or Vertical mirroring, Battery Backup, 4 Screen VRAM, and a built
in Trainer.  Below are the different combinations of all the listed options
in HEXidecimal format.

0 = H (Horizontal Mirroring ONLY)
1 = V (Vertical Mirroring ONLY)
2 = H + Bat. (Horizontal Mirroring + Battery ON)
3 = V + Bat. (Vertical Mirroring + Battery ON)
4 = H + Train. (Horizontal Mirroring + Trainer ON)
5 = V + Train. (Vertical Mirroring + Trainer ON)
6 = H + Bat. + Train. (Horizontal Mirroring + Battery and Trainer ON)
7 = V + Bat. + Train. (Vertical Mirroring + Battery and Trainer ON)
8 = H + 4scr. (Horizontal Mirroring + 4 Screen VRAM ON)
9 = V + 4scr. (Vertical Mirroring + 4 Screen VRAM ON)
A = H + Bat. + 4scr. (Horizontal Mirroring + Battery and 4 Screen VRAM ON)
B = V + Bat. + 4scr. (Vertical Mirroring + Battery and 4 Screen VRAM ON)
C = H + 4scr. + Train. (Horizontal Mirroring + 4 Screen VRAM and Trainer ON)
D = V + 4scr. + Train. (Vertical Mirroring + 4 Screen VRAM and Trainer ON)
E = H + Bat. + 4scr. + Train. (Horizontal Mirroring + Battery, 4 Screen VRAM,
    and Trainer ON)
F = V + Bat. + 4scr. + Train. (Vertical Mirroring + Battery, 4 Screen VRAM,
    and Trainer ON)


[Sect. 3: - Those Many Mysterious Mappers Now Supported]______________________

Below is the current possibilities for the all the supported mappers.

NOTE: The format for this graph is taken from the FWNES98 doc to give you a
      better example of what each mapper is and runs...  I would personally
      like to thank Marat Fayzullin, Yang FanWen, Y0SHi, and anybody else I
      left out that assisted in the adding of these new MAPPERS!

NOTE: As of FWNES98 v.300+ there was full Famicom Disk System support added,
#2    which is for the games, extra sound, microphone, etc.  Anyways FWNES98
      uses the extension .FDS for these games and does NOT use Mapper 20.  It
      uses a standard header with 00's through the mapper, the program itself
      will handle the FDS emulation.

* 74 * Mappers now supported thanks to FanWen and FWNES98 as of v.302!

Mapper Name                       Examples (Game Names, etc.)
______________________________________________________________________________

0      No Mapper                  All 32kb ROM + 8kb VROM games like Super
                                  Mario Bros, Balloon Fight, Slalom, etc.
1      Nintendo MMC1 Chipset      1942, Bomberman II, Mega Man II, etc.
2      ROM (PRG) Switch           Konami games like CastleVania and Stinger.
3      VROM (CHR) Switch          Twin Bee, Q*Bert, and many japanese games.
4      Nintendo MMC3 Chipset      Super Mario Bros 2 & 3, Silver Surfer, etc.
5      Nintendo MMC5 Chipset      CastleVania III: Dracula's Curse
6      FFE F4XXX Games            F4XXX Games off the FFE CD-ROM
7      32kb ROM (PRG) Switch      Wizards & Warriors, Marble Madness, etc.
8      FFE F3XXX Games            F3XXX Games off the FFE CD-ROM
9      Nintendo MMC2 Chipset      Mike Tyson's Punch-Out!!, and Punch-Out!!
10     Nintendo MMC4 Chipset      Japanese Punch-Out!!, and japanese games.
11     Color Dreams Chipset       Crystal Mines, Tagin' Dragon, Babyboom, etc.
12     FFE F6XXX Games            F6XXX Games off the FFE CD-ROM
15     100-in-1 Cart Switch       100-in-1 Multicart Switch

Below are all the Extened iNES Header Format Mappers which is included in the
FWNES98 NES Emulator which supports way beyond iNES v0.7+.
* Read above in Section 2 on how to implement Mappers 16 and up in FWNES/iNES.

16     Ban Dai Chipset            Japanese: Dragon Ball Z, Gaiden etc.
17     FFE F8XXX Games            F8XXX Games off the FFE CD-ROM
18     Jaleco SS8806 Chipset      Japanese: Jaleco's Sport Series
19     Namcot 106 Chipset         Japanese: Famista 90-92, Megami Teisen 1-2
*20*-> Famicom Disk System(iNES)  Reserved for the Disk System, DON'T USE IT!
21     Konami VRC4 2a Chipset     Japanese: Wai Wai World2, Goemon Gaiden 2
22     Konami VRC4 1b Chipset     Japanese: Twinbee 3, etc.
23     Konami VRC2b Chipset       Japanese: Wai Wai World, Kid Dracula, etc.
24     Konami VRC6 Chipset        Japanese: CastleVania 3j, MADAKAJ, etc.
25     Konami VRC4 Chipset        Japanese: Konami Baseball, Gradius 2, etc.
26     Konami VRC6V Chipset       Japanese: Madara and Esper Dream.
32     Irem G-101 Chipset         Japanese: Image Fighter 2, etc.
33     Taito TC0190/TC0350        Japanese: PonDoKoPon, Bubble Bobble 2j, etc.
34     Nina 1 (PRG) Switch        Japanese: Impossible Mission, Deadly Towers
48     Taito TC1090/RC0350        Japanese: Flintstones
64     Tengen Rambo-1             Klax, Shinobi, Skull and Crossbones
65     Irem H3001 Chipset         Japanese: Mr. Love, Mr. Big Hammer, P-Man2
66     74161/32 Chipset           Japanese: Dragonball 1, BioWarrior DAN
67     Sunsoft Mapper 3           Japanese: Fantasy Zone 2J
68     Sunsoft Mapper 4           Japanese: Afterburner 2
69     Sunsoft Mapper 5           Japanese: Batman Return of the Joker J
70     74161/32 Chipset           Japanese: Kamen Rider Club, Saint Seiya, etc
71     Camerica Mapper            Firehawk
72     Jaleco Early Mapper #0     Japanese: Jaleco TennisJ, Pinball Quest J
73     Konami VRC3                Japanese: Salamander
74     Taiwan MMC3 -Varient       Japanese: Kid Niki 3J(Hacked)
75     Jaleco SS805/Konami VRC1   Japanese: Jaleco BaseballJ, Ganbare Goemon1J
76     Namco 109 Chipset          Japanese: Megami TenshiJ
77     Irem Early Mapper #0       Japanese: Naporeon Senki, Holy Diver
78     74161/32 Chipset           Cosmos Carrier
79     Amer. Video Entertainment  F-15 City War, Krazy Kreatures, Trolls
80     Taito X-005 Chipset        Japanese: Demon Sword
81     Taito C075 Chipset         Japanese: Unknown
82     Taito X1-17 Chipset        Japanese: Unknown
83     Cony Mapper                Japanese: Garbo Dentsu
84     PasoFami Mapper!           Japanese: (.500 .MOD) Supported
85     Konami VRC7                Japanese: Tiny Toon Adv2J, Lagrange Point
86     Jaleco Early Mapper #2     Japanese: More Pro Baseball
87     74161/32 Chipset           Japanese: Hyper Sport MT
88     Namco 118 Chipset          Japanese: Devil Man J
89     SunSoft Early Mapper       Japanese: MitoKuomon
90     HK-TK2(Pirate Cart Switch) Japanese: Samurai Spirits 2, MK3, Tekken 2
91     KH-SF3(Pirate Cart Switch) Japanese: Street Fighter II Pro
92     Jaleco Early Mapper #1     Japanese: Moe Pro Soccer, Moe Pro Baseball88
93     74161/32                   Japanese: Fantasy Zone
94     74161/32                   Japanese: Senjono Okami
95     Namco 1??                  Japanese: Dragon Buster
96     74161/32                   Japanese: Anpanman no Hiragana Daisuki
97     Irem 74161/32              Japanese: Kaiketsu Yanchamaru, Crazy Climber
100    MMC3/Trainer/Buggy Mode    USED FOR HACKED ROMS!!
112    PC-Asder                   Haung-Di
113    PC-Sachen/Hacker           Majong Champion, Metal Fighter, etc
114    PC-Supergames              Lion King
115    PC-CartSaint               Yuuyuu
116    PC-Reserved                AV Beauty Fighting
117    PC-Future                  Sangokushi 4 (clone of "Warrior of Fate")
118    ?????                      Alumagiko J
119    TQROM                      High Speed, Pinbot
122    74161/32                   Madoola No Tsubasa
225    58/64-in-1 Cart Switch     58/64-in-1 Multicart Switch
226    72-in-1 Cart Switch        72-in-1 Multicart Switch
227    1200-in-1 Cart Switch      1200-in-1 Multicart Switch
228    Action 54 Cart Switch      Action 54 Multicart Switch


[Sect. 4: - HEXidecimal Values of the PRG/CHR]________________________________

[PRG - (Range 1 x 16kb pages -> 64 x 16kb pages)]
-There is a BARE MINIMUM required for PRG which is 1 x 16kb pages!

* NOTE: To figure out the exact size in bytes each of these pages are worth
        just start at 1 x 16kb pages (aka: 16384 bytes) and just keep adding
        16384 more for each "page" higher.

(1 x 16kb pages)  = 01     (2 x 16kb pages)  = 02     (3 x 16kb pages)  = 03
(4 x 16kb pages)  = 04     (5 x 16kb pages)  = 05     (6 x 16kb pages)  = 06
(7 x 16kb pages)  = 07     (8 x 16kb pages)  = 08     (9 x 16kb pages)  = 09
(10 x 16kb pages) = 0A     (11 x 16kb pages) = 0B     (12 x 16kb pages) = 0C
(13 x 16kb pages) = 0D     (14 x 16kb pages) = 0E     (15 x 16kb pages) = 0F
(16 x 16kb pages) = 10     (17 x 16kb pages) = 11     (18 x 16kb pages) = 12
(19 x 16kb pages) = 13     (20 x 16kb pages) = 14     (21 x 16kb pages) = 15
(22 x 16kb pages) = 16     (23 x 16kb pages) = 17     (24 x 16kb pages) = 18
(25 x 16kb pages) = 19     (26 x 16kb pages) = 1A     (27 x 16kb pages) = 1B
(28 x 16kb pages) = 1C     (29 x 16kb pages) = 1D     (30 x 16kb pages) = 1E
(31 x 16kb pages) = 1F     (32 x 16kb pages) = 20     (33 x 16kb pages) = 21
(34 x 16kb pages) = 22     (35 x 16kb pages) = 23     (36 x 16kb pages) = 24
(37 x 16kb pages) = 25     (38 x 16kb pages) = 26     (39 x 16kb pages) = 27
(40 x 16kb pages) = 28     (41 x 16kb pages) = 29     (42 x 16kb pages) = 2A
(43 x 16kb pages) = 2B     (44 x 16kb pages) = 2C     (45 x 16kb pages) = 2D
(46 x 16kb pages) = 2E     (47 x 16kb pages) = 2F     (48 x 16kb pages) = 30 
(49 x 16kb pages) = 31     (50 x 16kb pages) = 32     (51 x 16kb pages) = 33
(52 x 16kb pages) = 34     (53 x 16kb pages) = 35     (54 x 16kb pages) = 36
(55 x 16kb pages) = 37     (56 x 16kb pages) = 38     (57 x 16kb pages) = 39
(58 x 16kb pages) = 3A     (59 x 16kb pages) = 3B     (60 x 16kb pages) = 3C
(61 x 16kb pages) = 3D     (62 x 16kb pages) = 3E     (63 x 16kb pages) = 3F
(64 x 16kb pages) = 40

** SPECIAL NOTICE ** There is now DUAL MMC1 Chipset handling avaliable which
pushes the total PRG banking up to 32kb pages via 2 16kb pages PRG chips.

This was quite a feat performed with the work of imid, EFX, star69, and Marat
Fayzullin to get it to run, and because of this DRAGON WARRIOR III, and other
"like" games now work!  This game for instance uses a 32kb banking mode
between two MMC1 chips, and to make them work together they communicate with
each other on the "4th" byte of the game image(not including the iNES header.)


[CHR - (Range 1 x 8kb pages -> 64 x 8kb pages)]
-There is NO MINIMUM required for CHR data because some games have the CHR
 data imbedded into the PRG info.

* NOTE: To figure out the exact size in bytes each of these pages are worth
        just start at 1 x 8kb pages (aka: 8192 bytes) and just keep adding
        8192 bytes more for each "page" higher.

(1 x 8kb pages)  = 01       (2 x 8kb pages)  = 02       (3 x 8kb pages)  = 03
(4 x 8kb pages)  = 04       (5 x 8kb pages)  = 05       (6 x 8kb pages)  = 06
(7 x 8kb pages)  = 07       (8 x 8kb pages)  = 08       (9 x 8kb pages)  = 09
(10 x 8kb pages) = 0A       (11 x 8kb pages) = 0B       (12 x 8kb pages) = 0C
(13 x 8kb pages) = 0D       (14 x 8kb pages) = 0E       (15 x 8kb pages) = 0F
(16 x 8kb pages) = 10       (17 x 8kb pages) = 11       (18 x 8kb pages) = 12
(19 x 8kb pages) = 13       (20 x 8kb pages) = 14       (21 x 8kb pages) = 15
(22 x 8kb pages) = 16       (23 x 8kb pages) = 17       (24 x 8kb pages) = 18
(25 x 8kb pages) = 19       (26 x 8kb pages) = 1A       (27 x 8kb pages) = 1B
(28 x 8kb pages) = 1C       (29 x 8kb pages) = 1D       (30 x 8kb pages) = 1E
(31 x 8kb pages) = 1F       (32 x 8kb pages) = 20       (33 x 8kb pages) = 21
(34 x 8kb pages) = 22       (35 x 8kb pages) = 23       (36 x 8kb pages) = 24
(37 x 8kb pages) = 25       (38 x 8kb pages) = 26       (39 x 8kb pages) = 27
(40 x 8kb pages) = 28       (41 x 8kb pages) = 29       (42 x 8kb pages) = 2A
(43 x 8kb pages) = 2B       (44 x 8kb pages) = 2C       (45 x 8kb pages) = 2D
(46 x 8kb pages) = 2E       (47 x 8kb pages) = 2F       (48 x 8kb pages) = 30
(49 x 8kb pages) = 31       (50 x 8kb pages) = 32       (51 x 8kb pages) = 33
(52 x 8kb pages) = 34       (53 x 8kb pages) = 35       (54 x 8kb pages) = 36
(55 x 8kb pages) = 37       (56 x 8kb pages) = 38       (57 x 8kb pages) = 39
(58 x 8kb pages) = 3A       (59 x 8kb pages) = 3B       (60 x 8kb pages) = 3C
(61 x 8kb pages) = 3D       (62 x 8kb pages) = 3E       (63 x 8kb pages) = 3F
(64 x 8kb pages) = 40


[Sect. 5: - Miscellaneous Information on the NES Format]______________________

* The End of the CART.NES file ...the Title]
  If you wish you can add a title to your NES ROM and below shows you how to
  do that manually, and the size limits for that title.

  1) First at the very end of the ROM you will eventually ADD 128 bytes to the
     ROM.  But first, which is part of this 128 bytes, is the addition of the
     NES Title.  Starting at the first added byte type in the name normally in
     the character part of the hexeditor.

  2) Next, to finish this is successfully, go over to the HEXidecimal part of
     the HEXeditor and add in double zeros (00) until you have added in a
     a TOTAL OF 128 BYTES (which includes the the Title you added yourself.)
     (So subtract the total bytes of the title from 128 so you do it right.)

  3) If you did it right you now have successfully added a title to your NES
     ROM and it will show in the title bar in the ROM checkers like NESImage.


[Sect. 6: - Let's Get Cracking on Prepping Your RAW/FFE/PasoFami Image]_______

* "RAW" Image Conversion to iNES

  1) For starters check and see if that RAW NES rom image you got is or is not
     interleaved.  (See #3 if it's interleaved.)

  2) Great!  It's not interleaved so what you need to do is to just add 16
     bytes onto the beginning of this ROM image.  Then just add the standard
     NES header to the ROM as stated in Section 1, and then toy around with
     the mappers until you can or can't get the game to work or do something.

  3) Crap, it's interleaved, don't worry it's fixable.  What you need to do is
     to write or find a program that will UN-interleave your ROM.  This is the
     process of seperating all the even and odd bytes.  The even bytes are the
     ROM (or PRG) data, and the odd bytes are the VROM (or CHR) data if that
     exists.

  4) Next, in MS-DOS, re-join the PRG and CHR data in the proper order. (Which
     is PRG data before CHR data)  First take the split ROM and VROM files and
     name them something like PARODIUS.PRG(ROM) and PARODIUS.CHR(VROM)...
     (Parodius is a Japanese side shooter game I'm using for this description)

  5) Now type: copy /B PARODIUS.PRG+PARODIUS.CHR PARODIUS.NES
     (This is a BINARY copy mode in DOS which will glue the two files together
     where the PRG ends and the CHR begins.)

  6) Now do as it says in Step #2 and just add the 16byte header to the top of
     the NES rom, and then add the NES header as stated in Section 1.


* "FFE" Image Conversion to iNES

  1) To start check and see if the rom is in a standard file format as shown
     in Section 3.  If it isn't check to see if it is 512 bytes larger than
     normal.  If so, this is most likely a FFE header.

  2) To remove this get into your HEXidecimal editor and just have it delete
     the first 512 bytes from your NES rom.

  3) Then just add a 16byte header to the top of the NES rom, and then add the
     NES header as stated in Section 1.


NOTE: If this rom ends up being interleaved as well just follow the guidelines
      set above in the RAW rom format section for UN-interleaving a ROM.

BE ADVISED that Some NES roms maybe seem to be 512 or 1024 bytes larger than
normal.  This is because it either has a trainer, or a combination of a
trainer and a FFE header.  My best advice to you is that if its a trainer
leave it, if its a FFE header remove it.  If the rom is 1024 bytes its a combo
of both, just remove the first 512 bytes and you'll be ok.


* "PasoFami (*.PRG/*.CHR -ONLY-)" Image Conversion

  1) Start by deleting that annoying PRM file.  This file is used by the
     PasoFami emulator just as the 16byte header that iNES uses.

  2) Next is the easy part, a simple binary copy (again I'll use Parodius as
     the example.)  Type: copy /B PARODIUS.PRG+PARODIUS.CHR PARODIUS.NES
     (This is a BINARY copy mode in DOS which will glue the two files together
     where the PRG ends and the CHR begins.)

  3) Now do as it says in Step #2 in the RAW section and just add the 16byte
     header to the top of the NES rom, and then add the NES header.

NOTE: Some PasoFami images such as Super Mario Bros. 2 for example are in the
      Famicom Disk System format (EX: SMB2J.DKA) and can't be converted.  When
      they can be, I'll add that info here.


[Sect. 7: - Information (Recommended Tools for Converting iNES Images)]_______

* RECOMMENDED TOOLS FOR USE IN THE ABOVE SECTIONS:

HEXeditor(BEDIT.EXE) - (ie: Norton Diskedit or BEDIT) -I use BEDIT, it's tiny
with lots of commands, and very efficient.  Using BEDIT you can just use the
arrows to move around across the top line with the first sixteen bytes (0->15)
where your header work is done.

CHRUTIL.EXE - This tool shows you the CHR data in a RAW, FFE, PasoFami, and
NES file as PCX picture to view in MS Paint, etc.  With this you can determine
the correct sizes of the CHR pages.  Also you discover if an image is in an
interleaved format by seeing the PSX boxes scrambled with spaces between the
CHR(sprite/character tiles).

UNLACE.EXE - This tool is something I had custom made for me.  What this does
is uninterleaves NES roms from the RAW, FFE (removes the trainer by use of
command), and iNES format.  What that means is that it splits up to rom and
puts all the PRG data in one file called (ROM) and all the CHR data in a file
called (VROM).  And as my manual says above you just got to binary copy them
back into one file ROM+VROM = NES rom.  Then add the iNES header and you just
tinker with it until it works, that's if its supported yet.

Also to save time, I do recommend the use of DiskDude's NESimage from version
3.30+ because it can show you in its menu all the PRG and CHR sizes, as well
as all the other options avaliable to you.  This is just for people that don't
want to hexedit their rom and just want to get it working right away...
impacient aren't you? :)

NESFIX.EXE - If you do use a crummy editor like DiskDude's NES Image remember
to clean out bytes 8->15 so games will work in Exteneded iNES Header format
compatible emulators.  To do this find and use NESFIX, and just run it like
so... NESFIX CART.NES and it will clean out the extra data.  Not only that
this will save time in that it takes a fraction of the time to do it one by
one manually.

2FDS.EXE - This excellent little program will convert a Pasofami (.DKA) Split
Cart, Famicom (.FAM), and (.FF3) Far Front East Famicom Disk System image into
a .FDS image for FWNES 98 v.300+ to use with its complete Famicom Disk System
support.  To get the instructions just type the filename in once to get the
commandlines for it.

And finally I recommend you have a NES emulator that is as far along in
development, or farther, than iNES, and a few smaller sized games to study
with in conjunction with my text.


[Sect. 8: - UPDATES (The History of the iNES Header/Format Documentation)]____

* UPDATE INFORMATION:

[2.2] - I Mask myself with a promise to myself to quit doing this list, but
        the information says otherwise below...so much for that.

- In Section 1 I added a section on the Famicom Disk System format established
  by Yang Fanwen for FWNES95 v.300+ (.FDS).  This section explains how the
  file it setup, and so on.
- In Sections 2 and 3 added notes on the FWNES FDS format as it was needed.
- In Section 7 added a new recommended tool of 2FDS.EXE to convert those ugly
  .DKA and .FAM files to the .FDS format for complete support in FWNES v.300+.
- Added 2FDS.EXE to the ZIP to make things easier on all of us who care.
- Added and removed a few quotes and bits of humor.
- And who wouldn't have guessed, more fixes and changes to old information.
- Also to save my sanity and file size the History is cut to three updates.

[2.1] - Great merciful crap an overhaul and addition!  ...Need rest...zombie.

- Removed the old Section 3 which were valid game ROM sizes.
- NEW Section 3 - Those Many Mysterious Mappers Now Supported section.  Here
  I set aside the growing list of mapper support thanks to FanWen and FWNES98.
- FWNES98 acknowledged as the #1 NES Emulator, as it should be so check it out
  video and audio is superb.  CastleVania III is an excellent test of that.
- Options for the use of the second half of byte 6 moved to Section 2.
- Section 7 overhaul; now BEDIT and CHRUTIL explained and how to use them.
- This list is NOW PKZIPED with BEDIT, CHRUTIL, UNLACE, and NESFIX so now you
  can fix all your own things with the tools I use.
- Cut the Update List because it got way too long pushing 100 lines.  I bet
  you could care less and don't even read this stuff.
- And as always I've updated and fixed grammar and spelling bugs I usually do
  not catch due to pulling late nights (usually) writing this.

[2.0] - Wow v2.0! "SHOW ME THE MUSHROOM!" - Toad McGuire  ...More mappers! =)

- In Sections 1-8 I reformatted some text and removed useless info.
- In Section 1 added a snipit on what byte 7 does in conjunction with byte 6
  and explained that 7 = Tens digit and 6 = ones digit for the 16+ mappers.
  And fixed the chart so that 0 is the beginning digit, not 1.  Stupid error.
- In Section 2 I added a notice about NESFIX so people can easily repair there
  polluted headers so they will work in Extened iNES Header format players.
- Added in Section 2 the all important further extension to the Extended iNES
  Header format created by FanWen.  Mappers 66-70 80-84 are now added, and a
  rename to the Konami VRC 2 1a and 1b to VRC 1b and 1a.
- Reformatted the CHR and PRG cart size lists to fit into 1 screen in Section
  2 as well.
- And in Section 7 I added the recommended tool of NESFIX.EXE to remove that
  nasty garbage out of iNES headers.
- More BS errors in grammar and spelling fixed again.  Common occurance is it
  not? >:)  Maybe I need to buy Hookt awn Fawniks and Lurn too Reed. =)
- In this Section 8 it got to damned big so now I'm limiting the list to the
  three most current revisions for now on.  (Like anyone really looks back to
  read that stuff anyways, the important stuff is above.)

[End Of File]  -Enjoy!
