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