Skip to content
Play! - PlayStation 2 Emulator
C++ C Java CMake Objective-C++ NSIS Other
Branch: master
Clone or download

Latest commit

Latest commit 967835c Jun 2, 2020

Files

Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github Create FUNDING.yml May 23, 2019
Source Fix build error. Jun 2, 2020
build_android Build using NDK r21. Apr 18, 2020
build_cmake Update build scripts. May 19, 2019
build_retro Fix strip command line. Apr 18, 2020
deps Linear texture sampling (not enabled yet). May 28, 2020
icons Added some icons. Apr 8, 2015
installer_android Deploy builds on S3. Apr 9, 2017
installer_ios Fix script permissions (again). Sep 26, 2018
installer_macosx Update macOS installer script. Dec 5, 2018
installer_unix Fix path Oct 27, 2019
installer_win32 Fix: include required dll to display covers Sep 28, 2019
tools Add few test cases in MinMax test. May 19, 2020
.clang-format Update clang-format. Apr 30, 2018
.gitattributes Updated git settings for Android build. Mar 10, 2015
.gitignore Remove reference to deleted directory in .gitignore. Mar 5, 2018
.gitmodules Make Plays dependencies submodule in this repo Aug 30, 2019
.travis.sh travis linux parallel build May 10, 2020
.travis.yml Use Xenial for Travis ARM64 builds. Apr 10, 2020
CMakeLists.txt Add GsAreaTest. Apr 30, 2020
CONTRIBUTING.md Add contribution guide. Nov 9, 2016
License.txt Added proper license. Feb 23, 2014
README.md Updated README for Ubuntu builds May 15, 2020
Readme.html CPU instruction set warning Aug 18, 2017
Settings.md Updated settings description file. Apr 11, 2016
UiDesign.md Update UI design with scanning strategies. Dec 6, 2018
appveyor.yml Build using latest Vulkan SDK. Jan 31, 2020
appveyor_build.cmd rename windows libretro core, to distinguish between releases, note R… Jan 7, 2020
changelog.html Added a changelog and updated installer scripts. May 30, 2011
ee_functions.xml Add tag based functions. Jun 12, 2019
patches.xml Update patches.xml Sep 5, 2017

README.md

Play!

Play! is a PlayStation 2 emulator for Windows, macOS, UNIX, Android & iOS platforms.

Compatibility information is available on the official Compatibility Tracker. If a specific game doesn't work with the emulator, please create a new issue there.

For more information, please visit purei.org.

Building

Getting Started

First you'll need to clone this repo which contains the emulator source code, alongside the submodules required to build Play!:

git clone --recurse-submodules https://github.com/jpd002/Play-.git
cd Play-

Building for Windows

The easiest way to build the project on Windows is to open Qt Creator and direct it to the Cmake file in /project/dir/Play-/CMakeLists.txt. You can also build the project using Visual Studio or cmdline, for that you must follow these instructions:

To build for Windows you will need to have CMake installed on your system.

mkdir build
cd build
# Not specifying -G will automatically generate 32-bit projects.
cmake .. -G "Visual Studio 15 2017 Win64" -DCMAKE_PREFIX_PATH="C:\Qt\5.10.1\msvc2017_64" -DUSE_QT=YES

You can now build the project by opening the generated Visual Studio Solution or continue through cmdline:

cmake --build . --config Release

Note: --config can be Release, Debug, or RelWithDebInfo.

Building for macOS & iOS

If you don't have CMake installed, you can install it using Homebrew with the following command:

brew install cmake

There are two ways to generate a build for macOS. Either by using Makefiles, or Xcode:

mkdir build
cd build
# Not specifying -G will automatically pick Makefiles
cmake .. -G Xcode -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=~/Qt/5.1.0/clang_64/
cmake --build . --config Release
# OR
cmake .. -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=~/Qt/5.1.0/clang_64/
cmake --build .

To generate a build for iOS, you will need to add the following parameters to the CMake invocation:

-DCMAKE_TOOLCHAIN_FILE=../../../Dependencies/cmake-ios/ios.cmake -DTARGET_IOS=ON

iOS build doesn't use Qt, so omit -DCMAKE_PREFIX_PATH=...

Example:

cmake .. -G Xcode -DCMAKE_TOOLCHAIN_FILE=../deps/Dependencies/cmake-ios/ios.cmake -DTARGET_IOS=ON

Note: iOS builds generated with Makefiles will not be FAT binaries.

Building for UNIX

if you don't have Cmake or OpenAL lib installed, you'll also require Qt. (preferably version 5.6) You can install it using your OS packaging tool, e.g Ubuntu: apt install cmake libalut-dev qt5-default libevdev-dev libqt5x11extras5-dev libsqlite3-dev

On UNIX systems there are 3 ways to setup a build. Using Qt creator, makefile or Ninja:

  • QT Creator

    • Open Project -> Play/CMakeLists.txt
  • Makefile/Ninja:

    mkdir build
    cd build
    # Not specifying -G will automatically pick Makefiles
    cmake .. -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=/opt/qt56/
    cmake --build .
    # OR
    cmake .. -G Ninja -DCMAKE_PREFIX_PATH=/opt/qt56/
    cmake --build . --config Release
    

The above example uses a backport repo to install Qt5.6 on Ubuntu Trusty.

Note: CMAKE_PREFIX_PATH refers to the Qt directory containing bin/libs folder. If you install Qt from their official website, your CMAKE_PREFIX_PATH might look like this: ~/Qt5.6.0/5.6/gcc_64/

Building for Android

Building for Android has been tested on macOS and UNIX environments.

Android can be built using Android Studio, or Gradle:

  • Android Studio:
    • Files-> Open Projects-> Directory To Play/build_android
    • Install NDK using SDK manager
      • Edit/create Play/build_android/local.properties
      • OSX: Add a new line: ndk.dir=/Users/USER_NAME/Library/Android/sdk/ndk-bundle replacing USER_NAME with your macOS username
      • UNIX: Add a new line: ndk.dir=~/Android/Sdk/ndk-bundle
      • Windows: Add a new line: C:\Users\USER_NAME\AppData\Local\Android\sdk\ndk-bundle
      • Please leave an empty new line at the end of the file.

Note: These examples are only valid if you installed NDK through Android Studio's SDK manager. Otherwise, you must specify the correct location to the Android NDK.

Once this is done, you can start the build:

  • Gradle: Prerequisite Android SDK & NDK (Both can be installed through Android Studio)
    • edit/create Play/build_android/local.properties
      • OSX:
        • Add a new line: sdk.dir=/Users/USER_NAME/Library/Android/sdk replacing USER_NAME with your macOS username
        • Add a new line: ndk.dir=/Users/USER_NAME/Library/Android/sdk/ndk-bundle replacing USER_NAME with your macOS username
      • UNIX:
        • Add a new line: sdk.dir=~/Android/Sdk
        • Add a new line: ndk.dir=~/Android/Sdk/ndk-bundle
      • Windows:
        • Add a new line: sdk.dir=C:\Users\USER_NAME\AppData\Local\Android\sdk
        • Add a new line: ndk.dir=C:\Users\USER_NAME\AppData\Local\Android\sdk\ndk-bundle
      • Please leave an empty new line at the end of the file.

Note: These examples are only valid if you installed NDK through Android Studio's SDK manager. Otherwise you must specify the correct location to Android NDK. Once this is done, you can start the build:

cd Play/build_android
sh gradlew assembleDebug
About Release/Signed builds

Building through Android Studio, you have the option to “Generate Signed APK”.

When building through Gradle, you must create a text file called Play/build_android/keystore.properties and add the following properties to it: storeFile, storePassword, keyAlias, and keyPassword.

E.g for keystore.properties:

storeFile=/location/to/my/key.jks
storePassword=mysuperhardpassword
keyAlias=myalias
keyPassword=myevenharderpassword

Please leave an empty new line at the end of the file.

cd Play/build_android
sh gradlew assembleRelease
# or on Windows
gradlew.bat assembleRelease
You can’t perform that action at this time.