PS2:Open PS2 Loader (OPL)
OpenPS2Loader
A homebrew game loader that loads PS2 games from digital devices.
It works by loading special software to both the EE and the I/O CPU, Wich interfere in the game normal behavior.
The IOPCORE, Wich runs in the I/O(PS1) CPU is in charge of replacing the CDVDMAN module amongst others. It's main purpose is the CDVDMAN module replacement, since this one is in charge of disc tray I/O. The replacement module is coded to load of a digital device (USB, network, HDD, MX4SIO, iLink). So to the game eyes, it's still loading from the disc tray.
The EE program (known as EECORE) is in charge of hooking up several system syscalls, and interfering in certain operations that would remove the IOPCORE (such as rebooting the I/O CPU, or uploading an IOPRP image to the I/O CPU).
Compatibility Issues
Every game is a different world, after all, ps2 has more than 4k games, all of them coded with different versions of the Sony SDK, on different years, by different companies.
To worsen things, the IOP core has to maintain its size as small as possible, this is also a priority for the EE core, but on the IOP it's more important due to it's miserable 2MB of RAM. The only PS2 models with extra RAM are the development tools and the PSX DESR, so the RAM issue will be a problem for 99% of the PS2 models around the world.
RAM consumption is also tied to wich device is hosting the game image. The most demanding devices are SMB network and USB. And the ones Wich consume the least of IOP RAM are MX4SIO and internal HDD.
Non hardware retrocompatible Slims (SCPH-75xxx+) had slightly worse compatibility during a long time. fortunately, on 2023 OPL got support to operate the XPARAM module, Wich is in charge of changing the compatibility configurations of the DECKARD emulator. Ensuring compatibility with the ~286 games listed on the PS2TV internal compatibility list (the newest one), no matter Wich slim version and region you're using.