================================================================================
			SNES9x PS3
			Version 4.4.3
================================================================================

This is an application for the PlayStation3 that makes it possible to play Super
Nintendo Entertainment System / Super Famicom games on your jailbroken
PlayStation3. It is based on an up-to-date version of the popular PC emulator,
SNES9x.


================================================================================
			Table of Contents
================================================================================
0. Requirements........................................................... [A00]
1. Currently Implemented SNES9x functions................................. [A01]
2. Controls............................................................... [B01]
     2.1.1 - Controls in ROM menu......................................... [B02]
     2.1.2 - Controls in Settings menu.................................... [B03]
     2.1.3 - Controls in-game............................................. [B04]
     2.1.4 - Controls in-game (SNES joypad)............................... [B05]
     2.1.5 - Controls in-game (SNES Mouse)................................ [B06]
     2.1.6 - Controls in-game (Super Scope)............................... [B07]
     2.1.7 - Controls in-game (miscellaneous)............................. [B08]
3. Settings............................................................... [C01]
     3.1 - General Settings............................................... [C02]
     3.2 - SNES9x Settings................................................ [C03]
     3.3 - Path Settings.................................................. [C04]
     3.4 - Controls Settings.............................................. [C05]
4. Cheat code files....................................................... [D01]
5. IPS/UPS translation patches............................................ [E01]
6. Currently known issues (as of 4.4.3)................................... [F01]
     6.1 - Resolution switching - error prone on FW 1.92 build............ [F02]
7. Notes.................................................................. [G01]
     7.1 - General notes.................................................. [G02]
     7.2 - Performance notes.............................................. [G03]
     7.3 - Performance w/ pixel shaders................................... [G04]
8. Planned improvements................................................... [H01]
9. For Developers......................................................... [I01]
     9.1 - Source Code Repository......................................... [I02]
          9.1.1 - Getting the latest SNES9x revision...................... [I03]
     9.2  - Compilation Instructions...................................... [I04]
          9.2.1 - For SDK 1.92............................................ [I05]
          9.2.2 - For SDK 3.41............................................ [I06]
	  9.2.3 - To make a debugging-friendly compile.................... [I07]
     9.3 - CellFramework.................................................. [I08]
          9.3.1 - Getting the latest Cellframework revision............... [I09]
10. Credits............................................................... [J01]
     

================================================================================
[A00]			0. Requirements
================================================================================
To play this on your PlayStation3 system, you have one of two options:

a) Jailbreak your PS3 using a USB exploit - this works up to firmware 3.41. 

or, 

b) You must update your firmware with a custom firmware. (required if you 
have firmware 3.55)

You must install the version of SNES9x PS3 that corresponds to the firmware
you're running. Go to 'Game' in the XMB, go to 'Install Packages', and select
the package you want to install.

================================================================================
			PS3 has firmware 1.92+ installed (w/ jailbreak dongle)
================================================================================ 
Install snes9x-ps3-v4.4.3-fw1.92.pkg'.

================================================================================
			PS3 has firmware 3.41 installed (w/ jailbreak dongle)
================================================================================
Install snes9x-ps3-v4.4.3-fw3.41.pkg'.

================================================================================
			PS3 has firmware Geohot 3.55 CFW installed 
================================================================================
Install 'snes9x-ps3-v4.4.3-geohot-cfw3.55.pkg'.

================================================================================
[A01]			1. CURRENTLY IMPLEMENTED SNES9X FUNCTIONS
================================================================================
* Based on the latest version (SNES9x 1.52 WIP)
* Savestate loading/saving support
  - Savestate slot selectable in-game
  - Up to 10 saveslots
  - Compression of savestates with gzip
* Supports IPS/UPS translation patches
* Saving/loading of SRAM
* Controls
  - Two player support
  - Multitap support (up to five players)
  - Super Scope (mapped to the left analog stick)
  - Mouse (mapped to the left analog stick)
* ROM support
  - SFC/FIG/SMC ROM support
  - Supports ZIP/JMA archives
* Supports cheatcode files (cht)
* Supports movie files (.smv)
  - Ability to record, stop and play movies in-game

================================================================================
[B01]			2. CONTROLS
================================================================================

================================================================================
[B02]			2.1.1 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)

* - This option might be removed in the future but is still available as a
fallback in case the automatic multitap capability detection fails to work
on a game.

================================================================================
[B03]			2.1.2 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

================================================================================
[B04]			2.1.3 CONTROLS IN-GAME
================================================================================

================================================================================
[B05]			2.1.4 CONTROLS IN-GAME - SNES JOYPAD
================================================================================
The standard button mappings for the SNES joypad are:

D-pad/Left analog stick		- SNES D-pad
Circle button			- Button A
Cross button			- Button B
Triangle button			- Button X
Square button			- Button Y
Select button			- Select button
Start button			- Start button
L1 button			- L button
R1 button			- R button

These controls can be reconfigured on the fly.

================================================================================
[B06]			2.1.5 CONTROLS IN-GAME - SNES MOUSE
================================================================================
The standard button mappings for the SNES mouse are:

Left analog stick		- Mouse movement
Triangle button			- Mouse R button
Square button			- Mouse L button

================================================================================
[B07]			2.1.6 CONTROLS IN-GAME - SUPER SCOPE
================================================================================
The standard button mappings for the Super Scope are:

Left analog stick		- Super Scope movement
Circle button			- Scope Toggle Turbo
Triangle button			- Scope Aim Off Screen
Square button			- Scope Fire Button
Start button			- Scope Pause button

================================================================================
[B08]			2.1.7 CONTROLS IN-GAME - MISCELLANEOUS
================================================================================

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.
Right analog stick - Left + L2	- Move cheat position back by one (-1).
Right analog stick - Right + L2	- Move cheat position forwards by one (+1).
Right analog stick - Up		- Enable the currently selected cheat.
Right analog stick - Down	- Disable the currently selected cheat.

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.

================================================================================
[C01]			3. SETTINGS
================================================================================

================================================================================
[C02]			3.1 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 (depending on your TV/monitor's supported 
resolutions)

================================================================================
			Selected Shader
================================================================================
Select a shader - the default shader is '/stock.cg'. Choose between 2XSaI, 
Bloom shader, curved CRT shader, HQ2x, Super2xSaI, SuperEagle, and more.

================================================================================
			Font Size		
================================================================================
The font size in menus. Set this to a value higher than 1.000 to enlarge the
font size, or set it to a value lower than 1.000 to shrink the font size.

================================================================================
			Aspect Ratio			
================================================================================
Switch between aspect ratios 'Scaled' (recommended for 4:3 TVs/monitors) and
'Stretched' (recommended for 16:9 TVs/monitors).

================================================================================
			Hardware Filtering
================================================================================
Switch between Linear interpolation (Bilinear filtering) (DEFAULT) and 
Point filtering.

Linear interpolation - A hardware bilinear filter is applied to the image.

Point filtering	     - No filters are applied. Most shaders look much better on
this setting.

================================================================================
			Overscan
================================================================================
Set this to a certain value so that no part of the screen is cutoff on your 
TV/monitor.

Which value to set varies depending on your monitor/TV.

================================================================================
			Sound
================================================================================
Switch between Normal mode and RSound mode.

Normal Mode - The normal audio output will be used by the PS3. (DEFAULT)

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

================================================================================
[C03]			SNES9x SETTINGS
================================================================================

================================================================================
			Display Framerate
================================================================================
ON  - This will show an FPS (Frames Per Second) counter onscreen.

OFF - FPS counter is disabled. (DEFAULT)

================================================================================
			Sound Input Rate
================================================================================
Set the sound input rate of the SNES' audio processor. The default value (31942)
has been found to be ideal for A/V synchronization. Your mileage may vary - 
hence the inclusion of this option.

================================================================================
			Transparency effects
================================================================================
Enable or disable transparency effects.

ON  - Transparency effects are enabled. (DEFAULT)
OFF - Transparency effects are disabled. Certain transparency features used by 
the SNES in commercial games will not be displayed. (*)

================================================================================
			Frame skip
================================================================================
Set frame skipping - normally set to AUTO. (*)

NOTE: This feature currently does not work.

================================================================================
			Disable graphic windows
================================================================================
ON  - Graphic windows is enabled. (DEFAULT)
OFF - Graphic windows is disabled. Certain graphical features used by the SNES
in commercial games will be disabled.

================================================================================
			Display button input
================================================================================
ON  - Button input will be displayed on-screen - similar to fighting games in 
training mode that show you button input on-screen.
OFF - Button input will not be displayed on-screen. (DEFAULT)

================================================================================
			Force NTSC ROM to PAL
================================================================================
Set this to ON everytime you want to play a NTSC ROM at 50Hz (for PAL 576p). 
Beware though that certain games might have region protection so that you could 
not play an NTSC cart on an PAL machines. 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.

ON  - Try to run an NTSC ROM at 50Hz PAL.
OFF - Run NTSC ROMs normally. (DEFAULT)

================================================================================
			Force PAL ROM to NTSC
================================================================================
Set this to ON everytime you want to play a PAL ROM at 60Hz. 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.

ON  - Try to run a PAL ROM at 60Hz NTSC.
OFF - Run PAL ROMs normally. (DEFAULT)

================================================================================
			PAL Timing
================================================================================
Change PAL timing - press Left to set it to 16667 (same as NTSC), and Right to 
set it to 2000 (PAL). 

20000 - Use PAL timing frequency for PAL. (DEFAULT)
16667 - Use NTSC timing frequency for PAL.

================================================================================
			Auto-apply Cheats
================================================================================
Automatically apply cheat files if they have the same name as the ROM file.

ON  - Cheat files will be automatically applied. (DEFAULT)
OFF - Cheat files will not be applied.

================================================================================
			Auto-apply IPS/UPS Patch
================================================================================
Automatically apply IPS/UPS patches if they have the same name as the ROM file
and are located in the same directory as the ROM.

ON  - IPS/UPS patches will be automatically applied. (DEFAULT)
OFF - IPS/UPS patches will not be applied.

NOTE: IPS/UPS patches are mostly referred to as translation patches that often
translate a Japanese game's text/dialogue into English. You can load either
pre-patched ROMs with SNES9x PS3, or you can use this option to automatically
apply IPS/UPS patches to a ROM. The latter approach doesn't require manual
editing of the ROM.

================================================================================
			Reset Before Recording Movie
================================================================================
Normally, when SNES9x is about to record a movie, it will first reset the ROM
before doing so.

ON  - SNES9x will reset the game before recording the movie.
OFF - SNES9x will record at the current position you're at in the game.

================================================================================
			Fast-forwarding - frameskip
================================================================================
Set here the amount of frames to skip while fast-forwarding. Setting this to a
value higher than 15 will translate to faster fast-forwarding.

================================================================================
			Default
================================================================================
Set all of the SNES9x settings back to their default values

================================================================================
[C04]			3.3 PATH SETTINGS
================================================================================

================================================================================
			Startup ROM Directory
================================================================================
Set the default ROM startup directory. You will have to restart the emulator
after changing the path for this change to have any effect.

DEFAULT - is set to the root of the PS3's filesystem. (/)

================================================================================
			Savestate Directory
================================================================================
Set the default savestate directory where your savestates will be saved and
loaded from.

DEFAULT - is set to the USRDIR directory of SNES9x PS3. 
(/dev_hdd0/game/SNES90000/USRDIR)

================================================================================
			SRAM Directory
================================================================================
Set the default SRAM (SaveRAM) directory where all your SRAM files will be 
saved and loaded from.

DEFAULT - Normally, the .SRM file of a game that supports SRAM is saved in the
same directory where the ROM is found.

================================================================================
			Cheatfile Directory
================================================================================
Set the default cheatfile directory - all your cheatfiles will be saved and 
loaded from here.

DEFAULT - is set to the USRDIR directory of SNES9x PS3. 
(/dev_hdd0/game/SNES90000/USRDIR)

================================================================================
			Default
================================================================================
Set all of the path settings back to their default values

================================================================================
[C05]			3.4 CONTROLS SETTINGS
================================================================================
TODO

================================================================================
[D01]			4. CHEAT CODE FILES
================================================================================
Cheat code files need to be have the same filename as the ROM you want to apply 
it to.

For instance:

Seiken Densetsu 3 (Japan).sfc

The cheatfile would have the following name:

Seiken Densetsu 3 (Japan).cht

Cheatcode files are saved either in the default directory (USRDIR), or at the 
directory that you have set as the 'Cheatfile directory' (see 'PATH SETTINGS')

NOTE: See '2.1.2 - CONTROLS IN-GAME' for an explanation of settings 
activation/deactivation and selecting ingame.

================================================================================
[E01]			5. 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

================================================================================
[F01]			6. CURRENTLY KNOWN ISSUES (AS OF BUILD 4.4.3)
================================================================================

================================================================================
[F02]			6.1 Resolution switching - error prone on FW 1.92 build
================================================================================
There are known problems with resolution switching on firmware 1.92. Be warned
that while it might work up until a certain couple of times, it is known to 
crash the emulator after changing resolutions too many times. When this 
happens, you will have to restart the emulator and load the jailbreak payload
again.

================================================================================
[G01]			7. NOTES
================================================================================

================================================================================
[G02]			7.1 GENERAL NOTES
================================================================================
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.

================================================================================
[G03]			7.2 PERFORMANCE NOTES
================================================================================
All games will run at 60fps constant (NTSC) / 50fps constant (PAL) at any 
resolution, except for two notable exceptions:

* Star Fox 2
* Vortex

There is a way to get both of these games to run more or less at fullspeed 
though - but it involves setting 'Force PAL ROM to NTSC' to ON and then
loading the game (Vortex or Star Fox 2). This will reduce the framerate to
50fps but performance overall will be much better with far less slowdown
and audio pops.

Performance issues with these two games will be looked into.

================================================================================
[G04]			7.3 PERFORMANCE NOTES - SHADERS
================================================================================
Here is the performance of the various fragment/pixel shaders:

All shaders will run at fullspeed up until 1280x1080.

================================================================================
SHADER		1440x1080		1600x1080		1920x1080 1080p
================================================================================
Stock		60fps			60fps			60fps 
2xSaI		60fps			60fps			60fps
Bloom		60fps (*)		not fullspeed (**)	not fullspeed
Blur		60fps			60fps			60fps
CRT		not fullspeed (**)	not fullspeed (**)	not fullspeed
HQ2x		60fps			60fps			60fps
Lanzcos12	60fps			60fps			60fps
Lanzcos16	60fps			60fps			60fps
McGreen		60fps			60fps			60fps
Quad_Interp	60fps			60fps			60fps
Scale2xPlus	60fps			60fps			60fps
Scanlines	60fps			60fps			60fps
Sharpen		60fps			60fps			60fps
Super2xSaI	60fps			not fullspeed		not fullspeed
SuperEagle	60fps			60fps			not fullspeed

*  - Might fluctuate with certain chip games (such as SuperFX)
** - Is fullspeed at 4:3 but not at 16:9

================================================================================
[H01]			8. 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
* A better frontend
* Be able to input cheat codes with the OSK utility (on-screen keyboard)

================================================================================
[I01]			9. FOR DEVELOPERS
================================================================================

================================================================================
[I02]			9.1 SOURCE CODE REPOSITORY
================================================================================
Link : https://code.google.com/p/snes9x-ps3/

This release corresponds with revision = ?  

================================================================================
[I03]			9.1.1 GETTING LATEST SNES9X REVISION
================================================================================
To be able to check out the latest revision, you must have Mercurial installed 
on your system.

To check out the latest revision in the trunk, type in the following from the
command-line:

hg clone https://snes9x-ps3.googlecode.com/hg/ snes9x-ps3  

================================================================================
[I04]			9.2 COMPILATION INSTRUCTIONS
================================================================================
SNES9x PS3 can be compiled with either GCC or the SN C/C++ compiler.

================================================================================
			GCC PS3 PPU Lv2 4.1.1
================================================================================
Set CELL_BUILD_TOOLS in the Makefile like this:

CELL_BUILD_TOOLS = GCC

================================================================================
			SN C/C++ Compiler
================================================================================
Set CELL_BUILD_TOOLS in the Makefile like this:

CELL_BUILD_TOOLS = SNC

================================================================================
[I05]			9.2.1 FOR SDK 1.92
================================================================================
1 - Edit the Makefile and comment out the following lines below the comment 'for 3.41':

#for 3.41
PPU_CLAGS		+= -DPS3_SDK_3_41
PPU_CXXFLAGS		+= -DPS3_SDK_3_41

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

================================================================================
[I06]			9.2.2 FOR SDK 3.41
================================================================================

1 - Do 'make clean && make && make pkg'

================================================================================
[I07]			9.2.3 TO MAKE A DEBUGGING-FRIENDLY COMPILE
================================================================================
We provide a netlogger in case you want to have some way of debugging 
SNES9x PS3 remotely.

1 - Edit the Makefile and comment out the following lines below the comment 
'debugging':

#PPU_CFLAGS += -DCELL_DEBUG -DPS3_DEBUG_IP=\"192.168.1.7\" \ 
#-DPS3_DEBUG_PORT=9001
#PPU_CXXFLAGS += -DCELL_DEBUG -DPS3_DEBUG_IP=\"192.168.1.7\" \
#-DPS3_DEBUG_PORT=9001

The IP address needs to be changed to the IP address of the host machine that 
will be running netcat.

2 - Do 'make clean && make compile'.

3 - Install SNES9 PS3 on your PS3, start up netcat on your PC with the 
following command:

netcat -l -p 9001

4 - Start up SNES9x PS3. If all went well, you will see debugging messages on 
your PC with the netcat application.

================================================================================
[I08]			9.3 CELLFRAMEWORK
================================================================================
Link : https://code.google.com/p/cellframework/)

SNES9x is an implementation of 'Cellframework', which is written by the same 
developers as a rudimentary framework for PS3 app development. It provides 
more-or-less complete classes for graphics, input, audio, and network.

Cellframework is a subrepository of SNES9x. To update the subrepository, from 
the commandline, go to the folder and type 'hg up'.

================================================================================
[I09]			9.3.1 GETTING LATEST CELLFRAMEWORK REVISION
================================================================================
To be able to check out the latest revision, you must have Mercurial 
installed on your system. Type in the following:

hg clone https://cellframework.googlecode.com/hg/ cellframework

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