Files
libretro/emulators/piemu.yml
T
Abdessamad Derraz 3011ee498e feat: record the build file behind a held pin
pin_frozen was prose, and no tool read the build file it cites, so a platform building another revision left the profile holding one nobody ships. pin_build records the platform, its repository, the revision read, the file, the variable and its value. check_freshness reads the file again where the platform's YAML now stands and reports STALE when the value moved. 36 of the 46 held profiles carry it, each value read from the build file at the platform's scraped revision. The other ten name no build file and are counted on one row: six RetroBat binary packages and four holds not tied to a platform build.
2026-11-05 19:54:48 +01:00

58 lines
2.6 KiB
YAML

emulator: "P/EMU/SDL"
type: standalone
core_classification: community_fork
source: "https://github.com/yonkuma/piemu"
upstream: "https://github.com/autch/piemu"
profiled_date: "2026-10-22"
source_commit: "0785214f13746bdfd709b1909f007e213b470ba1"
upstream_commit: "23208626e16e53b73fd21a2fbd0c429338625dc4"
pin_frozen: "AmberELEC, the only platform that ships it, builds this revision (AmberELEC packages/games/emulators/piemu/package.mk:5). Later commits are not part of that build."
pin_build:
- platform: amberelec
repo: "https://github.com/AmberELEC/AmberELEC"
revision: "a21975bfb1a3af68f66e07a931b994b523e1e6e2"
path: "packages/games/emulators/piemu/package.mk"
variable: PKG_VERSION
value: "0785214f13746bdfd709b1909f007e213b470ba1"
core_version: "20030430"
version_basis:
kind: file
path: "app.h"
pattern: '#define\s+VERSION\s+"([^"]+)"'
display_name: "Aquaplus - P/ECE (P/EMU/SDL)"
cores:
- "piemu"
systems:
- aquaplus-piece
notes: |
Autch's SDL port of Naoyuki Sawa's P/EMU, with two commits by YonKuma
that add game controller input and a quit hotkey. AmberELEC builds this
revision and installs piemu with the mkpfi and pfar tools built from the
same tree.
ref: AmberELEC packages/games/emulators/piemu/package.mk:5-6,19-29
The emulator reads one file, piece.pfi, from its working directory: a PFI
header with the SYSTEMINFO block, then the flash contents at the stored
offset. A missing file, a signature other than PFI1 or a SYSTEMINFO of the
wrong size stops it.
ref: piemu.c:5-20, piemu.c:25-45
That image holds the P/ECE kernel, its file system and the installed
programs. AmberELEC's piemu.sh builds it for every launch in /tmp/piemu:
mkpfi writes a fresh image from the kernel update image all.bin in the BIOS
directory, then pfar adds the .pex program, its .sav file or the files a
.pfs list names. A .pfi game never starts: the extension test lacks its `$`,
so the image is not copied into the working directory.
ref: AmberELEC packages/games/emulators/piemu/bin/piemu.sh:10,22-54
files:
- name: "all.bin"
path: "all.bin"
system: aquaplus-piece
required: true
size: 516096
description: "P/ECE kernel update image (PieceSystem 1.20, update/all.bin)"
note: "mkpfi checks the \"Piece Kernel Program\" signature at offset 8, writes the boot vector 0x00C02004 into sector 0, leaves sector 1 blank and copies the file from sector 2. Called without -2mb, it builds the 512 KB flash layout of factory units."
source_ref: "source tools/mkpfi.c:13, source tools/mkpfi.c:30-62, source tools/mkpfi.c:64-128"