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

Kind of interesting, an old entry in an q-spint NSX xml for Playstation Home.

https://nsx.sec.q-spint.dl.playstat...c/NSXWSV/NSXWSV-PN.P3.TR-WHATSNEW00000001.xml

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>

I knew we could boot apps using the URI with the short content ID like this "psgm:play?id=NPIA00005", but see this example here. It's sending extra arguments to the application along with the URI, by the looks of it they will make you boot into a certain space or something like that.
wonder if this could have any interesting uses...do you think this is worth putting in the XML toolkit?
 
Just found this, kind of interesting. Shows some info on the formats of the swf etc.

https://docplayer.net/20321768-Sony-playstation-advertising-design-specifications-version-1-9.html

upload_2020-2-8_8-11-15.png

upload_2020-2-8_8-12-16.png


upload_2020-2-8_8-13-54.png
 
Picks makes it appear at the top with that yellow background ignoring the normal xml order, I guess in this case ignoring the alphabetical sorting of the images. That is something I know from the normal nsx xmls. Normally though its in a different format, Also normally urgent is called emergency and is in a different format too.
View attachment 20386

I suspect the "modified" is the lastm date from the normal nsx xmls. Will probably be in different format too <><> instead of =" ".
View attachment 20387



Owner seems to do nothing, at least nothing visible. In the nsx xmls there is an example of that I found last night.
View attachment 20388

Also a SCEA one there too.

For the pickup I have no idea, never seen anything like that.




Yeah, i just mean normally in Rebug, all those psns type links are blocked, So we would not know if it was working even if we had it right. psgm and psvp work ok and http of course, but if this method is limited to psns and those dont work we are kind of fecked. TBH even if they did work, they just link back to npsignin plugin and newstore plugin for direct store links afaik. Not much use to us. If we can patch an sprx to remove that limitation, even just getting http working would be nice.



Well those ones are only made when apps are booted and are all blank I THINK, not sure. Do you mean those or the official nsx xmls. I worked out there are about 14 thousand NSX xmls hosted and another 14k xil xmls. :)

Here is the link format to find them all: Replace first %s with any of the approx 50 NP environments found here: https://www.psdevwiki.com/ps3/Environments
And replace the second %s with any of the approx 70 country codes.


NSX:
https://nsx.sec.%s.dl.playstation.net/nsx/sec/Xz78TMQ1Uf31VCYr/c/NSXWSV/NSXWSV-PN.P3.%s-XMB_TV_INSTALL01.xml
https://nsx.sec.%s.dl.playstation.net/nsx/sec/Xz78TMQ1Uf31VCYr/c/NSXWSV/NSXWSV-PN.P3.VIDEO.%s-BILLBOARD0000001.xml
https://nsx.sec.%s.dl.playstation.net/nsx/sec/Xz78TMQ1Uf31VCYr/c/NSXWSV/NSXWSV-PN.P3.GAME.%s-BILLBOARD0000001.xml
https://nsx.sec.%s.dl.playstation.net/nsx/sec/Xz78TMQ1Uf31VCYr/c/NSXWSV/NSXWSV-PN.P3.%s-WHATSNEW00000001.xml

XIL:
https://nsx.sec.%s.dl.playstation.net/nsx/sec/Xz78TMQ1Uf31VCYr/c/NSXWSV/NSXWSV-PN.P3.%s-XMB_COLUMN_GAME.xml
https://nsx.sec.%s.dl.playstation.net/nsx/sec/Xz78TMQ1Uf31VCYr/c/NSXWSV/NSXWSV-PN.P3.%s-XMB_COLUMN_MUSIC.xml
https://nsx.sec.%s.dl.playstation.net/nsx/sec/Xz78TMQ1Uf31VCYr/c/NSXWSV/NSXWSV-PN.P3.%s-XMB_COLUMN_TV.xml
https://nsx.sec.%s.dl.playstation.net/nsx/sec/Xz78TMQ1Uf31VCYr/c/NSXWSV/NSXWSV-PN.P3.%s-XMB_COLUMN_VIDEO.xml


Some Examples:

NSX:
https://nsx.sec.prod-qa.dl.playstat...c/NSXWSV/NSXWSV-PN.P3.US-WHATSNEW00000001.xml
https://nsx.sec.sp-int.dl.playstati...c/NSXWSV/NSXWSV-PN.P3.GB-XMB_TV_INSTALL01.xml
https://nsx.sec.np.dl.playstation.n...WSV/NSXWSV-PN.P3.GAME.IE-BILLBOARD0000001.xml
https://nsx.sec.np.dl.playstation.n...SV/NSXWSV-PN.P3.VIDEO.FR-BILLBOARD0000001.xml

XIL:
https://nsx.sec.q1-pmgt.dl.playstat.../c/NSXWSV/NSXWSV-PN.P3.US-XMB_COLUMN_GAME.xml
https://nsx.sec.d3-pmgt.dl.playstation.net/nsx/sec/Xz78TMQ1Uf31VCYr/c/NSXWSV/NSXWSV-PN.P3.US-XMB_COLUMN_MUSIC.xml
https://nsx.sec.sp-int.dl.playstation.net/nsx/sec/Xz78TMQ1Uf31VCYr/c/NSXWSV/NSXWSV-PN.P3.US-XMB_COLUMN_TV.xml
https://nsx.sec.np.dl.playstation.net/nsx/sec/Xz78TMQ1Uf31VCYr/c/NSXWSV/NSXWSV-PN.P3.US-XMB_COLUMN_VIDEO.xml



That last nsx one has an example of psns link in nsx format, but they can all be different. I was hoping someone would download all 28k nsx and xil xmls so we can look for rare entries before Sony servers shutdown,


there is an easy way to download them all at once?

also http://tmdb.np.dl.playstation.net/tmdb/ the icons in there for the recent games played

i want to make a backup before sony shuts it down
 
Hey, you can use this script to download any of the TV / WHAT'S NEW etc

https://github.com/xps3riments/nsx-metadata

You just need node installed, download the js script. Locate the downloaded file and open a command line in the same location.

$> node getLastModified-alone.js TV ./output np

This will download the nsx files from TV section from the np environment

$> node getLastModified-alone.js TV|WHATS|GAME|VIDEO ./output [np|avaliable environments]

A full download will be :


node getLastModified.js TV ./output c1-np
node getLastModified.js TV ./output d1-np
node getLastModified.js TV ./output d2-np
node getLastModified.js TV ./output d3-np
node getLastModified.js TV ./output d1-pmgt
node getLastModified.js TV ./output d2-pmgt
node getLastModified.js TV ./output d3-pmgt
node getLastModified.js TV ./output d1-pqa
node getLastModified.js TV ./output d2-pqa
node getLastModified.js TV ./output d3-pqa
node getLastModified.js TV ./output d1-spint
node getLastModified.js TV ./output d2-spint
node getLastModified.js TV ./output d3-spint
node getLastModified.js TV ./output d-np
node getLastModified.js TV ./output d-pmgt
node getLastModified.js TV ./output d-pqa
node getLastModified.js TV ./output d-spint
node getLastModified.js TV ./output e1-np
node getLastModified.js TV ./output e1-pmgt
node getLastModified.js TV ./output e1-pqa
node getLastModified.js TV ./output e1-spint
node getLastModified.js TV ./output hf-np
node getLastModified.js TV ./output mgmt
node getLastModified.js TV ./output np
node getLastModified.js TV ./output prod-qa
node getLastModified.js TV ./output q1-np
node getLastModified.js TV ./output q2-np
node getLastModified.js TV ./output q1-pmgt
node getLastModified.js TV ./output q2-pmgt
node getLastModified.js TV ./output q1-pqa
node getLastModified.js TV ./output q2-pqa
node getLastModified.js TV ./output q1-spint
node getLastModified.js TV ./output q2-spint
node getLastModified.js TV ./output q-pmgt
node getLastModified.js TV ./output q-pqa
node getLastModified.js TV ./output q-spint
node getLastModified.js TV ./output SP-INT
node getLastModified.js GAME ./output c1-np
node getLastModified.js GAME ./output d1-np
node getLastModified.js GAME ./output d2-np
node getLastModified.js GAME ./output d3-np
node getLastModified.js GAME ./output d1-pmgt
node getLastModified.js GAME ./output d2-pmgt
node getLastModified.js GAME ./output d3-pmgt
node getLastModified.js GAME ./output d1-pqa
node getLastModified.js GAME ./output d2-pqa
node getLastModified.js GAME ./output d3-pqa
node getLastModified.js GAME ./output d1-spint
node getLastModified.js GAME ./output d2-spint
node getLastModified.js GAME ./output d3-spint
node getLastModified.js GAME ./output d-np
node getLastModified.js GAME ./output d-pmgt
node getLastModified.js GAME ./output d-pqa
node getLastModified.js GAME ./output d-spint
node getLastModified.js GAME ./output e1-np
node getLastModified.js GAME ./output e1-pmgt
node getLastModified.js GAME ./output e1-pqa
node getLastModified.js GAME ./output e1-spint
node getLastModified.js GAME ./output hf-np
node getLastModified.js GAME ./output mgmt
node getLastModified.js GAME ./output np
node getLastModified.js GAME ./output prod-qa
node getLastModified.js GAME ./output q1-np
node getLastModified.js GAME ./output q2-np
node getLastModified.js GAME ./output q1-pmgt
node getLastModified.js GAME ./output q2-pmgt
node getLastModified.js GAME ./output q1-pqa
node getLastModified.js GAME ./output q2-pqa
node getLastModified.js GAME ./output q1-spint
node getLastModified.js GAME ./output q2-spint
node getLastModified.js GAME ./output q-pmgt
node getLastModified.js GAME ./output q-pqa
node getLastModified.js GAME ./output q-spint
node getLastModified.js GAME ./output SP-INT
node getLastModified.js WHATS ./output c1-np
node getLastModified.js WHATS ./output d1-np
node getLastModified.js WHATS ./output d2-np
node getLastModified.js WHATS ./output d3-np
node getLastModified.js WHATS ./output d1-pmgt
node getLastModified.js WHATS ./output d2-pmgt
node getLastModified.js WHATS ./output d3-pmgt
node getLastModified.js WHATS ./output d1-pqa
node getLastModified.js WHATS ./output d2-pqa
node getLastModified.js WHATS ./output d3-pqa
node getLastModified.js WHATS ./output d1-spint
node getLastModified.js WHATS ./output d2-spint
node getLastModified.js WHATS ./output d3-spint
node getLastModified.js WHATS ./output d-np
node getLastModified.js WHATS ./output d-pmgt
node getLastModified.js WHATS ./output d-pqa
node getLastModified.js WHATS ./output d-spint
node getLastModified.js WHATS ./output e1-np
node getLastModified.js WHATS ./output e1-pmgt
node getLastModified.js WHATS ./output e1-pqa
node getLastModified.js WHATS ./output e1-spint
node getLastModified.js WHATS ./output hf-np
node getLastModified.js WHATS ./output mgmt
node getLastModified.js WHATS ./output np
node getLastModified.js WHATS ./output prod-qa
node getLastModified.js WHATS ./output q1-np
node getLastModified.js WHATS ./output q2-np
node getLastModified.js WHATS ./output q1-pmgt
node getLastModified.js WHATS ./output q2-pmgt
node getLastModified.js WHATS ./output q1-pqa
node getLastModified.js WHATS ./output q2-pqa
node getLastModified.js WHATS ./output q1-spint
node getLastModified.js WHATS ./output q2-spint
node getLastModified.js WHATS ./output q-pmgt
node getLastModified.js WHATS ./output q-pqa
node getLastModified.js WHATS ./output q-spint
node getLastModified.js WHATS ./output SP-INT
node getLastModified.js VIDEO ./output c1-np
node getLastModified.js VIDEO ./output d1-np
node getLastModified.js VIDEO ./output d2-np
node getLastModified.js VIDEO ./output d3-np
node getLastModified.js VIDEO ./output d1-pmgt
node getLastModified.js VIDEO ./output d2-pmgt
node getLastModified.js VIDEO ./output d3-pmgt
node getLastModified.js VIDEO ./output d1-pqa
node getLastModified.js VIDEO ./output d2-pqa
node getLastModified.js VIDEO ./output d3-pqa
node getLastModified.js VIDEO ./output d1-spint
node getLastModified.js VIDEO ./output d2-spint
node getLastModified.js VIDEO ./output d3-spint
node getLastModified.js VIDEO ./output d-np
node getLastModified.js VIDEO ./output d-pmgt
node getLastModified.js VIDEO ./output d-pqa
node getLastModified.js VIDEO ./output d-spint
node getLastModified.js VIDEO ./output e1-np
node getLastModified.js VIDEO ./output e1-pmgt
node getLastModified.js VIDEO ./output e1-pqa
node getLastModified.js VIDEO ./output e1-spint
node getLastModified.js VIDEO ./output hf-np
node getLastModified.js VIDEO ./output mgmt
node getLastModified.js VIDEO ./output np
node getLastModified.js VIDEO ./output prod-qa
node getLastModified.js VIDEO ./output q1-np
node getLastModified.js VIDEO ./output q2-np
node getLastModified.js VIDEO ./output q1-pmgt
node getLastModified.js VIDEO ./output q2-pmgt
node getLastModified.js VIDEO ./output q1-pqa
node getLastModified.js VIDEO ./output q2-pqa
node getLastModified.js VIDEO ./output q1-spint
node getLastModified.js VIDEO ./output q2-spint
node getLastModified.js VIDEO ./output q-pmgt
node getLastModified.js VIDEO ./output q-pqa
node getLastModified.js VIDEO ./output q-spint
node getLastModified.js VIDEO ./output SP-INT
 
Hey, you can use this script to download any of the TV / WHAT'S NEW etc

https://github.com/xps3riments/nsx-metadata

You just need node installed, download the js script. Locate the downloaded file and open a command line in the same location.

$> node getLastModified-alone.js TV ./output np

This will download the nsx files from TV section from the np environment

$> node getLastModified-alone.js TV|WHATS|GAME|VIDEO ./output [np|avaliable environments]

A full download will be :


Wow Thanks, but can we download all available xmls from their server?

i mean this downloads the last ones, that is the generic ones, with themes,games and etc shortcuts at least in the NP.

Would be interresting to download all from the sony servers


EDIT:

The others environments seems interresting, they didn't have the generic ones :)
 
Last edited:
Yeah I can try, F**k thing is not easy to get all id's from there...

BTW the related images
https://mega.nz/file/G74TFAhL#CfdUaxQ0WtqRpgGLCJXcYrZ1XZrIFWDrLHWNVLMQYVk

Thanks, good job =)

This way we can re-upload them online if sony takes it down

@DeViL303 since all images only takes 200MB do you think it is better to redirect the paths to the internal hdd, so no internet will be required? ofc using a pkg to install them.

I thought of redirecting them to the game folder, but ISO games and external ones it will not have access to it
 
Thanks, good job =)

This way we can re-upload them online if sony takes it down

@DeViL303 since all images only takes 200MB do you think it is better to redirect the paths to the internal hdd, so no internet will be required? ofc using a pkg to install them.

I thought of redirecting them to the game folder, but ISO games and external ones it will not have access to it
I think online is better for something like that, most people will not even need 1% of them, and also if they are online then webmans webserver is not required.

The cool thing with using a custom server for that stuff is that we can add entries for all homebrew, so we can have all homebrew updating automatically, and getting added to recently played just like official apps.

BTW: as far as i remember if you load an app that is not in the database, it clears the whats new recently played list. This is one of the only ways I know to clear that list.
 
Actually managed to get a list of 12K id's.

I am scraping all another time, also reflecting the real folder structure, so latter can be easy swapped from sony servers to our own

I will upload new files when finished.. IDK 1h max from here
 

Just for curiosity sake

The JPG can be used with 100% compression, PNG and GIFs are supported too

And SWF can be bigger than 1,5 MB as i converted videos to SWF bigger than that e.g 4MB and audio is supported and plays when the item is highlighted

and Videos MOV, MP4 and FLV are supported maybe more, max size is not 90MB i tried with 1GB Video and it plays fine

I think the max sizes described are for hosting in the SONY servers only
 
Last edited:
Back
Top