Rany Battikh

Open PS2 Loader version 1.0 released

While this bit of news is a few months old at the time of writing this post, I believe it still holds a big relevance for PS2 enthusiasts. The team behind the infamous open-source PS2/PS3 game and application launcher Open PS2 Loader has released a comprehensive update that addresses a huge amount of issues.

Version 1.0 of OPL appeared almost 5 years after the what-we-thought-could-be-the final-update, version 0.93. Although that version was still considered a robust solution for booting up images from USB mass storage devices and/or IDE drives, it left a lot to be desired in terms of stability and compatibility.

The latest update, which was released in January 2021, introduces A TON of fixes and improvements to the core and addresses pertinent compatibility issues for games like Metal Gear Solid 3 and God of War II. The GUI received a fresh coat of paint as well as new features such as Hi-resolution video modes and Improved VMC functionality.

I still think the PS2 is in dying need of a proper Optical Drive Emulator (ODE) but OPL continues to act as a fantastic solution for perfectly running most titles from the PS2’s gigantic catalogue.

If you’re like me, and totally missed on this update back when it first got released, make sure to check the links below and update your PS2 homebrew setup for a much improved experience.


Official Changelog of Open PS2 Loader version 1.0:


  • Cache games list, allows the scanning of devices for games to be speed up, by caching the
    existence of games in a file, (HDD/SMB/USB). In the case of the HDD the cache is always used,
    unless the user manually refreshes the list or renames/deletes a game.
  • APPS new system, now can be stored within their own folder, within the APPS folders on the game
    devices. Each app should have its own title.cfg file. The old apps system is still supported.
    (Example: on a USB disk: APPS/LaunchELF/BOOT.ELF, title.cfg).
  • Merged GSM-CHEAT-VMC-Childproof. These functions are integrated, they are no longer compile separately.
  • PADEMU, new function, added support for DualShock 3/4 (USB & Bluetooth).
  • Lang support from all devices (USB, HDD & SMB), new folder “LNG” created for storing all the language files in each device.
  • Changed how devices are selected for loading/storing config files. When loading: 1. Check memory cards. 2. If config could be loaded, try the device that OPL was booted from (supported devices only). 3. If config could not be loaded, try all supported devices. 4. Default to memory card, if no config file could be loaded.
  • Updated with newlib v1.14.0.
  • GSM, numerous improvements, changes and fixes.
  • IGR, numerous fixes and updates.
  • SMB updates, numerous patches and changes in SMSTCPIP.
  • IGS new function, support for take in game screenshots, (non functional).
  • Skip videos improved, now not only skips PSS videos, also .BIK and sceMpegIsEnd based ones.
  • PS2 Logo, shows the PS2 logo when launching a game, it will be properly displayed only
    if both disc and console region match. Consumes a few extra IOP RAM bytes.
  • Removed Mode 7, (High Module Storage).
  • Updated HDD and PFS drivers.
  • CDVDFSV: various fixes.
  • USB, improved USB devices detection. Also increased priority of USBD in-game to 2 & 3.
  • Toolchain, fixes for the new toolchain.
  • Settings for display X and Y offset.
  • Textures: Add bmp support (from gsKit).
  • Power button can now be pressed to shut down the PS2 within OPL’s GUI, when the network adaptor is in use.
  • Improved I/O performance for USB transfers by lifting restrictions on transfer length and
    allowing the USB callback to continue transfers.
  • (SMAP-ingame) ported workaround for MAL Rx FIFO becoming unresponsive, reduced DMA block size to
    64 for better performance, adjusted code to make less loads from the hardware and adjusted
    code for readability.
  • Fixed partition creation of +OPL: added PFS filesystem setting, changed open flags to
    WRONLY and removed unused mode parameter.
  • Fixed game size computation for HDLoader-format games.
  • Changes to CDVDMAN callback should be binding immediately.
  • Changed EE core starting free memory range from 0x00088000 to 0x00084000, following that Sony
    treats the range after 0x00084000 (from 0x00082000) as the new start point for free memory,
    which is the address used by the HDD browser, which has the alarm patch. This will give us
    more memory. But beware that this is not a well-trodden path.
  • Fixed computation of offslsn, which was not correctly updated when reading across 2 parts.
    A lot of fixes for ingame-SMSTCPIP, fixed event flag creation (when debug is on) in the ingame-ATAD.
  • Updated to support LWIP v2.0, change DNS server only for static mode & use all-zero addresses as
    the default (when DHCP is enabled).
  • Added code to shut down USB devices prior to power-off. Added more standard code for shutting
    down the HDD unit prior to power off.
  • HDPro, fixed HDPro being unable to communicate with the HDPro device.
  • Module update: refactored custom IOP module code to allow OPL to use the PS2SDK’s DEV9,
    ATAD, HDPro ATAD and USBHDFSD modules directly. Updated in-game DEV9, SMAP, ATAD and HDPro ATAD.
  • Added workaround for bad GameStar adaptor to in-game ATAD code.
  • PS2LINK: final warning fixed, now ps2link module synced with https://github.com/ps2dev/ps2link.
  • Fixed framerate increase whenever the UI is delayed.
  • HDLDump server, fixed crash that may occur if the game settings network update function is used
    and the HDLDump server is started, and fixed a freeze when the HDLDump server is started and a
    game is booted from either HDD or USB device.
  • Fix for HDD size calculation, new poweroff processing mechanism, fixed PBUF allocation for Ethernet
    ARP request, new option for SMSTCPIP to save more RAM.
  • Fix for renaming on USB disks.
  • Fixed MC icon.
  • Fixes for PS3 BC (Backwards Compatible) (SMB).
  • Fix Per-Game Cheat Engine, all devices.
  • Fix font missing when selecting different language.


  • New default theme & logo by Berion.
  • New game menu/global game settings.
    Added global settings for the settings of a game (conf_game.cfg).
    This allows the user to choose between loading per game, or global settings in a game for each of its functions.
    The global configuration is the default and supports GSM, PS2RD and PADEMU.
    If the per game configuration is chosen, it will have priority over the global one.
  • Moved the games settings inside a submenu – “Game Menu”.
  • Moved the functions of delete and rename inside the new Game Menu.
  • Eliminated the information page from general options and mapped it to the square button.
  • Added the information page to default theme.
  • Hi-Resolution video modes.
  • Added video mode confirmation when user changes video mode.
  • Added SFX sounds for the intro and menus.
  • Add new start and select buttons, optimize texture filesize.
  • New fade transition (replaces slide).
  • Fix font, alpha and colours.
  • 4/8 bit png support.
  • Notifications.
  • Updated about page.
  • Updated font to POEVeticaNew.
  • Font fixed scaling for video modes with non square pixels, and for auto video mode.
  • If switching from custom language back to Internal English, reload default internal font.
  • Correctly render interlaced frame mode.
  • Improve alpha blending in 16bit (dithering) mode.
  • Scale button icons.
  • Fix vertical font alignment.
  • Added button in display settings to reset theme to default compiled in colours.
  • Allow the user to auto or manually refresh the apps list. Changed buttons to only refresh the active item (instead of all items) when auto refresh is enabled.
  • Themes:
  • Increased maximum texture size to 1024×1024.
  • Translate information page attribute text keys.
  • Allow internal theme to use overlays and multiple default textures.
  • (ItemsList) Allow itemsList to be centered.
  • (Hint strings) The information texts have the unified positions in x and y, themes now they have the option of “aligned=1” to align the screen texts to the center of the main and info pages.
  • (AttributeText) and (AttributeImage) can be used now in the main menu of themes.
  • Added MiB suffix to #Size AttributeText.
  • (Fixed old bug) Fixed a bug in custom themes that uses the information page, where if the elements of the main page go in two digits, e.g. “main10:”, the elements of the information page that go in one digit, e.g. “info0:”, are not loaded.
  • (Fixed bug) Fixed a bug with fonts where they were not loaded with custom themes.
  • (Fix) Fixed loading theme from “manual” device.
  • VMC, Fix for VMC name not displayed when first entering menu if one is already configured.
  • Various bug fixes.


  • Fix for Kingdom Hearts II, fixed transitions in the Gummi missions, from the overworld map to the gummi menu, and from the gummi stage back to the gummi menu. Tested using SMB mode and the (SLUS-21005) version.
  • Fix for SOS: The Final Escape/Disaster Report/Zettai Zetsumei Toshi. This also includes new IOP patch functions.
  • Fix for Project Zero/Fatal Frame.
  • Fix for Samurai Warriors 2.
  • Fix for Warriors Orochi series.
  • Fix for GSM on games God of War (SCUS-97399) & Sega Genesis Collection (SLUS-21542).
  • Added patch for Virtua Quest (SLUS-20977) (SLPM-65632). Module storage location can now be specified (hardcoded) for each game.
  • Added patch for .hack (all PAL releases).
  • Added patch for Ultimate Pro Pinball (SLES-53508) [HDD & USB]. For HDD the game needs Mode 2, for USB not needs
    the Mode 2, and for SMB the game not works.
  • Added patch for Ferrari Challenge: Trofeo Pirelli (SLES-55294) and (SLUS-21780). The game freezes after the memory card check screen, if IGR was used at least once. This is caused by the game having the main thread ID hardcoded for a call to WakeupThread().
  • Added patch for Shadow Man: 2econd Coming (SLUS-20413, SLES-50446 & SLES-50608) [HDD & SMB].
    The game attempts to read 17 sectors into buffers meant for a maximum of 16. This happens because it increments the number of sectors to read by 1, when its unpacking function deals with a number of bytes that is not a multiple of 2048.
  • Added workaround for Ridge Racer V (SLUS-20002 & SLES-50000), [USB]. The game seems to have problems when the media takes too long to completely read data. The data processed by the game appears to get offset, causing some loop to never end, which ends with the scratchpad overflowing.
  • Added patch for SRS: Street Racing Syndicate (SLUS-20582 & SLES-53045) [HDD,USB,SMB].
  • Added The Fast and the Furious (SLUS-21449 & SLES-54483) to the patch list for the Eutechnyx Ltd patch.
  • Added patch for Harvest Moon: A Wonderful Life, (SLPS-25421) (SLPS-25431) (SLPS-73222) (SLUS-21171) (SLES-53480).
  • Updated Ratchet & Clank 3: Up Your Arsenal patch as HDD mode no longer has cdvdman labelled as “dev9”.
  • Added patch for Shaun Palmer’s Pro Snowboarder (SLUS-20199 & SLES-50400). Should work for (SLES-50401) & (SLES-50402) as well, perhaps only the japanese release is at risk of not being compatible due to the time between releases.
  • Fix for Twisted Metal: Black Online (SCUS-97196 & SCES-51480) [USB & SMB].
  • Fix for State of Emergency (SLUS-20214) [HDD]. Previously the NTSC-U version needed MDMA 2 to work, now it doesn’t need it.
  • Fix for Metal Gear Solid 3: Subsistence (SLUS-21243).
  • Fix for Tom Clancy’s Splinter Cell: Double Agent (SLES-53826).
  • Fix for Tom Clancy’s Splinter Cell (SLES-51466) [USB]. No more crashes after the first training mission.
  • Fix for Baldur’s Gate: Dark Alliance 2 (SLES-52188) [USB]. Fix in the level “Firewind Manor I” where the game refuse to load cutscene, resulting a bug.
  • Fix for God of War II (SCES-54206 & SCUS-97481) [USBExtreme format & SMB].
  • Fix for Legacy of Kain: Soul Reaver 2 (SLES-50196) [USBExtreme format]. Fixed crash happening few second before intro movie ends, and fixed a second crash was in air forge, when you go for the green crystal.




For further discussion, follow me on Twitter: