PS3 [Research] Quick Preview - Loading Whats New locally from /PS3/WSCREEN/

Does anyone know if it is actionable through xmbml?

Modern firmwares still has the category_widget.xml with the following entries:

Code:
<Query class="type:x-xmb/folder-pixmap" key="host_provider_flash" src="host://localhost/q?path=/app_home/flash0/vsh/resource/silk/xai/widgets&suffix=&subclass=x-host/widget" />
            <Query class="type:x-xmb/folder-pixmap" key="host_provider_bdvd" src="host://localhost/q?path=/dev_bdvd/ps3/widget&suffix=&subclass=x-host/widget" />
            <Query class="type:x-xmb/folder-pixmap" key="host_provider_ms" src="host://localhost/q?path=/dev_ms/ps3/widget&suffix=&subclass=x-host/widget" />
            <Query class="type:x-xmb/folder-pixmap" key="host_provider_usb0" src="host://localhost/q?path=/dev_usb000/ps3/widget&suffix=&subclass=x-host/widget" />
            <Query class="type:x-xmb/folder-pixmap" key="host_provider_usb1" src="host://localhost/q?path=/dev_usb001/ps3/widget&suffix=&subclass=x-host/widget" />
            <Query class="type:x-xmb/folder-pixmap" key="host_provider_usb2" src="host://localhost/q?path=/dev_usb002/ps3/widget&suffix=&subclass=x-host/widget" />
            <Query class="type:x-xmb/folder-pixmap" key="host_provider_usb3" src="host://localhost/q?path=/dev_usb003/ps3/widget&suffix=&subclass=x-host/widget" />
            <Query class="type:x-xmb/folder-pixmap" key="host_provider_usb4" src="host://localhost/q?path=/dev_usb004/ps3/widget&suffix=&subclass=x-host/widget" />
            <Query class="type:x-xmb/folder-pixmap" key="host_provider_usb5" src="host://localhost/q?path=/dev_usb005/ps3/widget&suffix=&subclass=x-host/widget" />
            <Query class="type:x-xmb/folder-pixmap" key="host_provider_usb6" src="host://localhost/q?path=/dev_usb006/ps3/widget&suffix=&subclass=x-host/widget" />
            <Query class="type:x-xmb/folder-pixmap" key="host_provider_usb7" src="host://localhost/q?path=/dev_usb007/ps3/widget&suffix=&subclass=x-host/widget" />

But they don't work anymore, according to devwiki, widgets were loaded by <Item class="type:x-xmb/xmliboard" and later replaced by <Item class="type:x-xmb/xmlnpsignup"

There is also type:x-xmb/xmlflashplayer" but doesn't work too.
 
Last edited:
Keys (like MD5, SHA1, HMAC, etc.) in the URLs are used to prevent unauthorized access to other content in the same repository.
If the key is not included, it would be easy to access any XML just providing the game id.

The key acts like a password for static content that don't use a web service that performs a session authentication.


@aldostools do you know how to generate the TMB key? i started to upload the database to my github and i'll create the homebrew ones, so when a homebrew is launched the recent played list will not get erased.

I tried here with some known keys but they didn't match
 
Last edited:

Thanks aldo, I sent bucanero a private message, I need something simpler than code (it's beyond my capacity now), I tried online converters, but I don't think it's that simple and they didn't work. (i'm manually launching the homebrews and grabing the generated tmb key via /dev_hdd0/tmp/explore/tmdb/db.xml)

Anyway @aldostools or @DeViL303 do any of you know why if we simple host the official sony's xml in other server it will be slower than using sony url? i tried dropbox/github and a private one, they are all equally slow to load the what's new screen.

Is it somehow related to the sprx proxy? https://%s.%s.adproxy.ndmdhs.com/adproxy/getmanifest?aid=6llx&cc=%s&lang=%d&age=%d&ts=6llx&env=%s
 
Last edited:
Is there a difference in file transfer time or in file processing time?

If it's transfer time, it's hard to say why, there are a few tricks to speed transfer beyond the obvious server perfs.
You can use a system that caches files at local nodes level to remove most of the hops & speed up the overall transfer process.
It is something that can be done with Cloudflare for a fee & s#ny could have deployed a similar strategy.
You can also gzip the distributed content server side to lower the transfer size if the client supports it.
If it's processing, I have no idea what the reason may be. It would need investigated.
 
Working good, i don't know why multiMAN is the only one that does not appears in the db.xml, i think it auto erase it's traces (but it also prevents previous homebrews from appearing even if they are still in the db.xml)

a2TKWV2.png


Is there a difference in file transfer time or in file processing time?

If it's transfer time, it's hard to say why, there are a few tricks to speed transfer beyond the obvious server perfs.
You can use a system that caches files at local nodes level to remove most of the hops & speed up the overall transfer process.
It is something that can be done with Cloudflare for a fee & s#ny could have deployed a similar strategy.
You can also gzip the distributed content server side to lower the transfer size if the client supports it.
If it's processing, I have no idea what the reason may be. It would need investigated.

It's strange that I only hosted the 8kb xml, all the image links inside the file are from sony and they took a while to load, unlike what happens using the link for the same xml from sony, it loads almost instantly.
 
@DeViL303

I'm trying to test if i can make a custom Recently Played server with Homebrews but, i'm not understanding what to replace

This entry does not contains any data inside of it, it will only show a blank xml ( if the xml exists, otherwise error 404)

https://nsx.sec.%s.dl.playstation.n...Yr/p/NSXWSV/NSXWSV-%s_00-WHATSNEW00000001.xml

the seconds %s is GAME ID

For documentation purposes only

https://nsx.sec.%s.dl.playstation.n...Yr/p/NSXWSV/NSXWSV-%s_00-WHATSNEW00000001.xml

This is for a what's new section after booting a game.
 
Last edited:
Still about

Code:
https://nsx.sec.%s.dl.playstation.net/nsx/sec/Xz78TMQ1Uf31VCYr/p/NSXWSV/NSXWSV-%s_00-WHATSNEW00000001.xml

It replaces the recently played game icon and information read from http://tmdb.%s.dl.playstation.net/tmdb/%s_%s/%s.xml with a custom what's new format .xml, (if it exists) the sad thing is that it only support one item in the xml.

I wonder what Sony used this for, maybe announcements of upcoming gaming events? the problem is that if an mp4 is used, the game cannot be launched through the "widget", maybe it was used with a sfw video along with psgm:play?id= , this could also have been used for launching the game with extra arguments while on special events using uri links.

psgm:play?id=NPIA00005&amp;arg=version%3D1%2E0%26scene%5Fname%3DJ%5FFS%5F3DDGH%5F1%5F181D%5F4365%26spawn%5Fid%3Dblah%26opt1%3D1%26opt2%3D%E6%97%A5%E6%9C%AC%E8%AA%9E</target>



Roc8tdf.png
 
Last edited:
@DeViL303 What do you think we can use this feature?

I'm thinking of using this to show that the game server has been revived, example, the user plays MotorStorm, after returning to the xmb, the icon saying that the online server has been revived is shown, so the user clicks on it, it applies the DNS servers and launches the game (using webman mod)
 
Thanks aldo, I sent bucanero a private message, I need something simpler than code (it's beyond my capacity now), I tried online converters, but I don't think it's that simple and they didn't work. (i'm manually launching the homebrews and grabing the generated tmb key via /dev_hdd0/tmp/explore/tmdb/db.xml)

Anyway @aldostools or @DeViL303 do any of you know why if we simple host the official sony's xml in other server it will be slower than using sony url? i tried dropbox/github and a private one, they are all equally slow to load the what's new screen.

Is it somehow related to the sprx proxy? https://%s.%s.adproxy.ndmdhs.com/adproxy/getmanifest?aid=6llx&cc=%s&lang=%d&age=%d&ts=6llx&env=%s
You might have figured this out by now but you were right, it IS related to that adproxy url.

It never used to do this years ago, but now When Whats New has custom items that url seems to make Whats New loading hang until it times out after a minute.


The annoying thing is it takes that minute or 2 to load every time you move off it and back onto it, even when everything is cached already.

I don't really know how to fix it "properly", but as a workaround I find it works good if you patch the URL to point to a COPY of the SAME xml used for content, but with a different URL.

upload_2024-6-24_11-15-12.png
 
Last edited:
This entry is very interesting, It does still work on 4.91 OFW for Home too.

Code:
<mtrl id="1310309841" mname="HOME TEST" from="2010-12-15T00:00:00.000Z" until="2011-12-15T00:00:00.000Z" lastm="2010-12-15T06:45:40.000Z" anno="">
            <name></name>
            <owner>DS</owner>
            <desc></desc>
            <url type="2">http://nsx.e1-np.dl.playstation.net/fs/nsx/material/6/65d53a1c3e00e176ce85bf529328bf751eeb0bca-2441.jpg</url>
            <target type="u">psgm:play?id=NPIA00005&amp;arg=version%3D1%2E0%26scene%5Fname%3DJ%5FFS%5F3DDGH%5F1%5F181D%5F4365%26spawn%5Fid%3Dblah%26opt1%3D1%26opt2%3D%E6%97%A5%E6%9C%AC%E8%AA%9E</target>
            <cntry agelmt="0">all</cntry>
            <lang>all</lang>
        </mtrl>


Note: It actually doesnt need all that URL encoding so can be much simpler.

Code:
<mtrl id="Aurora_Non_SCEJ_568D_1E32" mname="Aurora_Non_SCEJ_568D_1E32" from="2010-12-15T00:00:00.000Z" until="2200-12-15T00:00:00.000Z">
      <desc>Aurora 1.9 </desc>
      <url type="2">http://imagedomainhere.com/NSX/Images/Aurora_Non_SCEJ_568D_1E32.png</url>
      <target type="u">psgm:play?id=NPIA00005&amp;arg=scene_name=Aurora_Non_SCEJ_568D_1E32</target>
      <cntry agelmt="0">all</cntry>
      <lang>all</lang>
    </mtrl>

Anyway, the thing I find interesting about this is that it allows command line arguments to be passed to the EBOOT that would normally be entered in target manager. And these work on CEX OFW with retail Home Eboot.

In my limited testing it seems like there must be a whitelist for this and only some title IDs are allowed. If i repack Home with a different title ID this feature of Whats New does not work.


More info I found

upload_2024-6-22_12-30-34.png
 
Someone might find this patch useful. It's pretty simple.

The system stores information about the downloaded NSX content in db.xml. When you move onto the Whats New icon it checks that db.xml to see if the content is already cached. This can be a downside if you want to use Whats New for custom content that updates all the time.

So I was looking for a way to make Whats New update every time you move onto the icon or reboot. Also as I was patching explore_plugin.sprx already to change the URL, I wanted to do it within that same file, so my mod can be shared with just one file and doesnt rely on any external tools to clear the data.

Here is the section of the sprx that handles db.xml. This trick relies on making the db.xml store the data incorrectly when the content initially downloads, so when the db.xml retrieved, its malformed so not understood and system redownloads everything.

Simply replace this "url" entry in the sprx with "length" then it will store the size of the file there instead of the url.

upload_2024-6-24_11-6-12.png




Related patch: If you don't want Whats New to show "Recently Played" items, If you replace your /dev_hdd0/home/000000xx/etc/boot_history.dat file with a folder of same name it stops the history being stored.


upload_2024-6-24_11-41-17.png
 
Last edited:
You might have figured this out by now but you were right, it IS related to that adproxy url.

It never used to do this years ago, but now When Whats New has custom items that url seems to make Whats New loading hang until it times out after a minute.


The annoying thing is it takes that minute or 2 to load every time you move off it and back onto it, even when everything is cached already.

I don't really know how to fix it "properly", but as a workaround I find it works good if you patch the URL to point to a COPY of the SAME xml used for content, but with a different URL.

View attachment 43512

Thanks, i figured out this when patching it for webMAN Launch PAD, btw, do you have the official manifest file obtained with this ad proxy?
 
Someone might find this patch useful. It's pretty simple.

The system stores information about the downloaded NSX content in db.xml. When you move onto the Whats New icon it checks that db.xml to see if the content is already cached. This can be a downside if you want to use Whats New for custom content that updates all the time.

So I was looking for a way to make Whats New update every time you move onto the icon or reboot. Also as I was patching explore_plugin.sprx already to change the URL, I wanted to do it within that same file, so my mod can be shared with just one file and doesnt rely on any external tools to clear the data.

Here is the section of the sprx that handles db.xml. This trick relies on making the db.xml store the data incorrectly when the content initially downloads, so when the db.xml retrieved, its malformed so not understood and system redownloads everything.

Simply replace this "url" entry in the sprx with "length" then it will store the size of the file there instead of the url.

View attachment 43511

How long does it take to redownload it every time? Can you upload a video of it?
I'm relying on a webMAN script to do this on every boot and XMB refresh, but my case is different. Sometimes, the "What's New" titles go blank, meaning they don't show the images, only the default "What's New" tiles background. It's like when the VSH RAM is full, but it can still happen even after a reboot or game exit. o_O

So, the solution for me was to change my images from small JPEGs to PNGs and delete the db.xml via script and it seems to happen less frequently with PNGs than with JPGs.

Have you encountered this issue? Also, my memory consumption is low, the bar is barely visible, i don't know what can be causing this here.
 
Loading times are ok, here is a video of current loading speeds, its a little slow but its a 350KB xml and all pngs loading from a very cheap web host so its normal really. It is much faster on local.

I never had the issue with the images not loading. Try patch the urls like I did above, with both pointing to different xmls with the same content.

See here how moving off the icon and back on causes refresh, also just exiting to main whats new icon causes a refresh, and of course rebooting too.


 
Back
Top