tomato-testing/docs/README-ps2.md
Green Sky dec0d4ec41 Squashed 'external/sdl/SDL/' content from commit b8d91252c
git-subtree-dir: external/sdl/SDL
git-subtree-split: b8d91252c6488cf9c645aba447b56bb9dbd9609a
2023-07-25 22:27:55 +02:00

1.7 KiB

PS2

SDL port for the Sony Playstation 2 contributed by:

  • Francisco Javier Trujillo Mata

Credit to

  • The guys that ported SDL to PSP & Vita because I'm taking them as reference.
  • David G. F. for helping me with several issues and tests.

Building

To build SDL library for the PS2, make sure you have the latest PS2Dev status and run:

cmake -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_TOOLCHAIN_FILE=$PS2DEV/ps2sdk/ps2dev.cmake
cmake --build build
cmake --install build

Hints

The PS2 port has a special Hint for having a dynamic VSYNC. The Hint is SDL_HINT_PS2_DYNAMIC_VSYNC. If you enabled the dynamic vsync having as well SDL_RENDERER_PRESENTVSYNC enabled, then if the app is not able to run at 60 FPS, automatically the vsync will be disabled having a better performance, instead of dropping FPS to 30.

Notes

If you trying to debug a SDL app through ps2client you need to avoid the IOP reset, otherwise you will lose the connection with your computer. So to avoid the reset of the IOP CPU, you need to call to the macro SDL_PS2_SKIP_IOP_RESET();. It could be something similar as:

.....

SDL_PS2_SKIP_IOP_RESET();

int main(int argc, char *argv[])
{
.....

For a release binary is recommendable to reset the IOP always.

Remember to do a clean compilation everytime you enable or disable the SDL_PS2_SKIP_IOP_RESET otherwise the change won't be reflected.

Getting PS2 Dev

Installing PS2 Dev

Running on PCSX2 Emulator

PCSX2

More PCSX2 information

To Do

  • PS2 Screen Keyboard
  • Dialogs
  • Others