PlayStation emulators

From Emulation General Wiki
Revision as of 19:28, 24 September 2023 by Ahayri (talk | contribs) (Enhancements)
Jump to navigation Jump to search
PlayStation
Sony-1.png
Developer Sony
Type Home video game console
Generation Fifth generation
Release date 1994
Discontinued 2006
Successor PlayStation 2
Emulated
For other emulators that run on PS1 hardware, see Emulators on PS1.

The PlayStation (frequently referred to in shorthand as the PS1) is a fifth-generation console released by Sony Computer Entertainment on December 3, 1994, in Japan and September 9, 1995, in the US. It was retailed for $299.99. It had an R3000 CPU (which was used by NASA to take pictures of Mars because of its reliability) at 33.8688 MHz with 2 MBs of RAM and 1 MB of VRAM. It used a proprietary MDEC video compression unit integrated into the CPU, allowing for playback of full-motion video at a higher quality than other consoles of its generation. It had better stereo sound than that of other stereos at that time.

It was a commercial success, partly due to being relatively easy to program for compared to other consoles at the time and because its CD-based media was cheaper than the competition.

PlayStation emulation has been available since the late 1990s, and was generally better than the comparable Nintendo 64 offerings despite the use of a plugin system. The plugins and emulators were often closed-source, rarely updated, and of questionable accuracy, but new offerings emerging starting in the mid-2010s offer high accuracy, many enhancements over the original hardware, or both.

Emulators

Name Platform(s) Version Arcade
Variations
Enhancements Accuracy Retro
Achievements
Netplay FLOSS Active Recommended
PC / x86
DuckStation Windows Linux macOS Preview
Latest
Legacy*
SwanStation
High ~[N 1]
Mednafen Windows Linux macOS FreeBSD 1.32.1
Beetle/Beetle HW
High ~[N 2] *
XEBRA Windows 22/11/06 High ~
BizHawk Windows Linux 2.10-rc2
Dev builds
High ~*
PCSX-ReARMed
PCSX-R/PGXP
Windows Linux macOS PCSX-ReARMed
PGXP build (Legacy)
PCSX-R SVN builds (Legacy)
~* Plugin
dependent
~[N 3] ~[N 4] ~[N 5]
ares Windows Linux macOS v141
git
High (WIP)
PCSX-Redux Windows Linux macOS Dev Builds High (WIP)
NO$PSX Windows 2.2 Mid-High (WIP)
hpsx64 Windows v0450 Mid (WIP)
MAME Windows Linux macOS FreeBSD git artifacts[N 6]
0.272
libretro core
~* High (WIP)
Avocado Windows Linux git ~* Mid ~
ePSXe Windows Linux macOS 2.0.5 ~* Plugin
dependent
*
PSXACT Windows git Mid-High
Rustation Windows Linux macOS git(Rustation NG)
git
Mid-High ~
pSX Windows Linux 1.13 Mid
Connectix VGS Windows macOS 1.4.1 ?
Bleem! Windows 1.6b Low-Mid
SSSPSX Windows 0.0.34 Plugin
dependent
Mobile / ARM
DuckStation Android Dragonbox Pyra Beta
git
0.1-5494
SwanStation
0.0.1.02 Pyra
High TBD * ~
Mednafen* Android iOS Beetle/Beetle HW High ~[N 2]
XEBRA Android 24/08/30 High ? ~
PCSX-ReARMed Android iOS Linux Dragonbox Pyra libretro core
0.1 Pyra
~ Mid ~[N 2] ~
ePSXe[N 7] Android 2.0.17 ~* Plugin
dependent
TBD ~
MAME Android iOS libretro core ~* High (WIP)
Avocado Android git ~* Mid ~
FPse[N 7] Android 12.1 ~* Plugin
dependent
Console
DuckStation Switch Xbox One Xbox Series X/S 20221203-uwp
SwanStation
git
High TBD
Official Sony emulators PlayStation 2
PSP
PlayStation 3
Vita
r13 (PS2)
6.60 (PSP)
4.82 (PS3)
2.60 (PSVita)
~ Mid-High ~*
PCSX-ReARMed PlayStation 4
Vita
Nintendo 3DS Switch
1.19.1 ~ Mid
WiiSXRX GameCube Wii Wii U git Mid
Bleemcast Dreamcast ? Low-Mid ~

Comparisons

PC

DuckStation (compatibility) (unofficial compatibility)
Quickly became a top contender on the basis that it has high compatibility and a built-in GUI. Its stated goal is to be "as 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 built-in like PGXP, upscaling, texture filtering, emulated CPU overclocking, hardware (D3D11, D3D12, OpenGL, Vulkan) and software rendering (both of which have true color (24-bit) support). It also natively supports MAME's Compressed Hunks of Data (CHD) format (you don't have to extract it), which shrinks the size of CDs losslessly while also storing all of its data under a single file. 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
Is focused on accuracy, which makes it very compatible. It's even been known to outperform Sony's official PS1 emulator in accuracy tests. However, there are a few hurdles to using it; it requires a specific BIOS for each region, and the program interfaces from a shell only; it has no GUI. You can still drag-and-drop CUE files into the executable to load games, and the program will log errors to a text file called stdout whenever a crash happens. External GUI launchers are available.
Beetle PSX
This fork by the RetroArch developers has several experimental modifications and enhancements that aren't present in the standalone version, including a widescreen hack, CPU overclocking for smoother framerates, and increasing the internal resolution up to 8x. Increasing the resolution carries a heavy performance cost, however, since graphics are rendered in-software, an alternative core exists for hardware rendering. See this 2018 guide for setting up Beetle HW in RetroArch. Needs high-end specifications to run at full speed for Android and iOS devices.
XEBRA
An emulator made in Japan that has high compatibility. The UI is in English, but because it's not the developer's native language, some of the naming conventions may seem weird compared to other emulators (for example, the BIOS is referred to as OSROM). Luckily, there's a guide that helps explain how each option works. Games that require subchannel data are not supported, but most other games run flawlessly.
BizHawk
Uses "Nymashock" core for PSX emulation (ported from mednafen to Bizhawk by zeromus).
NO$PSX
Has two versions, but standard users will want to use the cut-down gaming version. Made in the same style as NO$GBA, where it handles the PocketStation, it offers decent compatibility with very low-spec requirements – the programmer's philosophy is to deliver a working application out of the box.
PCSX
PCSX is a playstation emulator by the same team that announced the first Playstation 2 emulator.
PCSX-Reloaded
An open-source, plugin-based emulator based on PCSX-df, itself based on PCSX. It is no longer recommended, as DuckStation has all the same benefits as PCSX-R without needing to use forks or old plugins.
PCSX-ReARMed
An ARM fork whose biggest draw is its NEON software renderer, which is both fast and accurate and can render at higher resolutions without resorting to HLE plugins. It was given the seal of approval by Sony after being used in the official PlayStation Classic emulation box.[1]
PCSX-Redux
Latest iteration of PCSX but without plugin system and create a single monolithic codebase that handles all aspects of the playstation emulation. Heavily focused on development, debuggability, and reverse engineering, but still perfectly usable to run PlayStation 1 titles. PCSX-Redux also supports OpenBIOS - a free, truly open source bios replacement for the ps1, which works on the real hardware and emulators.
ePSXe
Despite having widespread name recognition, it is unfortunately not an emulator we recommend using on PC anymore. The source code is closed, meaning development is beholden to the original developers. Updates have brought it on par with PCSX-R, but that isn't enough. They are also selling a paid Android port.
PSXfin
A simpler emulator with a lot of compatibility issues.[2] Development has been halted, and it remains closed-source. It's really only useful for very old toasters.
Avocado
Was slated to become an open-source, full-system emulator like DuckStation, with the caveat being that it could load games without a BIOS. That never panned out, as development has largely stopped.
MAME
By nature of supporting arcade systems similar to the PlayStation, MAME's "Sony PlayStation" driver (psj) is considered "preliminary", but it works; it can boot to the BIOS and launch games but expect bugs, especially between hardware revisions. The MAME project as a whole remains active, but there's no incentive for any of its developers to work on the PS1 driver.
PCSX2
Support for a hardware feature has been merged into the main project, allowing the same backward compatibility with PS1 games. However, one thing to note is that backward compatibility in the original PS2 hardware didn't even cover all the games in the PS1 library, and these limitations carry forward to PCSX2's emulation.

Consoles

  • POPS (short for PlayStation On PSP System) is Sony's official PS1 emulator for their PlayStation Store releases. It utilizes EBOOTs, a form of binary file for PSP, instead of BIN/CUE disc dumps, which can be made using a converter if desired. Compatibility is very high due to similar hardware design; although the GPU is emulated, the CPU is close to the PS1 and would naturally speed up performance on its own. It includes support for multi-disc games (within the one EBOOT). Only the native PS1 resolution is supported, with games being stretched to fit the screen as the user wishes.
  • PCSX-ReARMed is only available on consoles as a libretro core (e.g., RetroArch). It can run on various handheld consoles with fairly strong specs, like the PlayStation Vita, the Nintendo 3DS, and the Nintendo Switch. This emulator in the libretro build initially used the P.E.Op.S. graphics plugin (reasonably accurate, but slow) from the mid-2010s to 2019; now it uses a port of PCSX4ALL's Unai renderer, which is less accurate, but much faster (e.g., 10-20 FPS faster). The CHD compression format, which shrinks disc images into more manageable sizes, is enabled on this emulator on the 3DS. These images will load and run much faster than '.bin/.cue' files - greatly reducing framerate dips, i.e., in FMVs & loading zones.
  • PS2PSXe is an unofficial PS1 emulator for the PS2. However, compatibility is very low. Double disc swapping (using the same method as a real PS1) is required for PS2s with model numbers SCPH-100xx - SCPH-390xx.
  • The PlayStation 3 has a built-in software emulator with very high compatibility, which is used for PS1 releases on the PlayStation Store and for handling PlayStation discs.
  • WiiSX is a port of PCSX to the Wii. Compatibility is fairly low due to the weak power of the Wii and the differing hardware designs that make PowerPC requirements a little stronger. It's generally not worth using since it doesn't get updated.

Enhancements

Name Duckstation Beetle HW XEBRA No$PSX Ares PCSX-Redux PCSX-ReARMed MAME Official Sony emulators
Resizable Internal Resolution ? ? [N3 1]
Parallel/Precision Geometry Transform Pipeline ?
Overclock ? ?
Texture Replacement ~[N3 2] ~[N3 2] [N3 1]
Injector Compatibility [N3 3] ? ? ?
Widescreen Hack TBD ? ? ? ? ? [N3 1]
Streamable compression format TBD ? ? ? ? ?
Debug Features * * * ? ? ? ?
  1. 1.0 1.1 1.2 No PSX backwards compatible game has trophy support or enhancements for PS2/PS3 or PSP/Vita via these official emulators. But PSX games that received HD ports for PS4, do.
  2. 2.0 2.1 Both DuckStation's texture-replacement-PR and beetle-psx-hw-libretro (mednafen_psx_hw_libretro) support this feature but still work-in-progress/experimental and incompatible with each others implementation.
  3. Latest Duckstation release builds comes with built-in ReShade .fx shader support as well.

Parallel/Precision Geometry Transform Pipeline

RIR and PGXP exclusive to Libretro's "beetle-psx-hw-libretro" (mednafen_psx_hw_libretro) core but comes with significant issues. Recommended to use DuckStation for RIR and PGXP; otherwise use the mednafen standalone or Beetle SW (mednafen_psx_libretro).

For PCSX-Reloaded, PGXP only available with PGXP build.

Hardware Features and Peripherals

Name Duckstation Mednafen XEBRA No$PSX ares PCSX-Redux PCSX-ReARMed MAME Official Sony emulators
PocketStation Communication [N2 1] * * (PS2)
Emulation [N2 1] [N2 2] *
PlayStation Link * ~ TBD
VCD Movies [N2 3] *
Densha De Go! controller ? ? ? TBD TBD ? ?
I-Mode adaptor
PlayStation Mouse * * ? ? ? * * ? ?
neGcon * * ? ? ? TBD * ? ?
GunCon * * ? ? ? TBD * ? ?
Multitap * * ? ? ? TBD * ? ?
  1. 1.0 1.1 Possible with PK201. XEBRA is the first PlayStation emulator to include compatibility with PocketStation.
  2. PocketStation emulation is possible only with NO$GBA.Martin Korth hasn't got around to implement ARM emulation in no$psx yet, the Pocketstation is currently emulated as part of the no$gba project (eventually it might be moving from no$gba to no$psx someday in future).
  3. Just like PPSSPP for UMD movies, RPCS3 for DVD/Blu-Ray movies, xemu for DVD movies, xenia for DVD/HD DVD movies and PCSX2 for DVD movies; DuckStation (or any other PlayStation emulator in this case) has no VCD movie support at the moment.

Densha De Go! controller

Also available for the Nintendo 64, Densha De Go! is a Japan-only train simulator released by Taito that is compatible with an optional special controller.[3] No emulator is known to support it.

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. Currently no emulators support it.

Arcade variations

There were numerous PlayStation-based arcade systems. Most PlayStation-based arcade games extended the system in different ways. They often had more RAM, ran at higher clock speeds, had additional sound hardware, added additional I/O, and/or used ROM or Flash media rather than CDs. The Konami Twinkle games have a separate DVD player controlled via a serial link to provide background video/audio.[4]

Namco System 10, Namco System 11 and Namco System 12

Namco System 11/12 is an arcade system based on Sony Playstation hardware, with surface-mounted ROM chips as storage rather than CD-ROM.

MAME and ZiNc provides support for this variation.

 The first batch of Namco System 10 games have been emulated with 0.254 version.
 Two quiz games (Derby Quiz My Dream Horse, and Kaiun Quiz) running on Namco’s System 12 are now working with 0.258 version.

Capcom ZN-1 and Capcom ZN-2

Capcom ZN-1/2 is an arcade system based on Sony Playstation hardware, with ROM chips as storage rather than CD-ROM and an extra Capcom Qsound chip for audio.

MAME and ZiNc provides support for this variation.

Konami Twinkle

Konami Twinkle is an arcade system based on Sony Playstation hardware, designed for Beatmania IIDX series games, with an extra hard disk for storing (lots of!) sounds and a DVD player for full-motion video.

MAME supports this variation, but the full-motion video won't be shown in the game because the DVD video decoder is yet to be emulated. However, A fork of MAME reads mpg videos as background animations from iidx_videos folder under the root folder of MAME (like how LaserDisc game emulators work), which would solve the issue of lacking full-motion video at the sacrifice of orthodox emulation.

Konami System 573

MAME provides support for this variation.

Konami GV & Baby Phoenix

MAME provides support for this variation.

Konami GQ

MAME provides support for this variation.

Taito G-NET

MAME provides support for this variation.

Taito FX-1A and Taito FX-1B

MAME and ZiNc provides support for these variations.

 MAME Developer "cuavas" comment about ZiNc emulator: "No-one should be using ZiNc any more. MAME now does everything ZiNc did better, and supports more games."
MAME 0.272 compatibility status for all these variations

Emulation issues

Rendering quirks

Left: Native resolution and unblended dithering.
Right: Higher internal resolution and no dithering.
Jittering in games can stick out more when using higher internal resolutions. This full-color GIF may require you to view its page to see the animation.

The PlayStation takes shortcuts when rendering as a result of making most of the hardware available. This can cause some quirks that become even more noticeable when the internal resolution increases.

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 z-buffer in the hardware. This can cause things like polygons to pop over others; the limbs of Tekken characters are a good example of this. It is theoretically possible to implement this, but it wouldn't be accurate to the hardware.[5]

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. Tenchu: Stealth Assassins is particularly infamous for texture distortion, most noticeably in the training level where floor textures appear wavy at oblique angles; developers typically mitigate this by adding polygons to walls, floors, and other scenery, though at the cost of filling the PlayStation's geometry rate. This 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.

Less-notable games using special peripherals

ZXE-D: Legend of Plasmalite requires the use of a special peripheral to play the game. It is a robot with connectable parts that plug into the memory card slot, which is then replicated in the game. No emulator has ever focused on it, probably due to a number of reasons:

  • It's not a well-known game.
  • No third-party controller and memory card connector has gotten support from emulators the same way that Nintendo's official GameCube controller adapter has.
  • To emulate this purely in software means it has to be reverse-engineered, which can take a bit of time.

CD format

PS1 games use the CD-ROM XA (eXtended Architecture) format, which is based on CDi and allows developers to use both CD-ROM and CD-DA (audio) tracks on the same disc.[6]

Certain image formats and CD dumping methods don't support this format correctly and end up with the CD-DA tracks missing or corrupted, hence no audio. The ISO format in particular only stores the content of a CD-ROM filesystem and cannot store CD-DA tracks at all. So it's generally a very bad idea to use ISO for PS1 games (even though it should work for single-track games). Even running an ISO file based on a PS1 game (i.e., Ridge Racer, Tomb Raider 1-2) with CD-DA audio may often cause an emulator such as ePSXe and other peers to freeze and/or hang up, especially during loading of a saved data or in-game levels and transactions.

  • However, a mounted image (Using Daemon Tools), running from a CD-ROM or using the Mooby2 plugin can solve these CD-DA problems. The MDS/MDF format is good for backing up the CD-DA, audio-equipped PS1 games. However, the best Image format for any PS1 game is the CUE/BIN format. The reason being that almost all the burning programs can read it, and the relevant patching programs (i.e., PPF-O-Matic) are designed for that format. Clone CD images in IMH/CCD format provide another ideal option as it has virtually the same structure as CUE/BIN format (The IMH file is the same data as a BIN file at the hex level). However, the available burning programs are largely unable to read Clone CD format. ISObuster and ImgBurn are good tools for some of the aforementioned notes.[7]
  • The European regional versions of many PS1 games tended to have copy-protection embedded, so they could cause problems with backing up images. These game backups could cause hangs or show a black screen infinitely in a typical emulator. An easy way to avoid that problem is to try the US regional versions. Another way is to patch it using a .sbi file which contains the protection information needed to run the game.
The perfect solution possible, at least for the ePSXe emulator—and perhaps other similar plugins-based emulators—would be (No virtual drive mounting needed)::
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 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.


For more information about PlayStation hardware and reverse engineering;

Resources

References