Difference between revisions of "PlayStation Portable emulators"
m (→Hardware features) |
Florin9doi (talk | contribs) (→Hardware features) |
||
(115 intermediate revisions by 8 users not shown) | |||
Line 2: | Line 2: | ||
|title = PlayStation Portable | |title = PlayStation Portable | ||
|logo = PSP-1000.png | |logo = PSP-1000.png | ||
+ | |imagecaption=PSP-1000 | ||
|developer = [[:Sony]] | |developer = [[:Sony]] | ||
|type = [[:Category:Handheld consoles|Handheld game console]] | |type = [[:Category:Handheld consoles|Handheld game console]] | ||
Line 19: | Line 20: | ||
==Emulators== | ==Emulators== | ||
− | <div style=" | + | <div style="overflow-x:auto;width:100%"> |
− | {| class="wikitable" style="text-align:center;" | + | {| class="wikitable" style="text-align:center;width:100%" |
! scope="col"|Name | ! scope="col"|Name | ||
! scope="col"|Platform(s) | ! scope="col"|Platform(s) | ||
Line 35: | Line 36: | ||
|[[PPSSPP]] | |[[PPSSPP]] | ||
|align=left|{{Icon|Windows|Linux|macOS|FreeBSD}} | |align=left|{{Icon|Windows|Linux|macOS|FreeBSD}} | ||
− | |[https://buildbot.orphis.net/ppsspp/index.php?m=fulllist Dev Builds]<br/>[https://nightly.link/hrydgard/ppsspp/workflows/build/master Dev Builds (Artifacts)]<br/>[https://buildbot.libretro.com/nightly/ libretro core]<ref group=N name=lrPPSSPP>This build [https://old.reddit.com/r/RetroArch/comments/smujbb/ppsspp_outdated_and_broken/hvyonyq/ using upstream repo for libretro] from now on.</ref><br/>[http://www.ppsspp.org/downloads.html {{PPSSPPVer}}] | + | |[https://buildbot.orphis.net/ppsspp/index.php?m=fulllist Dev Builds]<br/>[https://nightly.link/hrydgard/ppsspp/workflows/build/master Dev Builds (Artifacts)]<br/>[https://buildbot.libretro.com/nightly/ libretro core]<ref group=N name=lrPPSSPP>This build [https://old.reddit.com/r/RetroArch/comments/smujbb/ppsspp_outdated_and_broken/hvyonyq/ using upstream repo for libretro] from now on. But, similar to Citra and melonDS libretro cores, the standalone version of PPSSPP is highly recommended over the libretro core as the [https://github.com/hrydgard/ppsspp/issues?q=is%3Aissue+is%3Aopen+libretro libretro core version can be slow and unstable].</ref><br/>[http://www.ppsspp.org/downloads.html {{PPSSPPVer}}] |
|{{✓}} | |{{✓}} | ||
|{{~}} | |{{~}} | ||
− | |[https://report.ppsspp.org/games 84%<br/><small> | + | |[https://report.ppsspp.org/games 84%<br/><small>3202 out of 3799 reported titles</small>] |
|{{✓}} | |{{✓}} | ||
|{{✓}} | |{{✓}} | ||
Line 110: | Line 111: | ||
|{{✓}} | |{{✓}} | ||
|{{~}} | |{{~}} | ||
− | |[https://report.ppsspp.org/games 84%<br/><small> | + | |[https://report.ppsspp.org/games 84%<br/><small>3202 out of 3799 reported titles</small>] |
|{{✓}} | |{{✓}} | ||
|{{✓}} | |{{✓}} | ||
Line 117: | Line 118: | ||
|[https://github.com/kobol123/PSPe-3.0 PSPe+] <small>(PPSSPP fork)</small> | |[https://github.com/kobol123/PSPe-3.0 PSPe+] <small>(PPSSPP fork)</small> | ||
|align=left|{{Icon|Android}} | |align=left|{{Icon|Android}} | ||
− | |[http://rnextstudios.fastportatil.com/?page_id=246 | + | |[http://rnextstudios.fastportatil.com/?page_id=246 3.2.1] |
|{{✗}} | |{{✗}} | ||
|{{✗}} | |{{✗}} | ||
Line 123: | Line 124: | ||
|{{✓}} | |{{✓}} | ||
|{{✗}} | |{{✗}} | ||
+ | |{{✗}} | ||
+ | |- | ||
+ | |DamonPSP (呆萌PSP模拟器) | ||
+ | |align=left|{{Icon|Android}} | ||
+ | | | ||
+ | |{{✗}} | ||
+ | |{{✗}} | ||
+ | | | ||
+ | |{{✗}} (stolen PPSSPP) | ||
+ | |{{✓}} | ||
|{{✗}} | |{{✗}} | ||
|- | |- | ||
Line 142: | Line 153: | ||
|{{✓}} | |{{✓}} | ||
|{{~}} | |{{~}} | ||
− | |[https://report.ppsspp.org/games 84%<br/><small> | + | |[https://report.ppsspp.org/games 84%<br/><small>3202 out of 3799 reported titles</small>] |
|{{✗}} | |{{✗}} | ||
|{{~}}<ref group=N>Libretro core is still active.</ref> | |{{~}}<ref group=N>Libretro core is still active.</ref> | ||
Line 161: | Line 172: | ||
===Comparisons=== | ===Comparisons=== | ||
− | ;[[PPSSPP]] | + | ;[[PPSSPP]]:An [[High/Low_level_emulation|HLE approach]] PSP emulator and released in November 2012. Compatibility is higher than [[JPCSP]] and games runs significantly faster. Despite limitations in its [[#Hardware features|PSP hardware feature support]], PPSSPP shines as an emulator with [[#Enhancements|impressive enhancement capabilities]]. The emulator is currently capable of playing the vast majority of the PSP library, while [https://report.ppsspp.org/games?compat=unknown remaining 3677 titles are still unreported]. |
− | ;[[JPCSP]]: | + | ;[[JPCSP]]:An [[High/Low_level_emulation|LLE approach]] PSP emulator, and it requires the Java Runtime Environment to be installed. It is also slower compared to [[PPSSPP]], and it was built around debugging and was never really meant to be a standard emulator. They made it so they could understand the PSP's inner workings better. Thanks to the JPCSP team, and other PSP homebrew teams, PPSSPP developed at breakneck speeds. Both teams communicate a lot and contribute with each other. |
− | ;PlayStation®Portable REMASTER Launcher | + | ;PlayStation®Portable REMASTER Launcher: See [https://www.psx-place.com/threads/playing-playstation-portable-psp-games-on-your-ps3.38830/ this guide] for more information. |
==Hardware features== | ==Hardware features== | ||
− | {|class="wikitable" style="text-align:center; vertical-align:middle;" | + | <div style="overflow-x:auto;width:100%"> |
+ | {|class="wikitable" style="text-align:center;vertical-align:middle;width:100%" | ||
|- style="font-weight:bold;" | |- style="font-weight:bold;" | ||
! colspan=2 | Name | ! colspan=2 | Name | ||
Line 175: | Line 187: | ||
! Adrenaline | ! Adrenaline | ||
|- | |- | ||
− | | rowspan= | + | | rowspan=8 | [[#Connectivity|Connectivity]] |
| [https://old.reddit.com/r/ps2/comments/atwi34/list_of_ps2_games_with_psp_connectivity/ PS2 communication] | | [https://old.reddit.com/r/ps2/comments/atwi34/list_of_ps2_games_with_psp_connectivity/ PS2 communication] | ||
| {{✗}}[https://github.com/hrydgard/ppsspp/issues/13098 *] | | {{✗}}[https://github.com/hrydgard/ppsspp/issues/13098 *] | ||
Line 186: | Line 198: | ||
| {{~}}[https://github.com/isage/adrenaline_usb_enabler *] | | {{~}}[https://github.com/isage/adrenaline_usb_enabler *] | ||
|- | |- | ||
− | | [[ | + | | [[PlayStation Network]] |
| {{N}} | | {{N}} | ||
− | | {{ | + | | {{?}} |
| {{N}} | | {{N}} | ||
|- | |- | ||
Line 198: | Line 210: | ||
| Infrastructure | | Infrastructure | ||
| {{n}}[https://github.com/hrydgard/ppsspp/issues/14256 *] | | {{n}}[https://github.com/hrydgard/ppsspp/issues/14256 *] | ||
− | | {{ | + | | {{?}} |
| {{n}} | | {{n}} | ||
|- | |- | ||
| Infrastructure LAN<abbr title="Only used in Twisted Metal: Head-On">*</abbr> | | Infrastructure LAN<abbr title="Only used in Twisted Metal: Head-On">*</abbr> | ||
| {{n}} | | {{n}} | ||
− | | {{ | + | | {{?}} |
| {{n}} | | {{n}} | ||
|- | |- | ||
| Game Sharing | | Game Sharing | ||
| {{n}} | | {{n}} | ||
− | | {{ | + | | {{?}} |
− | | {{ | + | | {{?}} |
|- | |- | ||
− | | | + | | Infrared |
+ | | {{Y}} | ||
+ | | {{N}} | ||
+ | | {{N}} | ||
+ | |- | ||
+ | | rowspan=4 | Peripherals | ||
+ | | Camera | ||
| {{Y}}[https://github.com/hrydgard/ppsspp/issues/8521 *] | | {{Y}}[https://github.com/hrydgard/ppsspp/issues/8521 *] | ||
− | | {{ | + | | {{?}} |
− | | {{ | + | | {{?}} |
|- | |- | ||
− | + | | Microphone | |
− | | {{~}}[https://github.com/hrydgard/ppsspp/issues/12336 *]<ref group=N2>Windows and Android only</ref> | + | | {{~}}[https://github.com/hrydgard/ppsspp/issues/12336 *]<ref group=N2>Windows and Android only.</ref> |
− | | {{ | + | | {{?}} |
− | | {{ | + | | {{?}} |
+ | |- | ||
+ | | GPS | ||
+ | | {{Y}}<ref group=N2>[https://github.com/hrydgard/ppsspp/pull/9927 Fully supported] on Android/iOS and predefined position on other platforms.</ref> | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
|- | |- | ||
− | | | + | | 1Seg/DMB TV Tuner |
− | | {{N}} | + | | {{N}} |
− | | {{ | + | | {{?}} |
− | | {{ | + | | {{?}} |
|- | |- | ||
| colspan=2 | External Controller Vibration<abbr title="Only used in Resistance: Retribution">*</abbr> | | colspan=2 | External Controller Vibration<abbr title="Only used in Resistance: Retribution">*</abbr> | ||
| {{n}} | | {{n}} | ||
− | | {{ | + | | {{?}} |
| {{n}} | | {{n}} | ||
|- | |- | ||
Line 235: | Line 258: | ||
| {{N}} | | {{N}} | ||
| {{✓}} | | {{✓}} | ||
+ | |- | ||
+ | | colspan=2 | [[Wikipedia:List_of_PlayStation_minis|PlayStation minis]] and [[Wikipedia:List_of_downloadable_PlayStation_Portable_games|Digital PSP titles]] | ||
+ | | {{Y}} | ||
+ | | {{Y}} | ||
+ | | {{Y}}[https://gbatemp.net/threads/psp-mini-oin-adrenaline.487710/ *] | ||
|- | |- | ||
| colspan=2 | [[#UMD_Music.2C_UMD_Video_and_UMD-PG|UMD Music<br/>UMD Video<br/>UMD-PG]] | | colspan=2 | [[#UMD_Music.2C_UMD_Video_and_UMD-PG|UMD Music<br/>UMD Video<br/>UMD-PG]] | ||
Line 241: | Line 269: | ||
| {{N}} | | {{N}} | ||
|- | |- | ||
− | | colspan=2 | [ | + | | colspan=2 | [[#XMB_and_apps|XMB and apps]] |
− | | {{✗}} | + | | {{✗}} |
− | | {{~}} | + | | {{~}} |
| {{✓}} | | {{✓}} | ||
|} | |} | ||
+ | </div> | ||
<references group=N2 /> | <references group=N2 /> | ||
Line 255: | Line 284: | ||
*[https://psp2i.wiki/w/Setting_up_multiplayer#PPSSPP_multiplayer_over_the_internet psp2i: PPSSPP multiplayer over the internet] | *[https://psp2i.wiki/w/Setting_up_multiplayer#PPSSPP_multiplayer_over_the_internet psp2i: PPSSPP multiplayer over the internet] | ||
− | ::[https://forums.ppsspp.org/showthread.php?tid=9037 AdHoc Compatibility List] | + | ::[https://forums.ppsspp.org/showthread.php?tid=9037 AdHoc Compatibility List], [https://forums.ppsspp.org/showthread.php?tid=14763&pid=103689 #2] |
::[https://psrewired.com/ PS Rewired: A revival group that provides emulated online servers for the PS2, PSP and PS3.] | ::[https://psrewired.com/ PS Rewired: A revival group that provides emulated online servers for the PS2, PSP and PS3.] | ||
::For more information about other revive projects see [[Preservation_projects|Preservation projects]] page. | ::For more information about other revive projects see [[Preservation_projects|Preservation projects]] page. | ||
Line 265: | Line 294: | ||
===UMD Music, UMD Video and UMD-PG=== | ===UMD Music, UMD Video and UMD-PG=== | ||
− | *PPSSPP has no UMD | + | During the era of the PlayStation Portable (PSP), "UMD Movie" was more common as it represented the main function of the format but as UMD adoption expanded beyond movies and included other types of video content such as TV shows, music videos, and documentaries, "UMD Video" became a more generic term to encompass the full range of applications. While UMD primarily focused on movies and video content, there was also some limited use of the format for UMD Music. However, it wasn't nearly as widespread as movie or other UMD Video content. UMD-PG on the other hand stands for UMD-Players Game, and it was used for a unique type of [[Home_Media_Player#Interactive_media|interactive media]] released on UMDs for the PlayStation Portable (PSP). |
− | *JPCSP has [https://github.com/jpcsp/jpcsp/issues?q=is%3Aissue+is%3Aopen%2Bclosed+umd+video+ partial UMD | + | |
+ | *PPSSPP has no UMD Video or UMD-PG support at the moment: [https://github.com/hrydgard/ppsspp/issues/4902 UMD Movie request] and [https://github.com/hrydgard/ppsspp/issues/11662 UMD Video and UMD-PG request] for PPSSPP. See [https://www.ppsspp.org/docs/faq/ PPSSPP FAQ: Can PPSSPP play UMD video discs?] section. | ||
+ | *JPCSP has [https://github.com/jpcsp/jpcsp/issues?q=is%3Aissue+is%3Aopen%2Bclosed+umd+video+ partial UMD Video support] ([https://github.com/jpcsp/jpcsp/issues/388#issuecomment-1300530907 demonstration]). Also see [https://github.com/jpcsp/jpcsp/blob/master/src/jpcsp/GUI/UmdVideoPlayer.java UmdVideoPlayer.java] for how it's implemented. | ||
*Adrenaline [https://old.reddit.com/r/VitaPiracy/comments/unb0r1/heres_how_to_watch_your_umd_movies_on_your_vita/ never had UMD Video support]. | *Adrenaline [https://old.reddit.com/r/VitaPiracy/comments/unb0r1/heres_how_to_watch_your_umd_movies_on_your_vita/ never had UMD Video support]. | ||
− | :See [[Home_Media_Player | + | :See [[Home_Media_Player|this dedicated page]] for more information about interactive media and home media playback support for emulation softwares. |
+ | :See [[Ripping_games]]. | ||
+ | |||
+ | ===XMB and apps=== | ||
+ | :[https://www.psdevwiki.com/psp/index.php/XrossMediaBar PSDevWiki: XrossMediaBar] | ||
+ | The XrossMediaBar (pronounced "cross-media bar" and officially abbreviated as XMB) is a graphical user interface developed by Sony Computer Entertainment. You can launch various applications from this interface as well. | ||
+ | |||
+ | *[https://github.com/hrydgard/ppsspp/issues/14286 PPSSPP do not support XMB], but for better immersion with XMB-like interface there are additional UI features for PPSSPP such as; | ||
+ | :*You can use custom sound files for PPSSPP UI and game list navigation feedback sounds<ref>[https://github.com/hrydgard/ppsspp/issues/13225#issuecomment-776396995 PPSSPP pull request: add menu and interface sounds]</ref>. Also you can use custom sound files for RetroAchievement notifications<ref>[https://github.com/hrydgard/ppsspp/pull/17725 PPSSPP pull request: Custom achievement sound effects]</ref>, for setting these up you need to set "Settings> UI Sounds: On", "UI Background animation: Waves" and "Theme: Default", after these you need to change .wav files from "\PPSSPP\assets" directory with your custom .wav files. Also there is a [https://github.com/hrydgard/ppsspp/issues/18393 feature request] for [https://www.youtube.com/watch?v=PlFkIjbWg2M intro sound] implementation to PPSSPP UI similar to XMB ([https://www.youtube.com/watch?v=4QrE_QYXaE4 concept demonstration]). | ||
+ | :*PPSSPP supports music playback when a game selected in the menu screen<ref>[https://github.com/hrydgard/ppsspp/pull/6393 PPSSPP pull request: Play the game's SND0.AT3 when a game is selected in the menu and on the "game screen".]</ref> similar to XMB, but currently [https://www.youtube.com/watch?v=WIQe8-wdC0g&t=98s there is no video support] on this screen for PPSSPP UI as "hrydgard" mentioned in that pull request. | ||
+ | :*PPSSPP supports background wallpaper change when when a game selected in the menu screen<ref>[https://github.com/hrydgard/ppsspp/pull/6388 PPSSPP pull request: Show game background during controller/keyboard game selection]</ref> similar to XMB. | ||
+ | :*PPSSPP's UI font could be changed if you want. For this you need to change .TTF font file from "\PPSSPP\assets" directory with your custom .TTF font file but it needs to be renamed as “Roboto-Condensed.ttf” just like original PPSSPP one (easiest solution).<ref>[https://forums.ppsspp.org/showthread.php?tid=11332 PPSSPP forum: Where can I find PSP original font that supports full Unicode and can be used in emu?]</ref><ref>[https://forums.ppsspp.org/showthread.php?tid=16639 PPSSPP forum: Change font of PPSSPP]</ref> | ||
+ | *JPCSP is able to boot the official PSP VSH interface, though the menus are not yet working properly, it is currently only an alpha release. | ||
+ | :*[https://emunewz.net/forum/showthread.php?tid=175293 Booting VSH in JPCSP Guide]. | ||
==Enhancements== | ==Enhancements== | ||
− | {|class="wikitable" style="text-align:center; vertical-align:middle;" | + | <div style="overflow-x:auto;width:100%"> |
+ | {|class="wikitable" style="text-align:center;vertical-align:middle;width:100%" | ||
|- style="font-weight:bold;" | |- style="font-weight:bold;" | ||
! colspan=2 | Name | ! colspan=2 | Name | ||
Line 278: | Line 323: | ||
! Adrenaline | ! Adrenaline | ||
|- | |- | ||
− | | | + | | rowspan=7 | Graphics |
+ | | [[Resolution|Resizable Internal Resolution]] | ||
+ | | {{Y}} | ||
| {{Y}} | | {{Y}} | ||
− | | | + | | ? |
− | |||
|- | |- | ||
− | + | | [[Widescreen_hacks#PlayStation_Portable|Ultrawide hack]]<br/><small>Widescreen already supported on PSP system.<br/> But there is no support by system for render games in other ratios such as ultrawide 21:9 and 32:9.</small> | |
− | |||
| {{Y}} | | {{Y}} | ||
| ? | | ? | ||
+ | | {{N}} | ||
|- | |- | ||
− | + | | [[Texture_Packs#PlayStation_Portable|Texture Replacement]] | |
| {{Y}} | | {{Y}} | ||
+ | | {{N}} | ||
| ? | | ? | ||
− | |||
|- | |- | ||
− | | colspan= | + | | Pre-rendering AA<br/><small>(MSAA, SSAA)</small> |
+ | | {{Y}}[https://www.ppsspp.org/docs/reference/settings/#msaa-antialiasing *] | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | |- | ||
+ | | 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=3 | <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://www.youtube.com/watch?v=t8x5TWsYAdg][https://reshade.me/forum/general-discussion/5442-release-misc-emulators-with-depth-buffer-access]</small> | ||
+ | |- | ||
+ | | Super-resolution techniques<br/><small>([https://github.com/NVIDIAGameWorks/Streamline/blob/main/docs/ProgrammingGuideDLSS.md DLSS], [https://github.com/intel/xess/?tab=readme-ov-file XeSS] and [[Wikipedia:GPUOpen#FidelityFX_Super_Resolution|FSR 2+]])</small> | ||
+ | | colspan=3 | <small>Requires access to the depth buffer and temporal data like motion-vectors so it's quite challenging and unlikely to be feasible in the near future.<br/>Besides any GPU that can use DLSS can run PPSSPP at 8k native with ease anyway.</small> | ||
+ | |- | ||
+ | | [https://github.com/NVIDIAGameWorks/rtx-remix/wiki RTX Remix] | ||
+ | | colspan=9 | <small>Implementing RTX Remix technology in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future.<br/>Besides, PPSSPP already supports most of RTX Remix features such as texture replacement and post-processing effects etc.<br/>On top of that you can use ReShade for post-processing.</small> | ||
+ | |- | ||
+ | | rowspan=5 | Performance | ||
+ | | [[Overclocking|Overclock]] | ||
| {{Y}} | | {{Y}} | ||
| ? | | ? | ||
− | | | + | | ? |
|- | |- | ||
− | + | | [[30/60_FPS_cheat_codes#PlayStation_Portable|Internal Framerate Hack]] | |
| {{Y}} | | {{Y}} | ||
| ? | | ? | ||
| ? | | ? | ||
|- | |- | ||
− | | colspan= | + | | [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=3 | <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"'''.<br/>While '''AFMF''' or '''LSFG''' could be used with PPSSPP?, please be aware that some visual glitches and artifacts may occur at this time. | ||
+ | |- | ||
+ | | Preload [[Wikipedia:Template:Disk_images|optical disc image]] to RAM<br/><small>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.<br/>Although keep in mind that preloading image would take some time, and it will require additional amount of RAM capacity.</small> | ||
| {{Y}} | | {{Y}} | ||
− | | {{ | + | | {{?}} |
− | | ? | + | | {{?}} |
|- | |- | ||
− | | | + | | 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=6 | Post-Processing |
+ | | [[Wikipedia:Category:Anti-aliasing_algorithms|Post-rendering AA]]<br/><small>(FXAA, TXAA and MLAA/SMAA)</small> | ||
| {{Y}} | | {{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]] | | [[Shaders_and_filters|Filters]] | ||
| {{Y}} | | {{Y}} | ||
− | | ? | + | | {{?}} |
− | | ? | + | | {{?}} |
+ | |- | ||
+ | |[[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> | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{N}} | ||
|- | |- | ||
| [[Shader_Presets|Shader Chain]] | | [[Shader_Presets|Shader Chain]] | ||
− | | {{Y}} | + | | {{Y}}<abbr title="Standalone version has no support for bezels and overlays like libretro core though. See 'Shader Presets' page for more information.">*</abbr> |
| {{N}} | | {{N}} | ||
| {{N}} | | {{N}} | ||
|- | |- | ||
− | | rowspan= | + | |[[High_dynamic_range#Inverse_tone_mapping|Inverse tone mapping compatible]] |
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{N}} | ||
+ | |- | ||
+ | | rowspan=5 | [https://tasvideos.org/Emulatorresources/Features TAS features] | ||
| [[Wikipedia:Macro_(computer_science)|Macros/Scripts]]/[https://tasvideos.org/LuaScripting Lua] | | [[Wikipedia:Macro_(computer_science)|Macros/Scripts]]/[https://tasvideos.org/LuaScripting Lua] | ||
| {{Y}}[https://github.com/hrydgard/ppsspp/pull/8096 *] | | {{Y}}[https://github.com/hrydgard/ppsspp/pull/8096 *] | ||
Line 353: | Line 427: | ||
| {{Y}}[https://old.reddit.com/r/VitaPiracy/comments/p0rk04/does_adrenaline_have_save_states_andor_speedup/ *] | | {{Y}}[https://old.reddit.com/r/VitaPiracy/comments/p0rk04/does_adrenaline_have_save_states_andor_speedup/ *] | ||
|- | |- | ||
− | | | + | | [https://tasvideos.org/Movies Movie recording/playback] |
+ | | {{~}}<ref group=N3>Supports [https://github.com/hrydgard/ppsspp/pull/10888 initial basic replay recording] but it is [https://github.com/hrydgard/ppsspp/issues/12104 not advanced enough for TAS]. There is a [https://github.com/hrydgard/ppsspp/issues/15617 feature request] for advanced TAS features.</ref> | ||
+ | | ? | ||
+ | | {{N}} | ||
+ | |- | ||
+ | | rowspan=3 | Controls | ||
+ | | [[Controllers#True.2Fdual_analog_control|True/dual analog control]] | ||
+ | | {{Y}}[https://github.com/VanLaser/analog-controls-for-armored-core-ps2#qol-enhancements-dual-analog-controls-for-armored-core-3-portable---usa-and-armored-core-silent-line-portable---usa-pppsspp-emulator *] | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | |- | ||
+ | | [[Controllers#Mouse_Injectors_for_Emulators|Mouse Injector Compatible]] | ||
| {{Y}}[https://github.com/garungorp/MouseInjectorDolphinDuck *] | | {{Y}}[https://github.com/garungorp/MouseInjectorDolphinDuck *] | ||
| {{N}} | | {{N}} | ||
| {{N}} | | {{N}} | ||
|- | |- | ||
− | + | | [[Input_lag|Input lag-mitigating technique]] | |
| {{N}}[https://github.com/hrydgard/ppsspp/issues/17685 *] | | {{N}}[https://github.com/hrydgard/ppsspp/issues/17685 *] | ||
| {{N}} | | {{N}} | ||
| {{N}} | | {{N}} | ||
|- | |- | ||
− | | | + | | rowspan=7 | Quality of life |
+ | | Built-in [[Mods,_hacks_and_fan-translations#Built-in_graphics_mod_editor.2Fmanager_for_emulators|Graphics mod editor/manager]] | ||
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | | {{✗}} | ||
+ | |- | ||
+ | | Built-in [[Cheats_and_patches|Cheat Manager]] | ||
+ | | {{Y}} | ||
+ | | {{?}} | ||
+ | | {{N}} | ||
+ | |- | ||
+ | | [[Save_disk_space_for_ISOs#PlayStation_Portable|Streamable compression format]] | ||
+ | | {{Y}} | ||
+ | | {{N}} | ||
+ | | {{N}} | ||
+ | |- | ||
+ | | Per-Game Profiles | ||
+ | | {{Y}}[https://forums.ppsspp.org/showthread.php?tid=26920 *] | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | |- | ||
+ | | Command Line Options | ||
+ | | {{Y}}[https://www.ppsspp.org/docs/reference/command-line/ *] | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | |- | ||
+ | | [[Wikipedia:Variable_refresh_rate|Variable Refresh Rate compatible]] | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | | {{?}} | ||
+ | |- | ||
+ | | [[Frontends#Graphical_User_Interfaces_.28GUIs.29|Big Picture Mode]] | ||
+ | | {{Y}} | ||
+ | | {{N}} | ||
+ | | {{Y}} | ||
+ | |- | ||
+ | | rowspan=4 | Misc | ||
+ | | Free Look<br/><small>Free Look is a enhancement feature that allows manipulation of the in-game camera.</small> | ||
+ | | colspan=3 | <small>[https://communityforums.atmeta.com/t5/VR-Experiences/PPSSPP-VR-PlayStation-Portable-emulator/td-p/277791 PPSSPP VR] is a PPSSPP build for the Oculus Rift that lets you actually be inside PSP games.<br/>You are not playing on a virtual handheld or screen, you are inside the virtual world.<br/>Also there is a [https://github.com/hrydgard/ppsspp/issues/16806 feature request] for adding VR capabilities to PPSSPP windows builds.<br/>See [[Virtual_reality|Virtual Reality]] page for more information about PPSSPP VR build.</small> | ||
+ | |- | ||
+ | | [[Virtual_reality#VR_game_room_simulations|EmuVR support]] | ||
+ | | colspan=3 | Exclusive to [https://www.emuvr.net/wiki/Installation_Guide#Downloads libretro cores] at the moment. | ||
+ | |- | ||
+ | | [https://retroachievements.org/gameList.php?c=41 RetroAchievements] | ||
| {{Y}} | | {{Y}} | ||
| {{N}} | | {{N}} | ||
| {{N}} | | {{N}} | ||
|- | |- | ||
− | + | | [[Wikipedia:Category:Debugging|Debug Features]] | |
| {{Y}} | | {{Y}} | ||
| {{Y}} | | {{Y}} | ||
| {{N}} | | {{N}} | ||
|} | |} | ||
+ | </div> | ||
<references group=N3/> | <references group=N3/> | ||
+ | |||
+ | ==Emulation issues== | ||
+ | For more information about PSP hardware and reverse engineering; | ||
+ | * MVG: [https://www.youtube.com/watch?v=nCzY-QhBxaE PSP in 2023], [https://www.youtube.com/watch?v=qIxKPu20R58 How the Sony Playstation Portable PSP Security was defeated], [https://www.youtube.com/watch?v=vY1j30jzRsE A closer look at the Sony PSP DTP-T1000 Development Kit], [https://www.youtube.com/watch?v=3HfaAlS7ons Another look at the Sony PSP GO Handheld in 2018] | ||
+ | * [https://www.copetti.org/writings/consoles/playstation-portable/ Rodrigo Copetti's PSP Architecture Practical Analysis] | ||
+ | * PPSSPP: [http://www.ppsspp.org/blog/ Blog], [https://discord.gg/5NJB6dD Discord] | ||
+ | * [https://www.psdevwiki.com/psp/Main_Page PSDevWiki - PSP] | ||
==References== | ==References== | ||
Line 386: | Line 522: | ||
[[Category:Seventh-generation video game consoles]] | [[Category:Seventh-generation video game consoles]] | ||
[[Category:PlayStation Portable emulators|*]] | [[Category:PlayStation Portable emulators|*]] | ||
+ | [[Category:MIPS-based]] |
Revision as of 06:57, 11 May 2024
![]() | |
PSP-1000 | |
Developer | Sony |
---|---|
Type | Handheld game console |
Generation | Seventh generation |
Release date | 2004 |
Discontinued | 2014 |
Predecessor | PocketStation |
Successor | PlayStation Vita |
Emulated | ✓ |
- For other emulators that run on PSP hardware, see Emulators on PSP.
The PlayStation Portable (PSP) is a handheld game console made by Sony. The system was released in Japan on December 12, 2004, in North America on March 24, 2005, and in the PAL region on September 1, 2005. It was retailed for $249. It had a MIPS R4000 CPU at 333 MHz with 32 MBs of RAM. Later revisions of the PSP came with 64 MBs of RAM, allowing for faster load times.
The PSP had one of the most active modding scenes of any handheld console starting from the very early days of its life, utilized for homebrew, emulation, and piracy. Additionally, the PSP's software architecture that required the use of Sony's static libraries for many console functions made the simple and fast HLE approach both reasonable and accurate. Emulation efforts began as early as 2006, with games booting two years later, although overall game compatibility was poor. This early work was used as a basis for PPSSPP at the start of the 2010s, which has developed PSP emulation into a polished, fast, and accurate experience.
Contents
Emulators
Name | Platform(s) | Latest Version | Enhancements | Hardware features | Compatibility | FLOSS | Active | Recommended | |
---|---|---|---|---|---|---|---|---|---|
PC / x86 | |||||||||
PPSSPP | ![]() ![]() ![]() ![]() |
Dev Builds Dev Builds (Artifacts) libretro core[N 1] 1.17.1 |
✓ | ~ | 84% 3202 out of 3799 reported titles |
✓ | ✓ | ✓ | |
JPCSP | ![]() |
SVN | ~ | ~ | 78% 837 out of 1068 reported titles |
✓ | ~* | ~* | |
cspspemu | ![]() ![]() |
git | ✗ | ✗ | ? | ✓ | ✗ | ✗ | |
jspspemu | ![]() |
git | ✗ | ✗ | ? | ✓ | ✗ | ✗ | |
PCSP | ![]() |
0.5.5 | ✗ | ✗ | ? | ✗ | ✗ | ✗ | |
Potemkin | ![]() |
1.00 Alpha | ✗ | ✗ | ? | ✓ | ✗ | ✗ | |
PSPE | ![]() |
0.9b | ✗ | ✗ | ? | ✗ | ✗ | ✗ | |
Mobile / ARM | |||||||||
PPSSPP | ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Dev Builds Dev Builds (Artifacts) 1.17.1 0.1 Pyra libretro core[N 1] |
✓ | ~ | 84% 3202 out of 3799 reported titles |
✓ | ✓ | ✓ | |
PSPe+ (PPSSPP fork) | ![]() |
3.2.1 | ✗ | ✗ | ? | ✓ | ✗ | ✗ | |
DamonPSP (呆萌PSP模拟器) | ![]() |
✗ | ✗ | ✗ (stolen PPSSPP) | ✓ | ✗ | |||
Console | |||||||||
Adrenaline | ![]() |
6.61 | ~ | ~ | ?* | ✓ | ~ | ✓ | |
PPSSPP | ![]() ![]() ![]() ![]() ![]() |
Switch Xbox 360 Wii U libretro core[N 1] |
✓ | ~ | 84% 3202 out of 3799 reported titles |
✗ | ~[N 2] | ✓ | |
PSP PlayStation®Portable REMASTER Launcher |
![]() |
v2.0 | ✗ | ✗ | 48% 414 out of 854 reported titles |
? | ✗ | ~ |
- ↑ 1.0 1.1 1.2 This build using upstream repo for libretro from now on. But, similar to Citra and melonDS libretro cores, the standalone version of PPSSPP is highly recommended over the libretro core as the libretro core version can be slow and unstable.
- ↑ Libretro core is still active.
Comparisons
- PPSSPP
- An HLE approach PSP emulator and released in November 2012. Compatibility is higher than JPCSP and games runs significantly faster. Despite limitations in its PSP hardware feature support, PPSSPP shines as an emulator with impressive enhancement capabilities. The emulator is currently capable of playing the vast majority of the PSP library, while remaining 3677 titles are still unreported.
- JPCSP
- An LLE approach PSP emulator, and it requires the Java Runtime Environment to be installed. It is also slower compared to PPSSPP, and it was built around debugging and was never really meant to be a standard emulator. They made it so they could understand the PSP's inner workings better. Thanks to the JPCSP team, and other PSP homebrew teams, PPSSPP developed at breakneck speeds. Both teams communicate a lot and contribute with each other.
- PlayStation®Portable REMASTER Launcher
- See this guide for more information.
Hardware features
Name | PPSSPP | JPCSP | Adrenaline | |
---|---|---|---|---|
Connectivity | PS2 communication | ✗* | ✗* | ~* |
PS3 communication | ✗* | ✗* | ~* | |
PlayStation Network | ✗ | ? | ✗ | |
Ad-Hoc | ✓ | ✓ | ✓ | |
Infrastructure | ✗* | ? | ✗ | |
Infrastructure LAN* | ✗ | ? | ✗ | |
Game Sharing | ✗ | ? | ? | |
Infrared | ✓ | ✗ | ✗ | |
Peripherals | Camera | ✓* | ? | ? |
Microphone | ~*[N2 1] | ? | ? | |
GPS | ✓[N2 2] | ? | ? | |
1Seg/DMB TV Tuner | ✗ | ? | ? | |
External Controller Vibration* | ✗ | ? | ✗ | |
PSOne Classics* | ✗ | ✗ | ✓ | |
PlayStation minis and Digital PSP titles | ✓ | ✓ | ✓* | |
UMD Music UMD Video UMD-PG |
✗ | ~ | ✗ | |
XMB and apps | ✗ | ~ | ✓ |
- ↑ Windows and Android only.
- ↑ Fully supported on Android/iOS and predefined position on other platforms.
Connectivity
PPSSPP Supports multiplayer on the same network and multiplayer over the internet but no support for XLink Kai at the moment. JPCSP supports multiplayer on the same network and multiplayer over the internet and also supports XLink Kai.
- PPSSPP Wiki: How to play multiplayer games with PPSSPP
- psp2i: PPSSPP multiplayer on the same network
- psp2i: PPSSPP multiplayer over the internet
- AdHoc Compatibility List, #2
- PS Rewired: A revival group that provides emulated online servers for the PS2, PSP and PS3.
- For more information about other revive projects see Preservation projects page.
PlayStation 3 communication
Adhoc Party support, remote play (via the PS3 system's wireless LAN), copying games to play on a PSP system that can be played on either PS3 or PSP systems etc.
UMD Music, UMD Video and UMD-PG
During the era of the PlayStation Portable (PSP), "UMD Movie" was more common as it represented the main function of the format but as UMD adoption expanded beyond movies and included other types of video content such as TV shows, music videos, and documentaries, "UMD Video" became a more generic term to encompass the full range of applications. While UMD primarily focused on movies and video content, there was also some limited use of the format for UMD Music. However, it wasn't nearly as widespread as movie or other UMD Video content. UMD-PG on the other hand stands for UMD-Players Game, and it was used for a unique type of interactive media released on UMDs for the PlayStation Portable (PSP).
- PPSSPP has no UMD Video or UMD-PG support at the moment: UMD Movie request and UMD Video and UMD-PG request for PPSSPP. See PPSSPP FAQ: Can PPSSPP play UMD video discs? section.
- JPCSP has partial UMD Video support (demonstration). Also see UmdVideoPlayer.java for how it's implemented.
- Adrenaline never had UMD Video support.
- See this dedicated page for more information about interactive media and home media playback support for emulation softwares.
- See Ripping_games.
XMB and apps
The XrossMediaBar (pronounced "cross-media bar" and officially abbreviated as XMB) is a graphical user interface developed by Sony Computer Entertainment. You can launch various applications from this interface as well.
- PPSSPP do not support XMB, but for better immersion with XMB-like interface there are additional UI features for PPSSPP such as;
- You can use custom sound files for PPSSPP UI and game list navigation feedback sounds[1]. Also you can use custom sound files for RetroAchievement notifications[2], for setting these up you need to set "Settings> UI Sounds: On", "UI Background animation: Waves" and "Theme: Default", after these you need to change .wav files from "\PPSSPP\assets" directory with your custom .wav files. Also there is a feature request for intro sound implementation to PPSSPP UI similar to XMB (concept demonstration).
- PPSSPP supports music playback when a game selected in the menu screen[3] similar to XMB, but currently there is no video support on this screen for PPSSPP UI as "hrydgard" mentioned in that pull request.
- PPSSPP supports background wallpaper change when when a game selected in the menu screen[4] similar to XMB.
- PPSSPP's UI font could be changed if you want. For this you need to change .TTF font file from "\PPSSPP\assets" directory with your custom .TTF font file but it needs to be renamed as “Roboto-Condensed.ttf” just like original PPSSPP one (easiest solution).[5][6]
- JPCSP is able to boot the official PSP VSH interface, though the menus are not yet working properly, it is currently only an alpha release.
Enhancements
Name | PPSSPP | JPCSP | Adrenaline | ||||||
---|---|---|---|---|---|---|---|---|---|
Graphics | Resizable Internal Resolution | ✓ | ✓ | ? | |||||
Ultrawide hack Widescreen already supported on PSP system. But there is no support by system for render games in other ratios such as ultrawide 21:9 and 32:9. |
✓ | ? | ✗ | ||||||
Texture Replacement | ✓ | ✗ | ? | ||||||
Pre-rendering AA (MSAA, SSAA) |
✓* | ? | ? | ||||||
Ray-tracing (DXR, VRT and MRT) |
Implementing ray-tracing in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future. However you can try "Screen-Space Ray Traced Global Illumination" shader using ReShade.[1][2] | ||||||||
Super-resolution techniques (DLSS, XeSS and FSR 2+) |
Requires access to the depth buffer and temporal data like motion-vectors so it's quite challenging and unlikely to be feasible in the near future. Besides any GPU that can use DLSS can run PPSSPP at 8k native with ease anyway. | ||||||||
RTX Remix | Implementing RTX Remix technology in an emulator is unfortunately quite challenging and unlikely to be feasible in the near future. Besides, PPSSPP already supports most of RTX Remix features such as texture replacement and post-processing effects etc. On top of that you can use ReShade for post-processing. | ||||||||
Performance | Overclock | ✓ | ? | ? | |||||
Internal Framerate Hack | ✓ | ? | ? | ||||||
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 could be used with PPSSPP?, please be aware that some visual glitches and artifacts may occur at this time. | ||||||||
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. |
✓ | ? | ? | ||||||
Rendering latency reduction technologies (LatencyFleX, Reflex and Anti-Lag+) |
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. | ||||||||
Post-Processing | Post-rendering AA (FXAA, TXAA and MLAA/SMAA) |
✓ | ? | ? | |||||
Post-rendering scaling (Sharp bilinear, Lanczos and FSR 1) |
✓ | ? | ? | ||||||
Filters | ✓ | ? | ? | ||||||
AI-powered filter compatible (Freestyle) |
? | ? | ✗ | ||||||
Shader Chain | ✓* | ✗ | ✗ | ||||||
Inverse tone mapping compatible | ? | ? | ✗ | ||||||
TAS features | Macros/Scripts/Lua | ✓* | ? | ✗ | |||||
Rewind | ✓* | ? | ✗* | ||||||
Fast-Forward/Turbo Speed | ✓ | ? | ~* | ||||||
Savestates | ✓ | ? | ✓* | ||||||
Movie recording/playback | ~[N3 1] | ? | ✗ | ||||||
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 | ✓ | ? | ✗ | ||||||
Streamable compression format | ✓ | ✗ | ✗ | ||||||
Per-Game Profiles | ✓* | ? | ? | ||||||
Command Line Options | ✓* | ? | ? | ||||||
Variable Refresh Rate compatible | ? | ? | ? | ||||||
Big Picture Mode | ✓ | ✗ | ✓ | ||||||
Misc | Free Look Free Look is a enhancement feature that allows manipulation of the in-game camera. |
PPSSPP VR is a PPSSPP build for the Oculus Rift that lets you actually be inside PSP games. You are not playing on a virtual handheld or screen, you are inside the virtual world. Also there is a feature request for adding VR capabilities to PPSSPP windows builds. See Virtual Reality page for more information about PPSSPP VR build. | |||||||
EmuVR support | Exclusive to libretro cores at the moment. | ||||||||
RetroAchievements | ✓ | ✗ | ✗ | ||||||
Debug Features | ✓ | ✓ | ✗ |
- ↑ Supports initial basic replay recording but it is not advanced enough for TAS. There is a feature request for advanced TAS features.
Emulation issues
For more information about PSP hardware and reverse engineering;
- MVG: PSP in 2023, How the Sony Playstation Portable PSP Security was defeated, A closer look at the Sony PSP DTP-T1000 Development Kit, Another look at the Sony PSP GO Handheld in 2018
- Rodrigo Copetti's PSP Architecture Practical Analysis
- PPSSPP: Blog, Discord
- PSDevWiki - PSP
References
- ↑ PPSSPP pull request: add menu and interface sounds
- ↑ PPSSPP pull request: Custom achievement sound effects
- ↑ PPSSPP pull request: Play the game's SND0.AT3 when a game is selected in the menu and on the "game screen".
- ↑ PPSSPP pull request: Show game background during controller/keyboard game selection
- ↑ PPSSPP forum: Where can I find PSP original font that supports full Unicode and can be used in emu?
- ↑ PPSSPP forum: Change font of PPSSPP