                                  FCE Ultra
                                    .21

                            http://www.kc.net/~zaik/
			 http://fceultra.emuunlim.com/

What is new:

	*  Color "de-emphasis" bits are now emulated.
	*  Fixed quite a few bugs.
	*  DPCM emulation improved.
	*  Saner Game Genie ROM image handling.
	*  Support for mappers 87, 90, 93, 94, 97, 112, 180, 184, and 246
	   added. 
	*  Unknown 6502 opcodes are now ignored, rather than patched.
	*  Added TCP/IP network-play capability.
	*  Added partial support for the AY-3-8190 sound chip used in
	   conjunction with Sunsoft's FME-7(mapper 69) in the game
	   "Gimmick!".
	*  Support for the following VS Unisystem games added:
		*  VS Atari RBI Baseball
		*  VS Excite Bike (thanks to loopy for the palette)
		*  VS Slalom
		*  VS Super SkyKid
	*  Fixed mapper 66 so that "vertical" VRAM mirroring isn't forced.
        *  Format of configuration file has changed.  Previous values will be
           lost.


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 What to do once emulation has begun
  3.  Compatibility
        3.0 Notes
        3.1 VS Unisystem 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 DOS and
 	Linux. 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 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
  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                      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
 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 Mapper 5                Batman: ROTJ, Gimmick!
 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
 78             Irem 74HC161/32                 Holy Diver
 79             AVE                             F15 City War, Krazy Kreatures
 80             Taito X-005                     Minelvation Saga
 85             Konami VRC7                     Lagrange Point
 87		??				Argus
 90		Pirate                          Super Mario World, Mortal Kombat
 93		??				Fantasy Zone
 94		??				Senjou no Ookami
 97		??				Kaiketsu Yanchamaru
 99             VS System 8KB CHR Switch        VS SMB, VS Excite Bike
112             Asder				Sango Fighter, Hwang Di
119             MMC3-TQROM Board                High Speed, Pin*Bot
151             Konami VS System Expansion      VS The Goonies, VS Gradius
180             ??                              Crazy Climber
184		??				Wing of Madoola, The
225             Multi-cart                      58-in-1/110-in-1/52 Games
226             Multi-cart                      76-in-1
228             Action 52                       Action 52, Cheetahmen 2
229             Multi-cart                      31-in-1
246		??				Fong Shen Ban
        
/******************************************************************************/
/*  1.1)	System requirements:                                          */
/******************************************************************************/

        Minimum system requirements:

        Pentium 60 MHz
        8 MB RAM
        400 KB free disk space
        Linux 2.0.36
        VGA adapter

        Recommended system requirements:

        Pentium 233 MHz
        16 MB RAM
        5 MB free disk space
	Linux 2.2.x
        SVGA adapter with 512 KB of RAM
        Sound device capable of handling a sample rate of about 44100 hz.


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

        Start FCE Ultra using the following format:

        ./fceu <arguments> romimage.nes

        <arguments> can be one or more of the following:

        -vgamode x      Select VGA mode(all are 8 bpp).
                        1 = 256x240
                        2 = 256x256
                        3 = 256x256(with scanlines)
                        4 = 640x480(VBE 2.0 - with scanlines)
                        5 = 640x480(VBE 2.0 - T.V. emulation)
                        6 = 256x224(with scanlines)
        -ntsccol        Emulate an NTSC's TV's colors based on user-supplied
                        hue and tint values.
                         0 = Disabled.
                         1 = Enabled.
        -sound	 x    Sound
                        0 = Disabled.
                        1 = Enabled.
	-joy x	      Joystick
		 	0 = Disabled.
			1 = Enabled.
        -novsync        No speed limiting.
        -gg             Activate Game Genie emulation.
        -pal		Emulate a PAL NES.
	-connect   s    Connect to server 's' for TCP/IP network play.
	-server    x    Be a host/server for TCP/IP network play.
        	        "x" is an integer that specifies how many frames should 
			be between virtual joystick refreshes.  Default is
			3.  It is not required.  Larger values will
			increase speed over slow networks, but control
			will be adversly affected.



/******************************************************************************/
/*  2.1)	What to do once emulation has begun:                          */
/******************************************************************************/

        Once emulation has begun, play as normal.  The mapping of controls
        is:

        Left Control            B
        Left Alt/X              A
        Enter/Return            Start
        Tab                     Select
        Cursor Down             Down
        Cursor Up               Up
        Cursor Left             Left
        Cursor Right            Right

        C                       Insert Coin.
        V                       View status of dip switches.
        D                       Toggle dip switch modifications allowed
                                (toggles save state selection abilities).

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

        0-9                     Select save state.
        `                       Temporarily disable speed limiting.
        Caps Lock               Switch between virtual joysticks.
        1-8(VS Unisystem)       Toggle dip switches.

	L			Lock virtual console.
	U			Unlock virtual console.
        F5/F7                   Save/Load state.
        F9                      Save screen snapshot.
        ESC/F12                 End emulation.


/******************************************************************************/
/*  3.0)	Notes                                                         */
/******************************************************************************/

	The FCE Ultra Linux port is *experimental*.  This means things may
	not work as expected, though this should rarely occur.  Please
	understand the following:
        
	1.  Switching virtual terminals for most video modes is ok, but
	do NOT switch when a VESA mode is being used.

	2.  If FCE Ultra crashes unexpectedly(rare) or receives an odd
	signal(your fault), the sound server might not be killed.

	3.  FCE Ultra must be run as root in order to get access to the
	VGA hardware.  If you decide to set the executable so it runs as
	root and you have any untrusted users on your system, put
	the executable where no one else can use it.

	4.  FCE Ultra will save all data(state saves/screen snapshots) in
	~/.fceultra, so make sure your "HOME" environment variable is set
	correctly.
	
	4.  FCE Ultra uses SVGAlib, but you really only need the
	configuration files in /etc/vga, due to the issue explained in the
	note below.

	5.  In order to improve compatibility for people, all libraries
	are statically linked in.  This is why the executable is so large.
        
        If FCE Ultra is too slow for you, try using "-novsync" on the command
        line.

        Some games incorrectly have the 4-screen VRAM bit set in the iNES
        header.  This will result in graphical corruption, especially during
        scrolling.  Clear this bit to fix the problem.

        Sometimes save states created with previous versions will not work
        correctly(usually the screen is garbled, but game is fine, for the
        most part).  This usually will only occur with more complex mappers,
        like those that allow "weird" things such as using ROM as name table/
	attribute table data.

	In TCP/IP network play, the server will be player one, and the
	client will be player 2.  Also, using the following command line
	options on only one side will cause problems: -gg and -pal.
	Both players MUST use the same ROM image and SRAM
	file(if applicable).  Finally, VS Unisystem games currently will
	not work with network play.  I will add support in a future
        version, however.


/******************************************************************************/
/*  3.1)	VS Unisystem Notes                                            */
/******************************************************************************/

        The VS Unisystem is a fairly difficult system to emulate, due to
        the newness of it(to emulation authors).  Here is how to use VS
        Unisystem emulation on FCE Ultra:

          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 should
             use mapper 99(CHR bank select via $4016).
           * Other VS Unisystem games will use other mappers.  Here is a short
             list:


               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).

          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.


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

        I can be reached via email at zaik@kc.net.
        Bero can be reached via email at bero@geocities.co.jp


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

\Firebug\	-	High-level mapper information.
Bero		-	Original FCE source code.
Donald Moore    -       DC PasoFami NES packs.
DJ Delorie	-	DOS port of gcc.
goroh		-	Various documents.
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.
Rob Mocca	-	DC PasoFami NES packs.

...and everyone else who has helped me.

