TI92 common files format
Release 1.0 02/10/1997
By Vincent CARON
CONTENT
'.92P' program files
'.92G' group files
'.92B' backup files
PLEASE NOTE :
- All numbers are in HEXADECIMAL format.
- All strings are in C format. They are arrays [1..maxsize] of char, with
an ending zero if the actual size of the string is less than maxsize.
In this case, any char after a #0 has no meaning and is not obviously
equal to #0.
It seems that the TI92 pads strings with #0 all the time.
- These formats refer to a format version number. They come from the
Win'Link v1.4 (08/12/96) software of TI, and are still up to date on
the 01/25/97.
'.92P' PROGRAM FILES (v1.0)
+00 8 "**TI92**"
+08 1 format version (maj)
+09 1 format version (min)
+0A 8 directory name string
+12 28 comment string
+3A 2 number of entries (LSB first)
+3C 4 pointer to first entry (LSB first)
+40 8 variable name string
+48 1 variable type
+49 3 0 0 0
+4C 4 file size (LSB first)
+50 2 A5 5A (header end)
+52 2 0 0
+54 4 n = variable data size (MSB first) = TI Var-link's size - 2
+58 n variable data
+58+n 2 variable data checksum (+52 to +57+n inclusive)
Remarks :
- file size = variable data size + 5A
- pointer to first entry = 52
- number of entries = 1 (*.92? files are ALL *.92G files (!), except *.92B)
'.92G' GROUP FILES (v1.0)
+00 8 "**TI92**"
+08 1 format version (maj)
+09 1 format version (min)
+0A 8 0 0 0 0 0 0 0 0 (unused)
+12 28 comment string
+3A 2 n = number of entries (LSB first)
+3C n entries (i=0..n-1) :
+3C+10*i 4 P(i) = pointer to entry data (LSB first)
+40+10*i 8 entry name string
+48+10*i 1 type
+49+10*i 3 ? ? ?
+3C+10*n 4 file size (LSB first)
+40+10*n 2 A5 5A (header end)
+P(0) n entries (i=0..n-1) :
+P(i) 2 0 0
+P(i)+2 4 n = variable data size (MSB first)
= TI Var-link's size - 2
+P(i)+6 n variable data
+P(i)+6+n 2 variable data checksum (+P(i) to +P(i)+5+n inclusive)
Remarks :
- If the entry is a directory (type 1F), P(i) points to the first variable
in this directory
'.92B' BACKUP FILES (v1.0)
+00 8 "**TI92**"
+08 1 format version (maj)
+09 1 format version (min)
+0A 8 0 0 0 0 0 0 0 0 (unused)
+12 28 comment string
+3A 2 number of entries (LSB first)
+3C 4 pointer to first entry (LSB first)
+40 8 ROM version string ("x.x")
+48 1 type (1D)
+49 3 0 0 0
+4C 4 file size (LSB first)
+50 2 header end (A5 5A)
+52 n backup data (n = file_size - header_size - 2)
+52+n 2 backup data checksum (+52 to +51+n inclusive)
Remarks :
- number of entries = 1
- pointer to first entry = 52
- header size = 52 (header end included)
Contact : Vincent Caron <vincent _at_ zerodeux.net> |
Last modified on Sunday 26 Jun 2005 15:11 |