Changes

Jump to navigation Jump to search

PlayStation 2 emulators

1,782 bytes added, 14 April
Enhancements
==Emulators==
<div style="maxoverflow-x:auto;width:100%; overflow:auto;">{| class="wikitable" style="text-align:center;width:100%"
! scope="col"|Name
! scope="col"|Platform(s)
| {{✗}}
| {{✗}}<ref group=N name=aethersx2>AetherSX2 dev calls it quits, shuts down site [https://www.aethersx2.com/ leaving a message citing "complaints, demands, and death threats" made to him during development process].</ref>
| {{~}}
|-
| [https://sourceforge.net/projects/hpsx64 hpsx64]
;[[PCSX2]]:[[History_of_emulation#PlayStation_2|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_emulators|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|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_and_accessories|hardware features, peripherals]] of the PlayStation 2.
:PCSX2 has great compatibility, and it is capable of playing most titles without any major glitches however [https://wiki.pcsx2.net/Category:Software_rendering_only_games 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;
::*[https://raw.githubusercontent.com/PCSX2/pcsx2/master/bin/resources/GameIndex.yaml PCSX2 GameDB] (GameIndex)
::*[http://wiki.pcsx2.net/index.php/Main_Page PCSX2 Wiki] (Note that the wiki can contain outdated information. It is encouraged to do personal testing and contribute to the wiki)
''Side note: Please don't bump/spam GitHub threads/issues and feature request pages.''
<div style="overflow-x:auto;width:100%">{|class="wikitable" style="text-align:center; vertical-align:middle;width:100%"
|- style="font-weight:bold;"
! colspan=2 | Name
! [[Official_emulators#Sony|<abbr title="ps2_emu for PlayStation 3.">Official Sony emulators</abbr>]]
|-
| rowspan=5 6 | Graphics
| [[Resolution|Resizable Internal Resolution]]
| {{✓}}
| {{N}}
| {{?}}
|-
| Ray-tracing<br/><small>([https://devblogs.microsoft.com/directx/announcing-microsoft-directx-raytracing/ DXR], [https://www.khronos.org/blog/ray-tracing-in-vulkan VRT] and [https://developer.apple.com/documentation/metal/metal_sample_code_library/accelerating_ray_tracing_using_metal MRT])</small>
| colspan=4 | <small>Implementing ray-tracing in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future.<br/>However you can try "[[Shaders_and_filters#Notable_ReShade_shaders|Screen-Space Ray Traced Global Illumination]]" shader using ReShade.[https://forums.pcsx2.net/Thread-Release-SSAO-and-raytracing-support-in-PCSX2][https://reshade.me/forum/general-discussion/5442-release-misc-emulators-with-depth-buffer-access#34388]</small>
|-
| [https://github.com/NVIDIAGameWorks/rtx-remix/wiki RTX Remix]
|-
| [https://blurbusters.com/frame-generation-essentials-interpolation-extrapolation-and-reprojection/ Frame generation technologies]<br/><small>([https://store.steampowered.com/app/993090/Lossless_Scaling/ LSFG], [https://github.com/NVIDIAGameWorks/Streamline/blob/main/docs/ProgrammingGuideDLSS_G.md DLSS-G], [https://www.techpowerup.com/316835/extrass-framework-paper-details-intels-take-on-frame-generation ExtraSS] and [https://community.amd.com/t5/gaming/amd-fluid-motion-frames-is-out-now-on-amd-radeon-rx-7000-series/ba-p/634372 AFMF])</small>
| colspan=4 | <small>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 [[Wikipedia:Motion_interpolation|motion interpolation]] is quite possible. [[Input_lag|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" and "skip presenting duplicate frames option"'''.<br/>While '''[https://youtu.be/vyFYt2Ym7nU?t=553 AFMF]''' or '''[https://www.youtube.com/watch?v=WMxnhXsFnyM LSFG]''' can be used with PCSX2, please be aware that some visual glitches and artifacts may occur at this time.
|-
| Rendering latency reduction technologies<br/><small>([https://github.com/ishitatsuyuki/LatencyFleX LatencyFleX], [https://developer.nvidia.com/performance-rendering-tools/reflex Reflex] and [https://www.amd.com/en/products/software/adrenalin/radeon-software-anti-lag.html Anti-Lag'''+'''])
| colspan=4 | <small>While most emulators offer frame pacing or framebuffer latency control options, implementing rendering latency reduction technologies isn't currently feasible. This is '''likely''' doesn't offer enough benefit to justify the development effort.</small>
|-
| rowspan=4 6 | Post-Processing
| [[Wikipedia:Category:Anti-aliasing_algorithms|Post-rendering AA]]<br/><small>(FXAA, TXAA and MLAA/SMAA)</small>
| {{Y}}
| {{?}}
|-
| [[Wikipedia:Comparison_gallery_of_image_scaling_algorithms|Post-rendering scaling]]<br/><small>(Sharp bilinear, Lanczos and [[Wikipedia:GPUOpen#FidelityFX_Super_Resolution|FSR 1]])</small>
| {{Y}}
| {{?}}
| {{?}}
|-
| [[Shaders_and_filters|Filters]]<br/><small>[[Shaders_and_filters#NTSC_Filters|NTSC filters]], [[Shaders_and_filters#Tonemapping|HDR tonemapping]] etc.</small>
| {{Y}}
| {{N}}
| {{Y}}
| {{N}}
|-
|[[Shaders_and_filters#AI-powered filters|AI-powered filter compatible]]<br/><small>([https://www.nvidia.com/en-us/geforce/news/gfecnt/nvidia-freestyle-ansel-enhancements-geforce-experience-article/ Freestyle])</small>
| {{Y}}[https://youtu.be/j6IEtAwN9Fk *]
| {{?}}
| {{?}}
| {{?}}
|-
| [[Shader_Presets|Shader Chain]]
| {{N}}
| {{N}}
|-
|[[High_dynamic_range#Inverse_tone_mapping|Inverse tone mapping compatible]]
| {{Y}}[https://youtu.be/WG8YHh4BT88 *]
| {{?}}
| {{?}}
| {{?}}
|-
| rowspan=5 | [https://tasvideos.org/Emulatorresources/Features TAS features]
| {{N}}
|}
</div>
<references group=N3/>
==Hardware features and accessories==
''Side note: Please don't bump/spam GitHub threads/issues and feature request pages.''
<div style="overflow-x:auto;width:100%">{|class="wikitable" style="text-align:center; vertical-align:middle;width:100%"
|- style="font-weight:bold;"
! colspan=2 | Name
| {{TBD}}
|}
</div>
<references group=N2/>
===DVD player===
[[File:PCSX2_MagicGate_fork_-_DVD-Video_menu_demonstration.jpeg|thumb|298px|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 [https://www.steamgifts.com/discussion/91HAP/what-disc-types-are-compactible-with-ps2 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 [[Home_Media_Player#Interactive_media|Interactive film/movie]] formats like DVDi and DVDPG supported. Lastly, PlayStation 2 supports both DVD5 (single-layer, 4.7 GB) and DVD9 (dual-layer, 8.5 GB) DVD-ROM discs. However, some users report encountering issues with DVD9 discs, particularly on older PS2 FAT models.[https://old.reddit.com/r/ps2/comments/xc04yl/can_the_fat_ps2_play_dvd9_discs/].
*PCSX2 has CD-ROM and DVD-ROM support so you can boot your game directly from your physical discs ([https://youtu.be/DJkl4FrDgLw demonstration]), however there are no official DVD-Video and Audio CD support at the moment. See [https://github.com/PCSX2/pcsx2/issues/1981 DVD-Video compatibility] and [https://github.com/PCSX2/pcsx2/issues/4880 CDRWIN's BIN/CUE format, Audio CD support] feature request page] pages for more information.
:*DVD-Video, [[Home_Media_Player#Interactive_media|DVDi]] and even FreeDVDBoot works in PCSX2's [[#Konami_Python_2.2FKonami_Benami_Python_2|987123879113]] fork but only with it's '''[https://github.com/987123879113/pcsx2/issues/13#issuecomment-1752939271 MagicGate branch]'''.
::*[https://github.com/PCSX2/pcsx2/pull/6719 Requires a complete BIOS dump] ('''4MB''' ROM0 + '''4MB''' ROM1 + NVRAM), use [https://github.com/F0bes/biosdrain this dumper tool] for ROM0, ROM1, ROM2, NVM and MEC files.
::*Requires MagicGate key files (civ.bin, cks.bin, eks.bin, and kek.bin).
::*Keep in mind that [https://github.com/987123879113/pcsx2/issues/13#issuecomment-2016567467 there will be no audio during DVD-Video playback]. Some remaining issues are described in https://github.com/PCSX2/pcsx2/issues/1981 (2022-07 to 2023-02).
*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 [[Home_Media_Player#Emulators|this dedicated page]] for more information about home media playback support for emulation softwares.
*See [[Ripping_games]].
===LAN tunelling===
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.<ref>https://wiki.pcsx2.net/PCSX2_Documentation/Nightmare_on_Floating-Point_Street</ref><ref>https://github.com/PSI-Rockin/DobieStation/issues/51</ref>
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 [https://github.com/PCSX2/pcsx2/tree/master/pcsx2/GS/Renderers Vulkan and OpenGL hardware renderer backends on PCSX2] greatly improved on many of these issues, [https://wiki.pcsx2.net/Category:Software_rendering_only_games lots there are considerable amount of games still require “software rendering”] to fix many common glitches, which is [[PCSX2#System_requirements|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.<ref>[https://github.com/PCSX2/pcsx2/pull/9952 PCSX2 devs comment about HW backends]</ref>
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 [https://github.com/PCSX2/pcsx2/graphs/contributors PCSX2 team] it's now possible.
===MagicGate===
:[[Wikipedia:MagicGate]]
MagicGate, an encryption technology embedded within specific PlayStation 2 memory cards, relies on the [https://www.psdevwiki.com/ps2/MechaCon 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 [https://github.com/PCSX2/pcsx2/pull/4274#issuecomment-795316629][https://github.com/PCSX2/pcsx2/pull/10836#issuecomment-1954866179]. However there is a PCSX2 fork for this you can use, although you need MagicGate keys. See [[PlayStation_2_emulators#Konami_Python_2.2FKonami_Benami_Python_2|Konami Python 2]] or [[#DVD_player]] sections. Also see [[History Legal Status of emulation#LawsuitsEmulation]].
For more information about PlayStation 2 hardware and reverse engineering;
* [https://archive.fosdem.org/2021/schedule/event/pcsx2/ FOSDEM 2021 - The PlayStation 2: From Emotion to Emulation - , Celebrating 20 Years of Reverse Engineering]
* MVG: [https://www.youtube.com/watch?v=IRv_xKS4q7o Why was the Sony PlayStation 2 so hard to develop games for?], [https://www.youtube.com/watch?v=VGMR6FHey68 How the Sony Playstation 2 Security Was Defeated]
* [https://www.copetti.org/writings/consoles/playstation-2/ Rodrigo Copetti's PlayStation 2 Architecture Practical Analysis]
* [https://www.psdevwiki.com/ps2/ PSDevWiki: PlayStation 2]
* [https://old.reddit.com/r/emulation/comments/110nzv8/eli5_why_do_ps2_emulation_be_like_that/ (Reddit Thread) ELI5: Why do PS2 emulation be like that?]
* [https://www.implicitconversions.com/2023/08/01/implicit-conversions-the-origin-story/ Implicit Conversions: The Origin Story - From Self-Taught Developer to Emulation Expert]
* PCSX2: [https://pcsx2.net/blog Blog], [https://discord.gg/K2AZqKJDB2 Discord]
[[Category:Sony consoles]]
[[Category:PlayStation 2 emulators|*]]
[[Category:Very early emulation (MAME)Driver Status: Preliminary]][[Category:MIPS-based]]
10,863
edits

Navigation menu