PicoPlay 🎮
A Native PICO-8 Fantasy Console Player & Arcade for PlayStation 4
PicoPlay brings the magical world of PICO-8 indie retrogaming natively to the PlayStation 4. Powered by an optimized C++ SDL2 engine, it delivers pixel-perfect 60 FPS gameplay, full DualShock 4 controller integration, an in-app BBS Store to download cartridges on-the-fly, and an out-of-the-box arcade experience with celebrated community titles like Celeste Classic.
📱 Also Available on Android: Looking for the mobile & handheld edition? Check out PicoPlay Android (
birth1mark/picoplay-android) with a custom Pocket Touch Gamepad, Bluetooth controller support, and Google Play Store compliance.
📸 Screenshots
| 🕹️ PicoPlay Arcade Carousel | 🌐 In-App Lexaloffle BBS Store |
|---|---|
![]() |
![]() |
| ⚡ 1-Click Download & Launch | 🍓 Pixel-Perfect 60 FPS Gameplay |
![]() |
![]() |
🚀 Quick Install (PlayStation 4 PKG)
Pre-built packages are ready to install on any jailbroken PlayStation 4 running firmware 5.05 up to 11.00+ (GoldHEN / Mira / HEN):
📥 1. Download the PKG
- Pre-built Releases: Download the latest
picoplay-ps4.pkgdirectly from the GitHub Releases page. - Or Build It Locally: Run
make pkgto generatepicoplay-ps4.pkgin the project root in seconds.
🕹️ 2. Step-by-Step PS4 Installation
- Format a USB flash drive as exFAT or FAT32.
- Copy
picoplay-ps4.pkgdirectly to the root of your USB drive (e.g.X:\picoplay-ps4.pkg). - Insert the USB drive into your PS4.
- On your PS4 (with GoldHEN or HEN enabled), navigate to:
- Settings ➔ GoldHEN ➔ Package Installer (or Settings ➔ Debug Settings ➔ Game ➔ Package Installer)
- Select
picoplay-ps4.pkgand press Cross (✕) to install. - Launch PicoPlay from the PS4 Home Screen (XMB) and start playing!
✨ Features
- In-App Lexaloffle BBS Store: Browse, search and download community cartridges directly inside the application with 1-click download & play!
- Native 1080p Output: Crisp integer scaling with selectable aspect ratios.
- Full DualShock 4 Integration: Seamless mapping for D-Pad, Left Analog Stick, Face Buttons, and tactile controls.
- Plug-and-Play USB Loading: Automatically scans and launches
.p8and.p8.pngcartridges from USB drives (/mnt/usb0/picoplay/). - Starter Classics Included: Ships pre-bundled with open-source masterpieces ready to play without configuration.
- Persistent Save States: Cartridge data and high scores automatically save to
/data/picoplay/cdata/. - Homebrew Store / PKG-Zone Compliant: Built 100% clean-room with the community OpenOrbis toolchain (no copyrighted Sony SDK components).
🕹️ Controls (DualShock 4)
| DualShock 4 Button | PICO-8 Virtual Input | Function |
|---|---|---|
| D-Pad / Left Stick | Left / Right / Up / Down |
Directional Movement |
| Cross (✕) | ❎ (Button 5 / P8_KEY_X) |
Select / Play in Arcade Menu · Action 2 in Game |
| Circle (◯) | 🅾 (Button 4 / P8_KEY_O) |
Switch Tab / Back in Menu · Action 1 in Game |
| Square (▢) | 🅾 (Button 4 / P8_KEY_O) |
Alternate Action 1 in Game |
| Triangle (△) | Toggle Scaling | Switch between Pixel-Perfect and Stretched 16:9 |
| Options | Pause / Menu |
In-game PICO-8 Pause Menu |
| L1 + R1 + Options | Exit | Quick Exit back to PS4 Home Screen |
📁 Loading Your Own Cartridges
You can easily add new PICO-8 cartridges using any of the following methods:
-
In-App Lexaloffle BBS Store (Recommended): Press Circle (◯) in the arcade menu to switch to the 🌐 BBS Store! Browse curated community games (Celeste 2, Slipways, Mistigri, Mai-Chan, Hellspawn, Dank Tomb, etc.) or enter any custom cart ID. Press Cross (✕) to download and play immediately!
-
USB Drive: Create a folder named
picoplayon the root of your USB flash drive:USB Drive -> /picoplay/my_game.p8.pngPlug it into your PS4. PicoPlay will detect and index your carts immediately!
-
Internal PS4 Storage (FTP): Copy your
.p8or.p8.pngfiles to:/data/picoplay/carts/
🛠️ Building from Source
PicoPlay features an automated dual-target build system: test locally on your PC/Linux desktop in seconds, or cross-compile and package for PS4 with a single command.
1. Local Desktop Build (Linux / EndeavourOS)
Requires g++, SDL2, and libcurl:
# Compile and run on your desktop
make desktop
./platform/SDL2Desktop/picoplay
2. PS4 Executable (eboot.bin)
Requires the OpenOrbis PS4 Toolchain installed:
# Cross-compiles C++ sources, links FreeBSD 12 ELF, and signs eboot.bin
make ps4
Generates platform/ps4/eboot.bin and stages it in pkg/eboot.bin.
3. PS4 Fake PKG (picoplay-ps4.pkg)
Builds the complete installable Fake PKG image with starter games and assets in one step:
make pkg
This automatically compiles the code, creates eboot.bin, synthesizes param.sfo (PPLA00008) and icon0.png, bundles starter carts, signs PlayGo digests, and seals picoplay-ps4.pkg in the project root.
📜 Credits & Attributions
This project stands on the shoulders of brilliant creators and open-source contributors:
- PicoPlay Port & Development: birth1mark
- Core Emulator Engine: FAKE-08 by jtothebell (MIT License).
- PlayStation 4 Toolchain: OpenOrbis PS4 Toolchain community developers.
- PICO-8 Platform & Virtual Architecture: Lexaloffle Games (Joseph White / zep).
- Included Starter Games:
- Celeste Classic (v8) & Celeste 2: Lani's Trek by Maddy Thorson and Noel Berry (Creative Commons).
- Astero by Alex Morris (Open Source).
- Embedded Libraries:
- z8lua / Lua runtime adapted by jtothebell
- LodePNG by Lode Vandevenne
- miniz by Rich Geldreich / contributors
- SimpleIni by Brodie Thiesfield
- SDL2 by the Simple DirectMedia Layer team



