Files
libretro/emulators/ppsspp.yml
T
Abdessamad Derraz 576ad258f7 chore: map rocknix and retropie core names
ROCKNIX names its standalone packages <emu>-sa (package.mk under
projects/ROCKNIX/packages/emulators/standalone at 20261001); RetroPie
names its libretro scriptmodules lr-<name>. Each name joins the profile
of the project its package builds. supermodel-sa builds
DirtBagXon/model3emu-code-sinden, the supermodel3 profile.
2026-10-24 01:24:28 +02:00

112 lines
5.3 KiB
YAML

emulator: PPSSPP
type: standalone + libretro
core_classification: official_port
source: "https://github.com/hrydgard/ppsspp"
profiled_date: "2026-10-21"
source_commit: "c86d7a268d1ce9a94ae3be662f987c5b6a724ef9"
core_version: "Git"
display_name: "Sony - PlayStation Portable (PPSSPP)"
cores:
- ppsspp
- "PPSSPPSDL"
- "ppsspp-sa"
systems: [sony-psp]
pack_structure:
libretro: "PPSSPP"
data_directories:
- ref: ppsspp-assets
installed_on: [batocera, emudeck, lakka, recalbox, retrobat, retrodeck, retropie]
mode: libretro
destination: ""
source_ref: "libretro/libretro.cpp:1216-1225, libretro/libretro.cpp:1271"
data_root:
android:
path: "Android/data/org.ppsspp.ppsspp/files"
source_ref: "UI/NativeApp.cpp:648-679, UI/MemStickScreen.cpp:234-240, 371-376, android/src/org/ppsspp/ppsspp/PpssppActivity.java:461-463"
note: "With scoped storage the memory stick is the folder picked at first launch, this one when setup is skipped, and memstick_dir.txt keeps the choice. Under legacy storage it is the root of shared storage"
ios:
path: "Documents"
source_ref: "UI/NativeApp.cpp:706-708, Core/Util/DarwinFileSystemServices.mm:310-316, 328-331"
note: "A folder chosen in the settings and kept in the user defaults replaces it"
windows:
path: "<folder of PPSSPPWindows64.exe>/memstick"
source_ref: "Windows/main.cpp:985-1038, 1217-1218"
note: "installed.txt beside the executable switches to the folder it names, else Documents/PPSSPP, which also serves when memstick cannot be created or written"
macos:
path: "~/.config/ppsspp"
source_ref: "UI/NativeApp.cpp:630-631, 709-710, SDL/SDLMain.cpp:1187-1191, Core/Util/DarwinFileSystemServices.mm:310-316, 332-333"
note: "A folder chosen in the settings and kept in the user defaults replaces it"
linux:
path: "$XDG_CONFIG_HOME/ppsspp, else ~/.config/ppsspp"
source_ref: "UI/NativeApp.cpp:715-716, Core/Util/PathUtil.cpp:284-300"
notes: |
Full HLE emulator. No Sony firmware or BIOS required.
The libretro core is built from hrydgard/ppsspp, the tree of the
standalone emulator, with its wrapper in libretro/.
Libretro core loads assets from system/PPSSPP/ via VFS
(libretro/libretro.cpp:1216-1225, 1271) and warns that core system files
are missing when compat.ini is absent (libretro/libretro.cpp:1229-1261).
Assets include replacement PGF fonts (flash0/font/),
game compatibility database (compat.ini), language mapping (langregion.ini),
and post-processing shaders (shaders/).
Fonts are read from the game disc, then from flash0:/font of the NAND,
then from flash0/font/ in system/PPSSPP/ (Core/HLE/sceFont.cpp:1026-1048).
Without any of them the font library holds no internal font and
sceFontOpen returns SCE_FONT_ERROR_INVALID_PARAMETER to the game
(Core/HLE/sceFont.cpp:1197-1199), so text a game draws with the PSP system
fonts is lost. Without ppge_atlas.zim the system dialogs are not drawn
(Core/Util/PPGeDraw.cpp:252-255).
A real firmware is optional. The NAND is <memstick>/PSP/NAND
(Core/Util/PathUtil.cpp:146-147), which the libretro core places under
the save directory (libretro/libretro.cpp:1265, 1269). On boot, a game
disc carrying a newer firmware updater than the installed one is
unpacked into it (Core/System.cpp:591-594). Its flash0:/font,
kd/libmp4.prx, kd/mp4msv.prx and kd/mpeg.prx replace the HLE modules
when present (Core/HLE/HLE.cpp:408-446).
PSP_DEFAULT_FIRMWARE = 660 (Core/ConfigValues.h:40).
files:
- name: "ppge_atlas.zim"
installed_on: [batocera, emudeck, lakka, recalbox, retrobat, retrodeck, retropie]
mode: libretro
path: "PPSSPP/ppge_atlas.zim"
description: "PPGe dialog texture atlas for save/load dialogs, on-screen keyboard, system UI"
required: false
source_ref: "Core/Util/PPGeDraw.cpp:252-255"
note: "Logged as an error if missing. System dialogs render without graphics but core continues running. Batocera, Recalbox, Lakka, RetroPie, RetroBat, EmuDeck and RetroDECK install the assets folder where their core reads it."
- name: "ppge_atlas.meta"
installed_on: [batocera, emudeck, lakka, recalbox, retrobat, retrodeck, retropie]
mode: libretro
path: "PPSSPP/ppge_atlas.meta"
description: "PPGe atlas metadata (glyph positions, UV coords)"
required: false
source_ref: "Core/Util/PPGeDraw.cpp:257-263"
note: "Loaded after ppge_atlas.zim. Without it, dialog UI has no glyph layout. Batocera, Recalbox, Lakka, RetroPie, RetroBat, EmuDeck and RetroDECK install the assets folder where their core reads it."
- name: "ppge_atlas.zim"
mode: standalone
path: "assets/ppge_atlas.zim"
description: "PPGe dialog texture atlas for save/load dialogs, on-screen keyboard, system UI"
required: false
size: 666530
sha1: "30a33f3651f8e1b0967a5dfe6ff714baebcce41a"
bundled: true
source_ref: "Core/Util/PPGeDraw.cpp:252-255"
note: "Shipped in assets/ of the PPSSPP 1.20.4 Windows zip, which the standalone reads it from."
- name: "ppge_atlas.meta"
mode: standalone
path: "assets/ppge_atlas.meta"
description: "PPGe atlas metadata (glyph positions, UV coords)"
required: false
size: 50242
sha1: "ab398f667d6fd778859307c105fe16388b8fdf63"
bundled: true
source_ref: "Core/Util/PPGeDraw.cpp:257-263"
note: "Shipped in assets/ of the PPSSPP 1.20.4 Windows zip, beside ppge_atlas.zim."