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

CHANGELOG
=========
Build 4.3.8 (23-10-2010) - rev. number 768cf9df52
-------------------------------------------------
* Updated to new SNES9x version - now runs the following games that didn't work previously (or had noise instead of sound):
	- Earthworm Jim 2
	- NBA Hangtime
	- MS Pac Man
* PSGL driver built and in use - speed is now better at 1080p than it was previously at 480p. There's still a resolution switch, but there's no need anymore to switch to 480p - speed is the same at 1080p as it is on 480p, and it's damn good for the record. Enjoy.
* All resolutions supported now
* Added simple hardware filtering settings - Linear Interpolation and Point Filtering. Shaders will come later.
* Added Aspect Ratio settings - 4:3 and 16:10 (HDTVs with 16:9 aspect ratio might experience that on 16:10, the screen might be slightly cut-off. We're working on a proper aspect ratio setting for 16:9)
* Can now load configurable settings from snes9x.conf file stored in the USRDIR folder. Saving of this file will come in the next release.
* Will now select the highest resolution your TV/monitor can support - so is no longer set to default at 480p.

Build 4.3.7 (19-10-2010) - rev. number f2e3e0bef2
-------------------------------------------------
* There's now a build for PS3s with firmwares below 3.41 (basically bigger than or equal to FW 1.92)  and a build for PS3s with firmwares 3.41 or higher.
* You can now switch resolutions inside the Settings screen - go from 480p to 720p or vice versa, hence the need for two builds (480p and 720p) eliminated. (Halsafar)
* Zipped ROM support (ZIP/JMA) (Squarepusher)
  * Savestates are now compressed as well (NOTE: I don't know what this will do to your pre-existing savestates. Try to back them up first - they're inside the USRDIR folder of /dev_hdd0/game/SNES90000/)
* Menu looks a whole lot better now at both 480p and 720p; crappy font has been put out of commission. It's now actually readable (Cmonkey69)
* Games that switch between SNES resolutions (Seiken Densetsu 3/Secret of Mana) are now both vertically scaled correctly - you don't even notice the resolution switch anymore. This is only at 480p mode - in 720p mode you will notice the same effect as you did previously. This will be worked on. (Halsafar)
* A lot of settings got added to the Settings screen. For instance, it's now possible (on most PAL games) to run them at 60fps by setting 'Force PAL ROM to NTSC' to ON. This won't work for every game, however (most games after 1993 came with region protection), and it might even result in a crash because you're doing something that is not deemed appropriate by either the SNES hardware or the emulator. A solution for PAL ROMs is worked on.
* You can return to a previous folder inside the ROM menu by pressing the CIRCLE button.

Build 4.3.6 (11-10-2010) - rev. number 61ecb6e1c9:
--------------------------------------------------
* Savestates implemented (cmonkey69)
* Settings screen implemented (cmonkey69)
* Some performance improvements noticeable due to switch to more recent SDK - Jikkyou Oshaberi Parodius now has only a minor frame drop to 57fps on the character select screen but runs fine everywhere else (at 480p)
Build 4.3.5 (8-10-2010):
------------------------
* Fixed the 'green ROM' loading/crashing bug - it was due to a mistake made when 'sorting' the file names inside a directory - the variable array that checked if a file was a directory was not updated. Credit goes to cmonkey69 for fixing his own code :)
* Moved all display code into its own file - celldisplay.cpp / celldisplayutil.h
* Upgraded to latest SNES9x - git repository: http://board.byuu.org/viewtopic.php?f=3&t=881
- Contains the following patches/improvements:
  - Cx4 improvement (Mega Man X2) - http://board.byuu.org/viewtopic.php?f=3&t=881
  - Fix Dual Orb 2 sound glitch (byuu)
  - Updated to latest WIP
     - Improvements noticed by myself (mostly APU related):
        - Jikkyou Oshaberi Parodius - far better performance - far less sound pops (this was one of the few games except for SuperFX ones that did not run perfectly)
        - Star Fox/Star Fox 2 have far less sound pops (though still there)
        - Super Mario World 2: Yoshi's Island - the spots where framerate dips and sound pops could usually be noticed have also been improved
	* NOTE: These games (SuperFX games - Jikkyou Oshaberi Parodius - SA-1 - are best played at 480p - the fps stays at 60, but the sound pops are very irritating at 720p with these few games)
  
Build 4.3.4 (3-10-2010):
------------------------
* Removed the hack that caused the emulator to exit to the XMB after loading the fourth ROM - this was to disguise a really bad crashing bug. This hack no longer seems to be needed.
* If you exit a ROM with L3+R3, you can return back to the game while inside the ROM Browser menu by pressing L2+R2 simultaneously.
Build 4.3.3 (2-10-2010):
------------------------
* Multitap support. Start a ROM with the Triangle button inside the ROM browser menu.
  - This works on all controllers - PS3/USB joypads - you name it. You can hotswap them on the fly - you don't have to have them all inserted
  at the start of the game - you can insert them later and it will instantly recognize the second/third/fourth pad as that controller
* Changed SoundInputRate from 31942 to 31960 - I heard a lot of static/distortion with games like Demon's Crest and Super Metroid at 31942, 
and 31960 seems to be a huge improvement to that end. 31942 was a SoundInputRate that I had decided upon back when the emulator was still 
running at a 60Hz refresh rate instead of 59.94Hz - now that we're at 59.94Hz, we can increase the SoundInputRate and get better sound/video
synchronization overall. Might increase this even more in the future - have to do some more tests.
  - In any case, as a result of changing this, most games should have improved sound now. 

Build 4.3.2 (1-10-2010):
------------------------
* Totally rewritten controller/input code (check cellpad.cpp/cellpadutil.h). Theoretically, input lag should be less now since the read_pad
loop was previously hardcoded to do a pass at least two times - now it will check how many controllers are actually connected. So for instance, 
if only one controller is connected, it will only go through this loop where it checks for button input one time instead of twice - thus reducing
clock cycles.

Also there are now function calls available such as cellPadUtilButtonPressed and cellPadUtilButtonReleased, which could be used in various ways.
* The left analog stick is now mapped to the directional pad.
* The left analog stick now works at the ROM browser menu and is a lot faster than the D-pad - so use this for browsing in case you have a big ROM 
list and the D-pad takes a while to browse through it.
* Files in ROM directories are now alphabetically sorted (cmonkey69)
* ROM browser will return to the last entered directory after quitting ROM
* 'Quit ROM' shortcut changed to R3+L3
* The 480p build in the last version (4.3.1) did not output at 480p but at 576p, because the 576p mode was ticked in the PARAM.SFO. The 480p build
will now display at 480p like it's supposed to.
* Removed the 'Load PAL ROM' option by pressing Triangle at the ROM browser menu since it serves no purpose at the moment and doesn't do what it's
supposed to.

Build 4.3.1 (27-9-2010):
------------------------
* There's now a 720p build and a 480p one. This is only temporary until I find a way to manually set resolutions without the PS3 making its own
inferences as to what resolution I would like based on the display settings toggled in PARAM.SFO.
* Got rid of a duplicate cellGcmFlush(); at the very start of the flip function - it should not be at the start of the function according to
examples shown. cellGcmFlush basically forces the RSX to process all the GCM commands buffered in the command buffer - however, in the
same method, this function is already called after resetting the flip status. Since all of this has to do with V-syncing, if this should have any
detrimental effects, I should have noticed it already since I'm very pedantic about screen tearing - doesn't seem to be the case.
* Made preliminary steps to sort out the PAL problems by allowing the user to load a ROM with the Triangle button that sets ForcePAL and the refresh
rate to 50Hz. However, there should be a way to get at the region of the ROM using some sort of Snes9x function call without having to start the
actual ROM that has been loaded. This way, I could set this automatically.

Build 4.3 (26-9-2010)
---------------------
* Aspect ratio set to 4:3 - doesn't yet output at 4:3 though - still big borders at left and right of the screen
* Better colors
* Runs now at native 480p resolution @ 59.94Hz refresh rate - together with SoundInputrate (31942), takes care of all audio/video glitches. Basically
runs and performs like a native SNES now - or at least close.

Build 4.2.2
-----------
* Exits the emulator and returns back to the XMB after having loaded the fourth ROM to prevent known crashing bug/black screen upon trying to load the
fifth ROM from the ROM browser menu.

Build 4.2.1
-----------
* Added a 'Quit ROM' shortcut - press R2 + L2 simultaneously in-game to go back to the ROM browser menu.

Build 4.2
---------
* Set SoundInputRate at 31942 (previous setting was 31968), seems to remove the sound pops. Sound seems to be pretty much perfect now - perhaps later
on return to this and find the ideal value somewhere inbetween 31942 - 31950.

Build 4
-------
* Started from scratch - redownloaded 1.52, took everything from eisz to make it compile for PS3
* Set SoundSync to TRUE
* Set AutoSaveDelay to 0
* Applied the following patches from snes9x-gtk:
- Revision r258 - Add a fixed-point linear resampler option. 
- Revision r259 - Use the APU_DEFAULT_RESAMPLER macro. 
- Revision r260 - Optimize the linear interpolation macro. 
- Revision r272 - Merge zones' timing stuff. 
- Revision r282 - Use APU clock that yields 32040hz output instead of 32000. 
- Revision r283 - Integrate timing hack variables into the clock ratios to allow integers in all cases. 
- Revision r287 - Don't push samples if there aren't any.

* Finally, the sound scratching is gone as a result of applying all the patches one after another. People will still want to fiddle around with the
SoundInputRate to get it totally perfect - the crackling is gone, that is no longer a problem, but if you focus really hard, you will hear a slight
pop - SoundInputRate is now set at 31968 - try lowering it, subtract by 10.

In case this writeup makes it sound like the sound is bad, you will probably not even notice what I'm talking about here - the sound is pretty much
perfect now.

Build 3
-------
* Patch r287 from snes9x-gtk - 'Don't push samples if there aren't any'
* Patch r260 from snes9x-gtk - 'Optimize the linear interpolation macro'
* Patch r272 from snes9x-gtk - 'Merge zones' timing stuff' (bSNES' SA-1 core integrated in SNES9x + Seiken Densetsu 2/Secret of Mana gamehack)
Build 2
* Patch r283 from snes9x-gtk - 'Integrate timing hack variables into the clock ratios to allow integers in all cases.'
* Patch r282 from snes9x-gtk - 'Use APU clock that yields 32040hz output instead of 32000.' - Together, these two patches seem to fix the sound lag
and pops (but crackling remains).
* Settings.AutoSaveDelay changed from 5 to 0 - SRAM lag fix.
* Settings.SyncSound set to TRUE.
* SFC file support in rudimentary file browser. 

Build 2
-------
* Patch r283 from snes9x-gtk - 'Integrate timing hack variables into the clock ratios to allow integers in all cases.'
* Patch r282 from snes9x-gtk - 'Use APU clock that yields 32040hz output instead of 32000.' - Together, these two patches seem to fix the sound lag
and pops (but crackling remains).
