hide results

    Header Info by VmprHntrD

    Version: 2.2 | Updated: 01/04/99 | Search Guide | Bookmark Guide

    [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!
    

    View in: