PCSX2

Last updated
PCSX2
Original author(s) Linuzappz, Shadow, Refraction, Saqib, Gabest, Gregory, GovanifY, Stenzek, lightningterror
Developer(s) PCSX2 Team
Initial releaseMarch 23, 2002;22 years ago (2002-03-23)
Stable release
1.6.0 / May 7, 2020;3 years ago (2020-05-07)
Repository github.com/PCSX2/pcsx2
Written in C++
Operating system Windows, Linux, macOS
Platform IA-32 & AMD64 [1]
Size
Available in28 languages [3]
Type Video game console emulator
License Since 0.9.7: GPL-3.0-or-later [4]
Until 0.9.6: GPL-2.0-or-later
Website pcsx2.net

PCSX2 is a free and open-source PlayStation 2 emulator for Windows, Linux, and macOS [5] that supports a wide range of PlayStation 2 video games with a high level of compatibility and functionality. Although PCSX2 can closely mirror the original gameplay experience on the PlayStation 2, PCSX2 supports a number of improvements over gameplay on a traditional PlayStation 2, such as the ability to use resolutions up to 8 times larger than native, anti-aliasing and texture filtering.

Contents

Background

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 genuine copy of the PS2 BIOS, which is not available for download from the developers due to copyright-related legal issues. Since September 2016, PCSX2 is partially compatible with PlayStation games. [6]

The main bottleneck in PS2 emulation is emulating the Emotion Engine multi-processor on the PC x86 architecture. Although each processor can be emulated well independently, accurately synchronizing them and emulating the console's timing is difficult. [7]

Development

Development of PCSX2 was started in 2001 by programmers who go by the names Linuzappz and Shadow, who were programmers for the PlayStation emulator PCSX-Reloaded. Other programmers later joined the team, and they were eventually able to get some PS2 games to the loading screen. The team then started working on the difficult task of emulating the PlayStation 2's BIOS; they got it to run, although it was slow and graphically distorted. Version 0.9.1 was released in July 2006.

From 2007 to 2011, developers worked on Netplay and speed improvements. [8] 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. In December 2022, PCSX2 was overhauled to remove all WxWidgets elements. The project has used QT since. The addition of a new VU recompiler brought better compatibility, a memory card editor, an overhaul of the SPU2-X audio plug-in, and numerous other improvements. [9] As of Apple is deprecating support for OpenGL and OpenCL with the release of macOS 10.14. PCSX2 officially stopped developing new versions of PCSX2 for macOS version.

As of November 2021, 97% of PlayStation 2 games are considered "playable" on the emulator, meaning they can be played largely but not entirely free of slight issues. [10] 22 games are considered "perfect" – free of bugs – and all but one at least boot to the menu screen. [10]

In 2022, PCSX2 added support for the Vulkan API. [11] PCSX2 was used as a basis for AetherSX2, a PlayStation 2 emulator for Android. [12] In 2022, an unofficial fork of PCSX2 was created for the Xbox Series X/S known as XBSX2. [13]

Features

PCSX2 supports save states and dynamic recompilation (JIT). There is also support for gameplay recording in Full HD using the GSdx plugin. Options such as the ability to increase/decrease game speeds, use unlimited memory cards, and utilize any gamepad controllers supported by the native operating system are also available. Cheat codes are supported via the use of PNACH patching files. Retroachievements support is also there (only for nightly releases,) it adds community driven achievement system for PlayStation 2, PlayStation games and homebrew.

Plug-ins

PCSX2 makes use of plug-ins as a means of modularizing development efforts among the separate components (subsystems) of the emulated PlayStation 2 hardware. For instance, video plug-ins are utilized by PCSX2 to render images to the screen and emulate the graphics hardware of the PlayStation 2, whereas sound plug-ins emulate the sound hardware of the PlayStation 2. Not only does this allow different developers to focus their efforts on one aspect of the PlayStation 2 hardware, this also allows users that have a system configuration that does not yield good results with one plug-in to attempt to try another to see if they have better results.

A list of several plug-ins follows:

NameSubsystemNotes
GSdxVideoThe fastest, most accurate graphics plug-in. Requires Direct3D or OpenGL support and optionally uses a GPU. GSdx plug-in is compatible with PSX emulators but is limited to software rendering with them. There also exists an unofficial ToCAEDIT [14] version and the GSdx-Cutie version. [15]
GSdx FXVideo Post-processing shader pack for GSdx plugin.
ZZoglVideoA less optimized graphics plug-in that uses Open GL. Compatible with Linux and Windows. This plugin is fork of ZeroGS KOSMOS plugin.
SPU2-XAudioThe most accurate sound plug-in.
SSSPSX PadInputA simple input plug-in.
LilyPadInputAn advanced input plug-in that supports keyboards, mice, and controllers.
NuveeInputAn input plug-in that supports lightguns and USB mice.
TwinPadInputAnother keyboard and mouse plug-in.
XPadInputAn Xbox 360 controller input plug-in.
CDVDOpticalA simple optical media plug-in that runs games from optical discs.
Linuz ISO CDVDOpticalA plug-in which has the ability to compress ISO images.
Dev9Hard driveHandles PS2 hard disk drive and Ethernet emulation.
MegaDev9Hard driveA more advanced version of Dev9. Currently, it only partially emulates the PS2 hard drive.
NetplayNetplayA plug-in which allows certain games to be playable multiplayer over the Internet.

As of v1.7.0-dev-1420 [16] PCSX2 has merged all functionality into the core emulator, eliminating the concept of plugins as well as releasing 64-bit variants.

The list of plugins that have been merged are listed below:

Graphical Improvements (GSdx Plugin)

The GSdx plug-in offers a variety of image quality improvements over the original PlayStation 2 hardware, such as:

Hardware requirements

System requirements
MinimumRecommended
Personal Computer [17]
Operating system Windows 10 (AMD64) or higher
Ubuntu 18.04 or higher, Debian, Arch Linux, or other distro (IA-32 or x86-64)
Windows 10 (x86-64) or higher
Ubuntu 19.04 or higher, Debian, Arch Linux, or other distro (x86-64)
CPU SSE4.1 support, 1600 Single Thread Performance on Passmark w/ 2 physical cores and hyperthreading support. AVX2 support, 2100 Single Thread Performance on Passmark w/ 4 physical cores with and/or without hyperthreading.
Memory4 GB RAM.8 GB RAM.
Graphics hardware DirectX 10 (DX11 since 1.6.0) or OpenGL 3.x supported GPU and 2 GB VRAM. DirectX 11 or OpenGL 4.5 supported GPU and 4 GB VRAM.

Hardware requirements are largely game-dependent. Due to the demanding nature of emulation, PCSX2 is much more likely to perform well with modern mid-range to high-end hardware, with lower-end systems likely to experience less than full performance. 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. As computer hardware has continued to advance with time, the likelihood of performance issues with PCSX2 has experienced a corresponding decrease.

Reception

PCSX2 has been very well received. Matthew Humphries of Geek.com described it as "an impressive piece of work". [18] Alex Garnett of PC World criticized the difficulty of setting up PCSX2 but called it a "masterpiece." [19] Although David Hayward of Micro Mart also criticized the complexity, he also called it "technically amazing." [20] Sriram Gurunathan of In.com described PCSX2 as "arguably the most popular emulator around" and named it as one of the site's top five emulators. [21] Brandon Widder of Digital Trends included PCSX2 in his Best Emulators article. [22] John Corpuz of Tom's Guide mentioned PCSX2 in his Best PlayStation Emulators for PCs article, saying, "When it comes to stable, playable PlayStation 2 emulation, PCSX2 is pretty much the best game in town at the moment." [23]

See also

Related Research Articles

<span class="mw-page-title-main">Plug-in (computing)</span> Software component that adds a specific feature to an existing software application

In computing, a plug-in is a software component that adds a specific feature to an existing computer program. When a program supports plug-ins, it enables customization.

<span class="mw-page-title-main">UAE (emulator)</span> Computer emulator which emulates Commodore Internationals Amiga.

UAE is a computer emulator which emulates the hardware of Commodore International's Amiga range of computers. Released under the GNU General Public License, UAE is free software.

<span class="mw-page-title-main">MAME</span> Arcade game emulation software

MAME is a free and open-source emulator designed to recreate the hardware of arcade game systems in software on modern personal computers and other platforms. Its intention is to preserve gaming history by preventing vintage games from being lost or forgotten. It does this by emulating the inner workings of the emulated arcade machines; the ability to actually play the games is considered "a nice side effect". Joystiq has listed MAME as an application that every Windows and Mac gamer should have.

In computer science, dynamic recompilation is a feature of some emulators and virtual machines, where the system may recompile some part of a program during execution. By compiling during execution, the system can tailor the generated code to reflect the program's run-time environment, and potentially produce more efficient code by exploiting information that is not available to a traditional static compiler.

<span class="mw-page-title-main">Virtual Studio Technology</span> Audio plug-in software interface

Virtual Studio Technology (VST) is an audio plug-in software interface that integrates software synthesizers and effects units into digital audio workstations. VST and similar technologies use digital signal processing to simulate traditional recording studio hardware in software. Thousands of plugins exist, both commercial and freeware, and many audio applications support VST under license from its creator, Steinberg.

ePSXe PlayStation emulator

ePSXe is a PlayStation video game console emulator for x86-based PC hardware with Microsoft Windows and Linux, as well as devices running Android. It was written by three authors, using the aliases calb, _Demo_ and Galtor. ePSXe is closed source with the exception of the application programming interface (API) for its plug-ins.

Homebrew, when applied to video games, refers to software produced by hobbyists for proprietary video game consoles which are not intended to be user-programmable. The official documentation is often only available to licensed developers, and these systems may use storage formats that make distribution difficult, such as ROM cartridges or encrypted CD-ROMs. Many consoles have hardware restrictions to prevent unauthorized development.

This article provides basic comparisons for notable text editors. More feature details for text editors are available from the Category of text editor features and from the individual products' articles. This article may not be up-to-date or necessarily all-inclusive.

<span class="mw-page-title-main">Project64</span> Nintendo 64 emulation software

Project64 is a free and open-source Nintendo 64 emulator written in the programming languages C and C++ for Microsoft Windows. This software uses a plug-in system allowing third-party groups to use their own plug-ins to implement specific components. Project64 can play Nintendo 64 games on a computer reading ROM images, either dumped from the read-only memory of a Nintendo 64 ROM cartridge or created directly on the computer as homebrew.

<span class="mw-page-title-main">Logitech Media Server</span> Open-source streaming audio server

Lyrion Music Server is a streaming audio server supported by the LMS community and formerly supported by Logitech, developed in particular to support their Squeezebox range of digital audio receivers.

<span class="mw-page-title-main">Dolphin (emulator)</span> Nintendo GameCube and Wii emulation software

Dolphin is a free and open-source video game console emulator for GameCube and Wii that runs on Windows, Linux, macOS, Android, Xbox One, Xbox Series X and Series S.

<span class="mw-page-title-main">Hatari (emulator)</span> Atari computer emulator

Hatari is an open-source emulator of the Atari ST 16/32-bit computer system family. It emulates the Atari ST, Atari STe, Atari TT, and Atari Falcon computer series and some corresponding peripheral hardware like joysticks, mouse, midi, printer, serial and floppy and hard disks. It supports more graphics modes than the ST and does not require an original TOS image as it supports EmuTOS. The latest version has no reported issues with the ST/STe/TT applications emulation compatibility and also most of the ST/STe games and demos work without issues.

<span class="mw-page-title-main">PCSX-Reloaded</span> Video game console emulator

PCSX is a free and open-source, video game console emulator that allows software designed to be used with the Sony PlayStation to run on personal computers. Over the years, development changed hands several times with PCSX-Reloaded (PCSXR) now being the main version. As of 2021, the emulator seems to be no longer under active development. A newer, actively maintained fork of PCSX-Reloaded is PCSX-Redux.

<span class="mw-page-title-main">Video game console emulator</span> Program that reproduces video game consoles behavior

A video game console emulator is a type of emulator that allows a computing device to emulate a video game console's hardware and play its games on the emulating platform. More often than not, emulators carry additional features that surpass limitations of the original hardware, such as broader controller compatibility, timescale control, easier access to memory modifications, and unlocking of gameplay features. Emulators are also a useful tool in the development process of homebrew demos and the creation of new games for older, discontinued, or rare consoles.

Mupen64Plus, formerly named Mupen64-64bit and Mupen64-amd64, is a free and open-source, cross-platform Nintendo 64 emulator, written in the programming languages C and C++. It allows users to play Nintendo 64 games on a computer by reading ROM images, either dumped from the read-only memory of a Nintendo 64 cartridge or created directly on the computer as homebrew.

<span class="mw-page-title-main">OpenEmu</span>

OpenEmu is an open-source multi-system video game emulator designed for macOS. It provides a plugin interface to emulate numerous consoles' hardware, such as the Nintendo Entertainment System, Genesis, Game Boy, and many more. The architecture allows for other developers to add new cores to the base system without the need to account for specific macOS APIs.

<span class="mw-page-title-main">PPSSPP</span> PSP emulator

PPSSPP is a free and open-source PSP emulator for Windows, macOS, Linux, iOS, Android, Nintendo WiiU, Nintendo Switch, BlackBerry 10, MeeGo, Pandora, Xbox Series X/S and Symbian with an increased focus on speed and portability. It was first released to the public on November 1, 2012, licensed under the GNU GPLv2 or later. The PPSSPP project was created by Henrik Rydgård, one of the co-founders of the Dolphin emulator.

<span class="mw-page-title-main">RetroArch</span> Emulator and media player frontend

RetroArch is a free and open-source, cross-platform frontend for emulators, game engines, video games, media players and other applications. It is the reference implementation of the libretro API, designed to be fast, lightweight, portable and without dependencies. It is licensed under the GNU GPLv3.

<span class="mw-page-title-main">PlayStation 2 technical specifications</span> Overview of the PlayStation 2 technical specifications

The PlayStation 2 technical specifications describe the various components of the PlayStation 2 (PS2) video game console.

<span class="mw-page-title-main">RPCS3</span> Emulator for PlayStation 3 software

RPCS3 is a free and open-source video game console emulator and debugger for the Sony PlayStation 3 that runs on Windows, Linux, FreeBSD and macOS operating systems, allowing PlayStation 3 games and software to be played and debugged on a personal computer. It is being developed in the C++ programming language targeting x86-64 CPUs and features OpenGL and Vulkan as its backend renderers.

References

  1. "x64 Work and Testing · Discussion #4102 · PCSX2/pcsx2". GitHub. Retrieved 7 July 2021.
  2. "PCSX2 - The PlayStation 2 emulator - Windows". pcsx2.net. Archived from the original on 30 May 2012. Retrieved 9 June 2021.
  3. "PCSX2/pcsx2". GitHub. Retrieved 9 June 2021.
  4. "Upgraded PCSX2 core and utilities to GPLv3". GitHub . 2009-09-08.
  5. "Getting Started". Pcsx2.net. Retrieved April 21, 2016.
  6. "Ramapcsx2 PSX mode by gregory38 · Pull Request #1583 · PCSX2/Pcsx2". GitHub .
  7. "Why is PCSX2 slow?".
  8. "PS4 Controller".
  9. Refraction (2010-11-05). "The History of PCSX2". PCSX2. Archived from the original on 2017-01-22. Retrieved 2013-09-03.
  10. 1 2 Plunkett, Luke (11 November 2021). "PS2 Emulator Can Now Boot Every Single Title Except For One Weird Golf Game". Kotaku . Archived from the original on 9 December 2021. Retrieved 18 February 2022.
  11. Bailey, Dustin (10 January 2022). "PS2 emulator PCSX2 adds Vulkan support". PCGamesN . Archived from the original on 11 January 2022. Retrieved 18 February 2022.
  12. Simons, Hadlee (23 January 2022). "AetherSX2: What you need to know about the best PS2 emulator for Android". Android Authority. Archived from the original on 7 February 2022. Retrieved 18 February 2022.
  13. Smith, David (25 October 2022). "Yep, That's A PS2 Emulator Running On An Xbox Series S". Kotaku . Retrieved 2023-06-05.
  14. "Custom GSdx Plugin Released". Toca Edit. 2014-12-20. Retrieved 2016-04-21.
  15. "s90110019/Gsdx-cutie: pcsx2 plugin". GitHub. Retrieved 2016-04-21.
  16. "Merge GS, Mcd into core, remove plugin selector/subsystem". Govanify Edit. 2021-07-03. Retrieved 2021-07-11.
  17. "PCSX2/pcsx2". GitHub. Retrieved 16 March 2021.
  18. Humphries, Matthew (August 6, 2012). "PlayStation 2 emulator PCSX2 reaches v1.0, plays games in 1080p". Geek.com . Ziff Davis. Archived from the original on October 5, 2013. Retrieved September 3, 2013.
  19. Garrett, Alex (September 1, 2011). "How to Emulate the Sony PlayStation 2 (PS2) on Your PC" . Retrieved September 3, 2013.{{cite journal}}: Cite journal requires |journal= (help)
  20. Hayward, David (2013-07-19). "Retro Console Emulators Group Test: PCSX2 1.0.0 Review". Micro Mart . Dennis Publishing. Archived from the original on 2015-11-25. Retrieved 2013-09-03.
  21. Gurunathan, Sriram (February 4, 2011). "Top Five Emulators". In.com . Network 18. Archived from the original on October 4, 2013. Retrieved September 3, 2013.
  22. Widder, Brandon (April 20, 2013). "Best Emulators (NES, SNES, Genesis, N64, and more)". Digital Trends . Retrieved October 3, 2013.
  23. Corpuz, John (January 30, 2013). "Best PlayStation Emulators for PCs". Tom's Guide . Retrieved October 3, 2013.