paintown icon indicating copy to clipboard operation
paintown copied to clipboard

Build PS3

Open humbertodias opened this issue 1 year ago • 3 comments

Todo

  • [x] Create a docker file for cross compiling
  • [x] Create script easy-compile-ps3 for building paintown.ps3
  • [x] Create release-ps3 for building pkg locally
  • [x] GitHub action with CI/CD for building releases
  • [x] Compile sdl2 and dependencies inside ps3toochain container
  • [x] Create meson cross file specific for PS3
  • [x] Implement ghc::filesystem for PS3
  • [x] Implement ps3/system.cpp
  • [x] Create a docker image with ps3toochain,pthread,sdl2,SDL2_image,SDL2_mixer,SDL2_ttf,SDL2_gfx
  • [x] Add pthread POSIX to PS3
  • [x] ~~Adapt paintown code to use pthread for PS3~~
  • [ ] Adapt the code to run on PS3 emulator

How to test

End Used

  1. Download the latest paintown pkg from releases
  2. Download and open RPCS3 emulator specific for your current processor [x86,arm]
  3. Download and install the PS3 firmware from Sony
  4. Install on RPCS3 the pkg and play the game

image

Dev

./easy-compile-docker-ps3 && ./release/release-ps3

A paintown-ps3-$version.pkg will be generated

Open RPCS3 and drag and drop the .pkg inside

image

[!NOTE]
Tested on Mac OS - ARM. But should work on any platform supported by RPCS3

humbertodias avatar Feb 15 '24 21:02 humbertodias

all the scons stuff should be removed eventually, but its ok to leave the code as a reference until it can be replaced.

kazzmir avatar Feb 15 '24 22:02 kazzmir

this compiles the entire ps3 toolchain every time? maybe we can create a docker image out of it and put it on dockerhub?

kazzmir avatar Feb 20 '24 04:02 kazzmir

this compiles the entire ps3 toolchain every time? maybe we can create a docker image out of it and put it on dockerhub?

Yes. The idea is push the image into a docker registry and just call the container to cross compile. I still didn't. Because, I'm facing problems to compile all dependencies with meson. Meanwhile, I put a simple sdl example that just draw a red rectangle to verify the flow ci/cd.

humbertodias avatar Feb 20 '24 17:02 humbertodias