Changes

Jump to navigation Jump to search

PlayStation emulators

4,924 bytes added, 25 March
m
no edit summary
__TOC__
==Emulators==
<div style="overflow-x:auto;width:100%">{| class="wikitable" style="text-align: center;width:100%"
! scope="col"|Name
! scope="col"|Platform(s)
|{{~}}
|-
|[https://docs.libretro.com/library/pcsx_rearmed/ <abbr title="Only available as a libretro core.">PCSX-ReARMed</abbr>]<br/>''<small>[[PCSX-Reloaded|PCSX-R]]/[[PCSX-Reloaded|PGXP]] (Obsolete)</small>''
|align=left|{{Icon|Windows|Linux|macOS}}
|[https://buildbot.libretro.com/nightly/ PCSX-ReARMed]<br/>''<small>[http://ngemu.com/threads/pcsxr-pgxp.186369/ PGXP build ] (Obsolete)]<br />[http://www.emucr.com/2019/03/pcsx-reloaded-git-20190307.html PCSX-R SVN builds ] (Obsolete)]</small>''
|{{✗}}
|{{~}}
|{{✗}}
|{{✗}}
|[https://ares-emu.net/compatibility 5254%<br/><small>86 90 out of 164 165 reported titles</small>]
|{{✓}}
|{{✓}}
|{{~}}
|}
</div>
<references group=N />
====PC====
;[[DuckStation]]
:Quickly became a top contender on the basis that it has high compatibility and a built-in modern QT GUI. Its stated goal is to be "as [[Emulation accuracy|accurate]] as possible while maintaining performance suitable for low-end devices." While PCSX-R has long dethroned ePSXe in features, DuckStation is the first to address all the shortcomings of plugin-based offerings thus far, as all of its features are available out-of-the-box, and no configuration is necessary to get games running outside of obtaining the original system firmware. Duckstation has modern [[#Enhancements|enhancements]] built-in (one of the best emulators emulator when it comes to enhancement capabilities, similar to Mesen, Bsnes, Dolphin, Flycast, BigPEmu, PPSSPP and PCSX2) and supports some of the [[#Hardware_features_and_peripherals|hardware features, peripherals]]. An Android version is also available, although it doesn't have feature parity with the desktop builds. The unofficial libretro core (swanstation) and standalone version are Retroachievements-compatible.
;[[Mednafen]]
==Enhancements==
''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
! XEBRA
! No$PSX
! Aresares
! PCSX-Redux
! PCSX-ReARMed
! [[Official_emulators#Sony|Official Sony emulators]]
|-
| rowspan=7 11 | Graphics
| [[Resolution|Resizable Internal Resolution]]
| {{✓}}
| {{?}}
|-
| [[Wikipedia:24-bit_color#True_color_(24-Bit true colourbit)|True Color]] Rendering<br/><small>In practice [https://youtu.be/bi-Wzl6BwRM?t=246 PlayStation games stored colour in 15 bits. 24 bit colour mode was mostly used for still images].<br/>So this This enhancement forces the precision of colours output to the console's framebuffer to use the full 8 bits of precision per channel.<br/>It is useful for dithering especially on non-CRT [[Displays|displays]], producing nicer looking gradients.</small>
| {{Y}}
| {{?}}
| {{?}}
| {{N}}[https://youtu.be/bi-Wzl6BwRM?t=476 *]
|-
| True [[Wikipedia:Colour_banding|Color Debanding]]<br/><small>Applies modern [[Dithering|dithering]] techniques (performed during rendering as opposed to a post-processing step) to further smooth out gradients '''when true color is enabled'''.<br/>You can use one of the existing deband post-processing shader for this, but this one works with internal rendering which makes it both faster and more precise. No loss of detail occurs, and no tweaking of thresholds is required.</small>
| {{Y}}[https://github.com/stenzek/duckstation/pull/3089#issue-2089318371 *]
| {{?}}
| {{?}}
| {{?}}
| {{?}}
| {{?}}
| {{?}}
| {{?}}
| {{?}}
|-
| Scaled [[Dithering|Dithering]]<br/><small>Scales the dither pattern to the resolution scale of the emulated GPU. This makes the dither pattern much less obvious at higher resolutions.</small>
| {{Y}}
| {{?}}
| {{?}}
| {{?}}
| {{?}}
| {{?}}
| {{?}}
| {{?}}
| {{?}}
|-
| [[Widescreen_hacks#PlayStation|Widescreen Hack]]
| {{?}}
|-
| 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=9 | <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=tyOkw2efQPM][https://reshade.me/forum/general-discussion/5442-release-misc-emulators-with-depth-buffer-access]</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, DuckStation 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=4 5 | Performance
| [[Overclocking#PlayStation|Overclock]]
| {{✓}}
|-
| [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=9 | <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 DuckStation or Mednafen?, 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>
| {{✗}}
|-
| 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=9 | <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}}<abbr title="Thanks to reshade .fx implementation it's possible to use post-rendering AA such as FXAA.">*</abbr>
| {{?}}
|-
| [[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}}
| {{Y}}[https://mednafen.github.io/documentation/#Global+Settings+Reference *]
| {{✓}}
| {{✗}}
|-
|[[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>
| {{?}}
| {{?}}
| {{?}}
| {{?}}
| {{?}}
| {{?}}
| {{?}}
| {{?}}
| {{?}}
|-
| [[Shader_Presets|Shader Chain]]
| {{✗}}
| {{✗}}
| {{Y}}[https://github.com/ares-emulator/ares/pull/1397 *]
| {{✗}}
| {{Y}}
| {{Y}}
| {{✗}}
|-
|[[High_dynamic_range#Inverse_tone_mapping|Inverse tone mapping compatible]]
| {{?}}
| {{?}}
| {{?}}
| {{?}}
| {{?}}
| {{?}}
| {{?}}
| {{?}}
| {{?}}
|-
| rowspan=5 | [https://tasvideos.org/Emulatorresources/Features TAS features]
| {{N}}
|-
| rowspan=8 9 | Quality of life
| Built-in [[Mods,_hacks_and_fan-translations#Built-in_graphics_mod_editor.2Fmanager_for_emulators|Graphics mod editor/manager]]
| {{✗}}
| {{?}}
| {{?}}
| {{?N}}[https://old.reddit.com/r/emulation/comments/1ay6fm1/ares_v136_released/krslaki/ *]
| {{?}}
| {{✓}}
|-
| Built-in [http://forum.arcadecontrols.com/index.php/topic,106405 Custom resolution/CRTSwitchRes]<br/><small>For using this on Windows OS you need [http://geedorah.com/eiusdemmodi/forum/viewtopic.php?pid=1009#p1009 CRT Emudriver].<br/>Another option is using EDID editor tool such as "Custom Resolution Utility".</small>
| colspan=8 | <small>Exclusive to [https://docs.libretro.com/guides/crtswitchres/ libretro cores] and [[GroovyMAME]] at the moment.<br/>Also there is a [https://github.com/psakhis/Groovy_MiSTer project] for achieving software emulators like libretro cores and GroovyMAME send the raw RGB data over a network to a core running on MiSTer, it basically turns the MiSTer into a GPU for the emulator allowing for easy setup and use with CRT TVs/Arcade monitors.</small>
| {{~}}<abbr title="PlayStation 2 via composite/RCA/AV or PlayStation 3 via component video out.">*</abbr>
|-
| {{?}}
|-
| [[Wikipedia:Variable_refresh_rate|Variable Refresh Rate compatible]]| {{Y}}[https://github.com/stenzek/duckstation/commit/a1d7d214cfb7491b8ba54081b5c40825055f4bc7 *]| {{~}}<ref group=N3 name=BeetleHW></ref>| {{?}}| {{?}}| {{?}}| {{?}}| {{Y}}| {{Y}}[https://docs.mamedev.org/usingmame/commonissues.html#gsync-freesync *]| {{N}}|-| [[Frontends#Graphical_User_Interfaces_.28GUIs.29| Big Picture Mode]]
| {{Y}}
| {{~}}<ref group=N3 name=BeetleHW></ref>
|-
| Free Look<br/><small>Free Look is a enhancement feature that allows manipulation of the in-game camera.</small>
| colspan=9 | <small>PlayStation has no did not have hardware support for a Z -bufferor floating-point operations. However, so no the system used various techniques to giving the appearance of depth info exists[https://www. So logically as soon as you would move the camera, you'd be looking at a flat planequora.<brcom/>The free camera has to be hacked in the game code directlyPlaystation-1-does-not-have-z-buffer-and-floating-points-yet-how-could-it-play-3D-games].<br/>You can use cheat menu for [https://www.youtube.com/watch?v=Nis-qVSSzEw certain games] to use Free Look.<ref>[https://old.reddit.com/r/RetroArch/comments/q4is0t/is_there_a_free_camera_cheat_for_n64_andor_ps1/ Reddit Thread: Is there a free camera cheat for N64 and/or PS1?]</ref>Also you can use dedicated tools like [https://github.com/FranklyGD/Spyro-Scope Spyro Scope].</small>
|-
| [[Virtual_reality#VR_game_room_simulations|EmuVR support]]
| {{✗}}
|}
</div>
<references group=N3/>
==Hardware features and peripherals==
''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}}
|-
| colspan=2 | [[Early_Online_Services#Ii-Mode_adaptormode_.28PS1.29|Ii-Mode mode adaptor]]
| {{N}}
| {{N}}
| {{N}}
|-
| rowspan=8 9 | Input
| ''Densha De Go!'' controller
| {{N}}
| ?
|-
| [[Wikipedia:GunCon#PS_games|<abbr title="Namco's light gun; NPC-103.">GunCon</abbr>]][https://en.wikipedia.org/wiki/List_of_light-gun_games#PlayStation]
| {{Y}}[https://github.com/stenzek/duckstation/blob/master/src/core/guncon.cpp *]
| {{Y}}[https://mednafen.github.io/documentation/psx.html#Settings+Reference *]
| ?
| ?
|-
| [[Wikipedia:Konami_Justifier#PlayStation|Konami Justifier]][https://en.wikipedia.org/wiki/List_of_light-gun_games#PlayStation]
| {{Y}}<ref group=N2>You can use nixxou's [https://github.com/nixxou/duckstation?tab=readme-ov-file#duckstation---lightgun-edition DuckStation LightGun Edition] fork.</ref>
| {{?}}
| {{?}}
| {{?}}
| {{?}}
| {{?}}
| {{?}}
| {{?}}
| {{?}}
|-
| [[Wikipedia:PlayStation_Multitap#Supported_games|Multitap]]
| ?
|}
</div>
<references group=N2/>
===''Densha De Go!'' controller===
Also available for the [[Nintendo 64 emulators|Nintendo 64]], ''Densha De Go!'' is a Japan-only train simulator released by [[Wikipedia:Taito|Taito]] that is compatible with an optional special controller.<ref name="Youtube">{{cite web|url=https://www.youtube.com/watch?v=xuxf5QhdWIo|title=Densha de Go! gameplay with controller - Playstation PS1|publisher=Youtube|accessdate=2018-04-03|date=2017-05-05}}</ref> No emulator is known to support it.
 
===I-Mode adaptor===
:[https://psx-spx.consoledev.net/controllersandmemorycards/#controllers-i-mode-adaptor-mobile-internet ''List of games compatible with the i-mode adaptor'']
The i-mode Adaptor cable (SCPH-10180) allows to connect an i-mode compatible mobile phone to the PlayStation's controller port; granting a mobile internet connection to japanese games. More info: [http://lorezan.free.fr/ps1/iMODE.pdf], [https://www.psxdev.net/forum/viewtopic.php?p=22623#p22623]. Currently no emulators support it.
===CD player===
PlayStation CD player supports Audio CD and PlayStation format CD-ROM. However there is only one PlayStation model can play VCDs, and that is the PlayStation SCPH-5903, released in Asia only[https://www.psxdev.net/forum/viewtopic.php?t=703 only one PlayStation model can play VCDs], and that is the PlayStation SCPH[https://youtu.be/y1vo3-5903, released in Asia onlyuEBRM]. They're hard to find and expensive. Also there is a third-party peripheral called Gamars Movie Card (similar to Dreammovie for Sega Dreamcast) gives you the ability to play Video CDs (VCD) through your PlayStation and it is compatible with all types of PlayStations (PAL and NTSC), this third-party peripheral is very user friendly as it works by just attaching the unit to the back of the PlayStation.
*Duckstation has Audio CD and CD-ROM support so you can boot your game directly from your physical discs, latest versions has issues though, it hangs while try to boot then crash. There are but there is no VCD support at the moment.*PlayStation 2 and PlayStation 3 (backwards compatibility) have support for Audio CD and PlayStation format CD-ROM discs but no support for Video CD/VCDs.
::See [[Home_Media_Player#Emulators|this dedicated page]] for more information about home media playback support for emulation softwares.
::See [[Ripping_games]].
==[https://www.system16.com/base.php#1 Arcade variations]==
Polygons may jitter as a result of low-precision, fixed-point (to the native resolution) math, but this is mostly unnoticeable at native resolutions. Emulators that can increase the internal resolution of games have attempted to fix this.
There is no [[wikipedia:Z-buffering|z-buffer]] in the hardware. This can cause things like polygons to pop over others; the limbs of [https://en.wikipedia.org/wiki/Tekken_(video_game) Tekken] characters are a good example of this. It is theoretically possible to implement this, but it wouldn't be accurate to the hardware.<ref name="forum.emu-russia">{{cite web|url=https://translate.google.com/translate?sl=ru&tl=en&u=http://forum.emu-russia.net/viewtopic.php?p=17237|title=Plugin info, news. / Information about the plugin, news. (gpuBladeSoft discussion) |publisher=forum.emu-russia|accessdate=2018-04-03|date=2011-09-16}}</ref><ref>[https://www.quora.com/Playstation-1-does-not-have-z-buffer-and-floating-points-yet-how-could-it-play-3D-games Playstation 1 does not have z-buffer and floating points, yet how could it play 3D games?]</ref>
When perspective correction isn't applied to textures, certain viewing angles can make them distorted, more so when an object is near the edge of the camera up close. [https://en.wikipedia.org/wiki/Tenchu:_Stealth_Assassins ''Tenchu: Stealth Assassins''] is particularly infamous for texture distortion, most noticeably in the [https://www.youtube.com/watch?v=5oBeO-cui_c training level] where floor textures appear wavy at oblique angles; developers typically usually mitigate this by adding polygons to walls, floors, and other scenery, though but at the cost of filling the PlayStation's geometry rate. This In DuckStation, at least, this problem has been solved in at least one emulator.
Many PlayStation games dither to varying degrees due to having a low color depth. On most TVs, this dithering would blend in order to make new colors and smooth gradients. Plugin-based emulators usually have graphical plugins that use a 32-bit color depth, which removes dithering, while software-rendered plugins and emulators tend to retain it. While higher color depth can be considered an enhancement since it results in less noise and smooth gradients, some think of dithering as seen on real hardware as added shading and texture, especially on untextured polygons. The emulators that use software rendering and can increase the internal resolution of games can retain dithering for the shading and texturing aspect, and it's made more subtle by shrinking the artifacts.
::1. Use the '''Mooby2 2.8''' CD-ROM plugin, and uncheck 'subchannel reading' in the plugin's settings.
::(Just in case: also make sure 'repeat all cdda' is checked, and 'cdda volume' is set to something like 50 or 60, or else you won't hear anything.)
::2. Launch the game with File -> Run CDrom (browse, find and select your CD image as the window pops up.)::It's recommended you use the '''Eternal 1.41''' sound plugin with default settings along with this. The '''SaPu''' CDRom Plugin v.1.0/1.3 is good if you're running official CDs. It especially works well with '''Daemon Tools Lite''' or '''Alcohol 120%''' when mounting an image).
* If running '''ePSXe''' or a similar emulator on an old '''Windows''' OS (E.g., 9x, ME, 2000, XP), use [http://radified.com/ASPI/forceaspi.htm ForceASPI] to initialize the ASPI layer (For your disc drive) and a plugin like '''P.E.Op.S.''' CDR Version 1.4 plugin or similar. Then set the plugin to "W2K/XP IOCTL scsi commands" before running your PS1 CDs.
* MVG: [https://www.youtube.com/watch?v=x8TO-nrUtSI Why PlayStation 1 Graphics Warped and Wobbled so much], [https://www.youtube.com/watch?v=7HOBQ7HifLE How the Sony PlayStation PS1 Security was defeated], [https://www.youtube.com/watch?v=bi-Wzl6BwRM Why did the PlayStation 1 have so much Dithering?], [https://www.youtube.com/watch?v=rtE5hmlrcBo How the Sony PlayStation Net Yaroze DevKit brought Indie Game Development to Consoles]
* [https://www.copetti.org/writings/consoles/playstation/ Rodrigo Copetti: PlayStation Architecture analysis]
* [https://youtu.be/XUwSOfQ1D3c Technology Connections: Sony's Clever but Flawed PlayStation Copy Protection--And How They Might Have Fixed It]
* [https://psdevwiki.com/ps1/ PSDevWiki: PlayStation 1]
* [https://ps1.consoledev.net/reverse_engineering/ consoledev: PlayStation 1]
* [https://problemkaputt.de/psxspx-contents.htm no$psx: Playstation Specifications]
* [https://discord.com/channels/976404869386747954/976414353161080832 ares discord channel ps1 group]
* DuckStation discord channel (invites are disabled at the moment)
==See also==
[[Category:Sony consoles]]
[[Category:PlayStation emulators‎|*]]
[[Category:Very early emulation (MAME)Driver Status: Preliminary]]
6,736
edits

Navigation menu