PS2SDK: Homebrew replacements for RMMAN
Date: Thursday, January 19, 2017 @ 04:14:41 GMT
[source: SP193 @ psx-scene.com] Homebrew replacements for RMMAN (and related modules) are now available in the PS2SDK. As the title says, the PS2SDK has received updates from me, which include a new copy of the RMMAN module from ROM v2.20. There were probably only two versions of RMMAN, with the latter one having minor bug fixes/differences that don't matter from the user's perspective:
* Does not clear the connected status, if a unrecognized response is returned within FindRemote().
* The in_buf and out_buf fields of the SIO2 data structure are set to NULL within InitFindRmCmd().
As with any RMMAN module, this homebrew version also requires a new SIO2MAN module. The freesio2 module from the PS2SDK was based on rom0:XSIO2MAN, which is only just newer than rom0:SIO2MAN. There also exists rom1:SIO2MAN, which is even newer than rom0:XSIO2MAN (and hence freesio2), which is used with RMMAN by the DVD player. Therefore, I have also created a variation of freesio2, known as rsio2man (where 'r' stands for Remote). This is just like freesio2, but has a slightly different export table (2 additional functions exported, different ordinal numbers and newer version).
I have also created variations of the available homebrew SIO2 modules (freepad and freemtap) to support the new SIO2MAN module, as rpadman and rmtapman respectively.
As for the homebrew MCMAN, I have updated it to detect and to support this new SIO2MAN version. No special edition exists, although I may/may not edit MCMAN to not have that confusing SIO2MAN detection mechanism. That would be for a different project, however.
A new sample for the EE-side remote-control library (librm) has also been added, to demonstrate how it should be used.
With this, I hope that these new developments would help in the future development of media-playback software like SMS, which are forced to rely on the modules from rom1. That was not only a little hard to work with (rom1:SIO2MAN is incompatible with the X-modules from rom0 and the PS2SDK), those modules are not available in PlayStation 2 consoles that do not have a DVD ROM chip (i.e. SCPH-10000/SCPH-15000 and the PSX).
The EurAsia forum topic is here.