[FORK] POPSLoader for MMCE, MX4SIO, USB, and APAHDD

PS2 [FORK] POPSLoader for MMCE, MX4SIO, USB, and APAHDD BETA-10

BETA-10
----------------------------------------​

da476654-0f17-46fb-b309-4b37116ff21c


· Video Preview

----------------------------------------

POPSLoader BETA-10

A memory card in slot 1 (mc0) is required for settings and BDMA.

Box Art
Place <Title>.png alongside your VCDs (HDD uses __common/POPS/ART/).

All art must be 200×200, 8-bit, non-interlaced, RGB(A) PNG.

POPSLoader
Place PS1_POPSLOADER/ contents on any supported device (APPS/PS1_POPSLOADER/ also works).


Place POPSTARTER.ELF on any supported device and point POPSLoader to that path:

  • mc0:/POPSTARTER/POPSTARTER.ELF
  • mass:/POPS/POPSTARTER.ELF
  • mx4sio:/POPS/POPSTARTER.ELF
  • mmce:/POPS/POPSTARTER.ELF
  • etc


Device Layouts

BDMA is required for all devices except HDD — enable it in Settings.
Only one BDMA mode can be active at a time (e.g., selecting MMCE disables USB and MX4SIO).
HDD (PFS) works regardless of BDMA status.

USB (FAT32 / exFAT) / MX4SIO / MMCE

  • <device>:/POPS/<Title>.VCD
  • <device>:/POPS/<Title>.png

HDD (PFS)

  • hdd:/__.POPS/<Title>.VCD
  • hdd:/__common/POPS/ART/<Title>.png


POPSLoader BETA 10

This release fixes several important issues with POPSLoader, especially for users launching PS1 games from HDD.

The biggest improvement is that the HDD launch path has been cleaned up and tested on real PS2 hardware. The D-10 issue that caused HDD-based POPSTARTER launching to fail has been fixed, making HDD support much more reliable.

This release also fixes the BOOT.ELF exit option, so users can return to wLaunchELF from POPSLoader again without hitting a black screen.

What's New

HDD Launching Is Fixed


HDD support is now in a much better state.

The issue that caused the D-10 HDD launch test to fail has been fixed. POPSLoader can now hand off to POPSTARTER from HDD correctly, without breaking the existing launch behavior for other devices.

This means HDD users should have a much smoother experience when launching PS1 games through POPSLoader.

BOOT.ELF Exit Works Again

The BOOT.ELF exit option has been restored.

You can now use the Exit menu to launch BOOT.ELF / wLaunchELF again. The Triangle shortcut has also been restored.

This was previously hidden because it caused a black screen on real hardware. That issue has now been fixed and tested.

UI Improvements

This release also includes interface cleanup and polish.

The Exit menu has been updated, BOOT.ELF is visible again, and the current UI improvements from the development branch are included.

Documentation Updates

Some project documentation and QA notes were also updated.

These updates help track what was fixed, what was tested, and what still needs future attention.

Fixed

- Fixed HDD D-10 POPSTARTER launch failure.
- Fixed BOOT.ELF / wLaunchELF exit black screen.
- Restored BOOT.ELF in the Exit menu.
- Restored Triangle shortcut for BOOT.ELF.
- Improved HDD launch reliability.
- Preserved existing USB, MMCE, MX4SIO, SMB, and non-HDD launch behavior.
- Included GUI polish and documentation updates.

Tested

Tested on real PS2 hardware.

Confirmed working:

- HDD POPSTARTER launching.
- BOOT.ELF / wLaunchELF exit.
- Triangle shortcut for BOOT.ELF.
- Existing working launch paths remain intact.

Notes

This is being released as BETA 10.

Even though some of the development work happened on the BETA-12-PLAY branch, this release represents the current tested public build point.

Recommended for users who want the latest HDD fixes, restored BOOT.ELF exit support, and the newest UI improvements.

What's Changed

Code:
Move RESET_IOP reboot into _ps2sdk_memory_init hook by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/404
- Refactor POPSTARTER launch assembly into shared helper for HDD/non-HDD parity by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/405
- Add strict HDD POPSTARTER pre-exec accessibility gate by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/406
- Tighten HDD POPSTARTER launch route contract and explicit fallback by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/407
- elf_loader: move embedded loader control args off POPSTARTER argv by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/408
- Preserve System.loadELF argv contract for HDD reboot paths by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/409
- Harden pfsN→HDD partition recovery for POPSTARTER by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/411
- Add guarded pfs POPSTARTER launch fallback when partition context is unavailable by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/412
- Improve HDD partition context recovery for mounted pfs slot paths by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/413
- Preserve POPSTARTER exec PFS slot during external ELF launch handoff by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/414
- Improve pfsN slot recovery and POPSTARTER HDD partition resolution by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/415
- Ensure POPSTARTER argv selector present and preserve exec PFS slot by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/416
- Deterministic pfsN:/ slot recovery in BuildHddPartitionContext by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/417
- Prefer HDD game partition during POPStarter pfs context recovery by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/418
- Improve pfs slot HDD partition recovery order by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/419
- Preserve original POPSTARTER PFS slot during external ELF launch by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/420
- Preserve source PFS slot metadata during POPSTARTER HDD launch setup by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/421
- elf_loader: enforce POPSTARTER argv[0] contract for HDD-backed embedded loader launches by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/422
- Support mounted-pfs-fallback when POPSTARTER HDD partition context is unavailable by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/424
- Add STRICT_HDD_PREEXEC_GATE setting to control HDD pre-exec gate behavior by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/425
- Restrict PLDR.RunPOPStarterGame mounted-pfs fallback to HDD-derived launches by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/426
- Preserve raw HDD partition context across POPStarter path resolution by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/427
- Resolve profile vs persisted POPSTARTER backend mismatch and normalize selection by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/428
- Add launch diagnostics snapshot to POPSTARTER failure UI by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/429
- Enforce explicit POPSTARTER path precedence and persist selection mode by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/430
- Harden POPSTARTER default path handling for absolute custom device paths by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/431
- Show configured/effective/resolved POPSTARTER paths in launch-failure UI by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/432
- Extract IOP reset to _ps2sdk_memory_init and fix loader.c generation in elf_loader Makefile by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/434
- Compact launch-failure diagnostics: show profile, route, configured/effective/exec paths by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/435
- HDD fallback-mounted-pfs: reconstruct POPSTARTER exec mount from selected partition by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/437
- Add explicit launch-failure reason codes for config and partition context by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/438
- docs: resync BETA-12-PLAY source-truth audit by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/439
- Preserve custom POPSTARTER path commits by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/440
- Document potential settings/path integrity risk for POPSTARTER saves by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/441
- Track profile-default POPStarter selection and persist selection mode on save by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/442
- Claude/thirsty mirzakhani 7645ba by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/443
- Settings: rewrite MPROFILE as OPL-style focused list by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/444
- Settings: prompt to save on Back when there are unsaved changes by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/445
- D-10: recover mounted-PFS source partition + fix popup arg slots by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/446
- Launch failure popup: add Boot/Path/Ctx diagnostic lines by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/447
- Checkpoint UI polish with known BOOT.ELF issue by @NathanNeurotic in https://github.com/NathanNeurotic/POPSLoader/pull/448
Full Changelog: https://github.com/NathanNeurotic/POPSLoader/compare/BETA-9-0...release

Updates / Improvements Coming

BETA 10 fixes several major hardware-tested issues, but there is still more planned for future POPSLoader builds.

Planned areas of work include:

- Boot speed improvements
Reducing startup time where possible so POPSLoader reaches the game list faster.

- Further wLaunchELF / BOOT.ELF compatibility fixes
BOOT.ELF exit is working again, but future updates may continue improving compatibility for users who still hit black screens with certain wLaunchELF builds, memory card setups, or unusual launch environments.

- Modchip black-screen investigation
Some modchip setups may behave differently during launch or exit handoff. Future builds may include safer launch conditions or alternate paths for users affected by modchip-related black screens.

- Smaller ELF / package size
Reducing file size where possible by cleaning up unused code, old leftovers, duplicate logic, and unnecessary embedded assets.

- Lazy loading where possible
Investigating whether some assets, menus, images, or features can be loaded only when needed instead of all at startup.

- POPS profile replacement / custom path cleanup
Replacing the older POPS profile-style behavior with a cleaner custom-path system similar to the DKWDRV setup, while keeping the current defaults that already work for normal users.

- Better device detection
Improving how POPSLoader detects and handles devices like usb:, mx4sio:, and ata: by using their IOCTL behavior more like mass: already does.

- DKWDRV launch-condition improvements
Updating DKWDRV launch checks to behave more like the fixed BOOT.ELF conditions, giving it a cleaner and safer launch environment.

- Berion graphical improvements
Continued visual polish, cleanup, and possible graphical improvements based around Berion-style presentation work.

- Credits update
Updating the credits so contributors, testers, tools, and related project work are represented more accurately.

- Optional boot-sequence skip
Adding a setting to skip or shorten the boot sequence for users who want POPSLoader to open faster.

- HugoPocked fixes menu
Adding a per-game fixes/settings menu for HugoPocked-related compatibility options.

- Cheats menu
Adding a per-game cheats menu so cheat-related options can be managed directly from POPSLoader.

- VMC menu
Adding per-game VMC settings so users can manage virtual memory card behavior more easily.

- Disc swap / multi-disc setup menu
Adding a per-game information and setup menu for multi-disc games, including clearer instructions for disc-swap behavior.

- IGR button-combination options
Adding settings for in-game reset button combinations so users can choose or understand the shortcut behavior more easily.

- Help menu
Adding a Help page, likely as a second page near the Credits area, to explain controls, paths, setup notes, and common troubleshooting steps.

- Cover art / asset-loading improvements
Improving how covers and assets are loaded, especially for larger libraries and slower devices.

- Large game-list performance cleanup
Improving browsing performance for users with bigger PS1 collections.

- Cleaner settings organization
Continuing the move toward easier settings pages instead of hidden behavior, unclear profile logic, or scattered configuration options.

- Better release packaging
Making release ZIPs easier for new users to understand, with clearer folder structure, included files, and setup expectations.

- More hardware testing across devices
Continuing to test USB, HDD, MMCE, MX4SIO, SMB, BOOT.ELF, and POPSTARTER paths on real hardware before calling fixes stable.

The goal for future releases is to make POPSLoader faster, smaller, easier to configure, and more reliable across different PS2 setups.
POPSLOADER BETA-9
PS1 loader for POPStarter with support for USB, MX4SIO, MMCE, and HDD game layouts
da476654-0f17-46fb-b309-4b37116ff21c


DOWNLOAD

VIDEO PREVIEW

__________________________________________________
HOTFIX
Updated 03/20/2026

Binaries were replaced and the proper source was added.
This hotfix should resolve the reported issues.

__________________________________________________
READ THIS FIRST
POPSTARTER.ELF MUST NOT BE ON HDD
POPSLoader itself can be placed on any supported device


This means:

  • POPSTARTER.ELF goes on mc0, USB, MX4SIO, or MMCE
  • POPSLoader can be launched from wherever you want
__________________________________________________
REQUIREMENTS
POPS Binaries
Place these files in one of the following locations:
Code:
<device>:/POPS/
or
Code:
hdd:/__common/POPS/
Download POPS Binaries
PS1 Game Images
Place your .VCD files in one of the following locations:
Code:
<device>:/POPS/
or
Code:
hdd:/__.POPS/
PS1 Preservation Collection
Convert bin/cue images with:
POPS-VCD-Manager
Box Art
Place box art as:
Code:
<Title>.png
Store it next to the VCD on device-based setups, or here for HDD:
Code:
hdd:/__common/POPS/ART/
Required image format:
  • 200x200
  • 8-bit
  • Non-interlaced
  • RGB(A) PNG
POPSLoader Files
Place the PS1_POPSLOADER folder on any supported device.
Code:
PS1_POPSLOADER/
Alternate path also supported:
Code:
APPS/PS1_POPSLOADER/
__________________________________________________
SETUP
Memory Card Requirement

A memory card in slot 1 (mc0) is required for settings and BDMA.

Valid POPSTARTER.ELF Locations
Code:
mc0:/POPSTARTER/POPSTARTER.ELF
mass:/POPS/POPSTARTER.ELF
mx4sio:/POPS/POPSTARTER.ELF
mmce:/POPS/POPSTARTER.ELF
__________________________________________________
DEVICE LAYOUTS
BDMA Notes
  • BDMA is required for USB, MX4SIO, and MMCE
  • BDMA is not required for HDD
  • Only one BDMA mode can be active at a time
USB / MX4SIO / MMCE Layout
Code:
<device>:/POPS/<Title>.VCD
<device>:/POPS/<Title>.png
HDD Layout
Code:
hdd:/__.POPS/<Title>.VCD
hdd:/__common/POPS/ART/<Title>.png
__________________________________________________
STATUS
  • Like
Reactions: Algol and jolek
Requirements

POPSLoader can be installed and launched from ANY device.

da476654-0f17-46fb-b309-4b37116ff21c


GitHub Downloads (all assets, all releases)

Video Preview Here

POPSLoader

POPSLoader is an open-source launcher for POPStarter that is scripted in Lua and built on top of the Enceladus runtime. This repository packages the launcher (POPSLOADER.ELF), runtime Lua scripts, textures, and required modules into a single, portable bundle intended for PlayStation 2 environments such as MMCE and USB mass storage.

POPSLoader was created by El_isra, and this repository is a fork of his work. Endless thanks to @israpps for his contributions and open-source projects gifted to the community.

Theme graphics by Berion and Scripts Collaborated/Created by @nuno6573.

Project lineage: This project is derived from the Enceladus Lua environment by @DanielSant0s and retains its GPLv3 licensing.

This release is a major hardening pass completed over the last 72 hours.

Highlights
  • Settings flow reliability – Hardened settings commit/apply consistency; improved save/apply progress and busy feedback; stabilized settings layout and alignment for clarity; added staged editable POPStarter and DKWDRV paths.
  • Launch path + POPStarter handoff fixes – Restored and corrected POPStarter prefix/arg handling; fixed arg0/prefix regressions affecting launch behavior; improved launch validation and path robustness.
  • Device/backend detection improvements – Fixed USB/MMCE/MX4SIO detection regressions and delayed init behavior; improved device-page isolation/feedback; better handling of MX4SIO first-entry behavior.
  • Cover/art behavior – Cover derivation now follows resolved VCD paths more strictly; cover/UI stack behavior cleaned up; art/transparency and asset formatting fixes landed.
  • Asset and code cleanup – Removed unused/legacy assets and redundant code paths; compressed/normalized scene background assets; embedded asset pipeline cleanup (including removal of unused `HDD.png` embedding).
  • Packaging and release policy – Release packaging now uses `POPS/PATCH_5.BIN`; legacy POPS `.tm2` payloads removed from release policy; CI/release validation tightened around expected package contents.
  • Documentation + QA – Full documentation audit/update across architecture, components, rules, state, roadmap, decisions, prompts, and contribution guidance; regression matrix expanded and refreshed for current behavior.

Notes / Current status
  • `HDD (exFAT)` menu path is still not implemented.
  • `SMB (v1)` menu path is still not implemented.
  • This drop is focused on stability, behavior correctness, and release hygiene rather than new backend feature additions.

Thanks to everyone testing edge cases quickly during this push.

  • Unify USB pages into a single bounded multi-device USB page by @NathanNeurotic in PR #243
  • Embed UI assets; make BDMA IRX copy optional and non-fatal by @NathanNeurotic in PR #244
  • CI: produce flat APP_POPSLOADER.zip release artifact by @NathanNeurotic in PR #245
  • Fix embedded Lua searcher: Lua-only assets + correct module mapping by @NathanNeurotic in PR #246
  • CI: ship final flat APP_POPSLOADER.zip contents by @NathanNeurotic in PR #247
  • Enforce embedded-only Lua script loading by @NathanNeurotic in PR #248
  • Finalize embedded-only Lua module boot flow by @NathanNeurotic in PR #249
  • Debounce cover art loading to eliminate scroll lag by @NathanNeurotic in PR #250
  • Add embed:/ embedded-asset resolver and unify embedded asset lookup by @NathanNeurotic in PR #253
  • Add libpng interlace handling to embedded PNG decode path by @NathanNeurotic in PR #254
  • Align splash elements and use BG.png for Credits/Settings by @NathanNeurotic in PR #255
  • Premium eased fades for boot and runtime scene transitions by @NathanNeurotic in PR #256
  • Adjust boot pacing: explicit splash/credits holds and premium fade timing by @NathanNeurotic in PR #258
  • Silence Lua logging and remove launch.log writer by @NathanNeurotic in PR #260
  • Remove unused launch.log string from elf loader by @NathanNeurotic in PR #261
  • Add deferred BDMA mode save/apply flow in Profiles by @NathanNeurotic in PR #262
  • Normalize APP_DIR host paths for BDMA source lookup by @NathanNeurotic in PR #263
  • Implement MX4SIO main-menu entry with bounded init retry by @NathanNeurotic in PR #264
  • Fix mass backend refresh, MX4SIO 2-pass init, and BDMA save hang by @NathanNeurotic in PR #265
  • ci: package release as POPSLOADER.zip with split root folders by @NathanNeurotic in PR #266
  • Fix MX4SIO page freeze and embed BDMA assets for USB boot by @NathanNeurotic in PR #267
  • Harden POPSTARTER preflight with bounded backend ensure by @NathanNeurotic in PR #268
  • Make MX4SIO detection init-first and MX4SIO IRX load idempotent by @NathanNeurotic in PR #272
  • Exclude MX4SIO mass index from USB aggregation after MX4SIO init by @NathanNeurotic in PR #273
  • Ensure FAT32 BDMA always removes legacy IRX files by @NathanNeurotic in PR #275
  • Deterministic MX4SIO identity via exact "sdc" backend mapping by @NathanNeurotic in PR #280
  • Unify POPSTARTER UI assets to *.bdma and fix build/embed/CI references by @NathanNeurotic in PR #286
  • Embed boot.adp and load boot audio from embedded assets only by @NathanNeurotic in PR #287
  • ui: add minimal DKWDRV modal and direct BOOT chainload by @NathanNeurotic in PR #291
  • Add BOOT-only IOP-reboot chainload path and simplify BOOT resolver by @NathanNeurotic in PR #295
  • Adjust main menu layout alignment by @NathanNeurotic in PR #296
  • ui: restore deterministic intro hold timing with frame-based holds by @NathanNeurotic in PR #298
  • Scale footer icons (70%) and restore BETA-5 vertical alignment by @NathanNeurotic in PR #299
  • Prevent BOOT.ELF missing crash by aliasing `UI.Notify` to notification queue by @NathanNeurotic in PR #300
  • Fix MX4SIO mass root mapping and scoped second ping by @NathanNeurotic in PR #301
  • Fix MX4SIO detection and prevent USB hotplug leakage by @NathanNeurotic in PR #305
  • Fix getMassMountDriver: pure C mount query, no Lua recursion by @NathanNeurotic in PR #321
  • MX4: auto second attempt on first entry (bounded, no sleeps) by @NathanNeurotic in PR #324
  • FAT32: delete only mc0:/POPSTARTER/usbd.irx and usbhdfsd.irx by @NathanNeurotic in PR #345
  • Remove BDMA square footer action from Profile settings by @NathanNeurotic in PR #346
  • Reduce footer button bar icon scale by 10% globally by @NathanNeurotic in PR #347
  • docs: refresh STATE/ARCHITECTURE/RULES/PROMPTS/DECISIONS from repo truth by @NathanNeurotic in PR #351
  • Reorganize Settings screen and register up/down direction icons by @NathanNeurotic in PR #348
  • Adjust Settings screen vertical block layout and spacing in POPSLDR UI by @NathanNeurotic in PR #354
  • Save settings on Settings exit and reconcile BDMA UI from effective marker by @NathanNeurotic in PR #353

Full Changelog: BETA-3 → BETA-8.5
Requirements
  • <device>:/POPS/ or hdd:/__common/POPS/
    IOPRP252.IMG, POPS.ELF, POPS.PAK, POPS_IOX.PAK
  • <device>:/POPS/ or hdd:/__.POPS/
    <Title>.VCD — bin/cue converted for POPStarter
  • PS1_POPSLOADER/<content> or APPS/PS1_POPSLOADER/<content>

Goals Still In Progress
  • Save Settings Speed-up
  • Map settings to mc0:/POPSTARTER/ instead of mc0:/POPSLOADER (save icon space / reduce redundancy)
  • Fix DKWDRV Launching / Graceful Failure
  • Fix Exit to BOOT.ELF / Graceful Failure
  • Alignment Graphical Changes
  • Settings Page Visual Overhaul
  • Button Bar Corrections
  • Embed Startup Sound for Reliability
  • Unify list.icn.<bdma> to save space between versions
  • smbv1
  • ilink BDMA support
  • udpbd BDMA support
  • cover art fix (<device>:/POPS/<VCD Name>.png)
  • Custom POPStarter path entry
  • Custom DKWDRV path entry
  • Graphical fixes
  • Navigation button fixes
  • Settings page re-design

da476654-0f17-46fb-b309-4b37116ff21c




Video Preview Here

POPSLoader

POPSLoader is an open-source launcher for POPStarter scripted in Lua and built on top of the Enceladus runtime. This repository packages the launcher (POPSLOADER.ELF), runtime Lua scripts, textures, and required modules into a single, portable bundle intended for PlayStation 2 environments such as MMCE and USB mass storage.

POPSLoader was created by El_isra, and this repository is a fork of his work. Endless thanks to Isra for his contributions and open-source projects gifted to the community.

Project lineage: This project is derived from the Enceladus Lua environment and retains its GPLv3 licensing.

Full Changelog:
https://github.com/NathanNeurotic/POPSLoader/compare/BETA-6...BETA-7
BOOTS FROM: MC, MMCE, MX4SIO, USB (FAT32/exFAT)
CAN NOT BOOT FROM: host, APA-HDD
CAN RUN GAMES FROM: MMCE, MX4SIO, USB (FAT32/exFAT), and APA-HDD. BDMA required settings per device except APA HDD.

Coming

  • APA-HDD Bootable
  • host bootable (PCSX2 users)
  • Graphical fixes (MMCE page seems broken when booted from MX4SIO)
  • Art System Fix and Upgrade by nuno and berion
  • Multi-USB/HOT Plugging Safe


da476654-0f17-46fb-b309-4b37116ff21c








POPSLoader

POPSLoader is an open-source launcher for POPStarter that is scripted in Lua and built on top of the Enceladus runtime. This repository packages the launcher (POPSLOADER.ELF), runtime Lua scripts, textures, and required modules into a single, portable bundle intended for PlayStation 2 environments such as MMCE and USB mass storage.

POPSLoader was created by El_isra, and this repository is a fork of his work. Endless thanks to Isra for his contributions and open-source projects gifted to the community.

Project lineage: This project is derived from Enceladus and retains its GPLv3 licensing.

POPSLoader Stress Test — Tester Checklist

Known issue: ART IS STILL BROKEN. Ignore art problems for now.

Goal: break boot/device handling and report freezes, wrong device usage, or launch failures.

Reporting Format

When posting results, please include:

  • Boot device
  • Game device
  • BDMA setting used
  • Result (Works / Fail / Issue)
  • Notes (freeze, wrong device, slow, breaking behavior sequence, etc.)
  • Hardware details (PS2 model, adapters, caveats, etc.)

Boot from USB (FAT32)
BDMA settings as noted per test

  • [ ] Launch USB FAT32 game (BDMA: None)
  • [ ] Launch USB exFAT game (BDMA: exFAT)
  • [ ] Launch with 2 USB inserted (BDMA: exFAT)
  • [ ] Launch MX4SIO game (BDMA: MX4SIO)
  • [ ] Launch MX4SIO game with USB inserted (BDMA: MX4SIO)
  • [ ] Launch MX4SIO game with 2 USB inserted (BDMA: MX4SIO)

Boot from USB (exFAT)

  • [ ] Launch USB FAT32 game (BDMA: None)
  • [ ] Launch USB exFAT game (BDMA: exFAT)
  • [ ] Launch with 2 USB inserted (BDMA: exFAT)
  • [ ] Launch MX4SIO game (BDMA: MX4SIO)
  • [ ] Launch MX4SIO game with USB inserted (BDMA: MX4SIO)
  • [ ] Launch MX4SIO game with 2 USB inserted (BDMA: MX4SIO)

Boot from MX4SIO

  • [ ] Launch USB FAT32 game (BDMA: None)
  • [ ] Launch USB exFAT game (BDMA: exFAT)
  • [ ] Launch with 2 USB inserted (BDMA: exFAT)
  • [ ] Launch MX4SIO game (BDMA: MX4SIO)
  • [ ] Launch MX4SIO game with USB inserted (BDMA: MX4SIO)
  • [ ] Launch MX4SIO game with 2 USB inserted (BDMA: MX4SIO)

Boot from MMCE (maintainer will also test)

  • [ ] Launch USB FAT32 game (BDMA: None)
  • [ ] Launch USB exFAT game (BDMA: exFAT)
  • [ ] Launch with 2 USB inserted (BDMA: exFAT)
  • [ ] Launch MX4SIO game (BDMA: MX4SIO)
  • [ ] Launch MX4SIO game with USB inserted (BDMA: MX4SIO)
  • [ ] Launch MX4SIO game with 2 USB inserted (BDMA: MX4SIO)
  • [ ] Launch MMCE game
  • [ ] Launch MMCE game with USB inserted
  • [ ] Launch MMCE game with 2 USB inserted
  • [ ] Launch MMCE game with MX4SIO inserted
  • [ ] Launch APA HDD game

Boot from APA HDD

  • [ ] Launch USB FAT32 game (BDMA: None)
  • [ ] Launch USB exFAT game (BDMA: exFAT)
  • [ ] Launch with 2 USB inserted (BDMA: exFAT)
  • [ ] Launch MX4SIO game (BDMA: MX4SIO)
  • [ ] Launch MX4SIO game with USB inserted (BDMA: MX4SIO)
  • [ ] Launch MX4SIO game with 2 USB inserted (BDMA: MX4SIO)
  • [ ] Launch MMCE game
  • [ ] Launch MMCE game with USB inserted
  • [ ] Launch MMCE game with 2 USB inserted
  • [ ] Launch MMCE game with MX4SIO inserted
  • [ ] Launch APA HDD game

What We're Trying to Catch

Report immediately if you see:

  • Hard freezes
  • Black screens
  • Page malformations/bad alignments
  • Wrong device being used for launch or page
  • BDMA mismatch behavior or failure behavior
  • Device not detected when present
  • Major slowdown entering pages
  • Any crash when multiple devices are inserted

What's Changed

  • Reduce global UI lag by cutting transition/input delays and removing active pad debug trace code — PR #148
  • Remove runtime boot-device UI navigation locks — PR #149
  • Fix mass enumeration gaps and remove enumerator side effects — PR #150
  • Codex-generated pull request — PR #151
  • Unify USB scenes into GUSB and preserve per-entry mass slot metadata — PR #152
  • Codex-generated pull request — PR #153
  • Codex-generated pull request — PR #154
  • Add USB-only boot-script retry (USB patience) — PR #163
  • Add mx4sio IRX externs and unconditional load in main init — PR #172
  • Add boot-time probing to resolve mass:/ to concrete massN:/ paths — PR #173
  • Normalize argv0 and verify boot_path before chdir/runScript — PR #175
  • Derive readiness device root from computed boot path — PR #174
  • Fix MX4SIO page freeze by making MX4 init idempotent on page entry — PR #176

Full Changelog:
https://github.com/NathanNeurotic/POPSLoader/compare/BETA-5...BETA-6
https://github.com/NathanNeurotic/POPSLoader/compare/BETA-5...BETA-6
https://github.com/NathanNeurotic/POPSLoader/compare/BETA-5...BETA-6
Back
Top