PlayStation 2 emulators

From Emulation General Wiki
Revision as of 14:45, 21 February 2024 by Ahayri (talk | contribs) (MagicGate)
Jump to navigation Jump to search
PlayStation 2
PS2-Fat-Console-Set.png
Developer Sony
Type Home video game console
Generation Sixth generation
Release date 2000
Discontinued 2013
Predecessor PlayStation
Successor PlayStation 3
Emulated
For other emulators that run on PS2 hardware, see Emulators on PS2.

The PlayStation 2 (PS2) is a sixth-generation console released by Sony on October 26, 2000, and it was retailed for US$299.99 (equivalent to $530.74 in 2024). It has the Emotion Engine CPU based on the MIPS R5900 at 300 MHz with 32 MBs of RDRAM system memory and 4 MBs of eDRAM (VRAM). Its GPU was a custom Graphics Synthesizer, which ran at 150 MHz. It became the highest-selling console of all time, with over 155 million units sold.

Announced in 1999, Sony began developing the console after the immense success of the PS1. The PS2 offered backward-compatibility for the PS1 DualShock controller, as well as its games.[1]

The PlayStation 2 received widespread critical acclaim upon release. A total of over 4,000 game titles were released worldwide, with over 1.5 billion copies sold. In 2004, Sony released a smaller, lighter revision of the console known as the PS2 Slim. Even after the release of its successor, the PlayStation 3, it remained popular well into the seventh generation. It continued to be produced until 2013 when Sony finally announced that it had been discontinued after over twelve years of production, one of the longest lifespans of any video game console. By the end of its life, two new games were launched posthumously for the console.[1]

Emulators

Name Platform(s) Latest version Hardware
variations
Hardware features
and accessories
Enhancements Compatibility FLOSS Active Recommended
Desktop
PCSX2 Windows Linux macOS Nightly[N 1]
LRPS2[N 2]
wxWidgets-latest
~ ~ 99%
2667 out of 2690 reported titles
[N 3]
Play! Windows Linux macOS Web 0.65
git
libretro core
~ ~ 41%
1065 out of 2568 reported titles
~
AetherSX2 Linux ARM macOS Builds ~ ~ 74%
451 out of 609 reported titles
[N 4] ~
hpsx64 Windows v0450 ?%
3 reported playable titles
DobieStation Windows Linux git
Builds
1%
6 out of 1212 reported titles
orbum Windows git N/A
NeutrinoSX2 (nSX2) Windows 0.08 N/A
PS2emu Windows 0.1 N/A
Mobile / ARM
AetherSX2 Android 1.5-4248
latest/alpha
1.5-3668 (no ads)
NetherSX2 Patch
~ ~ 74%
451 out of 609 reported titles
[N 4]
Play! Android iOS Builds
libretro core
~ ~ 41%
1059 out of 2566 reported titles
~
Cosmic Android git Progression: 14% ✗ (WIP)
DamonPS2 (呆萌PS2模拟器) Android 5.0 ?%
16 reported playable titles
* (stolen PCSX2)
Console
XBSX2.0 Xbox One Xbox Series X/S git ~ ~ 99%
2667 out of 2690 reported titles
[N 3]
Official Sony emulators PlayStation 3 FW 4.78 ~ ~ 84%
2250 out of 2682 reported titles
Play! Switch Vita git (Switch)
2020(Vita Port)
~ ~ 41%
1054 out of 2566 reported titles
AetherSX2 Xbox One Xbox Series X/S Alpha ~ ~ 74%
451 out of 609 reported titles
[N 4]
LRPS2_libretro[N 2] Xbox One Xbox Series X/S libretro core ~ ~ ?
  1. The stable versions are years out-of-date and missing countless features and bug fixes. Nightly versions are a better choice for almost all users; the stable versions should only be used if you have a specific need for them.
  2. 2.0 2.1 This is a complete hard fork of PCSX2 and its own separate emulator at this point, so there is no point in chasing after any kind of upstream, though it is under development, use standalone PCSX2-nightly or XBSX2 builds instead. If you really want to use a libretro core for PlayStation 2 emulation; use this libretro core.
  3. 3.0 3.1 Playable state in the PCSX2 compatibility list purposely doesn't include minor performance and graphical issues both with SW and HW renderers. While the compatibility list categorizes majority games as playable, some users may encounter issues that impact their individual experience and consider them unplayable.
  4. 4.0 4.1 4.2 AetherSX2 dev calls it quits, shuts down site leaving a message citing "complaints, demands, and death threats" made to him during development process.

Comparisons

PCSX2
Started sometime in mid 2001, with its first release on March 23, 2002. It was the first PS2 emulator to boot games on Dec 19, 2002. Succeeding their earlier PCSX PlayStation emulator, PCSX2 dedicated its development to faithfully replicating the PS2 experience. The years haven't dimmed its shine thanks to the continuous improvements in accuracy, compatibility, and performance. In the last years, PCSX2 nightly builds boast a sleek, modern QT GUI and a pluginless design, eliminating the headaches of plugin configuration and making all features readily available. Just grab the original system firmware and you're ready to relive your PS2 memories. PCSX2 also has lots of new modern enhancements built-in (one of the best emulators when it comes to enhancement capabilities, similar to Dolphin, Flycast, BigPEmu, PPSSPP and DuckStation) and supports some of the hardware features, peripherals of the PlayStation 2.
PCSX2 has great compatibility, and it is capable of playing most titles without any major glitches however some titles still need software rendering to run without any major graphical issues. For checking if your games work and any fixes, tweaks, or settings you should know beforehand. For more information regarding playability check these sources;
AetherSX2
A closed-source freeware emulator partially forked from PCSX2. It's designed to be optimal for ARM-based platforms, primarily those running Android.
It has multiple versions; The latest google play version which contains ads while an ad free Alpha version can be downloaded directly from the AetherSX2 website. Development was stopped due to various dramas.
Play!
Development is almost all done by the single maintainer jpd002. Also, unlike PCSX2 it's supports Namco System 2x6 variations and it has a playable Android and iOS port.
DobieStation
Many titles can go ingame, focused on accuracy, and therefore inherently slower than Play! or PCSX2.
HPS2x64
Can also run quite a few commercial games, but probably less so, and at slower speeds than Play!. It also emulates and focuses more on PlayStation emulation. There is also a mirror that has fixes done to it.
DamonPS2
Closed-source payware/malware emulator only for Android, illegally based on PCSX2, Play! and PPSSPP. It can hardly run any games and behaves very much like virus software. It is the worst PS2 emulator and as such, it is NOT recommended under any circumstance. DamonPS2 uses unnecessary DRM, making the emulator useless without an internet connection.

Enhancements

Side note: Please don't bump/spam GitHub threads/issues and feature request pages.

Name PCSX2 Play! AetherSX2
XBSX2.0
Official Sony emulators
Graphics Resizable Internal Resolution ?
Texture Replacement ~[N3 1]
Widescreen hack
Pre-rendering AA
(MSAA, SSAA)
* ?
Performance Overclock
Internal Framerate Hack ?
Preload optical disc image to RAM
For users with sluggish multi-platter HDDs or plagued by horrible seek times, this enhancement might offer smoother experience, potentially reduced power consumption; it also shines when disc images reside on a network drive.
Although keep in mind that preloading image would take some time, and it will require additional amount of RAM capacity.
* ? ?
Frame generation technologies
(LSFG, DLSS-G, ExtraSS and AFMF)
Implementing frame generation technology in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future, however post-processing techniques such as motion interpolation is quite possible. Input latency will be a crucial factor, but its impact likely varies depending on the specific technique employed, it's recommended to use after applying the "Internal Framerate Hack".
While AFMF or LSFG can be used with PCSX2, please be aware that some visual glitches and artifacts may occur at this time.
Post-Processing Post-rendering AA
(FXAA, TXAA and MLAA/SMAA)
? ?
Post-rendering scaling
(Sharp bilinear, Lanczos and FSR 1)
? ?
Filters
NTSC filters, HDR tonemapping etc.
Shader Chain
TAS features Macros/Scripts/Lua ?
Rewind * *
Fast-Forward/Turbo Speed ?
Savestates ?
Movie recording/playback ?
Controls True/dual analog control * ? ? ?
Mouse Injector Compatible *
Input lag-mitigating technique
Quality of life Built-in Graphics mod editor/manager
Built-in Cheat Manager
Built-in Custom resolution/CRTSwitchRes
For using this on Windows OS you need CRT Emudriver.
Another option is using EDID editor tool such as "Custom Resolution Utility".
* ~*
Streamable compression format ?
Per-Game Profiles ? ? ?
Command Line Options * ? ? ?
On-Screen Display
Showcases messages, controller input state which is useful for speedrunners, performance data, active settings, and various notifications.
? ? ?
Big Picture Mode ? ? ?
Misc RetroAchievements ~[N3 1]
Free Look
Free Look is a enhancement feature that allows manipulation of the in-game camera.
While freecam would be technically possible, its requires per-game patches like Gran Turismo 4 360 Chase Cam by "Vyerq/unko_".
Said patches would require a significant amount of time to reverse the game's engine, which means that only someone talented with enough dedication to a single game could do it.
There is a feature request for adding this enhancement feature to PCSX2 emulator.
Debug Features [N3 2] ? ?

Hardware features and accessories

Side note: Please don't bump/spam GitHub threads/issues and feature request pages.

Name PCSX2 Play! AetherSX2
XBSX2.0
Official Sony emulators[N2 1]
System Menu
DVD player ~ ?
PlayStation Backwards Compatibility ~ ~
Communication PocketStation communication ~ ~
PSP communication
LAN
(Slim models)
TBD ~
LAN tunelling TBD ~
i.LINK *
Inputs Pressure Sensitive Buttons ~[N2 2] ?
Rumble
Motion control (Tilt sensor)[N2 3]
DTS Surround (DVD-Video only)
Dolby Digital 5.1
Dolby Pro Logic II
~* ? ?
Accessories
Network Adapter
(Fat models)
TBD ~
Audio USB Headset TBD TBD
SingStar Microphone TBD TBD TBD TBD
Rock Band / Guitar Hero Konami USB Microphone TBD
WebCam Konami Capture Eye TBD TBD TBD
Sony EyeToy TBD TBD
LightGun Konami Justifier/Hyper Blaster TBD TBD TBD
GunCon * TBD TBD
GunCon 2 * TBD TBD
Controller
Multitap [N2 4] TBD TBD
DJ Hero Turntable * TBD TBD TBD
Buzz! Controller * TBD TBD TBD
NeGcon * ? ?
Jogcon * ? ?
Densha de GO! (1, 2, 3, 4, 5) * TBD TBD
Pop'n Music Controller * ?
Guitar * TBD TBD TBD
USB Keyboard & Mouse TBD TBD
DVD Remote Control * ? ? *
Motion Gametrak ~* TBD TBD TBD
RealPlay ~* TBD TBD TBD
Printer GamePrint① ~* TBD TBD TBD
GamePrint② * TBD
Epson printer * TBD
HMD Sony PUD-J5A * TBD
Storage Hard Disk Drive * ? ?
USB Mass storage * TBD
PictureParadise * TBD
  1. ps2_emu: peripheral support
  2. DualShock 2 can be used only with adaptes emulating DualShock 3. Bliss-Box API is not supported. DualShock 3 can be used only with DsHidMini community driver and a custom XInput proxy DLL. Support for official Sony driver has been dropped after moving from Wx to Qt environment. Althrough old v1.7.3771 Wx build still allows to run games with Official Sony driver support or you can wait for this pull request: native DualShock 3 support for Qt builds in Windows using official Sony driver. Other controllers with pressure-sensitive buttons like Xbox controller are not supported. This pull request completely replaces all pad code for Qt.
  3. SplitFish Motion FX Adapter attached to DualShock 2 and Fanatec Zero G Controller are controllers with implemented accelerometer support. They are allowing remap motion controls to right or left stick helping with camera control or steering vehicles by tilting controller left or right.
  4. Additional Memory Card slots must be enabled in the .ini file.

System Menu

Initial Program Loader (IPL) of the PlayStation 2 and its top level interface, allowing the player to load discs, change settings, and manage up to two memory cards at once. Use these dump files which will affect IPL’s console model number recognition positively when used with latest PCSX2 builds.

PlayStation Backwards Compatibility

Wikipedia:List_of_PlayStation_games_incompatible_with_PlayStation_2

PocketStation communication

Wikipedia:PocketStation#Compatible_games

PSP communication

List of PlayStation 2 games with PSP connectivity

i.LINK

S400 Firewire cable for connecting two PS2 console together and play split screen on separate TVs. Not all games supported it and it was dropped in later versions of the console. Currently no emulators support it.

Pressure Sensitive Buttons

The DualShock 2 has all buttons and sticks with variable pressure states (except for L3, R3, Start, & Select).

Most PS2 games do not require this feature, instead preferring to use the triggers and/or joysticks for pressure-sensitive actions (e.g., sneaking past the sleeping dog in Chulip), but a select few do. Some examples include:

  • All three attack buttons in The Bouncer precipitate different attacks based on whether the press is light, medium, or strong. The 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.

Games requiring variable trigger pressure need physical controllers with analog sticks, which is fortunately a standard feature of most half-decent controllers on the market. Pressure-sensitive face buttons, on the other hand, haven't appeared on any standard PlayStation controllers since the DualShock 3 (DualShock 4 removed this feature), and it's very rare for a third-party controller to feature them either.

PCSX2 wxWidgets builds guide
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 and 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 really has pressure-sensitive buttons, you'll 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, that proves your gamepad buttons aren't pressure-sensitive and are merely tracking the pressed/unpressed state. The solution would be to either buy an official DualShock 2 or 3 controller (The Original Xbox Controller is not supported) and use an appropriate 3rd party driver such as SCP Driver Package.
Also you can map the button to a rarely used trigger/stick in LilyPad;
Open 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.

DVD player

PCSX2 MagicGate fork - DVD-Video menu demonstration

PS2's DVD player was a versatile and powerful feature for its time, it supports PlayStation2 format DVD-ROM, PlayStation 2 and PlayStation 1 format CD-ROM and offering great playback compatibility for the most common disc formats. While it lacked official support for DVD Audio and VCD, its ability to play DVD Video and Audio CDs, along with additional options like progressive scan and upscaling, made it a compelling choice for entertainment and multimedia playback. Also Interactive film/movie formats like DVDi and DVDPG supported.

  • PCSX2 has CD-ROM and DVD-ROM support so you can boot your game directly from your physical discs (demonstration), however there are no official DVD-Video and Audio CD support at the moment. See feature request page for more information.
  • PlayStation 3 has no PlayStation 2 DVD player interface support because: no emulation process needed to handle DVD-Video. PlayStation 3 already features a slot-loading 2× speed Blu-ray Disc drive for BD-ROM, PlayStation2 format DVD-ROM, PlayStation 2 and PlayStation 1 format CD-ROM, Blu-ray Disc Video, DVD-Video, and Audio CDs. Having said that there is no support for VCDs for PlayStation 3 just like PlayStation 2.
  • See this dedicated page for more information about home media playback support for emulation softwares.

LAN tunelling

Offline multiplayer gaming on the PS2 home console over a LAN (local area network) multiplayer games, just like System Link for XBOX systems. Over time, most game servers have been shut down. However, computer programs such as XBSlink, SVDL and XLink Kai allow users to play multiplayer for LAN supported PS2 games by using a network configuration that simulates a worldwide LAN.

Accessories

Hard Disk Drive

Wikipedia - PlayStation 2 Hard Disk Drive and compatible titles

The PS2 Hard Disk Drive was an official peripheral released by Sony for the PlayStation 2 console. It launched in July 2001 in Japan and March 2004 in North America. The HDD required the Network Adapter to function, because of this it's important to know that not all PS2 models supported the HDD. Only the fat models (SCPH-30000 to SCPH-50000 series) had the Expansion Bay needed to connect the Network Adapter for Hard Drive.

PlayStation 2 Hard Drive offered;

As stated in the Network Adapter section, slim models comes with Ethernet functionality of the Network Adaptor has been integrated onto the motherboard, because of this slim models have no Hard Drive support.

EyeToy

The EyeToy is a device similar to a camera or a webcam. It's an accessory developed by Sony and manufactured by Logitech. It is used in some PS2 games to interact physically through motion detection. The EyeToy device can be emulated with PCSX2. It also works natively with the PlayStation 3.

DVD Remote Control

Wikipedia: DVD Remote Control

You can even play games with this remote controller other than multimedia functionalities, there's a setting in the System Config that says 'Remote Gameplay Function', set this to on for playing games with this peripheral.

USB plugin for wxWidgets builds

Some PS2 games use a USB adapter with a module/dongle consisting of two jack ports for microphones. Installments from the SingStar series on the PS2 could use microphones (Sometimes bundled with these game discs) with this method.

These adapters could either formally or informally be called:
  • SingStar USB Converter (Official)
  • SingStar USB Converter Box (Official)
  • SingStar USB Microphone Converter
  • SingStar Microphone USB Adapter/Converter
  • SingStar USB Converter Microphone Adapter

Steering wheels are also supported for many racing games via a USB adapter.

While PCSX2 isn't benefiting from a working USB plugin in its original release, Jackun, a PCSX2 plugin author, made a USB plugin that supports a microphone in most games and even a steering wheel for racing games.

A compatibility list of the working titles with this plugin can be found here.

Hardware variations

Arcade

Notice that Play! is still in relatively early stages so the gaming experience might not be perfect.

Also there are pull requests and feature requests for implementing some of these variations or its features to these emulators, so it is being worked on actively.[2]

Konami Python 1/Konami Benami Python 1/Konami Python Satellite Terminal

Currently, there is no emulator that supports this variation.

Konami Python 2/Konami Benami Python 2

Konami Python 2 is a Konami arcade system based on PlayStation 2 hardware.

A fork of PCSX2 (987123879113) supports the emulation of the Konami Python 2 (Guide). This fork requires MagicGate key files into the bios folder (civ.bin, cks.bin, eks.bin, and kek.bin) and you must use "ps2-0190j-20030822.bin" BIOS.
This fork does not and will never support Python 1 or system 246/256 games as those would require much more work than a simple USB device to make work. The MagicGate code being used in this fork also does not support memory card MagicGate encryption stuff properly (the memory card dongles used for Python 1 and System 246/256) so those platforms aren't really any closer to working compared to before.
MAME romsets of Python 2 games won't work on this fork as they are missing ILINK_ID files.

Namco System 246 #1/Namco System 246 #2/Namco System 246 #3

Namco 246 is a series of Namco arcade system based on PlayStation 2 hardware, Featuring a MIPS II R3000A IOP Sub-CPU.

Play! supports the emulation of this hardware. Security dongle images and disc images have to be placed inside the arcaderoms subdirectory of Play! Data Files directory.

Namco System 256 #1/Namco System 256 #2

Namco 256 is a series of Namco arcade system based on PlayStation 2 hardware, Featuring a MIPS II R3000A IOP Sub-CPU. System 256 comes with larger VRAM and overclocked CPU compared to System 246.

Play! supports the emulation of this hardware. Security dongle images and disc images have to be placed inside the arcaderoms subdirectory of Play! Data Files directory.

Namco System Super 256

Play! supports the emulation of this hardware. Security dongle images and disc images have to be placed inside the arcaderoms subdirectory of Play! Data Files directory.

Namco System 147

Currently, there is no emulator that supports this variation, however it is being worked on in Play! at the moment.

PSX

Not to be confused with the original PlayStation.

The PSX is a Sony digital video recorder with a fully integrated PS2 console. It was also the first device to use Sony's XrossMediaBar (XMB) graphical user interface, which was later used on the PlayStation Portable, the PlayStation 3, some Blu-ray Disc players, and 2008-era BRAVIA TVs.

None of the PSX features have been emulated yet.

Twitter user @DiscoStarslayer claims to be working on bypassing the HDD encryption of the PSX, which could result in this hardware being emulated, and it would allow for replacing the HDD in those consoles. This user also encourages dumping the content of the HDD of your PSX using a guide made by a PCSX2 contributor called 987123879113

Emulation issues

Despite a large interest in PlayStation 2 emulation due to its sizable collection of games, it is still one of the harder consoles to emulate for several reasons.

First of all, many people believe that since the main CPU (Emotion Engine) runs at a clock speed of 294 Mhz (299 Mhz on later revisions), it would make emulation easy on recent hardware. But this isn't the case because the clock speed of the emulated CPU is not necessarily indicative of the ease of emulation (e.g. Sega Saturn emulation). Specifically, the PlayStation 2's CPU contains a multitude of custom sub-components and chips such as the FPU co-processor, 2 Vector Units, IOP, SPU2, Graphics Synthesizer, and SIF which together work asynchronously to comprise the 128-bit Emotion Engine. Emulating them perfectly with correct timing requires an enormous amount of power. Moreover, the PlayStation 2, just like PlayStation 1, uses the MIPS architecture instead of standard x86 code, thus making emulation slower.[3]

Another big problem is the emulation of PlayStation 2’s floating-point unit (FPU) because it doesn’t follow the IEEE standard. To keep it simple, just changing a couple of numbers will cause glitches to occur to the game’s graphic (VU) and logic (EE), resulting in things like broken AI, odd behaviors, and/or graphical bugs. While PCSX2 allows for either clamping/rounding on both VU and EE as a solution to fix these glitches, it remains by far not the most accurate way to emulate the PlayStation 2's FPU.[4][5]

To conclude the problems with PlayStation 2 emulation, we come to hardware rendering. The PlayStation 2’s graphics pipeline acts very differently from modern GPU cards, and emulating it in HW mode with any degree of accuracy is difficult. This is due in part to the versatility of the PlayStation 2, the fact that it doesn’t use fixed shaders, or that even the games themselves do not use a consistent formula to achieve different graphical effects. Various emulation enhancements like display resolution scaling lead to the typical “black lines glitch” because of the use of a non-integer resolution. While the Vulkan and OpenGL renderer backends on PCSX2 greatly improved on many of these issues, lots of games still require “software rendering” to fix many common glitches, which is significantly increases CPU ST performance requirement for the emulation and eliminating visual enhancement options. Always try Vulkan or OpenGL backends first because D3D backends blending levels is quite problematic compared to other backends.[6]

In summary, The PlayStation 2 is a very complex machine that even game developers struggled to work with. It is difficult to achieve close-to-perfection PlayStation 2 emulation with actual PC hardware but thanks to PCSX2 team it's now possible.

MagicGate

Wikipedia:MagicGate

MagicGate, an encryption technology embedded within specific PlayStation 2 memory cards, relies on the MechaCon chip for security functionalities. MechaCon chip handles various tasks, including PlayStation 2 system security, game disc security, MagicGate, and KELF file decryption. Emulating MagicGate presents unique challenges because replicating its encryption process and hardware verification can be difficult and rightfully raising concerns about copyright situation [1][2]. However there is a PCSX2 fork for this you can use, although you need MagicGate keys. See Konami Python 2 or #DVD_player sections.

For more information about PlayStation 2 hardware and reverse engineering;

See also

External links

References