Difference between revisions of "HP Prime/File Format"

From TI-Planet's HP Calcs Wiki
Jump to navigation Jump to search
(Create page stub, with a bit of information about lists.)
 
(Add information about more file types, and one more dump)
Line 3: Line 3:
 
== Known file types ==
 
== Known file types ==
 
This list was extracted from the folder used by the computer version of the HP Prime software (dated August 15th, 2013), namely %appdata%/HP_Prime on Windows:
 
This list was extracted from the folder used by the computer version of the HP Prime software (dated August 15th, 2013), namely %appdata%/HP_Prime on Windows:
* "*.hpapp", "*.hpappnote", "*.hpapprgm": applications, built-in or others;
+
* "*.hpapp", "*.hpappnote", "*.hpapprgm": data for applications, built-in or others.
* "*.hpprgm": user BASIC programs;
+
For built-in applications, *.hpappnote files are 2 bytes long, and *.hpappprgm files are 22 bytes long.
* "calc.settings", "cas.settings, "settings": binary information about settings;
+
* "*.hpprgm": user BASIC programs.
 +
There's a bit of metadata at the beginning, but the text of the program is stored as Unicode (UTF-16 little-endian).
 +
* "calc.settings", "cas.settings, "settings": binary information about settings.
 +
** calc.settings contains a number of UTF-16 little-endian strings, among which some names for built-in apps, and the user input in the home screen (under a semi-internal form: strings such as "EVALLIST" and "NEG" can be seen).
 
* "*.hplist": list files:
 
* "*.hplist": list files:
** the default state of a list is an 8-byte file: 01 00 16 00 *00* 00 00 00
+
** the default state of a list, i.e. {}, is an 8-byte file: 01 00 16 00 *00* 00 00 00
 
** {0} is stored as a 28-byte file: 01 00 16 00 *01* 00 00 00 *18* 2d 23 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01
 
** {0} is stored as a 28-byte file: 01 00 16 00 *01* 00 00 00 *18* 2d 23 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01
 
** {1} is stored as a 28-byte file: 01 00 16 00 *01* 00 00 00 *38* 2d 23 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01
 
** {1} is stored as a 28-byte file: 01 00 16 00 *01* 00 00 00 *38* 2d 23 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01
Line 14: Line 17:
 
** {1,2} is stored as a 48-byte file: 01 00 16 00 *02* 00 00 00 18 2d 23 01 38 2d 23 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01
 
** {1,2} is stored as a 48-byte file: 01 00 16 00 *02* 00 00 00 18 2d 23 01 38 2d 23 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01
 
* "*.hpmat": matrix files:
 
* "*.hpmat": matrix files:
** the default state of a matrix is a 24-byte file: 01 00 *14* 01 02 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
+
** the default state of a matrix, i.e. [ [ 0 ] ], is a 24-byte file: 01 00 *14* 01 02 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
 +
** [ [ 1 ] ] is a 24-byte file: 01 00 14 01 02 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 *01*
 
* "testmodes.hptestmodes": current settings for the exam mode ?
 
* "testmodes.hptestmodes": current settings for the exam mode ?

Revision as of 21:10, 19 August 2013

This page aims at providing information about the file types of the HP Prime and their storage format (on both the computer side and the calculator side, if they're different).

Known file types

This list was extracted from the folder used by the computer version of the HP Prime software (dated August 15th, 2013), namely %appdata%/HP_Prime on Windows:

  • "*.hpapp", "*.hpappnote", "*.hpapprgm": data for applications, built-in or others.

For built-in applications, *.hpappnote files are 2 bytes long, and *.hpappprgm files are 22 bytes long.

  • "*.hpprgm": user BASIC programs.

There's a bit of metadata at the beginning, but the text of the program is stored as Unicode (UTF-16 little-endian).

  • "calc.settings", "cas.settings, "settings": binary information about settings.
    • calc.settings contains a number of UTF-16 little-endian strings, among which some names for built-in apps, and the user input in the home screen (under a semi-internal form: strings such as "EVALLIST" and "NEG" can be seen).
  • "*.hplist": list files:
    • the default state of a list, i.e. {}, is an 8-byte file: 01 00 16 00 *00* 00 00 00
    • {0} is stored as a 28-byte file: 01 00 16 00 *01* 00 00 00 *18* 2d 23 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01
    • {1} is stored as a 28-byte file: 01 00 16 00 *01* 00 00 00 *38* 2d 23 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01
    • {2} is stored as a 28-byte file: 01 00 16 00 *01* 00 00 00 *58* 2d 23 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01
    • {-1} is stored as a 28-byte file: 01 00 16 00 *01* 00 00 00 *08* 2d 23 01 00 00 00 *ff* 00 00 00 00 00 00 00 00 00 00 00 01
    • {1,2} is stored as a 48-byte file: 01 00 16 00 *02* 00 00 00 18 2d 23 01 38 2d 23 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 02 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01
  • "*.hpmat": matrix files:
    • the default state of a matrix, i.e. [ [ 0 ] ], is a 24-byte file: 01 00 *14* 01 02 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
    • [ [ 1 ] ] is a 24-byte file: 01 00 14 01 02 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 *01*
  • "testmodes.hptestmodes": current settings for the exam mode ?