PARAM.HIS: Difference between revisions

From PS3 Developer wiki
Jump to navigation Jump to search
(internall structures)
No edit summary
 
(18 intermediate revisions by 5 users not shown)
Line 1: Line 1:
[[Image:PARAMHIS_Changelog.png|200px|thumb|right| ]]
== Description ==
== Description ==


This file is used to describe the update history (display on xmb under options of the game or game data utility)
This file is used to display the changelog texts of a HDD game (category '''HG'''), game patches (category '''GD''' with '''APP_VER'''), and gamedata (category '''GD''' without '''APP_VER''').
Game example:  
Texts are displayed under the option "'''Update History'''" when pressing triangle over his icon.
*HATSUNE MIKU Project Diva - Dreamy Theater (update 1.01 of the PS3 PSN side)
 
*Catherine BLJM60215 (Japanese version) update 1.01
Others category : Option not available on XMB but text is displayed during download.
 
PARAM.HIP files are the "source" file, contained in the root of a Install_Package.pkg. When the package is installed the  system adds at the beggining of the "source" file 10 bytes containing his timestamp (date and time when is installed), and copyes it in the install folder as PARAM.HIS.
 
PARAM.HIS files can be updated by consecutive installations of more .HIP files over the same old .HIS file, this adds the same structure severall times separated by his timestamps and a blank row when displayed in XMB.


Location : same as PARAM.SFO (folder game)
Severall PARAM_'''xx'''.HIP files can be included in a .pkg for different [[Content_Information_Files#Languages|languages]] by adding a number to the end of the filename (e.g. PARAM_'''16'''.HIP for polish language), the system will install only the one that matches the language settings of the user, or the default PARAM.HIP if no other is applicable.


Relation with PARAM.SFO : independent from Title_ID or version but need to be under PS3 game category
By adding a PARAM.HIS inside a .PKG (this is not the standard way how its supposed to work) the system manages the file as any "normal" file and copyes it to the install folder without making any file conversion neither updating his timestamp, this can be used to add it to the first release of a homebrew


Relation with PARAM.HIS : Generated from PARAM.HIP by ps3 (after unpkg)or first boot of the game/ homebrew, overwrite, add infos (such as ) and convert it (to Shift JIS).
*'''Game examples''' (using PARAM.HIP)
**HATSUNE MIKU Project Diva (NPJB00047) - patch 1.01
**Catherine (BLJM60215) - patch 1.01


Both PARAM.HIS & PARAM.HIP can be language specific (e.g. PARAM_'''16'''.HIS for polish language) by adding a number to the end of filename from this list [[Content_Information_Files#Languages]]
(there are others more recents but the two above give the different diplays: Catherine .HIP is display on Game Data utility and Hatsune .HIP is diplay on game folder.


==Internal Structures==
*'''Homebrew examples''' (using PARAM.HIP)
**None yet


===PARAM.HIP===
*'''Homebrew examples''' (using PARAM.HIS)
**Paintown 3.5 by Markus95
**Solar 4.1 by Condorstrike


This structure is repeated several times inside the file, one time for each text row, the controll byte "'''0A'''" displaces text to the next row
== Internal Structures ==
 
=== PARAM.HIP ===
 
This structure is repeated several times inside the file, one time for each text row, the controll byte "'''0A'''" displaces text to the next row.


{| class="wikitable"
{| class="wikitable"
|-
|-
! Description !! Lenght !! Example !! Conversion !! Example Converted !! Notes
! Description !! Length !! Example !! Conversion !! Example Converted !! Notes
|-
|-
| Text Line Nº1 || variable || 48 69 20 3A 29 || utf-8 || Hi :)
| Text Line || variable || 52 6F 77 20 31 || utf-8 || Row 1
|-
|-
| Line Feed || 1 byte || 0A || None || ||Control byte to break the text line
| Line Feed || 1 byte || 0A || || ||Control byte to break the text line
|-
|-
|}
|}


===PARAM.HIS===
=== PARAM.HIS ===
This structure is repeated severall times inside the file ?... if so... the counter increases ?
 
This structure is repeated severall times inside the file, one time for each PARAM.HIP included in the file.


{| class="wikitable"
{| class="wikitable"
|-
|-
! Description !! Lenght !! Example !! Conversion !! Example Converted !!Notes
! Description !! Length !! Example !! Conversion !! Example Converted !!Notes
|-
|-
| Counter ? || 1 byte || 01 || Decimal || 1 || needs confirmation
| Timestamp Mark || 1 byte || 01 || || || Marks the start point of a Timestamp
|-
|-
| timestamp || 8 bytes || 00 00 00 00 4E F6 59 70 || Decimal ---> Unix time || 1324767600 ---> 2011/12/25 00:00 ||
| Timestamp || 8 bytes || 00 00 00 00 4E F6 59 70 || Decimal ---> Unix time || 1324767600 ---> 2011/12/25 00:00 ||
|-
|-
| Unknown || 1 byte || 02 || || ||
| PARAM.HIP Mark || 1 byte || 02 || || || Marks the start point of a PARAM.HIP
|-
| PARAM.HIP || variable ||  ||  || || raw PARAM.HIP
|-
|-
| PARAM.HIP || variable ||  ||  || || Raw PARAM.HIP
|}
|}


Hex to binary online [[http://www.disfrutalasmatematicas.com/numeros/binario-decimal-hexadecimal-conversor.html conversor]]
Hexadecimal to Decimal online [[http://www.disfrutalasmatematicas.com/numeros/binario-decimal-hexadecimal-conversor.html conversor]]
 
Decimal to Unix Timestamp online [[http://www.timestampconvert.com conversor]]
 
Example of a "hand made" [[http://www.sendspace.com/file/chvymx PARAM.HIS]] that simulates 3 patches with 3 text rows each, installed in 3 different years, usefull to copy-paste it inside an installed patch folder (GD category) or a game (HG category) to understand how the .HIP's are cummulated inside a .HIS
 
== ASCII art ==
[[Image:PARAMHIS_ASCII_art.png|200px|thumb|right| ]]
Because there are a lot of text rows availables it can be made ASCII pictures and logos, the trick here is to first use some online ASCII converter like [[http://www.network-science.de/ascii/ this one]]
. The output text of this conversors will not be displayed correctly in PS3 XMB


Timestamp online [[http://www.timestampconvert.com copnversor]]
There is needed to represent this text in the PC using the official fonts from the firmware (US/Europe fonts are in the path '''dev_flash\data\font\SCE-PS3-RD-R-LATIN.TTF''').


Install this font in the PC, open some image or text editor (like photoshop or gimp), paste the text and correct the widths by adding spaces to display it properly.


Example of a "hand made" [[http://www.sendspace.com/file/dbze2k PARAM.HIS]] with the '''PS3DEV''' logo and a strange guy under it '''o0'''.


== Tools ==


'''HIP2HIS from Deroad''': This app simply convert a PARAM.HIP file to PARAM.HIS
http://www.mediafire.com/?rv6jajz3nfy53iw


'''make_his by jjolano''': Generates a PARAM.HIS file from a Unix-formatted text file https://github.com/jjolano/make_his




== Cryptography==
{{File Formats}}<noinclude>[[Category:Main]]</noinclude>
None?

Latest revision as of 13:16, 31 January 2022

PARAMHIS Changelog.png

Description[edit | edit source]

This file is used to display the changelog texts of a HDD game (category HG), game patches (category GD with APP_VER), and gamedata (category GD without APP_VER). Texts are displayed under the option "Update History" when pressing triangle over his icon.

Others category : Option not available on XMB but text is displayed during download.

PARAM.HIP files are the "source" file, contained in the root of a Install_Package.pkg. When the package is installed the system adds at the beggining of the "source" file 10 bytes containing his timestamp (date and time when is installed), and copyes it in the install folder as PARAM.HIS.

PARAM.HIS files can be updated by consecutive installations of more .HIP files over the same old .HIS file, this adds the same structure severall times separated by his timestamps and a blank row when displayed in XMB.

Severall PARAM_xx.HIP files can be included in a .pkg for different languages by adding a number to the end of the filename (e.g. PARAM_16.HIP for polish language), the system will install only the one that matches the language settings of the user, or the default PARAM.HIP if no other is applicable.

By adding a PARAM.HIS inside a .PKG (this is not the standard way how its supposed to work) the system manages the file as any "normal" file and copyes it to the install folder without making any file conversion neither updating his timestamp, this can be used to add it to the first release of a homebrew

  • Game examples (using PARAM.HIP)
    • HATSUNE MIKU Project Diva (NPJB00047) - patch 1.01
    • Catherine (BLJM60215) - patch 1.01

(there are others more recents but the two above give the different diplays: Catherine .HIP is display on Game Data utility and Hatsune .HIP is diplay on game folder.

  • Homebrew examples (using PARAM.HIP)
    • None yet
  • Homebrew examples (using PARAM.HIS)
    • Paintown 3.5 by Markus95
    • Solar 4.1 by Condorstrike

Internal Structures[edit | edit source]

PARAM.HIP[edit | edit source]

This structure is repeated several times inside the file, one time for each text row, the controll byte "0A" displaces text to the next row.

Description Length Example Conversion Example Converted Notes
Text Line variable 52 6F 77 20 31 utf-8 Row 1
Line Feed 1 byte 0A Control byte to break the text line

PARAM.HIS[edit | edit source]

This structure is repeated severall times inside the file, one time for each PARAM.HIP included in the file.

Description Length Example Conversion Example Converted Notes
Timestamp Mark 1 byte 01 Marks the start point of a Timestamp
Timestamp 8 bytes 00 00 00 00 4E F6 59 70 Decimal ---> Unix time 1324767600 ---> 2011/12/25 00:00
PARAM.HIP Mark 1 byte 02 Marks the start point of a PARAM.HIP
PARAM.HIP variable Raw PARAM.HIP

Hexadecimal to Decimal online [conversor]

Decimal to Unix Timestamp online [conversor]

Example of a "hand made" [PARAM.HIS] that simulates 3 patches with 3 text rows each, installed in 3 different years, usefull to copy-paste it inside an installed patch folder (GD category) or a game (HG category) to understand how the .HIP's are cummulated inside a .HIS

ASCII art[edit | edit source]

PARAMHIS ASCII art.png

Because there are a lot of text rows availables it can be made ASCII pictures and logos, the trick here is to first use some online ASCII converter like [this one] . The output text of this conversors will not be displayed correctly in PS3 XMB

There is needed to represent this text in the PC using the official fonts from the firmware (US/Europe fonts are in the path dev_flash\data\font\SCE-PS3-RD-R-LATIN.TTF).

Install this font in the PC, open some image or text editor (like photoshop or gimp), paste the text and correct the widths by adding spaces to display it properly.

Example of a "hand made" [PARAM.HIS] with the PS3DEV logo and a strange guy under it o0.

Tools[edit | edit source]

HIP2HIS from Deroad: This app simply convert a PARAM.HIP file to PARAM.HIS http://www.mediafire.com/?rv6jajz3nfy53iw

make_his by jjolano: Generates a PARAM.HIS file from a Unix-formatted text file https://github.com/jjolano/make_his