From Emulation General
Jump to: navigation, search
Current version: 1.4.0
Active: Yes
OS: Windows, Linux, OS X
Authors: PCSX2 Team
Official website: PCSX2.net
Source code: GitHub

PCSX2 is an open-source, plugin-based PlayStation 2 emulator. Its purpose is to mimic the PS2 hardware using a combination of MIPS CPU interpreters, recompilers and a virtual machine which manages hardware states and PS2 system memory. Recently, preliminary work was started on PS1 support.[1]


System requirements

  • OS: Windows Vista or above
  • CPU: Intel Core 2 Duo @ 3.2 GHz or better
  • GPU: 8600 GT or better
  • RAM: 4GB or more

These are recommended specs for using PCSX2.[2] But depending on the game you want to play, your mileage may vary. Some games need high-end, possibly overclocked CPUs or powerful GPUs, whereas some games run even on weak processors.

For those with DualShock 3 controllers, use the new SCP Driver Package.



Get God Hand running on a laptop
Native DS3 controls with LilyPad-SCP - Import this with the 'Load Bindings' button in LilyPad's config.

Either that, or you can use the Pokopom XInput Plugin. If you use a DualShock controller running under an XInput wrapper such as SCP Server, then this plugin is a no-brainer. It's very customizable, and you don't have to configure it beforehand. All of the buttons are bound at startup.


Now, most of the video options are very straight-forward. However, there is one that probably bears explaining: The interlacing modes. Now, many games can run fine without interlacing modes. You can just select "None" and everything will be fine. However, some games, such as Gran Turismo 3 and Dark Cloud, will have a "jitter" effect if you don't have interlacing modes enabled. The "Sawtooth" interlacing method is not recommended at all. Artifacting is far too heavy to be usable. The "Bob" interlacing method has the least artifacts out of all of them, but it can still let some jittering pass through. The "Blend" interlacing method has the least amount of jitter. However, that comes with a pretty hefty side-effect: blurriness. Yes, the Blend interlacer does frame-blending. This is also known, more colloquially, as motion blur. This means that if there is heavy jitter, the video output will be extremely blurry since the two jittering frames will blend together. Only use this interlacing method as a last resort.

Another method to get around this is by running GSdx in hardware rendering, doubling the vertical resolution (if a game displays 640x480 on the emulator window, set vertical res to 960) and selecting bob-tff for interlacing. This can eliminate interlacing artifacts in most cases, although issues with upscaling, as well as using hardware emulation over software, can arise.


Automatic game fixes

Whenever you encounter any kind of bug that isn't graphical in nature, objects going through other objects, untargetable objects that should be targetable or A.I. freezing for example, make sure that the automatic game fixes option from the system menu is activated.

Major graphical glitches

Whenever a game has graphical problems such as garbage texture, missing effects, light sources visible through wall, burn in or transparent objects being opaque, the easiest fix is generally to switch to software mode either by pressing F9 in-game or via the configuration panel of the GSdx plugin.

Poor performance in software mode

Many games will require you to switch to software mode to fix various issues, albeit at the cost of a significant performance loss. However, an easily overlooked setting in the graphical plugin configuration panel, extra rendering threads, might help lessen the performance loss if you have a quad-core or higher CPU. It is recommended to set it to the number of cores in your CPU minus one if you aren't using the the MTVU speed-hack, or minus two if you are (ex: if you are using a quad core CPU you should set this number to 3 without MTVU and 2 with MTVU).

Multi-threaded microVU

Multi-threaded microVU (MTVU), while generally a very useful speed-hack, might sometime cause minor problem like hanging and absence of performance gain or more severe ones like massive performance hits, save-states corruption and crashes to desktop.


Crashes could be the results of several things. If the log warns you one or several time about being out of memory or the emulator crashes without warning several times in a row after playing for around the same amount of time you will need to apply a patch to make the executable large address aware, its more commonly referred to as the 4GB patch. If the log warns you about TLB miss you are either:

  • Using a bad dump of a game, in which case you'll need to re-rip your disc or re-download the game you are trying to play.
  • Playing the game directly from your DVD drive, in which case you should rip the game and play using the .iso instead (it's not advised to play directly from your DVD drive).
  • Trying to play a game that isn't supported by the emulator, in which case you cannot do anything except trying another version of the game (PAL or NTSC-J for example).

If PCSX2 still crashes after doing all of the above, check that you aren't using any speed-hacks and that your system is stable and not overheating especially if you are overclocking.


It's either interlacing or a filter in the game itself. For the former, switching the de-interlacing mode with F5 may help, and may cause flicker or screen shaking. For the latter, hacks are required. Either Aggressive-CRC if the game is listed there, or skipdraw (toy with the number, 1-100) might work otherwise.

Black lines

Black lines are caused by scaling to a non-integer internal resolution (anything other than Yx Native), texture filtering (turn off or to half at most), improperly offset textures (TC Offset, Wild Arms Offset hacks), or improperly handled texture edges (Sprite hack). Native resolution for the most part fixes these issues, however software rendering may be required as well.

Special hardware

Pressure-sensitive buttons

The DualShock 2 joypad bundled with the PS2 has all buttons and sticks with variable pressure states.

While most PS2 games don't require this feature, instead preferring variable trigger/stick pressure (e.g. sneaking past the sleeping dog in Chulip), a select few do. Some examples include:

  • All three attack buttons in the Bouncer do different attacks based on whether the press was light, medium or strong. Same goes for the musical game Mad Maestro.
  • Star Ocean 3 has a musical item that plays different melodies depending on pressure and they're required for progressing.
  • Metal Gear Solid 2 also needs pressure sensitive buttons to get past some sections.

Games requiring variable trigger pressure need physical controllers with analog sticks, but rare are third-party controllers which support variable pressure buttons. To know if your controller supports it, open the LilyPad plugin settings by going to the PCSX2 menu and selecting "Config", "Controllers (PAD)", and "Plugin Settings". At the LilyPad plugin popup, select your gamepad from the list of detected controllers in the "Device Diagnostics" box in the lower left then click the "Test Device" button.

A small popup window will appear, showing a list of all the gamepad's buttons as well as their current state. 0.000 = indicates unpressed, 1.000 = indicates fully depressed. Roll either analog stick around. See how the values change from 0.000 to 0.xyz, with the .xyz values shifting incrementally. These changing .xyz values show how the plugin detects different changes in angle as you move the analog stick around.

Now press any of the buttons normally used by games, i.e. the triangle/square/cross/circle buttons. See how the values immediately shift from 0.000 = unpressed, directly to 1.000 = pressed. If your gamepad truly has pressure sensitive buttons you will see gradual 0.xyz changes as you slowly press each button, just like the different changes in angle as you move the analog sticks around. If the buttons change from 0.000 directly to 1.000 this proves that your gamepad buttons are not pressure sensitive and are merely tracking the pressed/unpressed state.

The solution would be to either buy an official DualShock 2 controller and an adapter, or mapping the button to a rarely used trigger/stick in LilyPad this way:

An additional button needs to be mapped to circle as well but configured to deliver "light" pressure. This is done by opening the gamepad plugin configuration and choosing a rarely used key - for example the lower shoulder button L2 - and remapping it to the circle button, and setting the sensitivity to 0.500 or thereabouts. In the game, merely use the remapped L2@circle button to deliver "light" tap/hold tunes while the regular circle button can be used normally to deliver "hard" tap/hold tunes.

See also


External links