PS2:Open PS2 Loader (OPL): Difference between revisions

From ConsoleMods Wiki
Jump to navigation Jump to search
(Add quick summary of how opl does IRS magic and talk a bit of compatibility)
 
No edit summary
Line 1: Line 1:
=== OpenPS2Loader ===
A homebrew game loader that loads PS2 games from digital devices. It works by loading special software to both the Emotion Engine (EE) and the I/O CPU, which interfere in the game normal behavior. The IOPCORE, which runs in the I/O(PS1) CPU is in charge of replacing the CDVDMAN module amongst others. Its 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). For all intents and purposes, the game believes it is loaded from the disc drive.


A homebrew game loader that loads PS2 games from digital devices.
The EE program (known as EECORE) is in charge of hooking up several 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).


It works by loading special software to both the EE and the I/O CPU, Wich interfere in the game normal behavior.
== Compatibility Issues ==


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.
Every game is different. The PS2 library has more than 4,000 games, all of which are coded with different versions of the Sony SDK, on different years, by different companies. To worsen things, the IOP core has to maintain the smallest footprint possible due to the limitation of 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.


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).
RAM consumption is also tied to the device that is hosting the game image. The most demanding devices are SMB network and USB. And the ones which consume the least of IOP RAM are MX4SIO and internal HDD.


==== Compatibility Issues ====
Later slims (SCPH-75xxx+) had slightly worse compatibility. Fortunately, on 2023 OPL got support to operate the '''XPARAM''' module, which 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 which slim version and region you're using.
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.

Revision as of 16:38, 29 October 2023

A homebrew game loader that loads PS2 games from digital devices. It works by loading special software to both the Emotion Engine (EE) and the I/O CPU, which interfere in the game normal behavior. The IOPCORE, which runs in the I/O(PS1) CPU is in charge of replacing the CDVDMAN module amongst others. Its 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). For all intents and purposes, the game believes it is loaded from the disc drive.

The EE program (known as EECORE) is in charge of hooking up several 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 different. The PS2 library has more than 4,000 games, all of which are coded with different versions of the Sony SDK, on different years, by different companies. To worsen things, the IOP core has to maintain the smallest footprint possible due to the limitation of 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 the device that is hosting the game image. The most demanding devices are SMB network and USB. And the ones which consume the least of IOP RAM are MX4SIO and internal HDD.

Later slims (SCPH-75xxx+) had slightly worse compatibility. Fortunately, on 2023 OPL got support to operate the XPARAM module, which 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 which slim version and region you're using.