1*b6cee71dSXin LI 2*b6cee71dSXin LI#------------------------------------------------------------------------------ 3*b6cee71dSXin LI# $File: ti-8x,v 1.7 2014/04/30 21:41:02 christos Exp $ 4*b6cee71dSXin LI# ti-8x: file(1) magic for the TI-8x and TI-9x Graphing Calculators. 5*b6cee71dSXin LI# 6*b6cee71dSXin LI# From: Ryan McGuire (rmcguire@freenet.columbus.oh.us). 7*b6cee71dSXin LI# 8*b6cee71dSXin LI# Update: Romain Lievin (roms@lpg.ticalc.org). 9*b6cee71dSXin LI# 10*b6cee71dSXin LI# NOTE: This list is not complete. 11*b6cee71dSXin LI# Files for the TI-80 and TI-81 are pretty rare. I'm not going to put the 12*b6cee71dSXin LI# program/group magic numbers in here because I cannot find any. 13*b6cee71dSXin LI0 string **TI80** TI-80 Graphing Calculator File. 14*b6cee71dSXin LI0 string **TI81** TI-81 Graphing Calculator File. 15*b6cee71dSXin LI# 16*b6cee71dSXin LI# Magic Numbers for the TI-73 17*b6cee71dSXin LI# 18*b6cee71dSXin LI0 string **TI73** TI-73 Graphing Calculator 19*b6cee71dSXin LI>0x00003B byte 0x00 (real number) 20*b6cee71dSXin LI>0x00003B byte 0x01 (list) 21*b6cee71dSXin LI>0x00003B byte 0x02 (matrix) 22*b6cee71dSXin LI>0x00003B byte 0x03 (equation) 23*b6cee71dSXin LI>0x00003B byte 0x04 (string) 24*b6cee71dSXin LI>0x00003B byte 0x05 (program) 25*b6cee71dSXin LI>0x00003B byte 0x06 (assembly program) 26*b6cee71dSXin LI>0x00003B byte 0x07 (picture) 27*b6cee71dSXin LI>0x00003B byte 0x08 (gdb) 28*b6cee71dSXin LI>0x00003B byte 0x0C (complex number) 29*b6cee71dSXin LI>0x00003B byte 0x0F (window settings) 30*b6cee71dSXin LI>0x00003B byte 0x10 (zoom) 31*b6cee71dSXin LI>0x00003B byte 0x11 (table setup) 32*b6cee71dSXin LI>0x00003B byte 0x13 (backup) 33*b6cee71dSXin LI 34*b6cee71dSXin LI# Magic Numbers for the TI-82 35*b6cee71dSXin LI# 36*b6cee71dSXin LI0 string **TI82** TI-82 Graphing Calculator 37*b6cee71dSXin LI>0x00003B byte 0x00 (real) 38*b6cee71dSXin LI>0x00003B byte 0x01 (list) 39*b6cee71dSXin LI>0x00003B byte 0x02 (matrix) 40*b6cee71dSXin LI>0x00003B byte 0x03 (Y-variable) 41*b6cee71dSXin LI>0x00003B byte 0x05 (program) 42*b6cee71dSXin LI>0x00003B byte 0x06 (protected prgm) 43*b6cee71dSXin LI>0x00003B byte 0x07 (picture) 44*b6cee71dSXin LI>0x00003B byte 0x08 (gdb) 45*b6cee71dSXin LI>0x00003B byte 0x0B (window settings) 46*b6cee71dSXin LI>0x00003B byte 0x0C (window settings) 47*b6cee71dSXin LI>0x00003B byte 0x0D (table setup) 48*b6cee71dSXin LI>0x00003B byte 0x0E (screenshot) 49*b6cee71dSXin LI>0x00003B byte 0x0F (backup) 50*b6cee71dSXin LI# 51*b6cee71dSXin LI# Magic Numbers for the TI-83 52*b6cee71dSXin LI# 53*b6cee71dSXin LI0 string **TI83** TI-83 Graphing Calculator 54*b6cee71dSXin LI>0x00003B byte 0x00 (real) 55*b6cee71dSXin LI>0x00003B byte 0x01 (list) 56*b6cee71dSXin LI>0x00003B byte 0x02 (matrix) 57*b6cee71dSXin LI>0x00003B byte 0x03 (Y-variable) 58*b6cee71dSXin LI>0x00003B byte 0x04 (string) 59*b6cee71dSXin LI>0x00003B byte 0x05 (program) 60*b6cee71dSXin LI>0x00003B byte 0x06 (protected prgm) 61*b6cee71dSXin LI>0x00003B byte 0x07 (picture) 62*b6cee71dSXin LI>0x00003B byte 0x08 (gdb) 63*b6cee71dSXin LI>0x00003B byte 0x0B (window settings) 64*b6cee71dSXin LI>0x00003B byte 0x0C (window settings) 65*b6cee71dSXin LI>0x00003B byte 0x0D (table setup) 66*b6cee71dSXin LI>0x00003B byte 0x0E (screenshot) 67*b6cee71dSXin LI>0x00003B byte 0x13 (backup) 68*b6cee71dSXin LI# 69*b6cee71dSXin LI# Magic Numbers for the TI-83+ 70*b6cee71dSXin LI# 71*b6cee71dSXin LI0 string **TI83F* TI-83+ Graphing Calculator 72*b6cee71dSXin LI>0x00003B byte 0x00 (real number) 73*b6cee71dSXin LI>0x00003B byte 0x01 (list) 74*b6cee71dSXin LI>0x00003B byte 0x02 (matrix) 75*b6cee71dSXin LI>0x00003B byte 0x03 (equation) 76*b6cee71dSXin LI>0x00003B byte 0x04 (string) 77*b6cee71dSXin LI>0x00003B byte 0x05 (program) 78*b6cee71dSXin LI>0x00003B byte 0x06 (assembly program) 79*b6cee71dSXin LI>0x00003B byte 0x07 (picture) 80*b6cee71dSXin LI>0x00003B byte 0x08 (gdb) 81*b6cee71dSXin LI>0x00003B byte 0x0C (complex number) 82*b6cee71dSXin LI>0x00003B byte 0x0F (window settings) 83*b6cee71dSXin LI>0x00003B byte 0x10 (zoom) 84*b6cee71dSXin LI>0x00003B byte 0x11 (table setup) 85*b6cee71dSXin LI>0x00003B byte 0x13 (backup) 86*b6cee71dSXin LI>0x00003B byte 0x15 (application variable) 87*b6cee71dSXin LI>0x00003B byte 0x17 (group of variable) 88*b6cee71dSXin LI 89*b6cee71dSXin LI# 90*b6cee71dSXin LI# Magic Numbers for the TI-85 91*b6cee71dSXin LI# 92*b6cee71dSXin LI0 string **TI85** TI-85 Graphing Calculator 93*b6cee71dSXin LI>0x00003B byte 0x00 (real number) 94*b6cee71dSXin LI>0x00003B byte 0x01 (complex number) 95*b6cee71dSXin LI>0x00003B byte 0x02 (real vector) 96*b6cee71dSXin LI>0x00003B byte 0x03 (complex vector) 97*b6cee71dSXin LI>0x00003B byte 0x04 (real list) 98*b6cee71dSXin LI>0x00003B byte 0x05 (complex list) 99*b6cee71dSXin LI>0x00003B byte 0x06 (real matrix) 100*b6cee71dSXin LI>0x00003B byte 0x07 (complex matrix) 101*b6cee71dSXin LI>0x00003B byte 0x08 (real constant) 102*b6cee71dSXin LI>0x00003B byte 0x09 (complex constant) 103*b6cee71dSXin LI>0x00003B byte 0x0A (equation) 104*b6cee71dSXin LI>0x00003B byte 0x0C (string) 105*b6cee71dSXin LI>0x00003B byte 0x0D (function GDB) 106*b6cee71dSXin LI>0x00003B byte 0x0E (polar GDB) 107*b6cee71dSXin LI>0x00003B byte 0x0F (parametric GDB) 108*b6cee71dSXin LI>0x00003B byte 0x10 (diffeq GDB) 109*b6cee71dSXin LI>0x00003B byte 0x11 (picture) 110*b6cee71dSXin LI>0x00003B byte 0x12 (program) 111*b6cee71dSXin LI>0x00003B byte 0x13 (range) 112*b6cee71dSXin LI>0x00003B byte 0x17 (window settings) 113*b6cee71dSXin LI>0x00003B byte 0x18 (window settings) 114*b6cee71dSXin LI>0x00003B byte 0x19 (window settings) 115*b6cee71dSXin LI>0x00003B byte 0x1A (window settings) 116*b6cee71dSXin LI>0x00003B byte 0x1B (zoom) 117*b6cee71dSXin LI>0x00003B byte 0x1D (backup) 118*b6cee71dSXin LI>0x00003B byte 0x1E (unknown) 119*b6cee71dSXin LI>0x00003B byte 0x2A (equation) 120*b6cee71dSXin LI>0x000032 string ZS4 - ZShell Version 4 File. 121*b6cee71dSXin LI>0x000032 string ZS3 - ZShell Version 3 File. 122*b6cee71dSXin LI# 123*b6cee71dSXin LI# Magic Numbers for the TI-86 124*b6cee71dSXin LI# 125*b6cee71dSXin LI0 string **TI86** TI-86 Graphing Calculator 126*b6cee71dSXin LI>0x00003B byte 0x00 (real number) 127*b6cee71dSXin LI>0x00003B byte 0x01 (complex number) 128*b6cee71dSXin LI>0x00003B byte 0x02 (real vector) 129*b6cee71dSXin LI>0x00003B byte 0x03 (complex vector) 130*b6cee71dSXin LI>0x00003B byte 0x04 (real list) 131*b6cee71dSXin LI>0x00003B byte 0x05 (complex list) 132*b6cee71dSXin LI>0x00003B byte 0x06 (real matrix) 133*b6cee71dSXin LI>0x00003B byte 0x07 (complex matrix) 134*b6cee71dSXin LI>0x00003B byte 0x08 (real constant) 135*b6cee71dSXin LI>0x00003B byte 0x09 (complex constant) 136*b6cee71dSXin LI>0x00003B byte 0x0A (equation) 137*b6cee71dSXin LI>0x00003B byte 0x0C (string) 138*b6cee71dSXin LI>0x00003B byte 0x0D (function GDB) 139*b6cee71dSXin LI>0x00003B byte 0x0E (polar GDB) 140*b6cee71dSXin LI>0x00003B byte 0x0F (parametric GDB) 141*b6cee71dSXin LI>0x00003B byte 0x10 (diffeq GDB) 142*b6cee71dSXin LI>0x00003B byte 0x11 (picture) 143*b6cee71dSXin LI>0x00003B byte 0x12 (program) 144*b6cee71dSXin LI>0x00003B byte 0x13 (range) 145*b6cee71dSXin LI>0x00003B byte 0x17 (window settings) 146*b6cee71dSXin LI>0x00003B byte 0x18 (window settings) 147*b6cee71dSXin LI>0x00003B byte 0x19 (window settings) 148*b6cee71dSXin LI>0x00003B byte 0x1A (window settings) 149*b6cee71dSXin LI>0x00003B byte 0x1B (zoom) 150*b6cee71dSXin LI>0x00003B byte 0x1D (backup) 151*b6cee71dSXin LI>0x00003B byte 0x1E (unknown) 152*b6cee71dSXin LI>0x00003B byte 0x2A (equation) 153*b6cee71dSXin LI# 154*b6cee71dSXin LI# Magic Numbers for the TI-89 155*b6cee71dSXin LI# 156*b6cee71dSXin LI0 string **TI89** TI-89 Graphing Calculator 157*b6cee71dSXin LI>0x000048 byte 0x00 (expression) 158*b6cee71dSXin LI>0x000048 byte 0x04 (list) 159*b6cee71dSXin LI>0x000048 byte 0x06 (matrix) 160*b6cee71dSXin LI>0x000048 byte 0x0A (data) 161*b6cee71dSXin LI>0x000048 byte 0x0B (text) 162*b6cee71dSXin LI>0x000048 byte 0x0C (string) 163*b6cee71dSXin LI>0x000048 byte 0x0D (graphic data base) 164*b6cee71dSXin LI>0x000048 byte 0x0E (figure) 165*b6cee71dSXin LI>0x000048 byte 0x10 (picture) 166*b6cee71dSXin LI>0x000048 byte 0x12 (program) 167*b6cee71dSXin LI>0x000048 byte 0x13 (function) 168*b6cee71dSXin LI>0x000048 byte 0x14 (macro) 169*b6cee71dSXin LI>0x000048 byte 0x1C (zipped) 170*b6cee71dSXin LI>0x000048 byte 0x21 (assembler) 171*b6cee71dSXin LI# 172*b6cee71dSXin LI# Magic Numbers for the TI-92 173*b6cee71dSXin LI# 174*b6cee71dSXin LI0 string **TI92** TI-92 Graphing Calculator 175*b6cee71dSXin LI>0x000048 byte 0x00 (expression) 176*b6cee71dSXin LI>0x000048 byte 0x04 (list) 177*b6cee71dSXin LI>0x000048 byte 0x06 (matrix) 178*b6cee71dSXin LI>0x000048 byte 0x0A (data) 179*b6cee71dSXin LI>0x000048 byte 0x0B (text) 180*b6cee71dSXin LI>0x000048 byte 0x0C (string) 181*b6cee71dSXin LI>0x000048 byte 0x0D (graphic data base) 182*b6cee71dSXin LI>0x000048 byte 0x0E (figure) 183*b6cee71dSXin LI>0x000048 byte 0x10 (picture) 184*b6cee71dSXin LI>0x000048 byte 0x12 (program) 185*b6cee71dSXin LI>0x000048 byte 0x13 (function) 186*b6cee71dSXin LI>0x000048 byte 0x14 (macro) 187*b6cee71dSXin LI>0x000048 byte 0x1D (backup) 188*b6cee71dSXin LI# 189*b6cee71dSXin LI# Magic Numbers for the TI-92+/V200 190*b6cee71dSXin LI# 191*b6cee71dSXin LI0 string **TI92P* TI-92+/V200 Graphing Calculator 192*b6cee71dSXin LI>0x000048 byte 0x00 (expression) 193*b6cee71dSXin LI>0x000048 byte 0x04 (list) 194*b6cee71dSXin LI>0x000048 byte 0x06 (matrix) 195*b6cee71dSXin LI>0x000048 byte 0x0A (data) 196*b6cee71dSXin LI>0x000048 byte 0x0B (text) 197*b6cee71dSXin LI>0x000048 byte 0x0C (string) 198*b6cee71dSXin LI>0x000048 byte 0x0D (graphic data base) 199*b6cee71dSXin LI>0x000048 byte 0x0E (figure) 200*b6cee71dSXin LI>0x000048 byte 0x10 (picture) 201*b6cee71dSXin LI>0x000048 byte 0x12 (program) 202*b6cee71dSXin LI>0x000048 byte 0x13 (function) 203*b6cee71dSXin LI>0x000048 byte 0x14 (macro) 204*b6cee71dSXin LI>0x000048 byte 0x1C (zipped) 205*b6cee71dSXin LI>0x000048 byte 0x21 (assembler) 206*b6cee71dSXin LI# 207*b6cee71dSXin LI# Magic Numbers for the TI-73/83+/89/92+/V200 FLASH upgrades 208*b6cee71dSXin LI# 209*b6cee71dSXin LI0x0000016 string Advanced TI-XX Graphing Calculator (FLASH) 210*b6cee71dSXin LI0 string **TIFL** TI-XX Graphing Calculator (FLASH) 211*b6cee71dSXin LI>8 byte >0 - Revision %d 212*b6cee71dSXin LI>>9 byte x \b.%d, 213*b6cee71dSXin LI>12 byte >0 Revision date %02x 214*b6cee71dSXin LI>>13 byte x \b/%02x 215*b6cee71dSXin LI>>14 beshort x \b/%04x, 216*b6cee71dSXin LI>17 string >/0 name: '%s', 217*b6cee71dSXin LI>48 byte 0x74 device: TI-73, 218*b6cee71dSXin LI>48 byte 0x73 device: TI-83+, 219*b6cee71dSXin LI>48 byte 0x98 device: TI-89, 220*b6cee71dSXin LI>48 byte 0x88 device: TI-92+, 221*b6cee71dSXin LI>49 byte 0x23 type: OS upgrade, 222*b6cee71dSXin LI>49 byte 0x24 type: application, 223*b6cee71dSXin LI>49 byte 0x25 type: certificate, 224*b6cee71dSXin LI>49 byte 0x3e type: license, 225*b6cee71dSXin LI>74 lelong >0 size: %d bytes 226*b6cee71dSXin LI 227*b6cee71dSXin LI# VTi & TiEmu skins (TI Graphing Calculators). 228*b6cee71dSXin LI# From: Romain Lievin (roms@lpg.ticalc.org). 229*b6cee71dSXin LI# Magic Numbers for the VTi skins 230*b6cee71dSXin LI0 string VTI Virtual TI skin 231*b6cee71dSXin LI>3 string v - Version 232*b6cee71dSXin LI>>4 byte >0 \b %c 233*b6cee71dSXin LI>>6 byte x \b.%c 234*b6cee71dSXin LI# Magic Numbers for the TiEmu skins 235*b6cee71dSXin LI0 string TiEmu TiEmu skin 236*b6cee71dSXin LI>6 string v - Version 237*b6cee71dSXin LI>>7 byte >0 \b %c 238*b6cee71dSXin LI>>9 byte x \b.%c 239*b6cee71dSXin LI>>10 byte x \b%c 240