Play! - PlayStation 2 Emulator
Go to file
2017-03-12 22:03:43 -04:00
build_android Make signing optional on Android release builds. 2017-03-12 22:03:43 -04:00
build_cmake Simplify file inclusion. 2017-03-12 18:00:12 -04:00
build_ios Update iOS project. 2017-01-06 19:18:00 -05:00
build_macosx CMakeLists.txt add osx support 2017-02-10 00:43:29 +00:00
build_unix rename build_unix/ => build_cmake/ 2017-02-12 20:43:09 +00:00
build_win32 Rename Win32 manifest files to something more appropriate. 2017-02-05 22:09:55 -05:00
icons Added some icons. 2015-04-08 03:06:14 -04:00
installer_macosx Added installer files for OSX. 2015-03-28 23:10:31 -04:00
installer_win32 Updated win32 installer script for VS2015. 2015-10-05 23:50:03 -04:00
Source Cleanup. 2017-03-12 15:25:40 -04:00
tools replace boost::thread dependency with std 2017-02-12 20:42:48 +00:00
.gitattributes Updated git settings for Android build. 2015-03-09 23:00:30 -04:00
.gitignore rename build_unix/ => build_cmake/ 2017-02-12 20:43:09 +00:00
.travis.sh Build release configs. 2017-03-12 18:41:36 -04:00
.travis.yml Cleanup. 2017-03-12 17:44:09 -04:00
appveyor.yml Update travis & appveyor build scripts 2017-02-12 20:43:09 +00:00
changelog.html
CONTRIBUTING.md Add contribution guide. 2016-11-09 09:25:44 -05:00
ee_functions.xml
License.txt
patches.xml Add patch make Outrun 2006 boot. 2016-12-20 18:56:13 -05:00
Readme.html
README.md Update README.md with build instructions 2017-02-12 20:43:09 +00:00
Settings.md Updated settings description file. 2016-04-10 22:20:53 -04:00

Play!

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

Ongoing compatibility list can be found here: Compatibility List Wiki.

For more information, please visit purei.org.

Project Dependencies

External Libraries

Repositories

Building

General Setup

You can get almost everything needed to build the emulator by using the Play! Build project. You can also checkout every repository individually if you wish to do so, but make sure your working copies share the same parent folder.

In the end, your setup should look like this:

C:\Projects

  • CodeGen
  • Dependencies
  • Framework
  • Nuanceur
  • Play

Common Building Instructions

First you'd need to clone Play-Build which provides you with the needed subprojects required to build Play!. Then setup the submodules and the dependency submodule(s) too.

git clone https://github.com/jpd002/Play-Build.git
git submodule update -q --init --recursive
git submodule foreach "git checkout -q master"
cd Dependencies
git submodule update --init
cd ..

Currently macOS, Windows, Linux & Android builds support cmake build.

Building for Windows

for Windows, you'd need to have cmake and DirectX sdk installed

cd Play/build_cmake
mkdir build
cd build
# Not specifying -G would automatically pick Visual Studio 32bit
cmake .. -G"Visual Studio 14 2015 Win64"
cmake --build . --config Release

Building for macOS

if you dont have cmake installed, you can install it using brew with the following command brew install cmake on macOS there is 2 ways to setup a build, using makefile or Xcode

cd Play/build_cmake
mkdir build
cd build
# Not specifying -G would automatically pick Makefiles
cmake .. -G"Unix Makefiles" -DCMAKE_BUILD_TYPE=Release
cmake --build .
# OR
cmake .. -G"Xcode" -DCMAKE_BUILD_TYPE=Release
cmake --build . --config Release

Building for UNIX

if you dont 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 on UNIX systems there is 3 ways to setup a build, using qt creator, makefile or Ninja

  • QT Creator

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

cd Play/build_cmake
mkdir build
cd build
# Not specifying -G would 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

Note CMAKE_PREFIX_PATH refers to the qt directory containing bin/libs folder, the above example uses a backport repo to install qt5.6 on trusty, if you install qt from qt offical 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 through 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 newline ndk.dir=/Users/USER_NAME/Library/Android/sdk/ndk-bundle replacing USER_NAME with your macOS username
      • UNIX: add a newline ndk.dir=~/Android/Sdk/ndk-bundle
      • Windows: add a newline 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.

  • Gradle: Prerequisite Android SDK & NDK (Both can be installed through Android Studio)
    • edit/create Play/build_android/local.properties
      • OSX:
        • add a newline sdk.dir=/Users/USER_NAME/Library/Android/sdk replacing USER_NAME with your macOS username
        • add a newline ndk.dir=/Users/USER_NAME/Library/Android/sdk/ndk-bundle replacing USER_NAME with your macOS username
      • UNIX:
        • add a newline sdk.dir=~/Android/Sdk
        • add a newline ndk.dir=~/Android/Sdk/ndk-bundle
      • Windows:
        • add a newline sdk.dir=C:\Users\USER_NAME\AppData\Local\Android\sdk
        • add a newline 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”.

Building through Gradle, you must create a text file Play/build_android/keystore.properties and add the following properties to it, storeFile,storePassword,keyAlias,keyPassword. E.g of 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

Building for iOS

Building for iOS has been tested with Xcode 6 and Xcode 7.

To build for those platforms, you need to first build boost using the script provided in the Dependencies repository. This will create the boost Xcode framework files that are needed by the projects from this repository. Once this is done, you will be able to open Play.xcodeproj for either OSX and iOS and build the project normally.