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