Extended Download Plugin (HEN)

PS3 [RELEASE] Extended Download Plugin v1.01 (HEN) v1.01

The code goes in category_game.xml

You could put all the query lines it in this segment:
Code:
<View id="seg_install_files_hdd0_path">
<Items>
<Query class="type:x-xmb/xmlpackagefolder" key="host_provider_hdd0" src="host://localhost/q?path=/dev_hdd0/packages&suffix=.pkg&subclass=x-host/package"/>
</Items>
</View>

Like this:
Code:
<View id="seg_install_files_hdd0_path">
<Items>
    <Query class="type:x-xmb/xmlpackagefolder" key="host_provider_hdd0" src="host://localhost/q?path=/dev_hdd0/packages&suffix=.pkg&subclass=x-host/package"/>
    <Query class="type:x-xmb/xmlpackagefolder" key="host_provider_user01" src="host://localhost/q?path=/dev_hdd0/vsh/task/00000001&suffix=.pkg&subclass=x-host/package"/>   
    <Query class="type:x-xmb/xmlpackagefolder" key="host_provider_user02" src="host://localhost/q?path=/dev_hdd0/vsh/task/00000002&suffix=.pkg&subclass=x-host/package"/>   
    <Query class="type:x-xmb/xmlpackagefolder" key="host_provider_user03" src="host://localhost/q?path=/dev_hdd0/vsh/task/00000003&suffix=.pkg&subclass=x-host/package"/>   
    <Query class="type:x-xmb/xmlpackagefolder" key="host_provider_user04" src="host://localhost/q?path=/dev_hdd0/vsh/task/00000004&suffix=.pkg&subclass=x-host/package"/>   
    <Query class="type:x-xmb/xmlpackagefolder" key="host_provider_user05" src="host://localhost/q?path=/dev_hdd0/vsh/task/00000005&suffix=.pkg&subclass=x-host/package"/>   
    <Query class="type:x-xmb/xmlpackagefolder" key="host_provider_user06" src="host://localhost/q?path=/dev_hdd0/vsh/task/00000006&suffix=.pkg&subclass=x-host/package"/>   
    <Query class="type:x-xmb/xmlpackagefolder" key="host_provider_user07" src="host://localhost/q?path=/dev_hdd0/vsh/task/00000007&suffix=.pkg&subclass=x-host/package"/>   
    <Query class="type:x-xmb/xmlpackagefolder" key="host_provider_user08" src="host://localhost/q?path=/dev_hdd0/vsh/task/00000008&suffix=.pkg&subclass=x-host/package"/>   
    <Query class="type:x-xmb/xmlpackagefolder" key="host_provider_user09" src="host://localhost/q?path=/dev_hdd0/vsh/task/00000009&suffix=.pkg&subclass=x-host/package"/>   
    <Query class="type:x-xmb/xmlpackagefolder" key="host_provider_user10" src="host://localhost/q?path=/dev_hdd0/vsh/task/00000010&suffix=.pkg&subclass=x-host/package"/>   
    <Query class="type:x-xmb/xmlpackagefolder" key="host_provider_user11" src="host://localhost/q?path=/dev_hdd0/vsh/task/00000011&suffix=.pkg&subclass=x-host/package"/>   
    <Query class="type:x-xmb/xmlpackagefolder" key="host_provider_user12" src="host://localhost/q?path=/dev_hdd0/vsh/task/00000012&suffix=.pkg&subclass=x-host/package"/>   
    <Query class="type:x-xmb/xmlpackagefolder" key="host_provider_user13" src="host://localhost/q?path=/dev_hdd0/vsh/task/00000013&suffix=.pkg&subclass=x-host/package"/>   
    <Query class="type:x-xmb/xmlpackagefolder" key="host_provider_user14" src="host://localhost/q?path=/dev_hdd0/vsh/task/00000014&suffix=.pkg&subclass=x-host/package"/>   
    <Query class="type:x-xmb/xmlpackagefolder" key="host_provider_user15" src="host://localhost/q?path=/dev_hdd0/vsh/task/00000015&suffix=.pkg&subclass=x-host/package"/>
    <Query class="type:x-xmb/xmlpackagefolder" key="host_provider_user16" src="host://localhost/q?path=/dev_hdd0/vsh/task/00000016&suffix=.pkg&subclass=x-host/package"/>   
    <Query class="type:x-xmb/xmlpackagefolder" key="host_provider_user17" src="host://localhost/q?path=/dev_hdd0/vsh/task/00000017&suffix=.pkg&subclass=x-host/package"/>   
    <Query class="type:x-xmb/xmlpackagefolder" key="host_provider_user18" src="host://localhost/q?path=/dev_hdd0/vsh/task/00000018&suffix=.pkg&subclass=x-host/package"/>   
    <Query class="type:x-xmb/xmlpackagefolder" key="host_provider_user19" src="host://localhost/q?path=/dev_hdd0/vsh/task/00000019&suffix=.pkg&subclass=x-host/package"/>   
    <Query class="type:x-xmb/xmlpackagefolder" key="host_provider_user20" src="host://localhost/q?path=/dev_hdd0/vsh/task/00000020&suffix=.pkg&subclass=x-host/package"/>
</Items>
</View>

Alternatively a wMM combo could be used to move the packages to /dev_hdd0/packages
GET /move.ps3/dev_hdd0/vsh/task/*.pkg&to=/dev_hdd0/packages

a huge thank you

for me the code section is in the package_manager.xml & does not work
 
Last edited:
a huge thank you

for me the code section is in the package_manager.xml & does not work

Does it break the XML? If so, it could be a syntax error in the code.

If it doesn't list the package in the Package Manager, it could be that the package is being stored in a folder number not listed in the XML (e.g. 00000021). If the downloaded package has a file extension in upper case, it will not be listed either.
 
Here is v1.01 of the Extended Download Plugin HEN Edition

This allows any file type to be downloaded to any mounted writable partition. This will only download to dev_hdd0 properly when you have HEN enabled. This adds the required xml and icons, HEN does the rest.

If you are on CFW use the one made for CFW that adds the patched sprx = HERE

This is the exact same as the CFW edition except it has one more path added = dev_hdd0/hen/, and it does not include the sprx as its already built into HEN as a RAM patch.

This requires version 2.0.1 MOD of PS3 HEN which can be got HERE

If you are on HEN 2.0.2 or newer, then you don't need this, as it's included in the HEN PKG.


NOTE: There might be bugs, so use at your own risk.

Known bug: Background downloading does not work fully for unknown file types, They will download fully, but they will stay in dev_hdd0/vsh/task/xxxxxxxx/ , they will also say 99% on the XMB even though they are actually 100%.

This has paths added to dev_hdd0, and a media section which allows direct downloads into dev_hdd0/photo, dev_hdd0/video and dev_hdd0/music. All items now have custom icons and a warning symbols on all dev_blind paths.

Thanks to @kozarovv for helping me with research and testing, and to @Berion for the icons. ;)


Video of 1.00 on CFW.

hi.. How can I edit the "download notification" ? Or how can I turn it off completely ?



I think I need to edit sprx? but i don't know which one
 
hi.. How can I edit the "download notification" ? Or how can I turn it off completely ?
..
I think I need to edit sprx? but i don't know which one
First you need to unsign/decrypt download_plugin.sprx (using scetool), apply whatever patch to the resulting prx file using HxD or another hex editor & finally resign/reencrypt the prx into a sprx using proper scetool parameters.

1. The download notification can most likely be disabled entirely with a patch in the prx code segment (also called text segment), you would need to use IDA or Ghidra to find out the offset of the ppc instruction that calls the "vshtask" 0xA02D46E7 export displaying XMB notifications.
After applying the prx analysis plugin in IDA, look in the functions list for the vshtask 0xA02D46E7 export function & check the XREFs (cross references) to this function.
If/when you find the right one, you should be able to replace the 4 bytes of that instruction with a LI R3, 0 (which is 38600000 in hex) ppc instruction in an hex editor.

2. The notification text can probably be modified in the data segment, I would assume it is built at runtime using a sprintf string template so it is likely to be located in the data segment & might begin with something like "Downloading %s". You can use a string search in HxD to try to find it.

Regarding the background download 99% issue & the resulting "moving file" issue, an additional patch would probably be required in the sprx that deals with background downloading in order to allow more download target root paths.
 
Last edited:
Back
Top