Last updated: 2026-03-07
POPSLoader is an open-source PlayStation 2 launcher for POPStarter, scripted in Lua and built on top of Enceladus runtime components.
This repository contains:
- the launcher (
POPSLOADER.ELF), - embedded runtime Lua scripts/assets,
- embedded IOP modules,
- and packaging/build logic for release artifacts.
- POPSLoader was created by El_isra, and this repository is a forked continuation of that work.
- Derived from Enceladus by DanielSant0s.
- Maintains GPLv3 licensing lineage.
| Main menu option | Status |
|---|---|
| MMCE | Implemented |
| MX4SIO | Implemented |
| HDD (PFS) | Implemented |
| USB | Implemented |
| Disc (DKWDRV) | Implemented |
| HDD (exFAT) | Not implemented |
| SMB (v1) | Not implemented |
- Download the latest
POPSLOADER.ziprelease. - Extract and keep the packaged layout intact.
- Copy
PS1_POPSLOADER/andPOPS/to your target storage. - Add PS1
.VCDfiles to the selected backendPOPS/location. - Launch
POPSLOADER.ELFusing your preferred ELF launcher.
Package layout:
PS1_POPSLOADER/
POPSLOADER.ELF
POPSTARTER.ELF
APPINFO.PBT
title.cfg
icon.sys
list.icn
copy.icn
del.icn
POPS/
PATCH_5.BIN
Notes:
PS1_POPSLOADER/can be installed/launched from any device path supported by your loader setup.POPS/content location is backend-dependent and must match the active launch backend expectations.- CI validates the package manifest above and excludes legacy
POPS/*.tm2payload entries.
- Boot/runtime Lua is loaded from embedded assets.
- Settings are staged in UI and committed on Settings/Profile confirm/leave.
- Settings file path:
mc0:/POPSTARTER/.pldrs. - Configurable executable paths:
- POPStarter path
- DKWDRV path
mc?:/alias is supported for executable path resolution (mc0:/thenmc1:/).- USB vs MX4SIO list split is based on mount-driver identity (
System.getMassMountDriver), not path-name guessing. - Cover sidecar lookup uses selected
.VCDpath with.pngsuffix.
- For POPStarter runtime binaries/packages, see:
- Typical required files include (depending on setup):
IOPRP252.IMGPOPS.ELFPOPS.PAKPOPS_IOX.PAK
- Place PS1 games as
.VCDfiles in backendPOPS/paths. - If needed, convert BIN/CUE to POPStarter-compatible VCD:
- Sidecar cover image path: same folder/name as selected VCD, with
.pngextension. - Recommended format: PNG, non-interlaced, truecolor/RGBA.
- HDD title scan uses
__.POPSand__.POPS1..__.POPS9partitions. - HDD dependency checks in launcher currently reference
hdd0:__common/POPS/files.
- MMCE (
mmce0:/,mmce1:/): supported. - MX4SIO: supported (detected via mass mount driver classification).
- USB mass (
mass:/,mass1:/...): supported. - Internal HDD (
hdd0:,pfs:): supported (PFS flow implemented). - SMB menu entry: currently marked
Not Implemented Yetin UI. - Disc (DKWDRV): implemented via menu modal and launch-path check.
- Settings commit/apply flow hardening.
- POPStarter launch arg/prefix/path corrections.
- USB/MMCE/MX4SIO detection and first-entry behavior fixes.
- Cover derivation/preview behavior cleanup.
- Asset cleanup and embed pipeline cleanup (including removal of unused
HDD.pngembedding). - Packaging policy finalized on
POPS/PATCH_5.BINwith stricter CI manifest checks. - Documentation and regression-matrix audit refresh.
Full changelog range:
src/: EE runtime, Lua bindings, rendering/audio/input, launch plumbing.bin/POPSLDR/: runtime Lua scripts, bundled assets, POPStarter payload files.iop/: embedded IOP modules andbdm_queryRPC module source.modules/: controller-related modules (ds34bt,ds34usb,pademu).EMBED/: resources embedded into the ELF at build time.etc/: boot script and helper scripts.QA_REGRESSION_MATRIX.md: hardware validation checklist and pass/fail matrix..github/workflows/compilation.yml: CI build and packaging pipeline.
Use ps2dev/ps2dev and run:
make clean elfloader all- PS2 toolchain environment (
PS2DEV,PS2SDK, gsKit/ports libs). ps2-packer,make, and standard build tools.
bin/enceladus.elf(intermediate)bin/POPSLOADER.ELF(packed launcher)
HDD (exFAT)menu path is not implemented yet.SMB (v1)menu path is not implemented yet.- Current release focus is stability/correctness/hardening, not new backend expansion.
- israpps (El_isra) for POPSLoader.
- Daniel Santos for Enceladus.
- Berion for graphics and design.
- nuno6573 for Cover Art System and supporting scripts.
- Ripto / NathanNeurotic for project continuation, release work, and AI-assisted development persistence.
- Hugopocked for POPStarter fixes.
- R3Z3N for ps2store.com.
- Codex for enabling high-velocity development iteration.
@VizoR@bigol@nuno6573@P4NCHOL1NO@rorcarrot@UNDEAD@Berion@R3Z3N(ps2store.com)@Kamo- If I missed you, please contact me: https://tinyurl.com/PS2SPACE
This project retains the GNU General Public License v3.0.
