***** SNES9x PS3 **************************************************************
*******************************************************************************

CURRENTLY IMPLEMENTED SNES9X FUNCTIONS
======================================
* ZIP/JMA support
* Saving/loading of SRAM
* Savestate loading/saving support
  - Savestate slot selectable in-game
  - Up to 10 saveslots
  - Compression of savestates with gzip
* Controls
  - Two player support
  - Multitap support (up to five players)
* Supports IPS/UPS translation patches

CONTROLS IN ROM MENU
====================
Up				- Go up
Down				- Go down
Left				- Go back five file entries
Right				- Go forward five file entries
L1				- Go back one page
R1				- Go forward one page

Cross				- (If directory selected) enter directory/ (if ROM selected) start ROM
Triangle			- (If ROM selected) start ROM with multitap support
Circle				- (If not in root directory) Go back to previous directory
L2 + R2				- (If you previously exited a ROM) return to game
Select				- Go to settings menu (see 'CONTROLS IN SETTINGS MENU' section)

CONTROLS IN SETTINGS MENU
=========================
Up				- Go up one setting.
Down				- Go down one setting.
Left				- Change setting to the left.
Right				- Change setting to the right.

Circle				- Go back to ROM menu/Go back to previous Settings screen
Start				- Reset the setting back to the default value.
R1				- Go to the next Settings screen
L1				- Go to the previous Settings screen

EXPLANATION OF SETTINGS MENU
============================

GENERAL SETTINGS
================
Current save state slot		- Set the save state slot - this way, you can save multiple states and switch inbetween save states
Resolution			- Switch between resolutions - 480p mode, 720p mode and 1080p mode (depending on your monitor's supported resolutions) 
Aspect Ratio			- Switch between aspect ratios 4:3 and 16:9.
Hardware Filtering		- Switch between Linear interpolation (Bilinear filtering) and Point filtering.
Overscan			- Set this to a certain value so that no part of the screen is cutoff on your television/monitor. Which value to set varies
				depending on your monitor/TV
Sound				- Switch between Normal mode and RSound mode. RSound basically lets you redirect the audio from the PS3 over the network
				to a PC - so, using this, the audio from SNES9x can be outputted on a PC/laptop/netbook/HTPC's speakers/audio installation
				instead of going through the television speakers or the audio receiver connected to the television.
RSound Server IP Address	- Set the IP address for the RSound server. Will pop up an onscreen keyboard where you must input a valid IP address that
				points to the server that will be running an RSound server application.
DEFAULT				- Set all of the general settings back to their default values

SNES9X SETTINGS
===============
Display framerate		- This will show the FPS (Frames Per Second) onscreen
Sound Input Rate		- The sound input rate of the SNES' audio processor. Runs fine at default (31942)
Transparency Effects		- Disable transparency effects (*)
Frame skip			- Set frame skipping - normally set to AUTO (*)
Disable graphic windows		- Disable graphic windows (*)
Display button input		- Show button input onscreen (Useful for those who experience button lag so we can determine whether it's actually
				registering something)
Force PAL ROM to NTSC		- Set this to ON everytime you want to play a PAL ROM at 60Hz. This will get rid of the ghosting issue that has been
				affecting everyone. Beware though that certain games had region protection so that you could not play a PAL cart on an
				NTSC machine - this started with Super Mario All-Stars. Other games will simply crash when you attempt this - so this is
				definitely not the way it was intended to run PAL ROMs - it is simply a hack, and it works well on most games. You have
				to set this back to ON for every game you try to load; it will automatically turn itself off after having loaded the ROM
PAL Timing			- Change PAL timing - press Left to set it to 16667 (same as NTSC), and Right to set it to 2000 (PAL) (*)
DEFAULT				- Set all of the SNES9x settings back to their default values

* - will probably remove this in the future as there's no point to it

PATH SETTINGS
=============
Startup ROM Directory		- Set the default ROM path to be used. The emulator will use this as the 'root' directory inside the ROM menu. Is set to '/'
				by default.
Savestate Directory		- Set the default savestate directory - all your savestates will be saved here and loaded from this location. is set to
				USRDIR by default.
DEFAULT				- Set all of the path settings back to their default values


CONTROLS IN-GAME
================
Nothing worth really explaining here - 

R3 + L3				- Press these two buttons together while in-game to go back to the ROM browser menu.

R3 + R2				- Save to currently selected save state slot
R3 + L2				- Load from currently selected save state slot

Right analog stick - Left	- Move current savestate slot one slot backwards
Right analog stick - Right	- Move current savestate slot one slot forward

TIP: You can use any USB controller you like and it will map the buttons on the fly - it is even possible to hotswap joysticks - remove one from the
USB port, replace it with another one - it should all work fine. even SNES-to-USB converters should work.

To play a game with a USB controller as Player 1, start up your PS3 and rather than using the Sixaxis/DualShock3, plug in an USB port before
connecting the controller to the PS3 - your USB pad should then become Controller 1.

IPS/UPS TRANSLATION PATCHES
===========================
Put a IPS or UPS translation patch with the same filename as the ROM you want it applied to in the same directory, and load up the ROM.

For instance,

Seiken Densetsu 3 (Japan).sfc

should have an UPS file in the same folder with the following name:

Seiken Densetsu 3 (Japan).ups

SOURCE CODE REPOSITORY
======================
This release corresponds with revision = 49d11492e2

Source code repository is here:

https://code.google.com/p/snes9x-ps3/

COMPILATION INSTRUCTIONS
========================
NOTE: ONLY FOLLOW STEP 1 IF YOU HAVE SDK 1.92 OR LOWER
1 - Edit the Makefile and remove the following from PPU_CXX_FLAGS and PPU_CFLAGS:

-DPS3_SDK_3_41

3 - Do 'make clean && make && make pkg'


CURRENTLY KNOWN ISSUES (AS OF BUILD 4.3.9)
==========================================
* PAL ROMs will be a bit jerky. It is advised that you patch the few ROMs that did not have an NTSC release (such as Terranigma) to NTSC
(there are tools available) and always load the NTSC ROM where there's a version available instead of the PAL version.

PAL versions were almost always inferior to the NTSC versions with 16.9% slower speed and borders top and bottom (due to the extra vertical lines -
PAL had 576 vertical lines, while NTSC had 480)

* One person so far has reported that SNES9x PS3 will not display on his monitor - the reason for that is because his monitor apparently does not
support a 59.94Hz refresh rate, which is essential to getting the very best performance. I will have to provide a workaround for this shortly.
However, 59.94Hz should be the first and preferred option to choose since it currently gives the best results.

NOTES IN GENERAL
----------------
* For people running this on HDTVs complaining about input lag:
	- Turn off all post-processing filters you may have running - on Sony Bravia HDTVs, display Motion Flow (this also causes input lags
	with most games in general, not just this SNES emu. If your HDTV has a 'Game' mode or something of the sort, select that as well.

PERFORMANCE NOTES
=================
* Here is how most games will run (at any resolution - 480p/720p/1080p):

- Normal games (no special enhancement chips)							 = 60fps constant
- DSP-1 (Super Mario Kart/PilotWings)								 = 60fps constant
- DSP-1B (Ballz)										 = 60fps constant
- DSP-2 (Dungeon Master)									 = 60fps constant
- DSP-4 (Top Gear 3000)										 = 60fps constant
- SA-1 (Super Mario RPG/Kirby Superstar/Kirby's Dreamland 3/Super Bomberman Panic World)	 = 60fps constant
- Cx4 (Mega Man X2/Mega Man X3)									 = 60fps constant
- OBC-1 (Metal Combat: Falcon's Revenge								 = 60fps constant
- SDD-1 (Star Ocean/Street Fighter Alpha 2)							 = 60fps constant
- S-RTC (Dai Kaiju Monogatari 2)								 = 60fps constant
- SPC7110 (Far East of Eden Zero/Tengai Makyo)							 = not tested
- SuperFX
  - Star Fox 1											 = 60fps constant
  - Stunt Race FX										 = 60fps constant
  - Doom											 = 60fps constant
  - Super Mario World 2: Yoshi's Island								 = 60fps constant
  - Star Fox 2											 = not 60fps constant
  - Vortex											 = not 60fps constant
  - Winter Gold											 = 50fps constant (was a PAL game)
  - Dirt Racer											 = 60fps constant


PLANNED IMPROVEMENTS
--------------------
* Include keyboard support and map it by default to the following buttons:
- b,a,y,x,l (for face and trigger buttons)
- arrow keys for D-pad
- start = enter
- select = shift
Also make this configurable
* A better frontend
* Cheat code support
* Pixel shaders
* Super Scope support (using analog stick or Move)
* Mouse support (using analog stick or Move)

CREDITS
-------
Orioto	-	PIC1.PNG based on 'Milky Sky' (http://orioto.deviantart.com/gallery/?6943610#/d1k3qg7)
