||This article may require copy editing for grammar, style, cohesion, tone, or spelling. (July 2014)|
||This article's lead section may not adequately summarize key points of its contents. (July 2014)|
Screenshot of PCSX2 1.2.1 running on Windows 8.1
|Original author(s)||Linuzappz, Shadow|
|Initial release||0.026 / March 23, 2002|
|Stable release||1.2.1 / February 2, 2014|
|Written in||C++, C|
|Operating system||Windows, Linux, OS X|
|Available in||22 languages|
|Type||Video game console emulator|
|License||GNU General Public License|
PCSX2, like its predecessor project PCSX (a PlayStation emulator), is based on a PSEmu Pro spec plug-in architecture, separating several functions from the core emulator. These are the graphics, audio, input controls, CD/DVD drive, and USB and FireWire (i.LINK) ports. Different plug-ins may produce different results in both compatibility and performance. Additionally, PCSX2 requires a copy of the PS2 BIOS, which is not available for download from the developers, due to the copyright concerns and legal issues associated with it. At present, PCSX2 is not compatible with PlayStation games. PSX games can be played by using GSDX with a PlayStation emulator such as PCSX or ePSXe.
The main bottleneck in PS2 emulation is emulating the multi-processor PS2 on the PC x86 architecture. Although each processor can be emulated well on its own, accurately synchronizing them is very difficult.
Development of PCSX2 began in 2001 by Linuzappz and Shadow, who were programmers for the PlayStation emulator PCSX-Reloaded. Other programmers later joined the team, and their first accomplishment was to get simple homebrew running. Subsequently, they started to try to get genuine PS2 software running. Many revisions later and with lots of plug-in development, the PCSX2 team managed to get some games into loading screen, and even in-game footage for other games. The team then started working on emulating the PlayStation 2's BIOS, which proved to be extremely difficult to accomplish. The team got the BIOS to run, although it was slow and graphically distorted.
After that, the team started to focus on implementing missing parts of the emulator and replacing hacks with correct emulation as they started to understand those areas. The implementation of the first recompiler was made by Goldfinger and improved speed greatly compared to the older interpreter. These improvements slowly increased the speed and compatibility of PCSX2. Zerofrog later joined the team and developed the ZeroGS and ZeroSPU2 plug-ins. He also rewrote the VU and EE recompilers, which lead to huge speed boosts in version 0.9.1, which was released in July 2006.
During summer 2007, GiGaHeRz managed to get the Netplay working. In 2008, Zerofrog left the team, and minor changes were made to the emulator by the two remaining programmers, Refraction and Saqib, to keep the project alive. After the release of 0.9.4 in November 2007, Gabest significantly updated the GSdx plug-in and improved its speed. In February 2009, new programmers were enlisted to work on the emulator. PCSX2 0.9.8 was released in May 2011 and featured an overhauled GUI written with wxWidgets that improved compatibility for Linux and newer Windows operating systems, the addition of a new VU recompiler that brought better compatibility, a memory card editor, an overhaul of the SPU2-X audio plug-in, and numerous other improvements and bugfixes. The SPU2-X plug-in was updated in June 2011 to improve emulation of the PS2's audio.
The current development version is reported to be compatible with around 94.23% of the currently 2,530 tested games. Compatibility only means that the game won't crash, lock up or enter a loop, so there can be bugs, missing post-processing effects, textures and shadows in many compatible games. This is especially the case in hardware mode, as many games require hacks to avoid bugs. If the bugs are impossible to work around, it is advised to use software mode, however software mode is almost always significantly slower. This is particularly the case in games that use mipmapping on textures, such as Ratchet & Clank and Jak and Daxter. Mipmapping is not supported in hardware mode, and there is currently no way to work around it except to use software mode.
Graphical improvements (GSDX Plugin)
- Option to increase internal resolution (only in hardware mode)
- Antialiasing: FXAA, MSAA (only in hardware mode) and Edge-AA (only in software mode)
- TV shaders (toggle F7)
- Mipmapping (toggle insert key but only in software mode its required for correct functioning of some games like Jak series)
- Bilinear filtering
- Anisotropic filtering
- Texture filtering
- Widescreen hacks
Several plug-ins are currently being further developed, for performance and compatibility enhancements.
|GSdx||Video||The fastest, most accurate graphics plug-in. Requires Direct3D or OpenGL support and optionally uses a GPU. GSDX plugin is compatible with PSX emulators but is limited to software rendering with them. There also exists an unofficial GSDX-Cutie version.|
|GSDX FX||Video||Post-processing shader pack for GSDX plugin.|
|ZZogl||Video||A less optimized graphics plug-in that uses Open GL. Compatible with Linux and Windows. This plugin is fork of ZeroGS KOSMOS plugin.|
|SPU2-X||Audio||The most accurate sound plug-in.|
|SSSPSX Pad||Input||A simple input plug-in.|
|LilyPad||Input||An advanced input plug-in that supports keyboards, mice, and controllers.|
|Nuvee||Input||An input plug-in that supports lightguns and USB mice.|
|TwinPad||Input||Another keyboard and mouse plug-in.|
|XPad||Input||A Xbox 360 controller input plug-in.|
|CDVD||Optical||A simple optical media plug-in that runs games from optical discs.|
|Linuz ISO CDVD||Optical||A plug-in which has the ability to compress ISO images.|
|Dev9||Hard drive||Handles PS2 hard disk drive and ethernet emulation.|
|MegaDev9||Hard drive||A more advanced version of Dev9. Currently, it only partially emulates the PS2 hard drive.|
|Netplay||Netplay||A plug-in which allows certain games to be playable multiplayer over the internet.|
Hardware requirements are largely game-dependent, although the performance bottleneck in most cases is the CPU rather than the GPU. This is especially the case in software mode, in which only the CPU is used for emulation. In hardware mode, the GPU emulates the graphics, but can still be a bottleneck if the internal resolution is set too high. Some games may also run slower due to unoptimized graphics code or weak video cards.
PCSX2 has been very well received. Matthew Humphries of Geek.com described it as "an impressive piece of work". Alex Garrett of PC World criticized the difficulty of setting up PCSX2 but called it a "masterpiece". Although he also criticized the complexity, David Hayward of Micro Mart called it "technically amazing". Sriram Gurunathan of In.com described PCSX2 as "arguably the most popular emulator around" and named it as one of the site's Top 5 Emulators. Brandon Widder of Digitaltrends.com included PCSX2 on his Best Emulators article John Corpuz of Tom's Guide mentioned PCSX2 on his Best PlayStation Emulators for PCs article stating "when it comes to stable, playable Playstation 2 emulation, PCSX2 is pretty much the best game in town at the moment".
- Refraction (2010-11-05). "The History of PCSX2". PCSX2. Retrieved 2013-09-03.
- "PCSX2 compatibility list".
- Humphries, Matthew (2012-08-06). "PlayStation 2 emulator PCSX2 reaches v1.0, plays games in 1080p". Geek.com. Ziff Davis. Retrieved 2013-09-03.
- Garrett, Alex (2011-09-01). "How to Emulate the Sony Playstation 2 (PS2) on Your PC". PC World (IDG). Retrieved 2013-09-03.
- Hayward, David (2013-07-19). "Retro Console Emulators Group Test: PCSX2 1.0.0 Review". Micro Mart (Dennis Publishing). Retrieved 2013-09-03.
- Gurunathan, Sriram (2011-02-04). "Top Five Emulators". In.com. Network 18. Retrieved 2013-09-03.
- Widder, Brandon (2013-04-20). "Best Emulators (NES, SNES, Genesis, N64, and more)". Digitaltrends.com. Retrieved 2013-10-03.
- Corpuz, John (2013-01-30). "Best Playstation Emulators for PCs". Tom's Guide . Retrieved 2013-10-03.
|Wikimedia Commons has media related to PCSX2.|