# 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-" profiled_date: "2026-03-18" core_version: "Git" display_name: "Sony - PlayStation 2 (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().