OS upgrade files: Difference between revisions

From Hackspire
Jump to navigation Jump to search
(→‎TI-Nspire.img: Additions to some fields)
Line 39: Line 39:
Additional remarks:
Additional remarks:
*The crypted field 8070 is 195568 bytes longer in the .tno than in the .tnc, that is the TI-84 Plus emulator of the TI-Nspire would be ~200kb bigger than the CAS of the TI-Nspire CAS! May be the two OS integrates a CAS, but it is not enabled on the TI-Nspire.
*The crypted field 8070 is 195568 bytes longer in the .tno than in the .tnc, that is the TI-84 Plus emulator of the TI-Nspire would be ~200kb bigger than the CAS of the TI-Nspire CAS! May be the two OS integrates a CAS, but it is not enabled on the TI-Nspire.
==Compressed file system==
Field 8200 of ''TI-Nspire.img'' contains PK-Zipped files, used to setup the file system of the TI-Nspire. Its structure probably follows the target file system tree. The .tnc and .tno both have a ''phoenix/'' directory, with a sub-directory for each module of the OS which contain localized resource files (''.res''), the 'getting started' ''.tnc'' file, and factory settings. The .tnc has a special directory ''ti84/'' which contains an image of the TI-84 Plus archive memory splitted into 64kb files, used to setup the memory of the emulated TI-84 Plus. Some flash apps are preinstalled in this image.
The files in the sub-directory ''phoenix/'' are the same between the TI-Nspire and the TI-Nspire CAS, excepted the sample document ''Getting Started'', the ''.res'' files of ctlg (catalog) and ''syst'' (system), and the factory settings in ''factory.zip'' (the TI-Nspire is set to ''real'' for ''Real or Complex'', the TI-Nspire is set to 4=??).


==We need your help==
==We need your help==
*Find out what the unknown fields of ''TI-Nspire.cer'' and ''TI-Nspire.img'' mean
*Find out what the unknown fields of ''TI-Nspire.cer'' and ''TI-Nspire.img'' mean
*Help us to break the encryption of field 8070 in ''TI-Nspire.img''
*Find all the differences between the official release of the TI-84 Plus OS and the OS image used in the TI-Nspire for its emulator. Try to flash it to your TI-84 Plus if you are brave enough (note that we don't know if it will continue to work after this).

Revision as of 22:10, 4 August 2007

The latest versions of the TI-Nspire and TI-Nspire CAS Operating System are available here. This article describes the format and content of the current versions (v1.1.9253 and v1.1.9170) of the .tno and .tnc files.

.tno/.tnc

A .tno/.tnc is a PK-Zip file with a custom ASCII header describing the OS update file. The PK-Zip file contains a certificate file (TI-Nspire.cer) and a .img file (TI-Nspire.img).

TI-Nspire.cer

The file follows TI's standard certificate format used on many caculator models. See TIGCC's documentation for more information (more particularly cread and cfindfield).

(Format of the following section: Field ID (hex) - size (dec) : comment. The indentation corresponds to subfields.)

350 - 298 : top-level field, similar to TI-68k's FLASH_APP_CERT (0x0300), PRODUCT_CODE (0x0320), FLASH_ROM_CERT (0x0330), etc.

0010 - 4 : ?
0100 - 4 : Revision Number (same field as for the TI-68k)
0260 - 140 : ?
0260 - 140 : A second one! The beginning and the end of the 2 fields are similar.

240 - 128 : Same field ID as in the .tno/.tnc. Certificate signature.
FFF0 - 0 : END_OF_CERT

TI-Nspire.img

As for TI-Nspire.cer, the file is organized as a certificate.

(Format of the following section: Field ID (hex) - size (dec) - @TI-Nspire: offet of the current version (hex) - @TI-Nspire CAS: offset): comment. The indentation corresponds to subfields.)

8000 : AMS Header - Invalid size??

8040 : Product Name: "TI-Nspire"
8010 : First part of Product ID
80E0 : Different on TI-Nspire and TI-Nspire CAS
8020 : Version number: "1.1.9253"/"1.1.9170"
8020 : Version number, a second time
8080 : ?
0320 - 6 : Product code : 0
80F0 - 64 : A signature? Equivalent to TI-68k's field 0200? (but it doesn't seem to be the MD5 of the product code). The first 8 bytes and the 16 last bytes are the same on TI-Nspire and TI-Nspire CAS.
8210 : ? 24ED68 on TI-Nspire, 0BA9CB on TI-Nspire CAS
8200 : Starts with PK. PK-Zipped file system, see further.
8070 - TI-Nspire:2403720, TI-Nspire CAS:2339224 - @TI-Nspire: A7F36, @TI-Nspire CAS: 490E2: Crypted, probably also compressed. Only the 8 first bytes are the same between the .tno and the .tnc. The size is a multiple of 32, so a 128 or 256 bit symmetric encryption may be used.

0240 (024D) - 128 - @TI-Nspire: 2F2CBE, @TI-Nspire CAS : 28427A: the signature of the .img, similar to TI-68k's 64 bytes long field 0200.
FFF0 - 0 : END_OF_CERT

Additional remarks:

  • The crypted field 8070 is 195568 bytes longer in the .tno than in the .tnc, that is the TI-84 Plus emulator of the TI-Nspire would be ~200kb bigger than the CAS of the TI-Nspire CAS! May be the two OS integrates a CAS, but it is not enabled on the TI-Nspire.

Compressed file system

Field 8200 of TI-Nspire.img contains PK-Zipped files, used to setup the file system of the TI-Nspire. Its structure probably follows the target file system tree. The .tnc and .tno both have a phoenix/ directory, with a sub-directory for each module of the OS which contain localized resource files (.res), the 'getting started' .tnc file, and factory settings. The .tnc has a special directory ti84/ which contains an image of the TI-84 Plus archive memory splitted into 64kb files, used to setup the memory of the emulated TI-84 Plus. Some flash apps are preinstalled in this image.

The files in the sub-directory phoenix/ are the same between the TI-Nspire and the TI-Nspire CAS, excepted the sample document Getting Started, the .res files of ctlg (catalog) and syst (system), and the factory settings in factory.zip (the TI-Nspire is set to real for Real or Complex, the TI-Nspire is set to 4=??).

We need your help

  • Find out what the unknown fields of TI-Nspire.cer and TI-Nspire.img mean
  • Help us to break the encryption of field 8070 in TI-Nspire.img
  • Find all the differences between the official release of the TI-84 Plus OS and the OS image used in the TI-Nspire for its emulator. Try to flash it to your TI-84 Plus if you are brave enough (note that we don't know if it will continue to work after this).