PS3 Running multiple custom system plugins without Cobra (like xai)

How would we go about changing the list to link system_plugin.sprx to itself, instead of basic_plugins.sprx?
No idea, maybe changing the names of that list, but i was thinking what you did by adding system_plugin.sprx maybe is handy
It looks basic_plugins.sprx and system_plugin.sprx was working together like if it was a single file, but are 2 (and one of them can contain custom code), is something unespected but maybe we can take advantage of it... dunno

For the .rco what we did with xai_plugin.rco initially was to remove most of the contents to create a "dummy" without any conflicts, but we keept 1 image under imagetree, 1 plane under objecttree and something like that (i was trying to see how to minimize it but at the same time trying to not break it, lol)
It was working, so i made some more versions removing most things and trying to make it minimal... if i remember right, at the end the only thing we kept is a "name" that appears at top that seems to be the label of the rco (but uses to be weird)

Im guessing for the tests you are doing you should do the same... take a look at the xai_plugin.rco of the mysis release to see how much it was removed
 
I tried the xai rco renamed, that caused blackscreen and soft brick requiring FW reinstall, the same with original system plugin rco except it got to show the wave, but then froze before coldboot and had to reinstall FW. Tried it twice with both rcos to be sure. 4 FW reinstalls just to test that. :)
 
I tried the xai rco renamed, that caused blackscreen and soft brick requiring FW reinstall, the same with original system plugin rco except it got to show the wave, but then froze before codlboot and had to reinstall FW. Tried it twice with both rcos to be sure. 4 FW reinstalls just to test that. :)
The xai_plugin.rco is not a complete dummy, if you extract the contents and look at the xml it has a "name" at top
If i remember right i preserved that name (like in the original)
I made a table in wiki where can be seen that names
https://www.psdevwiki.com/ps3/Template:RCOXML_contents_PS3

xai_plugin.rco doesnt appears in the table because well... the table only shows the files from 4.76 firmware
But it can be seen how the name of system_plugin.rco is just... "system_plugin" (ok, everything normal)

*But as mentioned before that names sometimes are weird, note how many rco's are named "sample"... also all the explore_category_***.rco are named "explore_plugin"... and there are many names that doesnt matches the filename


-----------
Edit:
I dont have any idea of how works that names, what means, or if are critical
 
Last edited:
Made this discovery yesterday, mentioned it in XMB mods thread, but I think it deserves its own thread as it might not get seen there.

Basically we can replace quite a few unused system plugins with xai type plugins very easily, I have tested this by running 3 variations of the xai plugin on my console at once.

All you need to do is rename the xai plugins to any one of these:
  • strviewer_plugin.sprx
  • hknw_plugin.sprx
  • edy_plugin.sprx
  • wboard_plugin.sprx
  • bdp_plugin.sprx
  • friendim_plugin.sprx
  • sacd_plugin.sprx
  • kensaku_plugin.sprx
  • etc, Im sure there are more. Only tested these few.
Then just call them in the same way as xai_plugin.sprx
Code:
 <Pair key="icon_rsc"><String>item_tex_ms_icon</String></Pair>
 <Pair key="title"><String>Enable dev_blind</String></Pair>
 <Pair key="module_name"><String>hknw_plugin</String></Pair>
 <Pair key="module_action"><String>enable_devblind</String></Pair>
 <Pair key="bar_action"><String>none</String></Pair>
 <Pair key="lbl_half"><String>1</String></Pair>

Anyway, thats it. Some of those plugins are not needed on 99.9% of consoles such as
strviewer, sacd, kensaku, hknw, and edy plugin, so these are good candidates for replacement.

Note: Strviewer_plugin seems to have issues with actions other than reboots, it
doesn't crash the console, but it kind of hangs on moving wave after performing the
action, the other plugins all work perfectly as xai replacements.

@DeViL303 is there any other plugin besides videodownloader_plugin.sprx that was removed and we can use?

i need one extra plugin xai_plugin.sprx

I'm using extended xai plugin as xai_plugin.sprx (for some rebug features)
@esc0rtd3w xai plugin as videodownloader_plugin.sprx ( for no-psn patches)

and now i'm needing one to use @Evilnat xai_plugin.sprx ( for PSID, what's new, load lv2 kernel and etc)

I thought of strviewer_plugin.sprx before reading your post and it froze my console.

Analysing your list, i don't think we can use them


bdp_plugin.sprx ( used on blu-ray playback, at least the rco is)
sacd_plugin.sprx ( used on sacd playback only PS3 faties)
friendin_plugin.sprx (used in trophy comparison features ( at least the rco, as i modded it to add PS5 trophy icons).
hknw_plugin.sprx (used by Photo Gallery)
wboard_plugin,sprx (used in What's New, i already modded this sprx to remove the background)

kensaku i don't know what it does and edy_plugin.sprx seems the most useless at least outside china, but i don't like the idea of using one that is still used in the FW.
 
Last edited:
kensaku is for the search item in network.

I do not know of any more, I never really looked into this since starting this thread. edy plugin is probably the best one to use alright. It's possible there are more old ones that are no longer included in ofw like video_downloader, not sure..
 
@DeViL303 is there any other plugin besides videodownloader_plugin.sprx that was removed and we can use?

i need one extra plugin xai_plugin.sprx

I'm using extended xai plugin as xai_plugin.sprx (for some rebug features)
@esc0rtd3w xai plugin as videodownloader_plugin.sprx ( for no-psn patches)

and now i'm needing one to use @Evilnat xai_plugin.sprx ( for PSID, what's new, load lv2 kernel and etc)

I thought of strviewer_plugin.sprx before reading your post and it froze my console.

Analysing your list, i don't think we can use them


bdp_plugin.sprx ( used on blu-ray playback, at least the rco is)
sacd_plugin.sprx ( used on sacd playback only PS3 faties)
friendin_plugin.sprx (used in trophy comparison features ( at least the rco, as i modded it to add PS5 trophy icons).
hknw_plugin.sprx (used by Photo Gallery)
wboard_plugin,sprx (used in What's New, i already modded this sprx to remove the background)

kensaku i don't know what it does and edy_plugin.sprx seems the most useless at least outside china, but i don't like the idea of using one that is still used in the FW.

The valid plugins names are found in xmb_plugin.sprx and xmb_ingame.sprx

There are 57 plugins listed.in xmb_plugin.sprx
audioplayer_plugin
avc2_text_plugin
avc_plugin
bdp_disccheck_plugin
bdp_plugin
bdp_storage_plugin
campaign_plugin
category_setting_plugin
deviceconf_plugin
dlna_plugin
download_plugin
edy_plugin
eula_cddb_plugin
eula_hcopy_plugin
explore_plugin
filecopy_plugin
friendim_plugin
friendml_plugin
friendtrophy_plugin
game_ext_plugin
game_plugin (basic_plugin.sprx)
gamedata_plugin
hknw_plugin
idle_plugin
kensaku_plugin
micon_lock_plugin
mtpinitiator_plugin
nas_plugin
netconf_plugin
newstore_plugin
np_trophy_ingame
np_trophy_plugin
npsignin_plugin
photoviewer_plugin
playlist_plugin
poweroff_plugin
premo_plugin
print_plugin
profile_plugin
ps3_savedata_plugin
regcam_plugin
remotedownload_plugin
sacd_plugin
scenefolder_plugin
software_update_plugin
strviewer_plugin
sysconf_plugin
thumthum_plugin
user_plugin
videodownloader_plugin
videoeditor_plugin
videoplayer_plugin
vmc_savedata_plugin
wboard_plugin
webbrowser_plugin
webrender_plugin
xai_plugin

Only videodownloader_plugin and xai_plugin were removed from /dev_flash/vsh/module
 
Thanks

So the best alternative is edy_plugin.sprx but i'm having trouble with it, when called the system freezes ( same thing happened with strview_plugin) having to force shutdown the system, I also replaced the rco with a dummy one, is any extra step necessary?
 
Hmm. I found something curious after speending some hours an my console freezing for no reason trying to rename the evilnat xai_plugin.sprx to other names, I thought about doing the opposite way, I changed the @ esc0rtd3w xai_plugin to edy_plugin.sprx and it WORKED, I tried to rename it to many other sprx and it worked well.


So the evilnat's just works named as xai_plugin.sprx anything other than that freezes the console, i think it is strange but is the only thing i can imagine
 
Last edited:
Hmm. I found something curious after speending some hours an my console freezing for no reason trying to rename the evilnat xai_plugin.sprx to other names, I thought about doing the opposite way, I changed the @ esc0rtd3w xai_plugin to edy_plugin.sprx and it WORKED, I tried to rename it to many other sprx and it worked well.


So the evilnat's just works named as xai_plugin.sprx anything other than that freezes the console, i think it is strange but is the only thing i can imagine
My xai_plugin version uses xai_plugin.rco because I stored string lines in it to pop up in XMB (like the original RCO files), if you rename only the SPRX it will freeze because the plugin is searching string lines from the RCO file, and if there is no RCO file named like the SPRX, it will freeze.

So, to make it working, you need to unpack xai_plugin.rco, replace line 4 from <MainTree name="xai_plugin"> to your new SPRX name, and generate it again with the new name, and you must open decrypted xai_plugin.sprx and change one checker_plugin string but I don't know which one right now. This way must work.

In a week I will release my xai_plugin version SRC on my Github account, need to test something before.

Btw, I'm researching something about using another file to replace xai_plugin, I will comment in a few minutes because I'm testing it.
 
Last edited:
My xai_plugin version uses xai_plugin.rco because I stored string lines in it to pop up in XMB (like the original RCO files), if you rename only the SPRX it will freeze because the plugin is searching string lines from the RCO file, and if there is no RCO file named like the SPRX, it will freeze.

So, to make it working, you need to unpack xai_plugin.rco, replace line 4 from <MainTree name="xai_plugin"> to your new SPRX name, and generate it again with the new name. This way must work.

Btw, I'm researching something about using another file to replace xai_plugin, I will comment in a few minutes because I'm testing it.

Oh that's interesting =)

I was always thinking about xai_plugin to store the strings in the rco for multilingual purposes, does it automatically reads the language based on the system?
 
Oh that's interesting =)

I was always thinking about xai_plugin to store the strings in the rco for multilingual purposes, does it automatically reads the language based on the system?
Yes it reads the language based on the system, I used to stored those lines in xai_plugin's SRC but i didn't like it.

After some research and testing (about one hour) there is another file we can use, I'm using it right now on my PS3 and it is possible that it will be in the final version of the CFW instead xai_plugin, this file is from Debug OFW: checker_plugin.sprx

This SPRX doesn't exist and there is no reference on retail OFW, to make it work you need to replace xmb_plugin.sprx with the debug one from 4.84 but remember to encrypt it for 4.87 OFW (this is the latest version that I have and it should be the same as 4.87 Debug)

There is an issue if you simply replace this file, if you use your new checker_plugin.sprx, "Saved Data Utility (PS3)" and "minis PSP " copy functions from XMB will stop working (Copy option will show grey, disabled). To fix this you need to change checker_plugin.sprx "ModuleLoadOpinion", you need to do this on xai_plugin SRC (checker_plugin for me), at the moment the plugin starts:

Code:
extern "C" int _checker_plugin_prx_entry(size_t args, void *argp)
{
   load_functions();
   log_function("checker_plugin", "", __FUNCTION__, "()\n", 0);

   // We need to change ModuleLoadOpinion to 0x81 (xai_plugin/checker_plugin/bdp_storage_plugin/bdp_disccheck_plugin)
   // This fixes issues while copying savedatas for example, don't know if there are more
   xmm0_interface->SetModuleLoadOpinion(0x19, 0x81); // 0x19: ID for checker_plugin

   plugin_SetInterface2(*(unsigned int*)argp, 1, checker_plugin_functions);

   return SYS_PRX_RESIDENT;
}

Original checker_plugin ModuleLoadOpinion is 0x40, sysconf_plugin, print_plugin, deviceconf_plugin and mtpinitiator_plugin uses this value, xai_plugin uses 0x81 same as bdp_disccheck_plugin and bdp_storage_plugin

Another thing I've done that is silly, but I like to remove "Connected From: 0.0.0.0 and HostName:" from the XMB, to do this you need to patch xmb_plugin.sprx with the following:

Offset: 0x5A60
Original: 0x2F840000
Patched: 0x38600000

@LuanTeles I will send you a new PUP with the new plugin and see how it works

UPDATE: Copy functions stop working while you switch between user accounts... So it needs more testing
 
Last edited:
Yes it reads the language based on the system, I used to stored those lines in xai_plugin's SRC but i didn't like it.

After some research and testing (about one hour) there is another file we can use, I'm using it right now on my PS3 and it is possible that it will be in the final version of the CFW instead xai_plugin, this file is from Debug OFW: checker_plugin.sprx

This SPRX doesn't exist and there is no reference on retail OFW, to make it work you need to replace xmb_plugin.sprx with the debug one from 4.84 but remember to encrypt it for 4.87 OFW (this is the latest version that I have and it should be the same as 4.87 Debug)

There is an issue if you simply replace this file, if you use your new checker_plugin.sprx, "Saved Data Utility (PS3)" and "minis PSP " copy functions from XMB will stop working (Copy option will show grey, disabled). To fix this you need to change checker_plugin.sprx "ModuleLoadOpinion", you need to do this on xai_plugin SRC (checker_plugin for me), at the moment the plugin starts:

Code:
extern "C" int _checker_plugin_prx_entry(size_t args, void *argp)
{
   load_functions();
   log_function("checker_plugin", "", __FUNCTION__, "()\n", 0);

   // We need to change ModuleLoadOpinion to 0x81 (xai_plugin/checker_plugin/bdp_storage_plugin/bdp_disccheck_plugin)
   // This fixes issues while copying savedatas for example, don't know if there are more
   xmm0_interface->SetModuleLoadOpinion(0x19, 0x81); // 0x19: ID for checker_plugin

   plugin_SetInterface2(*(unsigned int*)argp, 1, checker_plugin_functions);

   return SYS_PRX_RESIDENT;
}

Original checker_plugin ModuleLoadOpinion is 0x40, sysconf_plugin, print_plugin, deviceconf_plugin and mtpinitiator_plugin uses this value, xai_plugin uses 0x81 same as bdp_disccheck_plugin and bdp_storage_plugin

So the safest way are still xai_plugin and videodownloader_plugin as you CFW is using just one source of it (your own), is better leave as xai .

Here i'm using 3 different sources for different purposes and firmware types, so i just renamed the one that has the no-psn patches to edy_plugin.sprx, i leaved your as xai and the one that has REBUG FW patches as videodownloader_plugin.sprx

Everything working as it should, i tested in multiple FW =)

So far the edy_plugin.sprx is the most close to xai_plugin.sprx and videodownloader_plugin.sprx, edy viewer is not used outside japan and the service has been terminated there.

Another thing I've done that is silly, but I like to remove "Connected From: 0.0.0.0 and HostName:" from the XMB, to do this you need to patch xmb_plugin.sprx with the following:

Offset: 0x5A60
Original: 0x2F840000
Patched: 0x38600000

@LuanTeles I will send you a new PUP with the new plugin and see how it works

UPDATE: Copy functions stop working while you switch between user accounts... So it needs more testing

Yeap, they are pretty useless i also removed them, i just leave IP ADDRESS and that's all.
 
Last edited:

Similar threads

Back
Top