Files
libretro/emulators/fake08.yml
T
Abdessamad Derraz e7aa9e870b fix: state libretro core versions from their code
Each libretro profile records version_basis and core_version is read
there at its pin. snes9x states 1.63 in snes9x.h, nestopia 2.0.0, mgba
0.11.0, vice 3.10, atari800's libretro tree 7.0.0. Cores whose build
takes its version from git carry the nearest tag in describe form
(flycast v2.7-90-ge88b0ce, ppsspp, duckstation, gearcoleco), placeholders
copied from .info files (Git, SVN) are replaced by the code's statement,
and a code that states none is null with kind none.
2026-10-27 19:21:27 +01:00

59 lines
2.4 KiB
YAML

emulator: FAKE-08
type: libretro
core_classification: game_engine
source: "https://github.com/jtothebell/fake-08"
upstream: "https://github.com/jtothebell/fake-08"
profiled_date: "2026-03-23"
source_commit: "814991a2571ad3970e386cef48f3b148aa1c27b9"
core_version: "v0.0.2.20"
version_basis:
kind: file
path: "Makefile"
pattern: '^export V_MAJOR\s*=\s*(\d+)\s*\nexport V_MINOR\s*=\s*(\d+)\s*\nexport V_PATCH\s*=\s*(\d+)\s*\nexport V_BUILD\s*=\s*(\d+)'
format: "v{1}.{2}.{3}.{4}"
display_name: "PICO-8 (FAKE-08)"
cores:
- fake08
- fake_08
systems:
- pico8
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.
exclusion_note: "all engine resources compiled into binary via include_bytes!"
files: []
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:
source_ref: "source/vm.h, source/p8GlobalLuaFunctions.h"
note: |
The FAKE-08 VM reimplements the PICO-8 API (128x128 screen, 16 colors,
4-channel audio, Lua scripting) entirely in C++. The built-in BIOS
provides a cart browser and error display. Audio runs at 22050 Hz
with save state support via custom serialization (platform/libretro/libretro.cpp:517-736).