Professional Documents
Culture Documents
13
Introduction
============
pSXfin emulates the Sony Playstation 1, pretty much everything is emulated (to my knowledge) and a majority of
games run perfectly. It runs under Linux.
One thing that should be noted is that pSXfin DOES NOT use plugins. The emulator is completely self contained.
[aside from the fact that it uses supplied libraries and command line initialization.]
The emulator has been designed to be as easy and unobtrusive to use as possible - in most cases you will not
need to configure anything to use it (except maybe the controls).
Thanks to farscape for supplying me with some of the hard to locate BIOS files. The additional BIOS files should
allow it to play better than 20% more game titles. He is also in the process of working to create install packages
for Windoze .
Installation
============
Extract all files from the .tar & .bz2 files including subfolders.
The emulator requires a PS1 BIOS file which should be placed in the bios directory. By default the emulator will
look for scph1001.bin
- this version is highly recommend because it is the only well tested one although other bioses should work and
some are required for particular games.
Once the emulator is running you can change the BIOS from the configuration menu. In the event that you only
have a different bios
file you can edit psx.ini to get the emulator running (run psx.exe once, you will get an error message, now look
for psx.ini). Change it accordingly.
Installation notes for Linux
============================
Under Linux pSXfin requires the following shared libraries/packages :
OpenGL
ALSA
GTK
GTKGLEXT
libxml2
pSXfin will store its settings in ~/.pSX (the memcards, saves and screenshots dirctories will also be created
here). If psx.ini is present in the application directory it will be read from there instead (for backwards
compatibility with versions before v1.13 - you can also move psx.ini here if you don't want per-user settings,
remember to make it world writable though otherwise users will be unable to save any settings).
Running games
=============
The emulator supports .cue/.bin, .ccd/.img/.sub, .iso, and .mdf/.mds CD images, the easiest way to run a game is
to run the exe then select "Insert CD image" from the File menu. It is also possible to start a game from the
command line:
pSXfin /usr/psxgames/mygame.bin
Note that you will get best performance running in full-screen mode. Press ALT+ENTER to switch between fullscreen and windowed.
CDZ images
==========
pSXfin supports compressed CD images which are called .CDZ files. They can either be created using the built in
converted (File/Convert .BIN to/from .CDZ) or by using the cdztool.exe command line utility.
.CDZ files can be created from all image formats that pSX supports.
To create a .cdz file utils cdztool :
utils\cdztool.exe c:\psxgames\mygame.bin c:\psxgames\mygame.cdz
You can also convert a cdz back to .cue/.bin by reversing the order of the parameters, eg:
utils\cdztool.exe c:\psxgames\mygame.cdz c:\psxgames\mygame.bin
Configuration
=============
The configuration menu is fairly self explanatory. This is a quick run through of the various options.
Paths
----This tab allows you to set the default paths for state saves, memory cards and cd images.
BIOS
---This tab allows you to set the BIOS image used by the emulator.
Memory cards
-----------This tab configures the memory cards inserted into the Playstations slots. To create a memory card click ...,
navigate to where you want the file to be saved, and enter a filename (eg. "mycard").
Graphics
-------Bilinear interpolation - enabled/disables bilinear filtering when stretching frame buffer to window.
Frame skipping - enables/disables frame skipping
Sleep when idle in windowed mode - when running in windowed mode this option causes the emulator to use
less CPU time but can result in choppier performance.
Pause when not focused - when enabled the emulator will pause when its main window does not have focus
(note: sound is always disabled when not focused).
Status icons - displays status icons (CD/XA/etc..) at the bottom left
Full screen mode: can be configured separately for PAL and NTSC. In most cases these should be left on Default
which will use the most appropriate mode for the PS1 (Note: setting a mode that does not have a refresh rate of
60hz for NTSC, or 100hz for PAL will result in less smooth emulation). You can select which monitor fullscreen
mode will use (default = use whichever monitor the window is on). Aspect ratio correction can also be forced in
this dialog (the default setting is Auto which will apply aspect ratio correction based on the resolution of your
desktop - this should do the correct thing for 99% of people).
Display adjustments: gamma, brightness and contrast can be configured. These options only affect full screen
mode (most cards only support a gamma ramp in full screen mode).
Controllers
----------This tab allows you to configure joystick and keyboard mappings for the Playstations controllers.
Note that you MUST configure the gamepad controls if you want to use a joystick or gamepad (by default only
keys are set up). Also note that you must configure the analog axes if you want to use an analog controller (eg.
dualshock).
Default controls (for port1) :
Up
Cursor up
Left
Cursor left
Down
Cursor down
Right Cursor right
Triangle A
Square X
Cross Z
Circle S
Start Return
Select Space
L1
Left shift
L2
Left ctrl
R1
Right shift
R2
Right ctrl
Sound
----From this tab you can configure sound settings.
Device: set the device used for sound output, in most cases this should be set to "Primary Sound Driver"
Frequency: normally you should leave "Same as emulated machine" checked which will cause the emulator to
use the same frequency as the PS1. To change the output frequency untick the option and select from the
combo box.
Latency: This option controls how much delay there is in the sound output in most cases the default setting will
be fine, but if you experience dropouts or choppy sound you can try increasing this.
XA latency: Controls how much delay there is in XA sound output.
Reverb: Enables/disables reverb emulation.
Sync sound: When enabled the emulator will try to keep the sound in sync with the graphics (this should
normally be enabled).
Interpolate: Enables/disables linear interpolation of sound output - takes slightly more CPU power (not much) but
reduces aliasing significantly.
Misc
---Allows redefinition of various miscellaneous keyboard controls.
CDROM
----Allows selection of CDROM driver (Auto detect, IoControl or ASPI) - normally Auto detect should be used.
ASPI Drive letter mapping
=======================
Because of this the emulator makes a guess (it guesses that the drives are in order of scsi adapter/target) - if you
have multiple drives it may guess wrong. For this reason it is possible to override the mapping.
To see what pSX thinks the mappings are run the emulator with the -x option:
psxfin -x
This will show a list of drives with the corresponding drive letter on the left. If this is incorrect you can add
entries to the [CDROM] section in the .ini file to override it, for example :
[CDROM]
Driver=-1
SCSI4:1=x:
This tells the emulator that SCSI target 4:1 is drive x:
Crash dumps
============
If the emulator crashes it will ask if you want to save a crash dump. There are two types of crash dump, mini
dump and full dump - a dialog box will ask you if you want to save a full dump. In most cases you will want to
say no to this because full dumps can be very large - a mini dump is usually enough to debug problems.
NOTE: crash dump saving is only supported if you have dgbhelp.dll installed
History
=======
v1.0 Initial release
v1.1 ALT+F4 now exits the emulatoer
Pressing F1/Shift+F1 switches back to windowed mode for file dialog
*.mcr files are shown in memory card dialog
Option to disable status icons (CD/XA/MR, etc..) - disabled by default
dbghelp.dll is now optional (required for saving crash dumps though)
CD drives (IoControl and ASPI) should now work
Fixed save state loading bug
Fixed crash when entering non existant save state filename
v1.2 Improved ASPI and IoControl latency
Added SPTI support
Added support for 16bit rendering (including 565), only used if necessary
Full screen mode configuration (NTSC and PAL configured separately)
Fixed GTE bug that caused Valkyrie Profile to crash
Improved streamed ADPCM audio (Valkyrie Profile and others)
v1.3 Fixed several GTE bugs (Crash Bandicoot 3 + others)
More accurate SPU noise and FM (FF7 and ChronoCross sound correct)
Set mask bit for lines (MGS frequency display now works)
Fixed bug where primitive coordinates were not sign extended (ChronoCross)
Swapped analog sticks
Fixed pad force feedback crash (now properly enumerates actuators)
Disabled vsync in windowed mode to fix speed problems
Fixed SPU looping bug: -S option is no longer required (now ignored)
Fixed bug where starting in fullscreen would incorrectly resize window
Fixed debugger GPU capture
Added preliminary version of TheCloudOfSmoke's icon
v1.4 Added final icon and controller dialog graphcs from TheCloudOfSmoke
Fixed bug where joystick device selection was not kept after restarting
Implemented PPF patch support (command line only for now)
Added option to disable bilinear filtering
Added L3 and R3 buttons for dualshock controller
Added reverse axis option for controller analog axes
Option to disable controller rumble now works
Second controller now works
Fixed keys that did not work in controller config dialog (eg. cursors)
Integrated CDZ converter into main program
Added gamma, brightness and contrast controls (fullscreen only)
Added quicksave/load functionality
Fast forward now temporarily turns off vsync
ASPI DLL is no longer required if using IOControl
Fixed state save dialog (now uses save type instead of open)
Fixed window painting when paused (or in modal dialogs)
Removed log menu option in release version
Editing code in debugger memory window works even when using recompiler
Fixed some other debugger problems
Implemented breakpoint editing
Fixed save state loading bug
v1.5 Added screenshot feature
Fixed GTE bug that caused graphical glitches in Legend of Legia
Fixed minor CDROM emulation bug
Adjusted GPU DMA timing to fix MDEC hangs in some games (Legend of Legia)
Check mask bit for lines (fixes DragonWarrior 7 menus)
Fixed spelling of "Quicksave" (yes, I suppose I am a "d u m b a s s" ;)
Use exe name for quicksaves (quicksaves are now per game)
Changed key assignments for quicksave (F1-F5=load, F6-F10=save)