# ------------------------------------------------------------------------
# ti-xx: file(1) magic for the TI-8x and TI-9x Graphing Calculators.
#
# From: Ryan McGuire (rmcguire@freenet.columbus.oh.us).
# Update: Romain Lievin (roms@lpg.ticalc.org).
#
# Files for the TI-80 and TI-81 are pretty rare. I'm not going to put the
# program/group magic numbers in here because I cannot find any.
0               string          **TI80**        TI-80 Graphing Calculator File.
0               string          **TI81**        TI-81 Graphing Calculator File.
#
# Magic Numbers for the TI-73
#
0               string          **TI73**        TI-73 Graphing Calculator
>0x00003B       byte            0x00            (real number)
>0x00003B       byte            0x01            (list)
>0x00003B       byte            0x02            (matrix)
>0x00003B       byte            0x03            (equation)
>0x00003B       byte            0x04            (string)
>0x00003B       byte            0x05            (program)
>0x00003B       byte            0x06            (assembly program)
>0x00003B       byte            0x07            (picture)
>0x00003B       byte            0x08            (gdb)
>0x00003B       byte            0x0C            (complex number)
>0x00003B       byte            0x0F            (window settings)
>0x00003B       byte            0x10            (zoom)
>0x00003B       byte            0x11            (table setup)
>0x00003B       byte            0x13            (backup)
#
# Magic Numbers for the TI-82
#
0               string          **TI82**        TI-82 Graphing Calculator
>0x00003B       byte            0x00            (real)
>0x00003B       byte            0x01            (list)
>0x00003B       byte            0x02            (matrix)
>0x00003B       byte            0x03            (Y-variable)
>0x00003B       byte            0x05            (program)
>0x00003B       byte            0x06            (protected prgm)
>0x00003B       byte            0x07            (picture)
>0x00003B       byte            0x08            (gdb)
>0x00003B       byte            0x0B            (window settings)
>0x00003B       byte            0x0C            (window settings)
>0x00003B       byte            0x0D            (table setup)
>0x00003B       byte            0x0E            (screenshot)
>0x00003B       byte            0x0F            (backup)
#
# Magic Numbers for the TI-83
#
0               string          **TI83**        TI-83 Graphing Calculator
>0x00003B       byte            0x00            (real)
>0x00003B       byte            0x01            (list)
>0x00003B       byte            0x02            (matrix)
>0x00003B       byte            0x03            (Y-variable)
>0x00003B       byte            0x04            (string)
>0x00003B       byte            0x05            (program)
>0x00003B       byte            0x06            (protected prgm)
>0x00003B       byte            0x07            (picture)
>0x00003B       byte            0x08            (gdb)
>0x00003B       byte            0x0B            (window settings)
>0x00003B       byte            0x0C            (window settings)
>0x00003B       byte            0x0D            (table setup)
>0x00003B       byte            0x0E            (screenshot)
>0x00003B       byte            0x13            (backup)
#
# Magic Numbers for the TI-83+
#
0               string          **TI83F*        TI-83+ Graphing Calculator
>0x00003B       byte            0x00            (real number)
>0x00003B       byte            0x01            (list)
>0x00003B       byte            0x02            (matrix)
>0x00003B       byte            0x03            (equation)
>0x00003B       byte            0x04            (string)
>0x00003B       byte            0x05            (program)
>0x00003B       byte            0x06            (assembly program)
>0x00003B       byte            0x07            (picture)
>0x00003B       byte            0x08            (gdb)
>0x00003B       byte            0x0C            (complex number)
>0x00003B       byte            0x0F            (window settings)
>0x00003B       byte            0x10            (zoom)
>0x00003B       byte            0x11            (table setup)
>0x00003B       byte            0x13            (backup)
>0x00003B       byte            0x15            (application variable)
>0x00003B       byte            0x17            (group of variable)
#
# Magic Numbers for the TI-85
#
0               string          **TI85**        TI-85 Graphing Calculator
>0x00003B       byte            0x00            (real number)
>0x00003B       byte            0x01            (complex number)
>0x00003B       byte            0x02            (real vector)
>0x00003B       byte            0x03            (complex vector)
>0x00003B       byte            0x04            (real list)
>0x00003B       byte            0x05            (complex list)
>0x00003B       byte            0x06            (real matrix)
>0x00003B       byte            0x07            (complex matrix)
>0x00003B       byte            0x08            (real constant)
>0x00003B       byte            0x09            (complex constant)
>0x00003B       byte            0x0A            (equation)
>0x00003B       byte            0x0C            (string)
>0x00003B       byte            0x0D            (function GDB)
>0x00003B       byte            0x0E            (polar GDB)
>0x00003B       byte            0x0F            (parametric GDB)
>0x00003B       byte            0x10            (diffeq GDB)
>0x00003B       byte            0x11            (picture)
>0x00003B       byte            0x12            (program)
>0x00003B       byte            0x13            (range)
>0x00003B       byte            0x17            (window settings)
>0x00003B       byte            0x18            (window settings)
>0x00003B       byte            0x19            (window settings)
>0x00003B       byte            0x1A            (window settings)
>0x00003B       byte            0x1B            (zoom)
>0x00003B       byte            0x1D            (backup)
>0x00003B       byte            0x1E            (unknown)
>0x00003B       byte            0x2A            (equation)
>0x000032       string          ZS4             - ZShell Version 4 File.
>0x000032       string          ZS3             - ZShell Version 3 File.
#
# Magic Numbers for the TI-86
#
0               string          **TI86**        TI-86 Graphing Calculator
>0x00003B       byte            0x00            (real number)
>0x00003B       byte            0x01            (complex number)
>0x00003B       byte            0x02            (real vector)
>0x00003B       byte            0x03            (complex vector)
>0x00003B       byte            0x04            (real list)
>0x00003B       byte            0x05            (complex list)
>0x00003B       byte            0x06            (real matrix)
>0x00003B       byte            0x07            (complex matrix)
>0x00003B       byte            0x08            (real constant)
>0x00003B       byte            0x09            (complex constant)
>0x00003B       byte            0x0A            (equation)
>0x00003B       byte            0x0C            (string)
>0x00003B       byte            0x0D            (function GDB)
>0x00003B       byte            0x0E            (polar GDB)
>0x00003B       byte            0x0F            (parametric GDB)
>0x00003B       byte            0x10            (diffeq GDB)
>0x00003B       byte            0x11            (picture)
>0x00003B       byte            0x12            (program)
>0x00003B       byte            0x13            (range)
>0x00003B       byte            0x17            (window settings)
>0x00003B       byte            0x18            (window settings)
>0x00003B       byte            0x19            (window settings)
>0x00003B       byte            0x1A            (window settings)
>0x00003B       byte            0x1B            (zoom)
>0x00003B       byte            0x1D            (backup)
>0x00003B       byte            0x1E            (unknown)
>0x00003B       byte            0x2A            (equation)
#
# Magic Numbers for the TI-89
#
0               string          **TI89**        TI-89 Graphing Calculator
>0x000048       byte            0x00            (expression)
>0x000048       byte            0x04            (list)
>0x000048       byte            0x06            (matrix)
>0x000048       byte            0x0A            (data)
>0x000048       byte            0x0B            (text)
>0x000048       byte            0x0C            (string)
>0x000048       byte            0x0D            (graphic data base)
>0x000048       byte            0x0E            (figure)
>0x000048       byte            0x10            (picture)
>0x000048       byte            0x12            (program)
>0x000048       byte            0x13            (function)
>0x000048       byte            0x14            (macro)
>0x000048       byte            0x1C            (zipped)
>0x000048       byte            0x21            (assembler)
#
# Magic Numbers for the TI-92
#
0               string          **TI92**        TI-92 Graphing Calculator
>0x000048       byte            0x00            (expression)
>0x000048       byte            0x04            (list)
>0x000048       byte            0x06            (matrix)
>0x000048       byte            0x0A            (data)
>0x000048       byte            0x0B            (text)
>0x000048       byte            0x0C            (string)
>0x000048       byte            0x0D            (graphic data base)
>0x000048       byte            0x0E            (figure)
>0x000048       byte            0x10            (picture)
>0x000048       byte            0x12            (program)
>0x000048       byte            0x13            (function)
>0x000048       byte            0x14            (macro)
>0x000048       byte            0x1D            (backup)
#
# Magic Numbers for the TI-92+/V200
#
0               string          **TI92P*        TI-92+/V200 Graphing Calculator
>0x000048       byte            0x00            (expression)
>0x000048       byte            0x04            (list)
>0x000048       byte            0x06            (matrix)
>0x000048       byte            0x0A            (data)
>0x000048       byte            0x0B            (text)
>0x000048       byte            0x0C            (string)
>0x000048       byte            0x0D            (graphic data base)
>0x000048       byte            0x0E            (figure)
>0x000048       byte            0x10            (picture)
>0x000048       byte            0x12            (program)
>0x000048       byte            0x13            (function)
>0x000048       byte            0x14            (macro)
>0x000048       byte            0x1C            (zipped)
>0x000048       byte            0x21            (assembler)
#
# Magic Numbers for the TI-73/83+/89/92+/V200 FLASH upgrades
#
0x0000016       string          Advanced        TI-XX Graphing Calculator (FLASH)
0               string          **TIFL**        TI-XX Graphing Calculator (FLASH)
>8	byte		>0		- Revision %d
>>9	byte		x		\b.%d,
>12	byte		>0		Revision date %02x
>>13	byte		x		\b/%02x
>>14	beshort		x		\b/%04x,
>17	string		>/0		name: '%s',
>48	byte		0x74		device: TI-73,
>48	byte		0x73		device: TI-83+,
>48	byte		0x98		device: TI-89,
>48	byte		0x88		device: TI-92+,
>49	byte		0x23		type: OS upgrade,
>49	byte		0x24		type: application,
>49	byte		0x25		type: certificate,
>49	byte		0x3e		type: license,
>74	lelong		>0		size: %ld bytes

