sábado, 12 de diciembre de 2009

Official PCSX2 configuration guide

In this guide I will try to explain how to properly configure PCSX2 and to give some tips for running games. Here it is in steps:

1) Download the new PCSX2 v0.9.6 HERE
2) Open the archive and extract its contents into a folder (eg C:\PCSX2)
3) Run pcsx2.exe which is in the folder you extracted the files.

For Linux Users
Get the binary from HERE or the source from GoogleCode. To compile from source, follow the instructions in the checkout section, then go to the PCSX2 folder and type "sh build.sh all", and all the plugins with PCSX2 will compile in the bin folder.
You need the following installed: gtk2, opengl, libbz2, libjpeg, glew-dev, libxxf86vm-dev, x11proto-xf86vidmodeautomake and autoconf (version >= 1.9) Nvidia Cg-Toolkit, libasound-dev, joystick.

Plugins available for Linux are: ZeroGS OpenGL, ZeroSPU2, PeopsSPU2, ZeroPad, EFP Iso, EFP Polling and Linuz Iso

Configuring PCSX2

The new VTLB version of PCSX2 has replaced the 2 older ones, but do note that save states created with the old VM build will not be compatible with it.

Graphics:
What version of pixel shaders and DirectX does your graphics card support?

Check this link (thanks to Nachbrenner)

For the time being you will be able to use the ZeroGS v0.97.1 plugin ,which is a new DirectX 9 graphics plugin that requires a graphics card that supports pixel shaders 2 to work.

Select GSdx v0.1.14 and press the Configure button.
First of all GSdx comes in 3 versions,SSE2,SSSE3 and SSE4.1.Only IF your processor supports these instruction sets use the respective version since it will be faster for you. Otherwise you will get constant crashes when using it.
SSE2 supporting CPUs: Check here
SSSE3 supporting CPus: Check here
SSE4.1 supporting CPUs: Intel Core 2 Duo Penryn series (E7xxx,E8xxx and Q9xxx models) Intel Corei5, Intel Corei7

To use the DirectX10 mode, you will have to be running Windows Vista or Windows 7 with a DirectX10 compliant graphics card (check previous link)

Resolution: In this drop-down menu you will be able to select "Windowed" if you want GSdx to run in a window, or choose the resolution/refresh rate you want for a full-screen display.

Renderer: Here you can choose how the graphics will be rendered.

By selecting "Direct3D9 (Hardware)",GSdx will use the Direct3D capabilities of your graphics card, boosting the emulation speed significantly.

By selecting "Direct3D10 (Hardware)" (only selectable in Vista/Windows 7 with DX10 gfx card),GSdx will use its' Direct3D10 mode which is usually the fastest mode and sometimes even more compatible as well. Highly recommended if your system supports it.

By selecting "Direct3D9 (software)" GSdx will use its' built-in software renderer, which will not use your graphics card at all, but your processor instead. This way the emulation speed is greatly reduced but you get maximum compatibility. Recommended if you encounter graphics bugs with the Direct3D renderer.

By selecting "Direct3D9 (null)","Null (software)" or "Null (null)" the plugin will simply not render anything, thus not giving any output on screen. Use it only if you want to e.g. Hear some music since with this mode you get a dramatic speed increase.

Shader: Here you will be able to choose between 2 options, if your graphics card doesn't support some of the modes,they will not show up in the drop-down list:

Pixel Shader 2.0: Will use Pixel Shaders v2.0,improving the graphics

Pixel Shader 3.0: Will use Pixel Shaders v3.0,improving the graphics. Highly recommended for graphics card owners that have pixel shaders 3.Fast and compatible

Note: When running in Direct3D10 mode, this will be grayed out since GSdx is using Pixel Shaders 4 which you can't change

Interlacing: Here you are able to choose between None and 6 other interlacing techniques, which are used to remove the "shaking" of the display.
In parentheses you can see what kind of effect and maybe disadvantage (e.g. like the half FPS note in blend) each one of these modes have.
You can cycle through them when running a game by pressing the F5 key.

Aspect Ratio (F5): Self explanatory, you can select stretch to stretch the display to get rid of the black boarders, 4:3 for a normal display and 16:9 for a wide screen display.
You can cycle through them when running a game by pressing the F6 key.

D3D internal res: Here you can specify the exact resolution you want your game to run at!
This way, if your pc is powerful enough (mainly your graphics card), you can play your favorite ps2 games in much higher resolutions making the graphics crisp and more detailed.
Note that the higher the resolution, the more resources the plugin will have to use, thus making emulation much slower.

Native: If you check this box, the plugin will render in the native resolution of the ps2 (that is why D3D internal res gets grayed out)

SW rend. threads: This box is only usable when having selected a software rendering method. Here you can specify how many threads GSdx will use while software rendering, to take advantage of all cores your processor might have, e.g. set it to 3 for quad core processors. Boosts speed significantly in multi-core systems for software rendering with more than 2 cores.

NLOOP hack: This fixes some problems with Final Fantasy X. It is a very specific hack and should ONLY be used with Final Fantasy X and Final Fantasy X-2.
You can also set it to the third state (gray-checked) which will let the plugin decide when the hack is needed and when it is not and enable/disable it respectively.

Enable tv-out: Check/uncheck this option to enable/disable tv-out. If your video card has a tv-out the output window of GSdx is displayed on the TV.

Texture filtering: When checked, everything on screen both 2D and 3D will be filtered smoothing out the output and improving the visuals in general. When grayed, filtering will only be applied to 3D.Note that this can cause graphic bugs and increases the load on your graphics card.

Movie Capture: This is a hidden() feature. By pressing F12 while running PCSX2 with GSdx a message box will appear. In the first field you must show the plugin where the captured video will be stored, and type the filename too. In the second field you can choose a compression codec like DivX or "Uncompressed" which will not compress the video at all. If you choose a compression codec, you will be able to change its settings by pressing the "Config" button. Note that only codecs already installed in your PC will show up.
Press F12 again at any time to stop the capturing. The video produced will be automatically sped up to 100% for your viewing pleasure

Hit Ok to save your changes or cancel to go back to the main Configuration window

Select ZeroGS v0.97.1 and press the Configure button.
ZeroGS is a new DirectX 9 plugin developed by ZeroFrog and is aimed only for modern graphics cards which support pixel shaders 2.0 or higher. As noted before if your card does not meet that requirement you will get an "Error opening gs plugin" message and pcsx2 will terminate.

Interlace Enable: When this is checked some interlacing issues will be resolved(screen "shaking") although some games look better with this disabled. You can toggle it while running a game by using the "F5" key.

Anti-aliasing: Here you can choose the level of anti-aliasing you want the plugin to use, to make edges smoother. You can toggle this while running a game by using the "F6" key. Note that this might reduce speed.

None: Will not use any level of anti-aliasing
2x: Will use 2X anti-aliasing
4x: Will use 4X anti-aliasing
8x: Will use 8X anti-aliasing
16x: Will use 16X anti-aliasing

Wireframe rendering: When checked the plugin will only render in wireframe, so you'll just see some polygon lines here and there
You can toggle it while running a game by pressing "F7".

Save snapshots as BMPs(default is JPG): What it says, with this enabled snapshots you take with "F8" will be saved as BMP files and not as JPGs files which is the default. The snapshots you take with "F8" are located in the /snaps folder of your pcsx2 directory.

Widescreen: Some games support widescreen mode. By checking this, ZeroGS will automatically scale the window to 16:9.

ZeroGS Advanced Options
ZeroGS exposes a couple of extra options to tweak its various settings. Sometimes games use the Graphics Synthesizer in many unexpected ways, and sometimes it is impossible for ZeroGS to predict how exactly it should emulate the GS. Some options can convert a game from a garbage screen going at 2 frames per second to exactly what the game would look like on the ps2 going at 60 frames a second.

If a particular set of options works very well for a particular, then these options can saved in the game's patch file so that they are always applied every time the game is loaded. This is useful when you want these options to be enabled only for that particular game and not to affect other games.

Sound:
SPU2-X

The latest and best sound plugin at the time of writing this. It was first based on Gigaherz's SPU2 and later modified by Jake Stine (Air) of the PCSX2 team.
This is the only SPU2 plugin that supports effects processing (like reverb) and Dolby if your sound card properly decodes dolby prologic

Interpolation: Here you can select 1 out of 3 options:
1)Nearest: As the description says, no interpolation made in this mode and is the fastest one.
2)Linear: This is the recommended option, doing a linear interpolation on sound.
3)Cubic: Another type of interpolation, broken at this time so don't use it.

Disable effects processing: Checking this will disable any emulation of effects like reverb, lowering sound quality but increasing speed.

Disable Time-Stretching: This will disable the time stretching feature which keeps in sync audio and video but also helps eliminate cracks and other sound problems. Gives a small speedup if disabled.

Disable audio expansion: Configuration dialogue covers what it does.

Use a Winamp DSP plugin: If you don't know what this is, leave it be.

ZeroSPU2
This is an SPU2 plugin developed by zerofrog. ZeroSPU2 has the following features:

ZeroSPU2 will time itself exactly to the game's timing, so the sound will never speed up, or slow down out of order. Not timing the sound exactly causes games to hang.
ZeroSPU2 has a time-scaling feature which slows down sound when the game itself is running slow usually without time-scaling, the sound will pop because there are not enough packets. Other SPU2 plugins just request more packets from the game, which can sometimes cause the game to hang. To enable this option, go into the ZeroSPU2 configuration dialog and check the correct box. The time-scaling feature works best under Windows, but is also implemented in Linux.

PeopsSPU2
PEOPS SPU2 is a solid SPU2 plugin which has been quite improved lately. Some games work with this plugin better while others like ZeroSPU2 more, choose whichever fits your needs
Pete has saved me the time and has included a detailed description of each setting on his plugin in the included readme file, so use that to configure it properly

First Controller/Second Controller:

Here you will be able to use 2 plugins, Lilypad v0.9.9 and SSSPSX Pad v1.7.0

Select SSSPSX Pad v1.7.0 and press the Configure button.

You'll see a window like this (click to enlarge):

The second controller field is totally obsolete, since you can now configure both plugins from hitting configure with either plugin selected in either First Controller or Second Controller field

Now hit Configure to start configuring SSSPSX Pad:

Here, you simply press on each button's name and input the key you want to assign to it.If you want to clear a key from being assigned somewhere you can click on the respective button and wait until the "Timeout: " timer reaches 0.Then the selected key will be assigned to NONE again.

Click on the PAD1/PAD2 tabs on the upper left corner to switch from configuring controller 1 to controller 2(you don't need to do it from the main configuration screen)

SSSPSX Pad supports analog controllers. You can assign your analog axis in the "LX,LY,RX,RY" buttons. LX is for Left analog X-Axis,LY is for Left analog Y-Axis,RX is for Right analog X-Axis,RY is for Right analog Y-Axis

The R3 and L3 buttons are the buttons on the analog stick of the ps2 controller, R for right and L for left as usual.

Cdvdrom:
Here you will be able to select which plugin will be responsible for reading your CDs/DVDs or images. By default, PCSX2 includes Gigaherz's CDVD v0.7.0,Linuz Iso CDVD v0.8.0,CDVDnull v0.6.0 and PEOPS CDVD v1.3.0.
Note: Older plugins like CDVDbin or CDVDdraft will NOT work with v0.9.6 since they are outdated

Show configure screen when starting emulation: When checked, the EFP Iso configure screen will pop up whenever you press File =>Run CD or Run =>Execute where you will be able to browse for the desired image you want to run and press ok. If not checked, the plugin will run the image you have pre-selected before pressing File =>Run CD or Run =>Execute.

Multiple files(all under 2GB): Check this box if you want your image to be split in multiple files which will be each less than 2GB.Very useful if you don't have an NTFS partition that supports large files or when you want to split an image for storage purposes

Finally, press make file to create the image you have selected

Press ok to save your changes

Select EFP Polling CDVD v0.4.0 and hit configure.

This plugin is pretty simple in its' configuration. Simply type the drive letter your ps2 game is in and you are done. Note: EFP Polling does NOT support ps2 CD games yet, you can only run DVD games with it

CDVDnull v0.6.0
This is a Null plugin just like SPU2null, meaning it simply does nothing. You should use this plugin if you want to run demos (via File => Open ELF file) or if you want to run the bios only(via Run =>Execute).It doesn't have a configuration screen for obvious reasons
Don't wait until drive is ready: Does what it says, so if you have problems using this plugin try checking this to see if it helps

Check tray state: Do what it says and leave it off...

Try again on reading error. Retry count(1-10): This option when enabled will force the plugin to try reading the same sectors again if it had trouble reading them and returned an error. Leaving this enabled will not cause you any problems so just to be safe,leave it on with some normal value like 5(as it is by default)

Show message box on reading error: When checked a pop up box will show when a reading error occurs. You can enable it to ensure no read errors have been made or if there have been maybe change the try again value above to something higher to get a better chance of reading the sector properly.

Select Gigaherz's CDVD v0.7.0 and press configure.
Pretty simple really,just select the drive letter from which the plugin will read the disc from. It will then directly run your PS2 game from the CD/DVD you have inserted in your drive

This is the only plugin that at least partially supports disc changing. If you have troubles changing a disc that is required by a game try this plugin!

Dev9:

Here are the plugins that handle the HDD(hard disk drive) and ethernet emulation. There are 2 plugins included in the release package,Dev9null v0.3.0 yet another Null plugin which is exactly like all the other ones and Dev9 Giga-raziel which partially emulates the PS2 ethernet (HDD emulation not working).
Also there is a newer Dev9 plugin in development by NHerve,MegaDev9 plugin which is still in early stages but very promising. For the time, it partially emulates the ps2 HDD. You can get it here.

Usb:

Here are the plugins that handle USB(Universal Serial Bus) emulation. The release package includes the USB Null v0.4 which is yet another Null plugin and Qemu USB driver v0.1.0 by Gigaherz.
In USB Null press Configure to get a menu with a checkbox where you can check/uncheck "Enable Logging" which will enable/disable usb logging. As said, it should be used from developers only.
Qemu USB driver was developed to work with Monster Hunter for the online play so it will not work with almost nothing else. Since it emulates more than the null plugin, it might help in game compatibility when you use it.

Firewire:

Here are the plugins that handle the Firewire port of the PS2.Only the FWnull v0.4.0 is included in the release package. There are no other Firewire plugins available or in development.
FWnull v0.4 is another Null plugin. Press Configure to get a menu with a checkbox where you can check/uncheck "Enable Logging" which will enable/disable firewire logging. As said, it should be used from developers only.

BIOS(Basic Input Output System)

In this drop down menu you will find your bios image, if you have one and have put it in the selected bios folder. Note that the only LEGAL way of obtaining a bios is dumping it from your OWN Playstation 2 console.DO NOT ask where to get the bios in the PCSX2 forum, because it's against the rules. That's because the ps2 BIOS is a copyrighted material of Sony and that makes its' distribution illegal, meaning we could get in trouble if it was found out that we were supplying people illegally with bios files. You can find out if your BIOS image is valid or not by checking if there is a percentage besides it in the BIOS drop down box of the main configuration screen. If it does, your BIOS image is NOT valid. Also if it does not even appear there even after you have selected your right bios directory, it is once again an invalid image.

CPU settings
Next are the CPU which can be found under Config =>Cpu. You'll see a window like this(will vary depending on your CPU, click to enlarge):

Game fixes
As the name implies, these are special game fixes for some games which for some reason emulating them requires something special. Note that the team has no intention of keeping hacks for specific games, these are there temporarily until a proper fix is found so they can be removed.

FPU Compare hack: This hack is needed because of the limited range of floating point numbers defined by the IEEE standard that the PS2 doesn't follow. Enable it only for 'Digimon Rumble Arena 2'.

VU Add/Sub hack: This hack is also needed because the PS2 doesn't follow the IEEE standard on floats.
Enable it only for 'Star Ocean 3','Valkyrie Profile 2' and 'Radiata Stories'.

Speed Hacks

The new version of PCSX2 comes with a few hacks which you can use to speed up your games. Be aware that all these hacks lower compatibility, cause bugs, crashes and all kinds of unexpected behaviour so use them with caution. Also note that these affect certain games only, so you might not get any speed up depending on the game.

Escape hack: Not really a hack, does what it says. It makes it possible to close PCSX2 completely when running a game in full screen by pressing the ESC key.

Advanced configuration

This section has a wide variety of advanced settings for power users who know what they are doing. Do NOT change any of this if you don't know what you are doing.
For maximum compatibility, set the EErec Clamp mode to 'Full' and the VUrec Clamp to 'Extra+Preserve Sign'.

Defaults button: Will return all advanced options to defaults, which are the best settings for most games (balanced in terms of speed and compatibility.

If you still have problems using the emulator, post your problem in the PCSX2 forums HERE after reading the rules carefully

How to Install PCSX2

Before you do this make sure you can start Pcsx2 0.9.4 first. How to install pcsx2 0.9.4 explained here.

Pcsx2 0.9.5 beta only comes with 2 executables files, and you can not run pcsx2 0.9.5 beta only with these 2 files. The other files you needed is in pcsx2 0.9.4 folder.

So this is what you must do :

make sure you already have pcsx2 0.9.4 installed along with all files need (bios and plug ins) and you can run it,
copy the pcsx2 0.9.4 folder,
place it somewhere else and rename it to something like "Pcsx2 0.9.5 beta".
extract the 0.9.5 beta you've downloaded to this newly renamed folder. You can even have more than versions in one folder ( I do this), as long as they have different names. Look at the picture.
Run it, maybe it need some reconfiguration first. Then you are good to go.

How to make pcsx2 runs in your computer?

Gabest's GSdx needs two files placed correctly:
one is in pcsx2 main folder e.g d3dx9_36.dll, depends on what directx version you have.
the other in pcsx2 /plugin folder e.g: GSdx9.dll

Or, the other way is :

You can also put the pcsx2 0.9.5 beta files directly on pcsx2 0.9.4 folder (rename it first, so they do not overwrite the 0.9.4 files). Although I don't recommend this.