Introduction
---

FakeNES is an Open Source NES emulator.  It uses the excellent Allegro
multimedia library for input, graphics, and sound effects/music across
various platforms.  It is written in 100% C, and was originally designed to
run on DOS and Microsoft Windows, but now features a POSIX build system as
well.  There are also official builds available for Mac OS X.

The C core is portable but also slow.  Do not expect FakeNES to run
blazingly fast on a 486, or even a Pentium.  I would recommend at least a
300 MHz processor for full enjoyment.  If you are on an x86-based machine,
however, you can enable low-level assembly replacements of large portions of
the core for additional speed (this is automatic on DOS and Windows).

If you need any help regarding building FakeNES from the source code
archive, please read the SOURCE text file that came with your source or
source/binary distribution.  The SUPPORT text file that is packaged with all
distributions documents various places where you can find support and help
for anything related to FakeNES.  Please, only consult support services if
you have a problem which you cannot fix yourself.

Configuration
---

FakeNES uses a standard configuration system similar to that used by many
DOS, Windows, and UNIX applications.  Each item in the configuration file
that is not surrounded by square brackets ([ and ]) defines a key.  The
equal sign (=) is used to assign a value to that key.  Items which are
surrounded by brackets are called headers.  Headers define a section or
group of keys. Comments are delimeted by the pound (#) sign and are ignored
by the configuration file parser.

At this time, command-line options are not supported.  However, you may
supply the name of an NES ROM file that you would like to load on the
command-line instead of loading it from the GUI.  You can also drag and drop
ROM files onto the program icon under Windows (FakeNES must not already be
running), or associate FakeNES with .NES ROM files via the installer.

Input
---

FakeNES supports the 4-player adapter automatically, but you will need to
enable emulation of the Zapper (Optical Gun) manually.  You can toggle
emulation of the Zapper and display of the crosshair by pressing the F6 key
during gameplay.  A mouse is required for Zapper support.

Currently, FakeNES supports two different keyboard layouts on a single
keyboard, and up to two (2) joystick-like devices such as joypads.  Each
device may be assigned to any player, you can even assign a single device to
multiple players.  Configuration of input via hand-editing of the
configuration file is no longer recommended; as there is now a section in
the GUI dedicated to the task.

Other stuff
---

If you would like something documented, please let me know.  You can contact
me by E-mail at siloh@silohware.com.

I would like to thank my fellow ZSNES developers, without them I would have
never became interested in the world of emulation.  I would also like to
thank the current maintainer of SNEeSe (TRAC) as well as the rest of the
Silohware team, without them FakeNES would never have been possible.

And finally I would like to thank everybody else who is (as Matt Conte so
elegantly put it) still hacking around with the old piece of shit.

- Randy McDowell (Siloh A.K.A stainless)
