Files
libretro/emulators/play.yml
Abdessamad Derraz ebc8e4413f feat: add 10 emulator profiles (119-series batch 2)
freeintv_ts_overlay (same BIOS as FreeIntv), bnes (NES, no BIOS),
clownmdemu (Mega Drive, open-source MCD boot ROM embedded),
m2000 (Philips P2000T, all embedded), mesen (NES, FDS + StudyBox BIOS),
race (NGP, HLE with disabled BIOS loader), vemulator (VMU, HLE only),
gw (Game & Watch, Lua simulator), pd777 (Cassette Vision, no BIOS),
play (PS2, full HLE, LoadBIOS commented out)

115 total profiles.
2026-03-18 05:20:05 +01:00

61 lines
2.4 KiB
YAML

# Play! emulator BIOS profile
# Generated from source analysis of https://github.com/jpd002/Play-
# Commit analyzed: HEAD as of 2026-03-17
emulator: "Play!"
type: libretro
core_name: play_libretro
source: "https://github.com/jpd002/Play-"
systems: [sony-playstation-2]
bios_directory: null
bios_detection: "hle"
bios_selection: "not_applicable"
validation:
method: "none"
note: >
Play! is a full HLE (High-Level Emulation) PS2 emulator. It does not load or
require any real PS2 BIOS dump. The LoadBIOS() function in Ee_SubSystem.cpp
(which would read ./vfs/rom0/scph10000.bin) is commented out in PS2VM.cpp:ResetVM().
files: []
# No BIOS files required.
# IOP modules (rom0:SIO2MAN, rom0:PADMAN, rom0:MCMAN, rom0:MCSERV, etc.)
# are all replaced by HLE implementations in Source/iop/IopBios.cpp.
# The EE kernel/OS is reimplemented in Source/ee/PS2OS.cpp.
virtual_filesystem:
# Play! uses a virtual filesystem for memory cards and disc access,
# but these are runtime directories, not BIOS files.
mc0: {default: "vfs/mc0", purpose: "Memory card slot 0 (save data)"}
mc1: {default: "vfs/mc1", purpose: "Memory card slot 1 (save data)"}
host: {default: "vfs/host", purpose: "Host filesystem access"}
cdrom0: {default: null, purpose: "Disc image (set per-game)"}
memory_layout:
EE_RAM: {size: "32 MB (0x02000000)"}
EE_BIOS: {size: "4 MB (0x00400000)", note: "Allocated but unused, HLE replaces real BIOS"}
IOP_RAM: {size: "2 MB (0x00200000)"}
SPU_RAM: {size: "2 MB (0x00200000)"}
notes: |
Play! does not require any PS2 BIOS files. Unlike PCSX2, it uses High-Level
Emulation to reimplement the PS2 kernel, IOP BIOS modules, and system services
entirely in C++.
Key HLE components:
- EE kernel: Source/ee/PS2OS.cpp (handles BootFromCDROM, BootFromFile, syscalls)
- IOP BIOS: Source/iop/IopBios.cpp (HLE modules for rom0:PADMAN, MCMAN, MCSERV, etc.)
- No rom0/rom1/erom files are loaded at runtime
The legacy LoadBIOS() function in Source/ee/Ee_SubSystem.cpp references
"./vfs/rom0/scph10000.bin" but this call is commented out in PS2VM::ResetVM()
and has no effect on emulation.
mc2_ings.ico is not referenced anywhere in Play! source code. That file is
specific to PCSX2's memory card icon handling, not Play!.
The libretro core supports: .elf, .iso, .cso, .isz, .bin disc images.
Extensions handled in main_libretro.cpp:retro_get_system_info().