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

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

POPSLOADER
-----

LAST UPDATED 05/23/2026
POPSLOADERTV.png


· 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.
  • 542492534-da476654-0f17-46fb-b309-4b37116ff21c.png
    542492534-da476654-0f17-46fb-b309-4b37116ff21c.png
    29.5 KB · Views: 1,484
  • Like
Reactions: Woheth and jolek
Uploaded by
Ripto
Downloads
1,105
Views
1,105
First release
Last update

Ratings

5.00 star(s) 2 ratings

More resources from Ripto

Latest updates

  1. POPSLoader BETA 10 — HDD Support Fixes, BOOT.ELF Exit Fix, and UI Improvements

    BETA-10 ---------------------------------------- · Video Preview...
  2. POPSLoader - Beta 9 - Speed, reliability, and art update. (One issue remains)

    POPSLOADER BETA-9 PS1 loader for POPStarter with support for USB, MX4SIO, MMCE, and HDD game...
  3. POPSLoader for MMCE, MX4SIO, USB, and APAHDD - Stabilization Optimization Updates

    Requirements <device>:/POPS/or hdd:/__common/POPS/ IOPRP252.IMG , POPS.ELF, POPS.PAK...
  4. Rebase, Major Stability and Speed Update, Some Regressions

    Requirements <device>:/POPS/ or hdd:/__common/POPS/ IOPRP252.IMG, POPS.ELF, POPS.PAK...
  5. Speed Improvements, Device Fixes, Broken Art - FEEDBACK REQUESTED

    BOOTS FROM: MC, MMCE, MX4SIO, USB (FAT32/exFAT) CAN NOT BOOT FROM: host, APA-HDD CAN RUN GAMES...

Latest reviews

This is very useful
Back
Top