PlayStation emulators

From Emulation General Wiki
Revision as of 22:09, 28 April 2019 by ObiKKa (talk | contribs) (Resources: Added nice, detailed technical comparison feature on PS1 vis-à-vis N64 & Saturn.)
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

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 a R3000 CPU (which was used by NASA for a space craft to take pictures of Mars because of it's reliablity) at 33.8688 MHz with 2MB of RAM and 1MB of VRAM. It used a proprietary MDEC video compression unit, which is integrated into the CPU, allowing for playback of full motion video at a higher quality than other consoles of its generation. It actually had better stereo sound that other stereos at that time.

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

Emulators

Name Operating System(s) Version Plugins Open-Source Libretro Core RIR Accuracy Active Recommended
PC
Mednafen Multi-platform 1.32.0-UNSTABLE High
XEBRA Windows v221106 High
PCSX-R-PGXP Windows PGXP build (Git) Plugin dependent
PSXACT Windows Git High (WIP)
Rustation Windows, Linux, macOS Git High (WIP)
Avocado Windows, Linux Git Mid (WIP)
NO$PSX Windows 2.0 Mid ~
pSX Windows, Linux 1.13 Mid
hpsx64 Windows 0232 (Alt) Mid (WIP)
MAME Multi-platform 0.263 Mid (WIP)
Bleem! Windows 1.8b Low-Mid
ePSXe Multi-platform 2.0.5 Plugin dependent
PCSX-R Windows, Linux, macOS Windows
macOS
Plugin dependent
SSSPSX Windows 0.0.34 Plugin dependent
Console
Official Sony Emulators
(POPS)
PSP, PS2, PS3, PSVita 6.60 (PSP)
r13 (PS2)
4.82 (PS3)
2.60 (PSVita)
Mid-High
Bleemcast Dreamcast 1.8b Low-Mid
WiiSX Wii, GameCube 2.1 beta Low
Mobile
Mednafen[N 1][N 2] Multi-platform 1.32.0-UNSTABLE High
PCSX-ReARMed[N 1] iOS, Android r22 Mid
PCSX-ReARMed ARM Devices r22 Mid
ePSXe[N 3] Android 2.0.8 Mid
FPse[N 3] Android 0.11.198 Mid
XEBRA Android 05/01/2018 High
  1. 1.0 1.1 Only available on mobile as a libretro core (e.g. RetroArch).
  2. Needs a high-end phone/tablet to run at full speed.
  3. 3.0 3.1 Payware, recommended that you use patched versions.

Comparisons

PC

  • Mednafen's PlayStation emulation is focused on accuracy, which makes it very compatible, and it's been known to outperform Sony's official PSone emulator in accuracy tests. However, there are a few small hurdles to using it; it requires a very specific BIOS for each region, and the program itself interfaces from the terminal/command-line only; it has no GUI. You can still drag-and-drop cue files on the executable to load games, and the program logs errors to a text file called stdout whenever a crash happens. There are external GUI launchers available like Mednaffe. Both RetroArch and BizHawk have cores based on this emulator, and they're easier to use because they have frontends.
    • Beetle PSX is the name of the RetroArch fork of Mednafen's PS1 emulation. It 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.
  • PCSX-R is an open-source plugin-based emulator. The main reason to use this over Mednafen is that its internal resolution can be raised with little to no performance hits.
    • PGXP is a fork of PCSX-R that adds texture correction, polygon wobble reduction, and polygon culling reduction. It also adds CPU overclocking and allows a hack that was originally disabled in PCSX-R.
    • PCSX-ReARMed is an ARM port of PCSX-R, sharing a similar core, but optimized for portable handheld devices. The biggest draw is its NEON software renderer, which is both fast and accurate and has the ability to render at higher resolutions without resorting to HLE plugins.
  • ePSXe is a fairly standard plugin-based emulator like PCSX-R, and as such the accuracy is typically about the same between the two. Its closed-source nature has had it constantly lagging behind in features, which is why it's not recommended. A developer had also edited the PS1 Tests page in preparation for version 2.0.0, representing a conflict of interest. Since version 1.8.0, ePSXe has also been commercially available on Android, but it's also not recommended.
  • XEBRA is a Japanese emulator, but it has very high compatibility. Games that require subchannel data are not supported, but most other games run flawlessly.
  • 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. It is still being actively developed.
  • PSXfin is a simpler emulator with a lot of compatibility issues,[1] especially when using different BIOSes. Development has been halted and it remains closed-source. It's really only useful for very old toasters.
  • Avocado is one of the few open-source PS1 emulators that does not require a plugin-based system. It is relatively new on the scene.
  • MAME is a very broad emulator known to support thousands of systems. It has a focus for accuracy, much like Mednafen, but when it comes to the "Sony PlayStation" driver (psj), the developers still call it "preliminary", and have marked it as "Not Working". It can boot to the BIOS and launch games, but much like they say, you can expect bugs, especially between hardware revisions. The MAME project as a whole remains active, but don't expect it to work any time soon.
  • PCSX2 is a PlayStation 2 emulator, but emulation of a hardware feature has been merged into the main project that allows the same backward compatibility with PS1 games. However, one thing to note is that backward compatibility in the original PS2 hardware didn't cover all games in the PS1 library, and these limitations still extend to PCSX2's emulation.

For an in-depth analysis of each emulator on a technical level, check out PS1 Tests.

It's generally recommended to use Mednafen or PCSX-R (or one of its forks). Many use Mednafen for its accuracy at native resolution, and PCSX-R for 3D games (that don't use prerendered backgrounds) because of support for plugins which allow for better graphics quality than original hardware. Unfortunately, the best plugins for increasing internal resolution and shader support (Pete's OpenGL2 v2.9 and Edgbla gpuBladesoft v1.42a) are closed-source and haven't been updated in years.

Detailed round-ups of the best PS1 emulators:

List of recommended PS1 emulators for Android:

Consoles

  • POPS (short for PlayStation On PSP System) is Sony's official PSone Classics 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.
  • 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 PSone Classics releases on the PlayStation Store as well as 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.

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, and 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 have the ability to increase the internal resolution 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 on Tekken characters are a good example of this. It is theoretically possible to implement this, but it wouldn't be accurate to the hardware.[2]

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 are capable of retaining 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 that has connectable parts and plugs 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 common game.
  • No third-party controller and memory card connector has gotten support by 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.[3]

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 games which are single track). 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, although the best Image format for any PS1 game is the cue/bin format, the reason being that almost all of 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 img/ccd format provide another ideal option as it has virtually the same structure as cue/bin format (The img file is the same data as a bin file at the hex level), although the available burning programs are largely not able to read Clone CD's format. ISObuster and ImgBurn are good tools for some of the aforementioned notes.[4]
  • The European regional versions of many PS1 games tended to have a copy protection embedded, so they could cause problems with backing up images in that these game backups could cause hangs or show a black screen infinitely in a typical emulator. A basic way to avoid that problem is to try the US regional versions. Another way is to just run a game backup from a BIN and CUE file format. You can use Clone CD to make an image in .ccd/.img/.sub format or patch it with a .ppf patch to bypass the protection.
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 Mooby2 2.8 cdrom plugin, uncheck 'subchannel reading' in the settings of that plugin.
(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.)
Recommended to use Eternal 1.41 sound plugin with default settings along with this. SaPu CDRom Plugin v.1.0/1.3 is good if running official CDs (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 (Eg. 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 CD's.


Accessories

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.[5] No emulator is known to support it.

Resources

References

  1. http://psx.silvanthalas.com/psx.html
  2. Plugin info, news. / Information about the plugin, news. (gpuBladeSoft discussion). forum.emu-russia (2011-09-16)
  3. List of PlayStation games with CD-DA (From deprecated Wikipedia article - dated 11/27/2016)
  4. ECM And APE Guide. www.epforums.org (2011-Feb-16; Last edited: 2017-Jan-15)
  5. Densha de Go! gameplay with controller - Playstation PS1. Youtube (2017-05-05)