                                   FCE Ultra
                                     .54

                         http://fceultra.sourceforge.net/

What is new:

	*  Fixed a bug that would cause a wrong battery-backed WRAM file
	   name to be produced if FCE Ultra was passed a file name without
	   any directory component(such as "fceu SuperBlah.nes").
	*  Fixed an iNES mapper 118 emulation bug that got into the code
	   in a recent code cleanup.  "Armadillo" is playable again.
	*  Fixed a typo(and bug) in the MMC5 emulation code.
	*  Data returned from emulated reads to "unmapped" areas or 
	   memory locations where bits are undefined should now be correct.
	*  Fixed emulation of the sprite memory transfer register $4014.
	   It now takes into account the last value written to $2003 and
	   starts the transfer to that location in sprite memory(like on
	   a real NES).
        *  Added a video configuration dialog box.
        *  Added the ability to configure a custom video mode.  Aspects
           that are configurable include width, height, bits per pixel,
           and size transforming(stretching and scaling).


Contents:

  1.  Basic information
        1.0 What FCE Ultra is.
        1.1 System requirements.
  2.  How to use
        2.0 Starting FCE Ultra
        2.1 Using FCE Ultra
  3.  Notes
        3.0 Platform Specific Notes
	3.1 Network Play Notes
        3.2 VS Unisystem Notes
	3.3 Famicom Disk System Notes
	3.4 Light Gun Notes
        3.5 Palette Notes
  4.  Extra
        4.0 Contacting the author
	4.1 Credits


/******************************************************************************/
/*  1.0)	What FCE Ultra is:                                            */
/******************************************************************************/

        FCE Ultra is an NTSC and PAL Famicom/NES emulator for various 
        platforms. It is based upon Bero's original FCE source code.  Current
	features include good PPU, CPU, pAPU, expansion chip, and joystick
	emulation.  Also a feature unique to this emulator(at the current
        time) is authentic Game Genie emulation.  Save states and snapshot
	features also have been implemented.  The VS Unisystem is emulated
        as well.  FCE Ultra supports iNES format ROM images, iNES and FWNES
        style FDS disk images, and NSF files.

        FCE Ultra currently supports the following mappers(many partially):

Number:         Description:                    Game Examples:
--------------------------------------------------------------------------------
  0             No Mapper                       Donkey Kong, Mario Bros
  1             Nintendo MMC1                   MegaMan 2, Final Fantasy
  2             Simple 16KB PRG Switch          MegaMan 1, Archon, 1944
  3             Simple 8KB CHR Switch           Spy Hunter, Gradius
  4             Nintendo MMC3                   Recca, TMNT 2, Final Fantasy 3
  5             Nintendo MMC5                   Castlevania 3, Just Breed, Uchuu Keibitai SDF
  6             FFE F4 Series(hacked)           Saint Seiya, Ganbare Goemon
  7             AOROM                           Battle Toads, Lion King
  8             FFE F3 Series(hacked)           Doraemon Kaitakuhen
  9             Nintendo MMC2                   Punchout!
 10             Nintendo MMC4                   Fire Emblem, Fire Emblem Gaiden
 11             Color Dreams                    Crystal Mines, Bible Adventures
 13             CPROM                           Videomation
 15             Multi-cart(pirate)              100-in-1: Contra Function 16
 16             Bandai                          Dragon Ball Z, Gundam Knight
 17             FFE F8 Series(hacked)           Parodius, Last Armageddon
 18             Jaleco SS806                    Pizza Pop, Plazma Ball
 19             Namco 106                       Splatter House, Mappy Kids                
 21             Konami VRC4 2A                  WaiWai World 2, Ganbare Goemon Gaiden 2
 22             Konami VRC4 1B                  Twinbee 3
 23             Konami VRC2B                    WaiWai World, Getsufuu Maden
 24             Konami VRC6                     Akumajo Densetsu(Dracula 3)
 25             Konami VRC4                     Gradius 2, Bio Miracle: Boku tte Upa
 26             Konami VRC6 A0-A1 Inverse       Esper Dream 2, Madara
 32             Irem G-101                      Image Fight 2, Perman
 33             Taito TC0190/TC0350             Don Doko Don 1&2
 34             Nina-1                          Deadly Towers, Bug Honey
 40             (pirate)                        Super Mario Bros. 2
 41             Caltron 6-in-1                  Caltron 6-in-1
 42		(pirate)			"Mario Baby"
 43		Multi-cart(pirate)		Golden Game 150 in 1
 44		Multi-cart(pirate)		Super HiK 7 in 1	
 45		Multi-cart(pirate)		Super 1000000 in 1
 46		Game Station			Rumble Station
 47		NES-QJ				Nintendo World Cup/Super Spike V.B.
 49             Multi-cart(pirate)              Super HiK 4 in 1
 64             Tengen RAMBO-1                  Shinobi, Klax
 65             Irem H-3001                     Daiku no Gensan 2
 66             GNROM                           DragonBall, SMB + Duck Hunt
 67             Sunsoft Mapper "3"              Fantasy Zone 2
 68             Sunsoft Mapper "4"              After Burner 2, Nantetta Baseball 
 69             Sunsoft FME-7                   Batman: ROTJ, Gimmick!
 70		??				Kamen Rider Club
 71             Camerica                        Fire Hawk, Linus Spacehead
 73             Konami VRC3                     Salamander
 75             Jaleco SS8805/Konami VRC1       Tetsuwan Atom, King Kong 2
 76             Namco 109                       Megami Tenshi 1
 77             Irem ??                         Napoleon Senki
 78             Irem 74HC161/32                 Holy Diver
 79             AVE                             F15 City War, Krazy Kreatures
 80             Taito X-005                     Minelvation Saga
 85             Konami VRC7                     Lagrange Point
 86		Jaleco ??			More Pro Baseball
 87		??				Argus
 89		Sunsoft ??			Mito Koumon
 90		Pirate                          Super Mario World, Mortal Kombat
 92             Jaleco ??                       MOERO Pro Soccer, MOERO Pro Yakyuu '88
 93		??				Fantasy Zone
 94		??				Senjou no Ookami
 95		Namco ??			Dragon Buster
 97		??				Kaiketsu Yanchamaru
 99             VS System 8KB CHR Switch        VS SMB, VS Excite Bike
105             NES-EVENT                       Nintendo World Championships
112             Asder				Sango Fighter, Hwang Di
113		??				Deathbots
118		MMC3-TLSROM/TKSROM Board	Ys 3, Goal! 2, NES Play Action Football
119             MMC3-TQROM Board                High Speed, Pin*Bot
151             Konami VS System Expansion      VS The Goonies, VS Gradius
180             ??                              Crazy Climber
182		??				Super Donkey Kong
184		??				Wing of Madoola, The
225             Multi-cart(pirate)              58-in-1/110-in-1/52 Games
226             Multi-cart(pirate)              76-in-1
228             Action 52                       Action 52, Cheetahmen 2
229             Multi-cart(pirate)              31-in-1
240             ??                              Gen Ke Le Zhuan, Shen Huo Le Zhuan
246		??				Fong Shen Ban
        
/******************************************************************************/
/*  1.1)	System requirements:                                          */
/******************************************************************************/

        Minimum system specifications:

        Pentium 60 MHz
        8 MB RAM
        400 KB free disk space
	Windows 95
	DirectX 7.0
        Video adapter

        Recommended minimum system specifications:

        Pentium 233 MHz
        16 MB RAM
        5 MB free disk space
	Windows 98SE
        Video adapter with 2D acceleration abilities
	DirectX 8.0
	Joystick
	Mouse
        Sound device capable of handling a sample rate of 44100 hz.


/******************************************************************************/
/*  2.0)	Starting FCE Ultra                                            */
/******************************************************************************/

        FCE Ultra can be started by running the executable "fceu.exe".
        I do not recommend running it from a DOS "box".


/******************************************************************************/
/*  2.1)        Using FCE Ultra:                                              */
/******************************************************************************/

        After starting FCE Ultra, you'll probably want to load a game.  Do
        this by going to File/Open.

        Menu descriptions:

        File
         Open           - Loads a new game.                
         Exit           - Exit the emulator.
        NES
         Reset          - Resets the virtual NES.
         Power          - Power cycles the virtual NES.
        Config
         Video Mode
          Windowed      - If checked, use a windowed video mode.  Otherwise
                          use the full screen mode selected below.
          <FS Modes>    - Full screen video modes.  Listed as
                          XRESOLUTIONxYRESOLUTION, followed by details on
                          the mode.
         Hide Menu      - Hides menu and control buttons.
         Sound          - Enter sound configuration dialog.
         Game Genie     - If checked, enable Game Genie emulation.
                          Game Genie emulation will only begin/end when a new
                          game is loaded.
         Palette        - Enter palette configuration dialog.
         PAL Emulation  - If checked, enable PAL emulation.  Changes take effect
                          immediately, though I recommend resetting the virtual
                          NES afterwards.  Note that setting this will override the NTSC/PAL
                          settings in NSF files.
         Input          - Enter input configuration dialog.
         Network Play   - Enter network play configuration dialog.

        Default Key Mapping:

         For emulated game pads:
          Left Control             B
          Left Alt                 A
          Enter/Return             Start
          Tab                      Select
          Cursor Down              Down
          Cursor Up                Up
          Cursor Left              Left
          Cursor Right             Right

         For emulated power pads(keys correspond to button locations on
         side "B"):
          O P [ ]
          K L ; '
          M , . /

         T                        Select tint to adjust.
         H                        Select hue to adjust.
         +/-                      Increase/decrease tint or hue.

         0-9                      Select save state.
      
         F5/F7                    Save/Load state.
         F9                       Save screen snapshot.

         F3                       Hide/Show menu and various caption bar controls.
         F4                       Toggle between windowed/full screen modes.
         F10                      Reset.
         F11                      Power off/on.
         F12                      Exit.


/******************************************************************************/
/*  3.0)	Platform Specific Notes                                       */
/******************************************************************************/

        Your desktop color depth must be 16bpp, 24bpp, or 32bpp for FCE Ultra
        to run properly in windowed mode.

	FCE Ultra's base directory is the directory in which the executable
	is located.


/******************************************************************************/
/*  3.1)        Network Play Notes                                            */
/******************************************************************************/

        In TCP/IP network play, the server will be player one, and the
        client will be player 2.

        Zapper emulation and power pad emulation currently do not work with
        network play.

        Having Game Genie or PAL emulation enabled on only one side
        will cause problems.

        Both players MUST use the same ROM/disk image and SRAM
        file(if applicable).

	When using FDS or VS Unisystem games with network play, only player
	1 will be able to insert disk, eject disk, insert coins, toggle dip
	switches, etc.

	Sound on one end during network play will become progressively
	worse as time passes.  It may take a long time for sound quality
	problems to become noticeable, though.  The sound problems are
	caused by very minor timing differences in the playback rates
	of different sound cards.  If this is too much of a problem, use
        FCE Ultra .42 or earlier for network play, or disable sound on one
        end.

        The server refresh value is the number of frames between the updating
        of virtual joysticks states.  Low values(0 to 2) are good for
        LANs, higher values(3-10) are good for those with broadband
        Internet access.  In all cases, experiment to find the best value.

        Finally, some games that read the register at $4015
        and use DPCM playback for timing MIGHT become desynchronized.


/******************************************************************************/
/*  3.2)	VS Unisystem Notes                                            */
/******************************************************************************/

          FCE Ultra currently only supports VS Unisystem ROM images in the
          iNES format.  This will most likely change in the near future to
          support multi-file ROM images.

          ROM Images:

           * All VS Unisystem ROM images should have the VS Unisystem bit set.
           * VS Unisystem games that are about 49,000 bytes in size most likely
             use mapper 99.
           * Other VS Unisystem games will use other mappers.  Here is a short
             list of games and the mappers they use:

               CastleVania - 2
               Dr. Mario   - 1
               Goonies     - 151
               Gradius     - 151
	       Ice Climber - 99
               Platoon     - 68

          Running:
           
           * Use the C key to insert a coin.
           * Keys 1-8 control the DIP switches(after pressing D).
	   * Use the V key to toggle showing the DIP switches.

          Palette(s):

           * The colors in many VS Unisystem games may be incorrect.  This
             is due to each game having its own PPU, and thus using a
             different palette than games that use a different PPU.


/******************************************************************************/
/*  3.3)        Famicom Disk System Notes                                     */
/******************************************************************************/

	You will need the FDS BIOS ROM image in the base FCE Ultra directory.
	It must be named "disksys.rom".  I will not give this file to you, so
	don't ask.

	Two types of FDS disk images are supported:  disk images with the 
	FWNES-style header, and disk images with no header.

	You should make backups of all of your FDS games you use with FCE 
	Ultra.  This is because FCE Ultra will write the disk image back to 
	the storage medium, and the disk image in RAM might have been corrupted
        because of inaccurate emulation(this case is not likely to occur, but 
	it could occur).


/******************************************************************************/
/*  3.4)        Light Gun Notes                                               */
/******************************************************************************/

	Currently, the NES Zapper and the light gun used with the VS
	Unisystem(I will call both the same name, Zapper) are supported.
	Most(all?) NES games expect the Zapper to be plugged into port 2.
	and most(all?) VS Unisystem games expect the Zapper to be plugged 
	into port(?) 1.

	The LEFT mouse button is the emulated trigger button for the
	Zapper.  The RIGHT mouse button is also emulated as the trigger,
	but as long as you have the RIGHT mouse button held down, no color
	detection will take place, which is effectively like pulling the
	trigger while the Zapper is pointed away from the television screen.
	Note that you must hold the RIGHT button down for a short
	time(greater than just a fast click, shorter than a second).
	
	Zapper emulation currently does NOT work with network play, so
	don't even try it. I may add support in the future if enough
	people want it or if I want it.


/******************************************************************************/
/*  3.5)        Palette Notes                                                 */
/******************************************************************************/

        With so many ways to choose a palette, figuring out which one will
        be active is somewhat difficult.  Here's a list of what palettes will
        be used, in order from most priority to least priority(if a condition
        doesn't exist for a higher priority palette, the emulator will
        continue down its list of palettes).

        NSF Palette(for NSFs only)
         Palette loaded from the "gameinfo" directory on a per-game basis.
          NTSC Color Emulation(only for NTSC NES games).
           Custom global palette.
            VS Unisystem palette(if the game is a VS Unisystem game and a palette
            is available).
             Default NES palette.

/******************************************************************************/
/*  4.0)	Contacting the author                                         */
/******************************************************************************/

        I can be reached via email at xodnizel@home.com.
        Bero can be reached via email at bero@geocities.co.jp
	 (Note that Bero can not and will not answer any questions
	  regarding the operation of FCE Ultra, so please don't ask him.)


/******************************************************************************/
/*  4.1)	Credits                                                       */
/******************************************************************************/

\Firebug\       -       High-level mapper information.
Bero            -       Original FCE source code.
Donald Moore    -       DC PasoFami NES packs.
goroh           -       Various documents.
Jeff Tamer      -       Insaniacal fun.
Jeremy Chadwick -       General NES information.
Justin Smith    -       Giving me obscure ROM images in the "dark ages of
                        NES emulation".
Kevin Horton    -       Low level NES information and sound information.
Mark Knibbs     -       Various NES information.
Marat Fayzullin -       General NES information, CPU emulation core, various
                        driver code.
Matthew Conte   -       Sound information.
Quietust        -       VRC7 sound translation code by The Quietust
			(quietust@ircN.org)
Rob Mocca       -       DC PasoFami NES packs.
Tatsuyuki Satoh -       OPL2 emulator

...and everyone else who has helped me.


