-
Notifications
You must be signed in to change notification settings - Fork 0
8xp File Structure
Maksim Straus edited this page Jul 9, 2024
·
1 revision
Each 8xp file contains:
- 55 byte header
- 19 byte metadata
- Variable length body
- 2 byte checksum
- Content: 8 byte signature that is always
**TI83F*
. - Encoding: ASCII
- Content: 2 bytes always with these values:
0x1A
,0x0A
.
- Content: 1 byte always with the value
0x00
.
- Content: 42 bytes of comment, usually:
Created by [Tools Name] [Tools Version]
. Padded with 0x00. - Encoding: ASCII
The number of bytes in the metadata and body, excluding checksum.
- Content: 2 bytes
- Encoding: little-endian 16-bit integer.
- Content: 1 byte flag, usually
0x0D
.
- Content: 1 byte always with the value
0x00
.
The number of bytes in the body and checksum.
- Content: 2 bytes
- Encoding: little-endian 16-bit integer.
- Content: 1 byte
- Encoding:
- 0x05: Normal Program
- 0x06: Locked Program
- 0x17: Groups
- Content: 8 bytes of program name. Padded with 0x00.
- Encoding: ASCII
- Content: 1 byte, usually
0x00
.
- Content: 1 byte
- Economics:
- 0x00: Not archived
- 0x80: Archived
The number of bytes in the body and checksum. This is repeated again, for some reason.
- Content: 2 bytes
- Encoding: little-endian 16-bit integer.
The number of bytes in the body.
- Content: 2 bytes
- Encoding: little-endian 16-bit integer.
The body of the 8xp file is the actual program data. The length of the body is specified in the metadata.
- Content: Variable length
- Encoding: Check out the 8xp token list
- Content: 2 bytes
- Encoding: little-endian 16-bit integer.