Param.json
PSP/PS3/PS4/Vita used a param.sfo file for metadata. PS5 games have a similar file, but instead of .sfo it is now .json.
There are three types of param.json: param.json, origin-param.json and target-param.json. What the differences are and what they are for is currently unknown.
addcont
serviceIdForSharing
Format: List <String>
Required: Yes. A simple application however does not require this parameter to be set.
Info: Shares the game id of the same title on PS4 & PS5 to use (probably) online cross services.
Example: EP1004-PPSA01721_00
& EP1004-CUSA00411_00
ageLevel
Format: Dictionary <string, int>
Required: Yes
Agelevel contains a dict of age levels for different regions. Aside from the default
age level, the following regions are available:
- AE
- AR
- AT
- AU
- BE
- BG
- BH
- BO
- BR
- CA
- CH
- CL
- CN
- CO
- CR
- CY
- CZ
- DE
- DK
- EC
- ES
- FI
- FR
- GB
- GR
- GT
- HK
- HN
- HR
- HU
- ID
- IE
- IL
- IN
- IS
- IT
- JP
- KR
- KW
- LB
- LU
- MT
- MX
- MY
- NI
- NL
- NO
- NZ
- OM
- PA
- PE
- PL
- PT
- PY
- QA
- RO
- RU
- SA
- SE
- SG
- SI
- SK
- SV
- TH
- TR
- TW
- UA
- US
- UY
- ZA
amm
Format: Object
Required: No
multimapVaRangeInGib
Format: Integer
Required: No
Example: 512
vaRangeInGib
Format: Integer
Required: No
Example: 512
applicationCategoryType
Format: Int
Required: Yes
Possible values:
Int | Category |
---|---|
0 | Native Game |
65536 | Prospero Native Media App |
65792 | RNPS Media App |
66048 | Web Based Media App |
131328 | System Built-in App |
131584 | Big Daemon |
16777216 | ShellUI |
33554432 | Daemon |
50331648 | CommonDialog |
67108864 | ShellApp |
applicationDrmType
Format: String
Required: Yes
Possible values: upgradable
standard
demo
free
asa
Required: No
code
asa01
Format: String
Required: Yes if 'asa' is set.
Possible values: 2000000
asa08
Format: String
Required: No.
Possible values: 10
asa09
Format: String
Required: Yes if you want to use the paramete 'massSize'.
Possible values: 1
asa10
Format: String
Required: No.
Possible values: 1400
sign
Format: List <String>
Required: Yes if 'asa01' is set. Requires 8 Strings (lenght=64) in the List Of <String>.
attribute
Format: Int
Required: Yes
Int | Description |
---|---|
0 | The application does not support the initial user's logout.
The application does not support HDR. |
1 | The application supports the initial user's logout.
The application does not support HDR. |
536870912 | The application does not support the initial user's logout.
The application supports HDR. |
1073741824 | The application does not support the initial user's logout.
The application is not suspended when PS button is pressed. The application does not support HDR. The application requests HDCP2.2 when started up if possible. |
1107296256 | The application does not support the initial user's logout.
The application is not suspended when PS button is pressed. The Application supports Text to Speech (TTS). The application does not support HDR. The application requests HDCP2.2 when started up if possible. |
1644167168 | The application does not support the initial user's logout.
The application is not suspended when PS button is pressed. The Application supports Text to Speech (TTS). The application supports HDR. The application requests HDCP2.2 when started up if possible. |
attribute2
Format: Int
Required: Yes
Int | Description |
---|---|
0 | The application does not support Content Search feature. |
4 | The application supports Content Search feature. |
attribute3
Format: Int
Required: Yes
Int | Description |
---|---|
0 | The application does not receive video-out info. |
4 | The application receives video-out info. |
68 | The application receives video-out info.
The application supports HFR. |
80 | The application uses Share Library Capture API.
The application supports HFR. Auto Scaling is applied for the non-media application. |
132 | The application receives video-out info.
The application does not use Share Library Capture API. The application does not support HFR. Auto Scaling is not applied for the non-media application. |
4160 | The application supports High Framerate Mode. |
backgroundBasematType
Format: String
Required: No.
Possible values:
Linear
, EllipseNarrow
conceptId
Format: String
Required: Yes
A concept id is an over-arching id for a game or entity. A game can have multiple different content-ids for different regions, but they will all have the same concept id.
contentBadgeType
Format: Int
Required: Yes
Possible values:
Int | Badge Type |
---|---|
0 | N/A |
1 | Game |
2 | Other |
contentId
Format: String
Required: Yes
contentVersion
Format: String
Required: Yes
Example: 01.000.000
deeplinkUri
Format: String
Required: No
Possible values:
String | Info |
---|---|
Any URL (like https://google.com) | Setting an URL will open the internal WebBrowser. |
pssettings:play?mode=settings&function=debug_settings | Open Debug Settings |
psgm:play?id= | Launch an application with the given id. |
pssettings:play?mode=settings&function=language | Open Language Settings |
pssettings:play?mode=settings&function=storage&storage=internal&userid= | Open Console Storage Settings |
pstc:browse | Show trophies |
pssettings:play?mode=settings&function=savedata | Show savedata |
pssettings:play?mode=settings&function=controller | Open Controller Settings |
pssettings:play?mode=settings&function=mic_level | Adjust microphone audio level |
pssettings:play?mode=settings&function=adjust_controller_light | Adjust controller light |
pssettings:play?mode=settings&function=safearea | Adjust display area (can trow a system error after adjusting) |
pssettings:play?mode=settings&function=video | Open Video Playback Settings |
pssettings:play?mode=settings&function=eye_distance | Calibrate Eye-to-Eye distance for the VR Headset |
pssettings:play?mode=settings&function=notification | Open Notification Settings |
pssettings:play?mode=settings&function=network | Open Network Settings |
pssettings:play?mode=settings&function=adjust_controller_light&caller=LoginMgr&deviceId= | Adjust Controller (requires deviceId= to be set or it will give you an error) |
psappinst:workspace-setting?titleid= | ★Workspace Setting |
psgamedatamgmt:play?titleId= | Game Data Management (Requires titleId=) |
pspatchcheck:update-history?titleid= | Show Update History (Requires titleId=) |
psappinst:switch-content-config?titleid= | ★Switch Content Config |
psactivity:showUams?npTitleId= | ★Activity Preview |
psactivity:showConfig?npTitleId= | ★Show Activity Configuration |
pssettings:play?function=savedata | ★Saved Data Management |
pssettings:play?function=savedata_ps4 | ★Saved Data Management for PS4 |
psbase:shell?c=coredump_and_quit&id= | Generate Core file and quit |
sbase:shell?c=coredump_and_continue&id= | Generate Core file and continue |
psbase:shell?c=play_go_snapshot_by_title_id&id= | Save Snapshot to USB |
psbase:shell?c=play_go_revert_to_snapshot&id= | Load Snapshot from USB |
psbase:shell?c=play_go_resume&id= | Start / Resume |
psbase:shell?c=play_go_suspend&id= | Pause |
psappinst:pat-uninstall?titleid= | ★Delete (Requires titleid=) |
ppscontentinfo:copyright?titleId= | Show intellectual property notice (Requires titleId=) |
pscontentinfo:info?titleId= | Show application information (Requires titleId=) |
pssettings:play?function=delete_contents_by_titleid&titleID= | Delete application with all its content (Requires titleId=) |
pssmdlg:open?dialogName=AppDeleteDialog&customParam= | Remove application from home |
pspatchcheck:check-for-update?titleid= | Check for application update (Requires titleId=) |
pssettings:play?function=initial_setup | Show Initial Setup |
pssettings:play?function=delete_contents | Delete contents |
pssettings:play?function=set_date_and_time_now | Set Date & Time |
disc
Format: Array
Required: On a disc: yes.
contents
Format: Array
Required: On a disc: yes. Sub Array of 'disc'.
Info: This array contains for each available PKG an object with the Strings contentId & contentType.
contentId
Format: String
Required: On a disc: yes.
Example: IV9999-CUSA99999_00-XXXXXXXXXXXXXXXX
contentType
Format: String
Required: On a disc: yes.
Example: PS5GD
files
Format: Array
Required: On a disc: yes. Sub Array of 'disc'. This array contains both Strings digests & fileName in an object.
digests
Format: String
Required: On a disc: yes.
fileName
Format: String
Required: On a disc: yes.
Example: icon0.png
localizedParameters
Format: Object
Required: On a disc: yes. This object contains both the String defaultLanguage & the object en-US (for ex.) in an object.
defaultLanguage
Format: String
Required: On a disc: yes.
Example: en-US
en-US
Format: Object
Required: On a disc: yes. This object contains titleName as String.
Example: en-US
titleName
Format: String
Required: On a disc: yes.
masterDataId
Format: String
Required: On a disc: yes.
Example: PPSA01234
role
Format: String
Required: On a disc: yes.
Possible values for role: Play Disc
discNumber
Format: Int
Required: On a disc: yes.
discTotal
Format: Int
Required: On a disc: yes.
downloadDataSize
Format: Int
Required: No
Example: 0
gameIntent
permittedIntents
Format: List <Dict <"intentType", String>>
Required: For games: Yes.
Possible values for intentType: launchActivity
launchMultiplayerActivity
launchByCustomParameters
joinSession
kernel
Required: No
cpuPageTableSize
Format: Int
Required: No
flexibleMemorySize
Format: Int
Required: No
gpuPageTableSize
Format: Int
Required: No
localizedParameters
Contains a dictionary of localized titles. As with ageLevel
there is a default entry called defaultLanguage
. The defaultLanguage
entry does not have the same contents as the example entry below, but contains a simple string with the language code of the default language (e.g. en-US
).
Example of localized entry:
"<language-identifer>": { "titleName": "Title of your game" }
Where <language-identifer>
is one of the following:
- ar-AE
- cs-CZ
- da-DK
- de-DE
- el-GR
- en-GB
- en-US
- es-419
- es-ES
- fi-FI
- fr-CA
- fr-FR
- hu-HU
- id-ID
- it-IT
- ja-JP
- ko-KR
- nl-NL
- no-NO
- pl-PL
- pt-BR
- pt-PT
- ro-RO
- ru-RU
- sv-SE
- th-TH
- tr-TR
- uk-UA
- vi-VN
- zh-Hans
- zh-Hant
massSize
Format: Integer
Required: No, but an ASA code (asa01 & asa09) is required for using this parameter.
Example: 1
masterVersion
Format: String
Required: Yes
Example: 01.00
originContentVersion
Format: String
Required: No
Example: 01.000.000
pubtools
Required: ?
Example: 01.00
creationDate
Format: String/Date (yyyy-mm-dd hh:mm:ss)
Required: ?
loudnessSnd0
Format: Float as String
Required: No
submission
Format: Bool
Required: ?
toolVersion
Format: String
Required: ?
Example: 1.00
pubtoolsVersion
Required: ?
requiredSystemSoftwareVersion
Format: String/Hex
Required: ?
Example: 0x0114000000000000
sdkVersion
Format: String/Hex
Required: ?
Example: 0x0100000000000000
serviceLaunchButtonKeyCode
Format: Integer
Required: No
Example: 1
targetContentVersion
Format: String
Required: No
Example: 01.000.001
Used only in delta-patches/updates?
titleId
Format: String
Required: Yes
Example: PPSA12345
usbDir
Format: List of String
Required: No. Could be only usable in Media Apps.
Example: Possible values: MUSIC
, VIDEO
, PSNOW
userDefinedParam1
Format: Int
Required: No
userDefinedParam2
Format: Int
Required: No
userDefinedParam3
Format: Int
Required: No
userDefinedParam4
Format: Int
Required: No
versionFileUri
Format: String
Required: Yes. A simple application however does not require this parameter to be set.