diff --git a/build.md b/build.md
index 9f6a0e2..2c44f2c 100644
--- a/build.md
+++ b/build.md
@@ -74,6 +74,7 @@ SDKs and [Mist++](https://github.grady.link/mistpp) installed.
toolchain. It includes every SDL2 thing you might need.
- **For the PSP**, all you need is the [PSPSDK](https://pspdev.github.io)
toolchain. It includes every SDL2 thing you might need.
+- **For the PS2**, you will need [ps2sdk](https://ps2dev.github.io/) and [ps2sdk-ports](https://github.com/ps2dev/ps2sdk-ports). It includes every SDL3 thing you might need.
- **For webOS**, all you need is the webosbrew Native SDK installed to your home
directory and ares-cli.
@@ -121,6 +122,8 @@ done with `cmake`, though the exact commands differ between platforms:
`cmake -DCMAKE_TOOLCHAIN_FILE=$VITASDK/share/vita.toolchain.cmake -B build/vita && cmake --build build/vita`.
- **For the PSP**, you need to run
`psp-cmake -B build/psp -S . -DSE_SYSTEM=ON -DSE_CLOUDVARS=OFF && make -C build/psp`.
+- **For the PS2**, you need to run
+ `cmake -B build-ps2 -S . -DCMAKE_TOOLCHAIN_FILE=$PS2SDK/ps2dev.cmake -DCMAKE_BUILD_TYPE=Release -DPS2=ON && make -C build-ps2 -j 2`.
- **For webOS**, you need to run
`cmake -B build/webos -S . -DCMAKE_TOOLCHAIN_FILE="~/arm-webos-linux-gnueabi_sdk-buildroot/share/buildroot/toolchainfile.cmake" -DSE_CLOUDVARS=OFF -DWEBOS=ON -DSE_RENDERER=sdl2 && make -C build/webos all package`.
> [!NOTE]
@@ -190,6 +193,7 @@ The audio backend to be used. Can be one of `sdl2`, `sdl1`, `sdl3`, `nds`, or
| Vita | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ |
| PSP | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ |
| PS4 | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ |
+| PS2 | ❌ | ✅ | ✅ | ❌ | ❌ | ✅ |
| webOS | ❌ | ✅ | ❌ | ❌ | ❌ | ✅ |
| Libretro | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ |
@@ -267,6 +271,7 @@ The allowed modes depend on the platform you are building for:
| Vita | ❌ | ✅ | ✅ |
| PSP | ❌ | ✅ | ✅ |
| PS4 | ❌ | ✅ | ✅ |
+| PS2 | ❌ | ✅ | ✅ |
| webOS | ❌ | ❌ | ✅ |
| Libretro | ✅ | ✅ | ✅ |
@@ -326,10 +331,11 @@ The renderer backend to be used. Can be one of `sdl1`, `sdl2`, `sdl3`, `opengl`,
| Vita | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ |
| PSP | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
| PS4 | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
+| PS2 | ❌ | ✅ | ✅ | ❌ | ❌ | ❌ | ❌ | ✅ |
| webOS | ❌ | ✅ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ |
| Libretro | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ❌ |
-Defaults to `citro2d` on 3DS, `gl2d` on NDS, `libretro` on Libretro, and `sdl2`
+Defaults to `citro2d` on 3DS, `gl2d` on NDS, `libretro` on Libretro, `sdl3` on PS2, and `sdl2`
on everything else.
### `SE_SVG`
diff --git a/docker.md b/docker.md
index 7b676a3..aa4ac54 100644
--- a/docker.md
+++ b/docker.md
@@ -209,6 +209,7 @@ After a successful build, your exported files will appear directly in the
| **PS4** | `.pkg` |
| **Switch** | `.nro` |
| **PSP** | `.zip` |
+| **PS2** | `.elf` |
| **DS** | `.nds` |
| **GameCube/Wii** | `.dol` |
| **webOS** | `.ipk` |
diff --git a/index.md b/index.md
index acd0140..263574c 100644
--- a/index.md
+++ b/index.md
@@ -36,6 +36,7 @@ features:
+
diff --git a/install.md b/install.md
index fbdafae..9caf810 100644
--- a/install.md
+++ b/install.md
@@ -206,6 +206,16 @@ create it.
Then it should be as simple as opening the app on your PS4 from the XMB!
+## PS2
+
+Download the `scratch-ps2.elf` file from the releases tab or
+[nightly build](https://nightly.link/ScratchEverywhere/ScratchEverywhere/workflows/nightly-ps2/main/Scratch%20Everywhere!%20PS4%20Nightly.zip),
+
+Place your Scratch projects in `scratch-ps2` on your storage device (you may need to create the folder yourself),
+
+Then it should be as simple as opening the app on your PS2!
+
+
### webOS
Get your TV into [dev mode](https://www.webosbrew.org/devmode/) or
diff --git a/intro.md b/intro.md
index b27eb20..ac41510 100644
--- a/intro.md
+++ b/intro.md
@@ -4,5 +4,5 @@ Scratch Everywhere! **(note the exclamation mark)** is a cross-platform
implementation of the Scratch runtime. In simpler words, it's a way to run
Scratch projects on old homebrew consoles.
-The project supports 3DS, DS, DSi, Wii U, Wii, GameCube, Switch, Vita, PSP, PS4,
+The project supports 3DS, DS, DSi, Wii U, Wii, GameCube, Switch, Vita, PSP, PS4, PS2,
webOS (for LG TVs), Windows, Linux, and macOS!
diff --git a/limitations.md b/limitations.md
index afd7ba5..748be69 100644
--- a/limitations.md
+++ b/limitations.md
@@ -9,7 +9,7 @@ crashes, and things that will just not work.
you know of a block that's causing problems).
- Performance is poor when running complex projects, specifically those with
many clones or lots of blocks running at once.
- - Some older platforms (NDS, GameCube, PSP) especially struggle due to memory
+ - Some older platforms (NDS, GameCube, PSP, PS2) especially struggle due to memory
constraints. Try to keep projects small on these platforms.
- Sounds may take time to load when playing them for the first time.
@@ -53,25 +53,27 @@ features support specific features.
| Vita | ❌ | ❌ | ✅ |
| PSP | ❌ | ❌ | ❌ |
| PS4 | ❌ | ❌ | ❌ |
+| PS2 | ❌ | ❌ | ❌ |
| Libretro | ✅ | ❌ | ❌ |
### Extensions
| Platform | Pen | Text to Speech | Makey Makey | Translate |
| -------- | --- | -------------- | ----------- | --------- |
-| Windows | ✅ | ✅ | ✅ | ✅ |
-| macOS | ✅ | ✅ | ✅ | ✅ |
-| Linux | ✅ | ✅ | ✅ | ✅ |
-| 3DS | ✅ | ✅ | ✅ | ✅ |
-| DS | ❌ | ❌ | ✅ | ❌ |
-| Wii U | ✅ | ✅ | ✅ | ✅ |
-| Wii | ✅ | 🟡 | ✅ | ❌ |
-| GameCube | ✅ | 🟡 | ✅ | ❌ |
-| Switch | ✅ | 🟡 | ✅ | ❌ |
-| Vita | ✅ | 🟡 | ✅ | ❌ |
-| PSP | ✅ | 🟡 | ✅ | ❌ |
-| PS4 | ✅ | 🟡 | ✅ | ❌ |
-| Libretro | ✅ | ✅ | ✅ | ✅ |
+| Windows | ✅ | ✅ | ✅ | ✅ |
+| macOS | ✅ | ✅ | ✅ | ✅ |
+| Linux | ✅ | ✅ | ✅ | ✅ |
+| 3DS | ✅ | ✅ | ✅ | ✅ |
+| DS | ❌ | ❌ | ✅ | ❌ |
+| Wii U | ✅ | ✅ | ✅ | ✅ |
+| Wii | ✅ | 🟡 | ✅ | ❌ |
+| GameCube | ✅ | 🟡 | ✅ | ❌ |
+| Switch | ✅ | 🟡 | ✅ | ❌ |
+| Vita | ✅ | 🟡 | ✅ | ❌ |
+| PSP | ✅ | 🟡 | ✅ | ❌ |
+| PS4 | ✅ | 🟡 | ✅ | ❌ |
+| PS2 | ✅ | 🟡 | ✅ | ❌ |
+| Libretro | ✅ | ✅ | ✅ | ✅ |
Text-to-Speech can use either the official Scratch servers (if the platform
supports it), or DECtalk, which runs locally but is not 100% accurate. Platforms
@@ -79,7 +81,7 @@ marked with a 🟡 support DECtalk only, while those with a ✅ support both.
### Misc Notes
-- **[Wii, Wii U, GameCube, Switch]** The first controller connected will be the
+- **[Wii, Wii U, GameCube, PS2, Switch]** The first controller connected will be the
only one that will work.
- **[Wii]** If you're using a PAL Wii, you must use 50Hz.
- **[PSP]** Images cannot be over 512x512.
diff --git a/settings.md b/settings.md
index 4bf5fb7..9d183d6 100644
--- a/settings.md
+++ b/settings.md
@@ -55,7 +55,7 @@ Whether or not to display FPS info when running a project. Disabled by default.
Whether or not to store the project in RAM. This can boost performance when
loading a new costume or sound, but may cause problems on lower-end platforms.
-Enabled by default on all platforms except for DS, GameCube, and PSP.
+Enabled by default on all platforms except for DS, GameCube, PS2, and PSP.
### Warp Timer