PCSX2 is a Playstation 2 emulator for Windows and Linux. It was started by the team behind PCSX (an emulator for the original PlayStation) back in 2002, and as of late 2011 development is still active. The emulator achieved playable speeds only by mid-2007 and subsequent versions have improved speed and compatibility making it both the ultimate solution for PS2 emulation and the instrument to keep and preserve the PS2 legacy in the modern world. Though not yet perfect the program can successfully emulate most commercial PS2 games at playable speeds and good visuals (often better than the original PS2).
The emulator uses plugin architecture making it possible to expand its capabilities by installing additional plugins. Although the plugins are numbered and unlikely to increase their quantity in the near future the plugin approach is still solid - it's possible to change to new updated versions of the plugins without changing the version of the main program and vice versa. As of late 2010 the program runs on both 32-bit and 64-bit Windows OSes and uses no more than 2 cores on multicore CPUs (1 core is used for the main emulation purposes and the second is for plugins' purposes like rendering graphics, output sounds or PAD works). While the increase of number of useful cores may happen in the future it still remains unknown when this will happen because the division of the general emulation thread into two or more is a very hard and complex task - the original PS2 hardware has multiple CPUs and the correct timing between emulated CPUs is complicated enough without further dividing every CPU into more than one thread.
Mac OS X is not officially supported but you can still run PCSX2 under it.
Current PCSX2 notable features:
- Recompilers for Emotion Engine (EE), Vector Unit 0 (VU0) and Vector Unit 1 (VU1). They are used to translate some parts of the original PS2 machine code into x86 machine code, speeding up emulation. Due to the fact that PS2 machine code is an entirely different language from x86 machine code these recompilers are probably the most complicated parts in PCSX2.
- Dual core support allows PCSX2 to use up to 2 CPU cores speeding up the emulator significantly.
- Proper SPU2 emulation helps reproduce PS2 audio or even enhanced audio on the PC which is not a trivial task considering the lack of documentation and the fact that it has to synchronize with many other emulated processors.
- Full gamepad support makes it possible to emulate every Dual Shock 2 feature.
- Patch system to create cheats easily. It can also be used to skip code where emulation is still broken (which ultimately can make the game playable). This feature is quite user-friendly and easy to use.
- Additional optimizations (hacks) to speed up emulation. You will be able to play certain games on lower-end machines thanks to this feature.
- Fully working memcard support.
- Fully working IPU support responsible for FMV - video cutscenes should mostly run correctly.
PCSX2 is an open source project so anyone can join the PCSX2 team or fork the PCSX2 project if they want to contribute. This also means you are not charged for using the emulator and the GPL guarantees that you won't ever be. You are encouraged to donate some money to the developers so they will be motivated to continue their work (click the make a donation button on the bottom of the front page of the official site).
Hardware and Software
Harware requirements are very game-dependant although it must be noted that the bottleneck of this emulator in most cases is the CPU rather than than the GPU (video card): basically, a faster CPU should net you better PCSX2 performance. Some games however can be slowed down because of unoptimized GFX code or even because of weak GPU cards (for example Final Fantasy XII is said to use your GPU fully). Intel CPUs perform better than AMD ones although both can run the emulator.
Even though clock speed is one of the main factors for smooth PCSX2 emulation, clock speed is not the determining meter of success with PCSX2. Newer CPUs generally tend to perform better than the old ones using the same frequency. For example, an Intel Core 2 processor will generally outperform an Intel Pentium D processor despite the Pentium D being clocked higher due to the efficiency of the Core microarchitecture.
Below are the minimum and recommended requirements to run PCSX2
- Windows 2000
- A CPU that supports SSE2 (Intel Pentium 4 or AMD Athlon 64)
- A GPU that supports Pixel Shader 2.0 (NVIDIA GeForce FX 5200 or ATi Radeon 9500)
- 512 MB of system RAM
- Windows Vista
- Intel Core 2 Duo or AMD Athlon X2
- NVIDIA GeForce 8400 GS or ATi Radeon HD 2400 Pro
- 1 GB of RAM
- To use GSdx's Direct3D 10/11 hardware renderer, you will need a video card and operating system that supports DirectX 10 (Windows Vista and NVIDIA GeForce 8400 GS or ATi Radeon 2400 Pro are the minimum software and hardware, respectively, that Support DirectX 10).
- To use GSdx-SSSE3, you will need a CPU that supports SSSE3 (Intel Core 2 Duo or AMD FX are the minimum CPUs that support this). To use GSdx-SSE4.1, you will need a CPU that supports SSE4 (Intel Core 2 45 nm CPU or AMD FX are the minimum CPUs that support this).
PCSX2 runs in Linux but at slower speeds (sometimes just slightly worse) and you won't be able to use the GSDX plugins (since they are DirectX only) so the graphics won't be as good in most cases. Plus it will require some knowledge to compile and configure PCSX2 on Linux for your system. Though this choice will rather be based not on difference in speed and visuals but your preferences.
A choice between Windows XP and Windows Vista (or Windows 7) is a matter of your GPU capabilities. If your graphics card supports DirectX 10 or better (see GSDX page) it's wiser to use Vista (or Windows 7) because you'll be able to switch GSDX in DirectX 10 (as well as fall back to DirectX 9 mode). Windows XP does not officially support DirectX10 - if you purchase a DirectX10 or higher graphics card, make sure your computer is running at least Windows Vista, and preferably Windows 7 with the latest drivers.
Obtaining PS2 games can be as easy as buying PS2 DVDs off eBay. However, an original game DVD is not enough to make PCSX2 work. You'll also need the BIOS dumped from your PS2. The PS2 BIOS is copyrighted by Sony so getting it from anywhere but your own PS2 is illegal. You will have to own an actual PS2 console to dump the BIOS from before you can start playing PS2 games on the emulator. There is no region locking so if you have a PAL BIOS on your PS2 you can still play NTSC games, and vice versa.
The dumping of BIOS is a complicated process so pay careful attention to the instructions you can get from this link. You can start dumping by downloading the tool from this place or refer to the official guide here.
Development and support team
Note that this information is partly taken from the official readme. Some info has been brought to life from the old ChangeLog.txt. If you feel someone is missed here please take a moment and add to the appropriate place.
|Nickname||Real Name||Country||Activity period||Role and comments|
|Current active team members|
|refraction||Alex Brown||England||from June 2005||General Coding DMA/VIF etc|
|arcum42||from Oct 10, 2008 (playground)||Linux compatibility and porting|
|cottonvibes||from Aug 11, 2008 (playground)||FPU and VU recompilers, general coding|
|drkIIRaziel||Greece||from Dec 2008 (? see log)||Memory management, emulation theory/principals, recompiler design.|
|gigaherz||from Nov 2004||General coding, spu2ghz, cdvdGigaherz|
|pseudonym||England||from Jan 2009 (see log)||EE recompiler, GSdx renovations|
|Jake Stine (Air)||USA||from Oct 30, 2008 (playground)||MTGS,counters, timing/syncing, general coding,SPU2-X|
|rama||Germany||from Aug 11, 2008 (playground)||Resident hacker, uses random values until they fix something, then figures out why :P|
|gabest||from Nov 2004 (metioned in logs)||GSDX plugin, general|
|mattmenke (aka ChickenLiver?)||from March 2007, in team from Feb 2009 (plugin in SVN)||Lilypad plugin|
|Current inactive team members|
|florin||Florin Sasu||Romania||Nov 2002-Oct 2006||Master of HLE. Master of cd code and bios HLE..|
|Nachbrenner||Germany||Nov 2004-Feb 2005||patch freak :P|
|aumatt||Australia||Feb 2004-Oct 2006 (last log message)||a bit of everything mostly handles CDVD cmds|
|saqib (aka asadr)||Pakistan||Jan 2003-Apr 2009 (last log message)||Project leader, fixing bugs around (FPU, Interpreter, VUs..)|
|Shadow||George Moralis||Greece||March(?) 2002-May 2005||Project founder, master of cpu, master of bugs, general coding...|
|tmkk||Feb 2009-Mar 2009 (last log message)||VUs, recompilers, x86asm|
|Goldfinger||Brazil||June 2002-March 2005||MMI,FPU and general stuff|
|loser||Australia||March 2005-May 2005 (last mention in log dated by Apr 2006)||obscure cdvd related stuff|
|zerofrog||USA||Jan 2006-Oct 2008||Recompilers, ZeroGS, x86-64, linux, optimizations, general fixes and new features|
|Linuzappz||Argentina||March(?) 2002-Aug 2005||Project founder, master of The GS emulation and so many others..|
|basara||Recompiler programmer. general coding|
|[TyRaNiD]||May 2002||GS programmer.General coding|
|Alexey Silinov||Russia(?)||Jan 2003-May 2003||?|
F|RES, Pofis, Nocomp, _Riff_, fumofumo, Nneeve, efp (mentioned in logs), CKemu (mentioned in logs), ibrown (from this log)
Testers, admins, stuff team
It's easy to choose the graphics plugin depending on your operating system. For Windows it will undoubtedly be GSDX. You can also play with ZeroGS but the visuals will suffer (though some exceptions may still exist). For Linux it maybe ZeroGS (which wasn't updated as of late) or it's fork ZZogl (which is updating periodically).
- GSDX - is the most known and the most compatible graphics plugin for PCSX2 today supporting both DirectX 9 and DirectX 10 APIs. It's started by gabest in 2007. It works only under Windows and is in official SVN so it's officially supported.
- ZeroGS - ...
- ZZogl - ...
- GSMax/GSSoft/GSSoftDX/GStaris - are discontinued relics from the past (2002-2003 years). None of these plugins can work with the current PCSX2 and they wouldn't show much even if they could. But one way or the other all the new graphics plugins for PCSX2 are based on these old ones.
- SPU2-X -- One of the most compatibles plugins as of now. It works only in Windows. A good synchronization with video is a strong feature of this plugin. It was developed by Jake Stine and gigaherz from SPU2Ghz plugin which is now out of date. One of the best choices when you're using Windows.
- ZeroSPU2 -- A plugin created by zerofrog. It work both on Windows and Linux and hasn't been updated for some time now.
- spu2Peops -- ...
- LilyPad -- A Windows gamepad plugin which supports a very large variety of devices and acknowledged as the de facto gamepad plugin for PCSX2.
Add content here
One of the main advantages of emulation is that you can save a snapshot of the emulator as it is running, to reload later at will. These snapshots are also known as savestates.
This is the timeline of all official versions of PCSX2. Note that there are many so called unofficial builds from the PCSX2 source code in different times. The only difference between them and these versions is that these are the mile stones on the long road of PCSX2. Developers tried to fix all small problems for these releases to be the most stable versions possible. All the versions in-between though may contain many improvements are not guaranteed to work stable (but all later versions are getting more and more stable). Note also that somewhat playable versions begin from 0.9.2.
- 0.026 - 23 March 2002
- 0.031 - 14 April 2002
- 0.036 - 17 June 2002
- 0.038 - 7 July 2002
- 0.042 - 11 September 2002
- 0.1 - 20 December 2002
- 0.2 - 19 February 2003
- 0.3 - 2 may 2003
- 0.4 - 31 July 2003
- 0.41 - 7 August 2003
- 0.5 - 25 November 2003
- 0.6 - 24 March 2004
- 0.7 - 17 December 2004
- 0.8 - 16 May 2005
- 0.81 - 17 May 2005
- 0.9 - 3 April 2006
- 0.9.1 - 3 July 2006
- 0.9.2 - 18 November 2006
- 0.9.3 (Linux only) - 1 April 2007
- 0.9.4 - 11 November 2007
- 0.9.6 - 1 March 2009
- 0.9.7 - 29 May 2010
- 0.9.8 - 5 January 2011
What is PCSX2 playground?
PCSX2 playground was the fork project of PCSX2 (i.e. the project led by new usually non-team developers who have the different ideas of improvement or vision of the project). Because the sources of the original PCSX2 is in public domain (may be obtained by anybody free of charge) anyone can download the sources and continue to develop his own version of PCSX2. However the nature of PS2 architecture (it's complexity and the lack of documentation) diminishes the chance of such a fork.
Playground was a way to continue the project when all activity was seemingly absent. The project started by cottonvibes and rama on 11 of August 2008 (first commit date) was a success generated much excitement and noise among PCSX2 fans and ultimately attracting new developers like Jake Stine (aka Air) or arcum42. After about a half-year of existence the project has been recognized by those of the original PCSX2 team still remained active and the playground team was united with them. Thus the PCSX2 playground project and its team have ceased to exist continuing as just PCSX2.
What are the revisions and numbers like r1736, r1888 and so on?
PCSX2 project is currently using Google SVN repository. All the source files stored there in public domain (you can access them anytime). When a developer changes anything in the code he can synchronize (commit) his changes with the main online repository thus changing its contents. Each change automatically receives the number and can be commented, seconded or rejected by other developers or users. These numbers are called revisions. The repository works the way that you can restore all source files on your hard drive at any time for the certain revision number so no changes will ever be lost. Thus this numbers like 1736 or 1888 mean that the source files of this executable were from the 1736 revision or 1888 revision. The greater the revision number on your executable the newer the file is.
As of October 2011, the latest available public build is r4600.
Setting up PCSX2 guides
- For Windows version guide please see the page Setting up Windows version.
- For Linux version guide use Setting up Linux version link.
- Macintosh OS X users may find Setting up Mac version page useful.