PCSX2 - The Playstation 2 Emulator
Go to file
sonicfind 4d66818746
GUI/Recording: Resolve issues around playing and creating input recordings under certain scenarios (#3669)
* recording: Only stop the current recording once the menuing hasnt been cancelled

* recording: Avoid changing menu option's state if the recording couldn't be played

* recording: Don't play a recording that uses a savestate, if no game is running

* recording: Don't modify `frameAdvance` flag when explicitly [un]pausing

These functions are only called when creating/playing a recording, and modifying the frameAdvance flag leads to unexpected behaviour (such as the game starting paused if the recording was made from "power-on")

* recording: Refactor and simplify `InputRecordingFile`

InputRecordingFile will no longer be concerned with loading the save-state when playing back an existing recording.  This makes it much easier to only load the save-state if the file is valid and manipulate the emulation state correctly.

* recording: Update play logic with new refactor, resume emulation in the event of a failure

* recording/lint: spaces to tabs

* recording: Properly only examine controller 1A & 2A

The previous controller port checks in place never actually succeeded in their designated task. A new slot check in sio.cpp will perform this task instead.

* recording: Save the savestate in OpenNew() instead of open()

Ensures that the savesate could be saved before trying to create the actual input recording file. It will overwrite any previous backup savestate.
Also, allows for a simplified & easier to read code struture of open().

* Refactor and simplify `InputRecording`

Changes the return type of Play/Create from void to bool.
Optimizes Stop(), Pause(), and Unpause() call placements

Improved handling of emulation pause state, the recording menu on failures, and the conditioning of when a recording file should actually be unloaded.
For example, a currently loaded recording should not get unloaded if a user presses Play *but* chooses cancel in the file browser. However, the emulation should be paused during the duration of this action.
On the flipside, a loaded recording *should* get unloaded if the tools get disabled in settings AND emulation should resume if not already playing.

* recording: Simplify VirtualPad_Open_Click

Co-authored-by: Tyler Wilding <xtvaser@gmail.com>
2020-09-11 21:30:56 +01:00
3rdparty 3rdparty:opencl: Remove unused opencl files. 2020-09-11 02:18:02 +02:00
bin Gamedb: Remove duplicate gamefix for Primal, and rename Wilds Arms to Wild ARMs. (#3672) 2020-09-07 13:56:36 +02:00
cmake cmake: Don't add xsave flag 2020-09-01 09:28:31 -04:00
common x86emitter: Don't use xgetbv 2020-09-01 09:28:31 -04:00
debian-packager debian-packager: Explicitly add libx11-xcb-dev to Debian packager. (#3621) 2020-08-23 19:05:33 +02:00
linux_various cmake/linux: Remove zerogs zerospu build environments. 2020-08-23 05:27:22 +02:00
locales Locales: Updating Spanish translation. (#3476) 2020-06-24 13:10:26 +02:00
nsis NSIS: QoL changes, general cleanup, bug fixes (#3335) 2020-05-05 20:02:07 +01:00
pcsx2 GUI/Recording: Resolve issues around playing and creating input recordings under certain scenarios (#3669) 2020-09-11 21:30:56 +01:00
plugins GSdx-gui: Update descriptions/tooltips. 2020-09-11 01:49:32 +02:00
tests EE/IOP/VU: x86-64 recompiler support 2020-08-24 16:20:09 -05:00
tools vs-build: use the win10 sdk (#3560) 2020-08-05 14:12:00 -04:00
.clang-format clang: Update .clang-format to better match upcoming style guide. (#3535) 2020-07-30 01:44:04 +02:00
.editorconfig editorConfig: use tabs instead of spaces (indent stays 4) 2016-08-20 20:43:38 +03:00
.gitattributes Introduce end-of-line normalization 2015-08-04 23:52:48 +02:00
.gitignore gitignore: Remove zerogs, zerospu2 2020-08-23 05:27:22 +02:00
.gitmodules Fix codegen on x86-64 (#3512) 2020-08-19 09:19:28 +01:00
.travis.yml Travis: Bump Ubuntu version to Xenial 2019-07-13 20:10:05 +02:00
CMakeLists.txt Fix codegen on x86-64 (#3512) 2020-08-19 09:19:28 +01:00
CONTRIBUTING.md Added github issues to the tasks 2016-01-06 01:15:36 -06:00
COPYING.GPLv2 copyright again: 2012-04-18 14:09:18 +00:00
COPYING.GPLv3 copyright again: 2012-04-18 14:09:18 +00:00
COPYING.LGPLv2.1 copyright again: 2012-04-18 14:09:18 +00:00
COPYING.LGPLv3 copyright again: 2012-04-18 14:09:18 +00:00
ISSUE_TEMPLATE.md [skip ci] Misc documentation updates. 2020-05-20 16:56:17 +02:00
PCSX2_suite.sln baseclasses: Move from unfree to 3rdparty 2018-04-29 02:19:17 +01:00
README.md [skip ci] Misc documentation updates. 2020-05-20 16:56:17 +02:00
appveyor.yml [skip travis] ci-appveyor: Skip building commits if only the following directories/files are changed. 2020-09-10 17:08:08 +02:00
build.sh Goodbye, old friend... Remove zzogl from master branch (#3614) 2020-08-21 20:41:45 -07:00
buildbot.xml gsdx:windows: Remove SSSE3 and AVX configurations 2017-01-27 11:06:30 +01:00
mscompile.cmd ci|mscompile: Remove VS2013 configurations 2017-03-12 16:29:55 +00:00
old_plugins.sln sln: Remove zerogs and zerospu2 from build solution. 2020-08-23 05:27:22 +02:00
travis.sh Add harfbuzz to travis as well. 2019-08-17 20:52:03 -07:00

README.md

PCSX2

Travis Build Status AppVeyor Build Status Coverity Scan Build Status

PCSX2 is a free and open-source PlayStation 2 (PS2) emulator. Its purpose is to emulate the PS2's hardware, using a combination of MIPS CPU Interpreters, Recompilers and a Virtual Machine which manages hardware states and PS2 system memory. This allows you to play PS2 games on your PC, with many additional features and benefits.

Project Details

The PCSX2 project has been running for more than ten years. Past versions could only run a few public domain game demos, but newer versions can run most games at full speed, including popular titles such as Final Fantasy X and Devil May Cry 3. Visit the PCSX2 compatibility list to check the latest compatibility status of games (with more than 2500 titles tested), or ask for help in the official forums.

The latest officially released stable version is version 1.6.0.

Installers and binaries for both Windows and Linux are available from our website.

Development builds are also available from our website.

System Requirements

Minimum

Operating System CPU GPU RAM
- Windows 8.1 or newer (32 or 64 bit)
- Ubuntu 18.04/Debian or newer, Arch Linux, or other distro (32 or 64 bit)
- Supports SSE2
- PassMark Single Thread Performance rating near or greater than 1600
- Two physical cores, with hyperthreading
- Direct3D10 support
- OpenGL 3.x support
- PassMark G3D Mark rating around 3000 (GeForce GTX 750)
- 2 GB Video Memory
4 GB

Note: Recommended Single Thread Performance is based on moderately complex games. Games that pushed the PS2 hardware to its limits will struggle on CPUs at this level. Some release titles and 2D games which underutilized the PS2 hardware may run on CPUs rated as low as 1200. A quick reference for CPU intensive games: Wiki, Forum and CPU light games: Forum

Operating System CPU GPU RAM
- Windows 10 (64 bit)
- Ubuntu 19.04/Debian or newer, Arch Linux, or other distro (64 bit)
- Supports AVX2
- PassMark Single Thread Performance rating near or greater than 2100
- Four physical cores, with or without hyperthreading
- Direct3D11 support
- OpenGL 4.5 support
- PassMark G3D Mark rating around 6000 (GeForce GTX 1050 Ti)
- 4 GB Video Memory
8 GB

Note: Recommended GPU is based on 3x Internal, ~1080p resolution requirements. Higher resolutions will require stronger cards; 6x Internal, ~4K resolution will require a PassMark G3D Mark rating around 12000 (GeForce GTX 1070 Ti). Just like CPU requirements, this is also highly game dependent. A quick reference for GPU intensive games: Wiki

Technical Notes

  • You need the Visual C++ 2019 x86 Redistributables to run PCSX2.
  • Windows XP and Direct3D9 support was dropped after stable release 1.4.0.
  • Windows 7 and Windows 8 support was dropped after stable release 1.6.0.
  • Make sure to update your operating system and drivers to ensure you have the best experience possible. Having a newer GPU is also recommended so you have the latest supported drivers.
  • Because of copyright issues, and the complexity of trying to work around it, you need a BIOS dump extracted from a legitimately-owned PS2 console to use the emulator. For more information about the BIOS and how to get it from your console, visit this page.
  • PCSX2 uses two CPU cores for emulation by default. A third core can be used via the MTVU speed hack, which is compatible with most games. This can be a significant speedup on CPUs with 3+ cores, but it may be a slowdown on GS-limited games (or on CPUs with fewer than 2 cores). Software renderers will then additionally use however many rendering threads it is set to and will need higher core counts to run efficiently.
  • Requirements benchmarks are based on a statistic from the Passmark CPU bench marking software. When we say "STR", we are referring to Passmark's "Single Thread Rating" statistic. You can look up your CPU on Passmark's website for CPUs to see how it compares to PCSX2's requirements.

Screenshots

Okami Final Fantasy XII Shadow of the Colossus DragonBall Z Budokai Tenkaichi 3 Kingdom Hearts 2: Final Mix God of War 2 Metal Gear Solid 3: Snake Eater Rogue Galaxy

Want more? Check out the PCSX2 website.