PCSX2 - The Playstation 2 Emulator
Go to file
Tyler Wilding 60ecf18f1d
translations: initial run of `lupdate` for base english strings
lupdate.exe -recursive '.' -ts ./Translations/PCSX2Emulator_en.ts -source-language en
2023-01-12 21:01:29 -05:00
.github Merge remote-tracking branch 'PCSX2/master' 2023-01-12 19:28:00 -05:00
3rdparty 3rdparty: Update to gtest 1.12.1 2023-01-06 20:27:18 -04:00
bin GameDB: fixes for Made Man 2023-01-12 20:56:51 +00:00
cmake build: -Wno-maybe-uninitialized is a gcc only warning. 2023-01-11 00:55:21 +01:00
common Misc: Latest round of warning cleanups 2023-01-12 11:04:29 +01:00
pcsx2 GS-d3d: Fix Wmissing-braces warnings. 2023-01-12 16:26:56 +01:00
pcsx2-gsrunner MSBuild: Support building with clang-cl 2023-01-03 12:16:50 +00:00
pcsx2-qt translations: initial run of `lupdate` for base english strings 2023-01-12 21:01:29 -05:00
tests UnitTests: Combine into core/common test suites 2023-01-04 11:43:23 +00:00
tools Tools: Remove bin2cpp 2022-12-24 09:41:06 +00:00
updater MSBuild: Support building with clang-cl 2023-01-03 12:16:50 +00:00
.clang-format clang-format: change alignment settings 2021-04-18 17:39:09 -05:00
.codacy.yaml Merge PCSX2/master 2022-12-05 19:42:11 -05:00
.gitattributes test 2021-07-07 18:49:02 -04:00
.gitignore gitignore: remove wx mentions 2023-01-05 14:53:10 +01:00
.gitmodules Merge PCSX2/master 2022-12-05 19:42:11 -05:00
.prettierrc.yaml ci: format the GameDB and make sure it stays that way 2022-05-23 13:08:48 +01:00
CMakeLists.txt build/QT: Unmute the warnings for deprecation & overloading virtuals. Fix assorted warnings. Mute 'maybe initialized' warnings. Add a policy to take care of LTO warnings in cmake. 2023-01-11 00:55:21 +01:00
CMakePresets.json cmake: Make the clang release build always lto. 2023-01-05 07:48:06 -08:00
COPYING.GPLv3 copyright again: 2012-04-18 14:09:18 +00:00
COPYING.LGPLv3 copyright again: 2012-04-18 14:09:18 +00:00
PCSX2_qt.sln MSBuild: Support building with clang-cl 2023-01-03 12:16:50 +00:00
README.md Merge remote-tracking branch 'PCSX2/master' 2023-01-12 19:28:00 -05:00
crowdin.yml translations: initial run of `lupdate` for base english strings 2023-01-12 21:01:29 -05:00

README.md

PCSX2-RR

Future of this repository

PCSX2's re-recording tools have been merged into PCSX2 for quite sometime, meaning that releases will not occur here anymore. This fork will serve as a staging ground for my own personal changes and is no longer a distinct fork.

If you are interested in improving the recording tools or fixing a bug, please consider making a pull-request on pcsx2's main repository, as well as directing any issues / bug reports there as well.

Credit

This is a fork of https://github.com/DocSkellington/pcsx2-1.4.0-rr which itself is a fork of https://github.com/pocokhc/pcsx2-1.4.0-rr, which itself is based off the original pcsx2-rr. However, since the content has changed a lot and simple merging can not be done, the source code has changed considerably from this original version.

About

This work tries to bring TAS tools to the latest version of the PCSX2 emulator. If you have other ideas (or if you find bugs), don't hesitate to open an issue (or write a post in TASVideos' forum).

If you would like to make an improvement to the project, don't hesitate to follow the steps to build from source and submit a pull request.

Have fun while creating TAS! :D

Video Examples

Here is a simple tutorial on getting started with PCSX2-rr, note that keybindings may have changed!

Here are some TAS examples (made with the original pcsx2-rr v.1):

Getting the Emulator

Check the release page for the latest build, there is also a build for the old 1.4.0 release of pcsx2 that may be better suited for some games.
You will need:

This was tested only on Windows 10, but the application should work on the other OS supported by PCSX2.

Features

  • KeyMovie recording
  • Pause/Unpause/FrameAdvance
  • Lua Support
    • Lua engine keeps running when the end of the script is reached (allows to display data each frame);
  • Save/Load states to/from files;
  • An editor for KeyMovie files
  • Virtual Pad;
    • TAS Input Manager:
      • Calls LuaManager::ControllerInterrupt
      • Reads, if it is open, the virtual pad. Be wary that the virtual pad overwrites the other sources of inputs (lua and user).

For more detail, see the wikis:

New shortcuts

Activate Shortcuts for save/load

If you wish to activate the keyboard shortcuts for saving to (or loading from) a specific slot without having to manually switch the current slot to this one (so, if you don't want to use only F1, F2 and F3), here are the steps:

  1. In the PCSX2-rr_keys.ini remove the # before States_SaveSlot0, States_SaveSlot1 (and so on)
  2. Change the 10 into a 0 (zero)
  3. In LilyPad settings, switch the Keyboard API to Raw input

Fast Frame Advance

If you set Lilypad's Keyboard API to Raw Input (in the Plugin Settings), you will be able to hold space to "frame advance" multiple times in a row (the number of times per second should depend on your operating system's settings).

Desync

See this wiki page

How to build for development (Windows 10) full details to come

See this wiki article

Current Issues (probably should just move to an issue page

Titlebar during FrameAdvance

Had to cheat a little to force the frame counter to update in the titlebar. So, the other information displayed is not accurate (because it's not updated).


PCSX2

Windows Build Status Linux Build Status MacOS Build Status Codacy Badge Discord Server

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 twenty 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 stable and development builds are available from our website.

System Requirements

Minimum

Operating System CPU GPU RAM
- Windows 10 21H2 (1809 or later) (64-bit)
- Ubuntu 20.04/Debian or newer, Arch Linux, or other distro (64-bit)
- macOS 10.14
- Supports SSE4.1
- PassMark Single Thread Performance rating near or greater than 1800
- Two physical cores, with hyperthreading
- Direct3D10 support
- OpenGL 3.x support
- Vulkan 1.1 support
- Metal support
- PassMark G3D Mark rating around 3000 (Geforce GTX 750 Radeon RX 560 Intel Arc A380)
- 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 21H2 (1809 or later) (64-bit)
- Ubuntu 22.04/Debian or newer, Arch Linux, or other distro (64-bit)
- macOS 10.14
- Supports AVX2
- PassMark Single Thread Performance rating near or greater than 2600
- Four physical cores, with or without hyperthreading
- Direct3D12 support
- OpenGL 4.6 support
- Vulkan 1.3 support
- Metal support
- PassMark G3D Mark rating around 6000 (GeForce GTX 1650 Radeon RX 570)
- 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 RTX 2060 Radeon RX 6600 Intel Arc A750). 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 x64 Redistributables to run PCSX2.
  • Windows XP and Direct3D9 support was dropped after stable release 1.4.0.
  • Windows 7, Windows 8.0, and Windows 8.1 support was dropped after stable release 1.6.0.
  • 32-bit and wxwidgets support was dropped after stable release 1.6.0, with the wxwidgets code being removed completely on 25th December 2022.
  • 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.
  • Vulkan requires an up-to-date GPU driver; old drivers may cause graphical problems.

Want more? Check out the PCSX2 website.