TuxNES v0.72
http://tmmm.simplenet.com/tuxnes/index.html

What is TuxNES?
---------------
    TuxNES is an emulator for the 8-bit Nintendo Entertainment System. The
emulator runs on Linux/x86 with X11 graphics.

    TuxNES is a continuation of Nestra, a great NES emulator for Linux,
which may or may not be actively maintained by its original author, Quor,
which is why the Nestra code was forked and TuxNES was created.

Installing TuxNES
-----------------
    TuxNES follows the standard GNU process for installing tarballs. Download
the archive, uncompress it and type
    ./configure
    make
    make install
For more information, see the INSTALL file.

(If you recieved a binary distribution of TuxNES, just copy the appropriate
 executable to a suitable directory such as /usr/local/bin.)

TuxNES features
---------------
    The current features in TuxNES include:
- open source
- runs under Linux/X on x86 platforms
- dynamic recompilation from 6502 opcodes -> x86 native opcodes
- mappers: 0, 1, 2, 3, 4, 7, 9, 11, 32, 66, 99
- experimental mappers: 15, 22, 23, and 71
- gzip file support
- game saving
- built-in disassembler
- joystick support (2- & 4-button)
- experimental sound support
- capture screen shots in X pixmap (xpm) format
- Game Genie code support
- trainer support
- alternate palette support

Running TuxNES
--------------
    TuxNES is invoked from the command line and the command line options
operate almost exactly the same as Nestra. TuxNES also supports long options
on the command line. These are the command line options:

Usage: tuxnes [options] filename
  -h, --help          Print this help and exit
  -c, --controls      Print the emulator controls
  -j, --joystick=...  Use joystick
  -v, --verbose       Verbose output
  -f, --fix-mapper    Use only the low four bits of the mapper number
  -M, --mapper=...    Specify mapper to use
  -g, --gamegenie=... Game Genie code
  -H, --show-header   Show iNES header bytes
  -d, --disassemble   Disassemble
  -l, --link          Link branches optimization (may improve speed)
  -o, --old           Use old x11 display subroutines
  -m, --mirror=...    Manually specify type of mirroring
      h = Use horizontal mirroring
      v = Use vertical mirroring
      s = Use single-screen mirroring
      n = Use no mirroring
  -p, --palfile=FILE  Load palette data from FILE
  -P, --palette[=...] Use a specified built-in palette (default: loopy)
      loopy = Loopy's NES palette
      quor = Quor's palette from Nestra v0.63
      pasofami = Palette from PasoFami/99
      crashman = CrashMan's NES palette
      mess = palette from the MESS NES driver
      vs-cv = VS Castlevania palette
      vs-smb = VS SMB/VS Ice Climber palette
  -s, --sound[=FILE]  Append sound data to FILE (default: /dev/audio)

The only command line incompatibility TuxNES has with Nestra is mirroring.
For example, TuxNES uses -mh rather than -hm for horizontal mirroring.

As for the controls:
  Keyboard:
    Arrows      - Move
    A, C or Space
                - A button
    Z or X      - B button
    Tab         - Select button
    Enter       - Start button
    Pause/Break - Reset game
    ESC         - Exit game
    0-8, `      - Adjust emulation speed
      0 stops the game, ` runs the game at half speed
      1 runs at normal speed, 2..8 runs at 2..8x normal speed
    F7          - Capture screenshot and save to ~/.tuxnes/snapxxxx.xpm
                  (Note: XPM support must be installed and compiled
                   for this to work; see the README file for more info.
                   This doesn't work with the old X11 renderer.)

  Joystick (4-button):
    Joystick/gamepad - Move
    Button 0         - B button
    Button 2         - A button
    Button 1         - Select button
    Button 3         - Start button
  (Note: if your joystick has 2 buttons, buttons 0 and 1 will be
   mapped to B and A, respectively, and Tab and Enter will function
   as the Select and Start buttons.)

  Extra keys for old X11 renderer (-o, --old)
    F1          - Disable background
    F2          - Re-enable background
    F3          - Disable sprites
    F4          - Re-enable sprites
    F5          - Alternate tiles
    F6          - Default tiles
    F9          - Flush tile cache
  (The old X11 renderer is automatically enabled for monochrome [1bpp]
   visuals.)

  Extra Keys for VS UniSystem games:
    [/{         - Insert Coin
    Q/q         - Toggle Dipswitch #1
    W/w         - Toggle Dipswitch #2
    E/e         - Toggle Dipswitch #3
    R/r         - Toggle Dipswitch #4
    T/t         - Toggle Dipswitch #5
    Y/y         - Toggle Dipswitch #6
    U/u         - Toggle Dipswitch #7
    I/i         - Toggle Dipswitch #8

TuxNES Screen Capture Support
-----------------------------
    While you're running the emulator, you can capture screen shots in X
pixmap (xpm) format anytime by pressing F7. However, you need to install
the XPM library and compile TuxNES when the XPM library is installed in order
to capture screens. TuxNES will still compile without the XPM library, but it
won't take screenshots.

    The pixmap files are stored in the ~/.tuxnes/ directory.

    Of course, the XPM format is not the most widely accepted graphic file
format. If you need a simple way to convert XPM files to GIF files, you can
use the xpmtoppm and ppmtogif programs that should already be installed on
your Linux box. Try this:
  xpmtoppm file.xpm | ppmtogif > file.gif

TuxNES Joystick Support
-----------------------
    Joystick support is enabled by running the emulator with the -j or
--joystick command line options. A joystick device must be supplied
(e.g., /dev/js0). If you need help setting up a joystick under Linux, check
out The Linux Joystick Driver at:
  http://atrey.karlin.mff.cuni.cz/~vojtech/joystick/

TuxNES Experimental Sound Support
---------------------------------
    Sound support in TuxNES is still experimental, and doesn't work at
all with most games. The few games (such as Pac-Man, Galaxian and
Metroid) which are supported sound very bad. For this reason, sound
generation is disabled by default.

    To enable sound, use the --sound command line option. The
specified FILE (or /dev/audio, if no FILE is given) will have the raw
8-bit unsigned audio data appended to it. Only the square wave,
triangle wave and noise channels are currently emulated to any extent.

TuxNES Alternate Palette Support
--------------------------------
    TuxNES has several built-in color palettes, selectable at run-time
using the --palette command line option. Raw palette data can also be
loaded from a file using the --palfile command line option. The data
format is compatible with the palette files used by Nesticle.

    By default, TuxNES will use the VS SMB/VS Ice Climber palette for
VS UniSystem games, and Loopy's NES palette for all other games.

Troubleshooting
---------------
    Are you having trouble getting a particular ROM to work with TuxNES? This
most likely has to do with the memory mapper. If you try to run a game and
TuxNES advises that you may wish to use the -f option, then you probably
should use it (especially if your game fails to work).

    If the game still doesn't work, the game's header info may be completely
wrong about which mapper to use. Consult the Bigass NES Mapper List at the
TuxNES home page to find the proper mapper the game should use and then run
the game with the -M<number> option.

Requesting NES ROMs
-------------------
Don't even bother.
