NestopiaX 1.0

This is a port of Nestopia 1.40 to the Xbox. It features very high
compatibility (support for 213 mappers), Lightgun emulation (via the
Xbox controller), 4Score adapter support, and much more. Nestopia is the
gold standard for NES emulation. All games run fullspeed with zero
frameskip (including all FDS games, games using any of the software
filters (except HQ2X), and games running in high definition). The source 
code is included.

The port features:

-Resolutions:
  480i
  480p
  720p
  1080i
  
-Software Filters:
  None
  Scale2X
  Scale3X
  HQ2X
  Scanlines
  Super Eagle
  2XSAI
  Super 2XSAI
  AdvancedMAME
  Simple2X
  SuperScale
  SuperScale75 (SuperScale with Scanlines)
  NTSC (Simulate Composite)
  NTSC (Simulate S-Video)
  NTSC (Simulate RGB)
  NTSC (Custom)
  
  The first three NTSC filters are presets that simulate a NES connected
  with Composite, S-Video, and RGB cables. All of the values that create
  the NTSC screen are set to defaults. However, the user can control
  these values and create their own NTSC version.
  
  The following values can be changed. The values that each of the
  presets uses is in parentheses.
  
  1) Resolution  (Composite = 0, S-Video = 20,   RGB = 70)
  2) Sharpness   (Composite = 0, S-Video = 20,   RGB = 20)
  3) Color Bleed (Composite = 0, S-Video = 0,    RGB = -100)
  4) Artifacts   (Composite = 0, S-Video = -100, RGB = -100)
  5) Fringing    (Composite = 0, S-Video = -100, RGB = -100)

  For example, if a user wanted to use a sharper version of the
  "NTSC (Simulate S-Video)" filter they would set Software Filter to
  "NTSC (Custom)" and then set each of the values to what the 
  "NTSC (Simulate S-Video)" filter used.
  
  Resolution =  20
  Sharpness =   20
  Color Bleed = 0
  Artifacts =   -100
  Fringing =    -100
  
  Then they could increase the Resolution or the Sharpness value until 
  it looked how they wanted it.

-Hardware Filters:
  Point
  Bilinear
  Trilinear
  Anisotropic
  Quincunx
  Gaussian Cubic
  
-Flicker Filter. The value can be set from 0 (sharp) to 5 (blurry)

-Soften. The value can be set to Enabled (blurry) or Disabled (sharp)

-10x11 Pixel ratio for 480i/p users

-VSync can be enabled or disabled.

-The screen can be dimmed when resizing.

-Default screen adjustment. This is a global setting that is used the
first time a game is started. Any additional adjustments to the screen
from the Emulation menu are saved to a separate game specific ini.
Users should set the screen up for their TV before playing any games.
The yellow portion of the image represents the 8 top and bottom rows of
pixels. These rows were not usually visible on TVs and developers often
wrote garbage graphics there. If you do not wish to see this, then
resize the image so that the blue color is visible. If you wish to see
all of the screen (garbage and all) then resize the image so that the
yellow and blue are visible. However, each game saves it's own ini file,
so you can set this image as the default and then modify the screen on
a per-game basis if needed.

-FPS display can be enabled or disabled. All games run at 60 FPS unless
using the HQ2X filter. However, some games run at 60 FPS even with this
filter.

-You can set the type of auto generated palette (colors) Nestopia
uses: RGB or YUV. 

-You can specify an external palette file if you do not like the colors 
Nestopia generates for a specific game. Put .pal files in the palette
directory. A custom palette must be selected and Color type must be set
to Custom.

-The GUI sound effects can be disabled or enabled.

-The volume for the GUI background music can be adjusted.

-Simulated Surround Sound can be enabled or disabled. This should
only be enabled if the Xbox is connected to a surround sound
system.

-The emulated volume can be adjusted in the Sound menu or by using the 
right analog stick during emulation.

-Rewind sound can be disabled.

-Command line launching. Parameter one must be the full path to the 
emulator. Parameter two is the name of the ROM without the path. This
must be a zip file name. The emulator assumes the ROM is at the
location of the ROM path specified in the Path.ini.

UnleashX example:

This line was added to the Config.xml file:

<Item Action="G:\Games\Emulation\NestopiaX\default.xbe" 
Arg1="Super Mario Bros. (W) (!).zip">Super Mario Bros</Item>
 
-All buttons can be configured.

-Turbo settings for all buttons.
 
-The turbo speed can be adjusted. The higher the number, the slower the
turbo. Some games will not work with certain turbo speed settings. This
will need to be changed for some games.

-Support for 4 emulated gamepads

-Lightgun emulation. Set Controller one to Gamepad and Controller two to
Lightgun. The on screen crosshair is controlled with Xbox controller
one. The Lightgun trigger is controlled from the Gamepad 1 NES A button
setting. Lightgun emulation is not compatible with the NTSC filter.

-The speed of the Lightgun cursor can be adjusted.

-The color of the Lightgun cursor can be changed. For example, a black
cursor cannot always be seen in some games because the background color
is black.

-The Lightgun cursor can be enabled or disabled. This is only needed for
one game that I know of: Nintendo World Championship. This game requires
that controller one is set to Gamepad and controller two is set to
Lightgun. Otherwise, it won't start. However, the game does not use a
Lightgun so there is no need to see a Lightgun cursor on the screen.
Set the Lightgun cursor to disabled to fix this.

-Fast forward can be mapped to any button.

-Real time rewind can be mapped to any button.

-VS Coin 1 and Coin 2 can be mapped to any button

-Alternate ways to display the in game emulation menu. This will be
useful for players who use controllers without a right analog stick.

The choices are:

Right Analog Click
Left Trigger + Right Trigger
Back + Start
Left Trigger + Back
Right Trigger + Back

-The GUI and NES Player one can be controlled from any of the four XBOX
controller ports. Set DefaultController to 0, 1, 2, or 3 to control the
GUI and NES Player one from XBOX controller 1, 2, 3, or 4. This can only
be changed by editing the D:\ini\NestopiaX.ini file.

-Nearly everything in the GUI can be configured.

-Support for all the Xbox partitions and DVD drive. The Drive letters
are (C, E, F, G, X, Y, Z, and R for the DVD-ROM). DVD discs must be
created from XISOs. Otherwise the ROMs will not be found.

-All Option settings from the Main Menu serve as the global settings.
These settings are used if a game has never been started. When a game
has started, changing the settings apply only to that game. For example,
if you know that you want to map Rewind to the XBOX Black button, then
instead of having to change the default setting for each game, change
the global value. Then every game will use that value from the start.

-Automatic boxart screenshot support. If a screenshot is a boxart image,
then the GUI will display it correctly.

-Dual preview support. If a video and image are found, then both are
displayed simultaneously.

-Option to disable the video preview audio

-Each game supports eight screenshots

-Screenshots can by cycled by pressing left or right on the right analog
stick.

-Press the Start button to view a game's images in the image viewer 
Press left and right on the D-Pad to cycle to the next or previous
image. Use the left and right analog sticks to move or zoom the
image.

-Analog scrolling is supported via the left and right analog triggers.

-Pressing left or right on the D-Pad will skip to the next/previous
letter of the alphabet.

-Favorites support. Select a game and press the White button to add it
to the favorites list. While viewing the Favorites list, press the
White button to delete the favorite.

-Pressing the Y button will jump to the top of the game list

-Three skins are included. One for 480i/p, 720p, and 1080i. Users should 
choose an HD skin if they want to run Nestopia in HD.

-DVD support. ROMs can be read off a DVD created from an XISO. Set the
ROM path to R:

-Basic ROM name display support. For example:
"Super Mario Bros 2 (PROG0) (U) (!).zip" will be displayed as 
"Super Mario Bros. 2"

-FDS game support. Put the FDS BIOS in the bios directory. It must be
named "disksys.rom". It must NOT be zipped.

-The FDS disk side can be set or flipped.

-IPS and UPS patching. Put the patch in the patches folder. The patch
must be named exactly the same as the ROM name. Zelda.zip should have 
a Zelda.ups or Zelda.ips patch.

-SRAM and FDS saving support.

-Save State support. Each game supports 10 save states. A preview is 
generated for each save state.

-The game can be hard reset. This is equivalent to pressing the Power
button the NES console had twice: Once to turn it off, and once to
turn it back on simulating a reset.

-The game can be soft reset. This is equivalent to pushing the reset
button that a NES console had.

-The sprite limit can be disabled. This will reduce graphics flicker.
It may cause emulation issues if games depended on the sprite limit.
However, it will make most game look better since the graphics are not
flickering. 

-The region can be changed. The choices are Auto, NTSC, and PAL. If
Nestopia cannot determine what the region should be, then it will use
NTSC. Some games that were developed for NTSC consoles, and later
released in PAL markets, were not adjusted to run at the original
speed. That is why the PAL version of some games will have slow sound.
This can be fixed by setting the region to NTSC. Some games depend on
specific timing. For example, Mr. Gimmick is a PAL game that will have
corrupt graphics if the region is set to NTSC. If a game does not start,
then the first thing to do is to try changing the region.

-Screenshot support. Screenshots are filtered. For example, If a user
is using the Scale3X filter, then any screenshots taken will have the
Scale3X filter applied. Filtered screenshots will slow down the ROM
browser so it is recommended to disable software filtering if taking
screenshots.

-Built in cheat database with over 8000 cheats. These are text files
that the user can modify to add more cheats.

-Built in game Synopsis. This contains information such as tips and
tricks, codes, reviews, or general information about the game.

-Image viewer. This can be used to view maps, instruction manuals, or
strategy guides for a game.

-Game guide viewer. This can used to view FAQs or Walkthroughs for a
game. These can be found at www.gamefaqs.com.

-Up to eight screenshots per game are supported. The screenshot save slot
can be set to any of the eight slots. It does not auto increment the save
slot. Be careful not to erase a nice box art image, cartridge image,
etc... by selecting the wrong save slot.

-Movie playback support.

-Added option to reset all config files to default values.

------------------------------------------------------------------------

Notes:

-ROMs must be zipped. Otherwise they will not be recognized.

-Here is an easy way to get a lot of high quality artwork for
Nestopia:

1) Download the RessurectionXtras screenshot pack.

2) Create a folder on your computer to convert the art
   (i.e. C:\NestopiaScreenshots)
   
3) Create a folder called "Art" and a folder called "Convert" in that
   folder.
   
   C:\NestopiaScreenshots\Art
   C:\NestopiaScreenshots\Convert
   
4) Create folders named 1 - 4 in the C:\NestopiaScreenshots\Convert
   folder.
   
   C:\NestopiaScreenshots\Convert\1
   C:\NestopiaScreenshots\Convert\2
   C:\NestopiaScreenshots\Convert\3
   C:\NestopiaScreenshots\Convert\4
  
5) Extract the art to C:\NestopiaScreenshots\Art
   There will be:
   
   C:\NestopiaScreenshots\Art\3D World Runner\0001.png
   C:\NestopiaScreenshots\Art\3D World Runner\0002.png
   C:\NestopiaScreenshots\Art\3D World Runner\0003.png
   C:\NestopiaScreenshots\Art\3D World Runner\0004.png
   C:\NestopiaScreenshots\Art\720\0001.png
   C:\NestopiaScreenshots\Art\720\0002.png
   C:\NestopiaScreenshots\Art\720\0003.png
   C:\NestopiaScreenshots\Art\720\0004.png
   etc...

6) Copy the Convert.bat file to the C:\NestopiaScreenshots folder.
The folders should look like this:

  C:\NestopiaScreenshots (The Convert.bat file goes here)
  C:\NestopiaScreenshots\Art (All the Artwork goes here)
  C:\NestopiaScreenshots\Convert
  C:\NestopiaScreenshots\Convert\1
  C:\NestopiaScreenshots\Convert\2
  C:\NestopiaScreenshots\Convert\3
  C:\NestopiaScreenshots\Convert\4
  
Double click the Convert.bat file.

That will rename most of the artwork to match GoodNES 3.14

It will copy the Box Art images to    C:\NestopiaScreenshots\Convert\1
It will copy the Title images to      C:\NestopiaScreenshots\Convert\2
It will copy the Screenshot images to C:\NestopiaScreenshots\Convert\3
It will copy the Cartridge images to  C:\NestopiaScreenshots\Convert\4

You now have high quality box art, title, screenshot, and cartridge
images for about 800 games sorted and matching GoodNES 3.14. This method
will still work if you do not like GoodNES names for your ROMs. 
NestopiaX can delete all the GoodNES information from the filename and
only display the name of the game (i.e. "Super Mario Bros 2" instead of
"Super Mario Bros 2 (PROG0) (U) (!)"). Your games will match
the artwork, but display with the basic names.

To use these images:

1) Rename your ROMs with GoodNES 3.14 so that they match the art just
converted. You MUST use GoodNES 3.14.

2) Use whatever tool you prefer to make sure your ROM names are XBOX
compliant (i.e. less than 43 characters, no illegal characters, etc...)

3) Use the same tool and settings to make sure the artwork is XBOX
compliant (i.e. less than 43 characters, no illegal characters, etc...)

4) Copy the ROMs to the roms folder

5) Copy the images in C:\NestopiaScreenshots\Convert\1 to the
   Artwork\Shots 1 folder.
   
6) Copy the images in C:\NestopiaScreenshots\Convert\2 to the
   Artwork\Shots 2 folder.
   
7) Copy the images in C:\NestopiaScreenshots\Convert\3 to the
   Artwork\Shots 3 folder.
   
8) Copy the images in C:\NestopiaScreenshots\Convert\4 to the
   Artwork\Shots 4 folder.
   
The images can be cycled from the GUI with the right analog stick.

------------------------------------------------------------------------ 

Installation:

1) Extract the archive.
2) Copy to your XBOX.
3) Now you're playing with power.

------------------------------------------------------------------------

Thanks:

-The Nestopia author (Martin Freij), Linux (R. Belmont) and Mac porters.
I used the ports as reference or used the code directly.

-madmab and RessurectionX (and anyone else) for the synopsis.txt file.

-RessurectionX and anyone else involved for the artwork.

-Some websites (which I forgot) where I got the sample images.

-Mighty Mo for the cheat pack.

-The author of the palettes

-Anyone I forgot.