Skip to content

jevonlipsey/pico-ios

Repository files navigation

App Icon

Pocket8 • The native PICO-8 Companion for iOS.

⬇️ Download the latest build  •  ☕ Support on Ko-fi

pocket8-demo.MOV

Features

  • Native Engine: Runs flawlessly on iOS, due to the official PICO-8 engine being implemented as a WASM module.
  • Quick Save & Load: The only PICO-8 experience with instant save states. Freeze time and resume anywhere, across devices.

quickload

  • Adaptive Controls: Custom Gameboy-esque controls with tactile haptics. Works in portrait and landscape. Swap to virtual joystick.

joystick

  • Smart Library: Automatically extracts cartridge labels and metadata, presenting your collection in a polished grid.

libscroll

Technical Look

The core engineering challenge was reconciling the asynchronous nature of mobile file I/O with the synchronous requirements of the Emscripten/WASM virtual file system.

PICO-8 demands a synchronous file system. Bridging this to mobile required completely reverse-engineering the Emscripten boot sequence.

  • Bootloader Hijacking: The engine defaults to booting the standard "JELPI" demo cart. To bypass this, I had to intercept the Module.preRun lifecycle, manually injecting user code into the WASM heap and forcing the pointer to the correct entry point before the runtime could initialize.
  • True State Persistence: I architected a system that dumps the entire simulated RAM into a serialized blob. I implemented GZIP compression to keep these memory snapshots lightweight, allowing for atomic, instant state restoration.

It’s not a browser wrapper; it’s a custom runtime environment built for native mobile hardware. Enjoy the speeds!

Tech Stack

Vue.js Capacitor Tailwind CSS iOS

Installation

iOS (Sideload)

You can sideload Pocket8 via AltStore, SideStore, or Sideloadly.

Auto-Update Source (Recommended) Add the official source to SideStore or AltStore to get updates automatically (no computer needed!).

  1. Copy this URL: https://raw.githubusercontent.com/jevonlipsey/pico-ios/main/altstore.json
  2. Open SideStore/AltStore -> Sources -> + -> Add Source.

Auto-Update Guide

Manual IPA Install

  1. Download Pocket8.ipa from Releases.
  2. Sideload via AltStore, SideStore, or Sideloadly.
  3. Enable Developer Mode in iOS Settings (Settings > General > Device Management > Your Name).

Project Status

Pocket8 is developed in collaboration with Zep (Lexaloffle) to be the official BBS Companion app for PICO-8. Apart from the PICO-8 engine itself, Pocket8 is a solo dev project designed to bring the community a beautiful native app for mobile.

Currently in the App Store review process now.

Build from Source

npm install && npx cap sync
npx cap open ios

How to Get Games

Pocket8 plays standard .p8.png PICO-8 cartridges.

1. Find a Game

Tap the Globe Icon in the app to open the Lexaloffle BBS in your browser. You can also visit itch.io.

2. Save the Cartridge

Important: You need the cartridge image file, not a ZIP or EXE.

  1. Find the small square image that looks like a game cartridge (labelled "Cart").
  2. Desktop: Right-click the image -> "Save Image As".
  3. Mobile: Long-press the cart image -> "Save to Files" / "Download Image".

3. Import

Open Pocket8, tap the + icon, and select the .p8.png file you just saved.

Coming Soon: Tap to Play I am currently collaborating with Zep (Lexaloffle) on an official integration! Soon, you will be able to hit "Play" directly on the BBS website, and it will automatically launch the game inside Pocket8. This feature is in alpha and may not work for all carts at the moment.

License & Attribution

  • Pocket8 Source Code: Licensed under [GPL] (c) 2026 Jevon Lipsey.
  • PICO-8 Engine: (c) Lexaloffle Games. The engine runtime used for the iOS build and it's information can be found on the Lexaloffle website here.

Acknowledgements

  • Zep (Lexaloffle): For creating the fantasy console and being awesome in general. PICO-8 is a masterpiece of design constraints, I'm so excited to bring it to mobile!

  • You: For actually reading the docs. Thanks for the support (:

About

An iOS Native Emulator for the PICO-8 fantasy console. Free and Open Source. Experimental Alpha available for Android!

Topics

Resources

License

Code of conduct

Stars

172 stars

Watchers

4 watching

Forks

Sponsor this project

Packages

 
 
 

Contributors