Skip to content

FAKE-08 emulates Lexaloffle PICO-8.

About this profile
Detail Value
Type libretro
Classification Game engine
Source https://github.com/jtothebell/fake-08
Version v0.0.2.20, stated in Makefile
Revision jtothebell/fake-08@814991a2571a
Profiled 2026-03-23
Profile YAML, JSON
Cores fake08, fake_08
Systems Lexaloffle PICO-8
Platform details
  • cartridge_format:

    • extensions: p8, png
    • source_ref: platform/libretro/libretro.cpp:258
    • note: .p8 is the PICO-8 text cartridge format containing Lua code, gfx, gff, map, sfx, and music sections. .png is the cartridge-as-image format where cart data is steganographically encoded in the image.
  • runtime:

Technical notes

FAKE-08 is an open-source PICO-8 compatible runtime for running .p8 and .p8.png cartridges on platforms where the official PICO-8 binary is not available (3DS, Vita, Switch, Wii U, various handhelds).

The core retrieves RETRO_ENVIRONMENT_GET_SYSTEM_DIRECTORY in retro_set_environment() (platform/libretro/libretro.cpp:162-163) but never uses the value. No file is loaded from the system directory. The PICO-8 boot sequence, global Lua functions, and default cart menu are compiled directly into the binary as string constants (p8GlobalLuaFunctions.h, DefaultCart.h).

When no ROM is passed (supports_no_game = true), the core queues its built-in BIOS cart "__FAKE08-BIOS.p8" (platform/libretro/libretro.cpp:751). This is not an external file -- it is generated internally by the VM.

The core accepts .p8 (text) and .png (cartridge-as-image) formats (platform/libretro/libretro.cpp:258). Content is loaded either via the libretro data buffer or full path depending on the NEED_FULL_PATH compile flag.

No BIOS or firmware files required.

.