fformat.html 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388
  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
  2. <html>
  3. <head>
  4. <meta name="GENERATOR" content="Visual Page 1.0 for Windows">
  5. <meta http-equiv="Content-Type" content="text/html;CHARSET=iso-8859-1">
  6. <title>TI-73 Link Protocol Guide - File formats</title>
  7. </head>
  8. <body bgcolor="#ffffe8">
  9. <p><b>TI-73 Link Protocol Guide v1.1</b> - File formats</p>
  10. <center>
  11. <h2>
  12. <hr align="center">File Formats</h2>
  13. </center>
  14. <p>The TI-73 Graph Link software stores variables in several types of
  15. files. Single variables are stored in files that have an extension that
  16. corresponds with their type. Groups of variables are stored in files
  17. with the extension ".73g". However, all of these file types have a
  18. common format.</p>
  19. <p>The different file types and contents that the TI-73 Graph Link
  20. software can read and write are shown below.</p>
  21. <p>
  22. <table border="1" cellspacing="0" width="66%">
  23. <tbody>
  24. <tr>
  25. <th bgcolor="#dddddd" width="13%">Extension</th>
  26. <th bgcolor="#dddddd">Description</th>
  27. </tr>
  28. <tr>
  29. <td width="13%">
  30. <p align="center">.73g </p>
  31. </td>
  32. <td>Multiple TI-73 variables of varying types (group)</td>
  33. </tr>
  34. <tr>
  35. <td width="13%">
  36. <p align="center">.73i </p>
  37. </td>
  38. <td>TI-73 picture (image)</td>
  39. </tr>
  40. <tr>
  41. <td width="13%">
  42. <p align="center">.73k </p>
  43. </td>
  44. <td>TI-73 FLASH application</td>
  45. </tr>
  46. <tr>
  47. <td width="13%">
  48. <p align="center">.73l </p>
  49. </td>
  50. <td>TI-73 list</td>
  51. </tr>
  52. <tr>
  53. <td width="13%">
  54. <p align="center">.73n </p>
  55. </td>
  56. <td>TI-73 real number</td>
  57. </tr>
  58. <tr>
  59. <td width="13%">
  60. <p align="center">.73p </p>
  61. </td>
  62. <td>TI-73 program</td>
  63. </tr>
  64. <tr>
  65. <td width="13%">
  66. <p align="center">.73q </p>
  67. </td>
  68. <td>TI-73 FLASH certificate</td>
  69. </tr>
  70. <tr>
  71. <td width="13%">
  72. <p align="center">.73t </p>
  73. </td>
  74. <td>TI-73 table setup</td>
  75. </tr>
  76. <tr>
  77. <td width="13%">
  78. <p align="center">.73u </p>
  79. </td>
  80. <td>TI-73 FLASH Operating System</td>
  81. </tr>
  82. <tr>
  83. <td width="13%">
  84. <p align="center">.73w </p>
  85. </td>
  86. <td>TI-73 window settings (Window or RclWindow)</td>
  87. </tr>
  88. <tr>
  89. <td width="13%">
  90. <p align="center">.73y </p>
  91. </td>
  92. <td>TI-73 Y-Variable (equation)</td>
  93. </tr>
  94. <tr>
  95. <td width="13%">
  96. <p align="center">.73z </p>
  97. </td>
  98. <td>TI-73 zoom (saved window settings)</td>
  99. </tr>
  100. </tbody>
  101. </table>
  102. </p>
  103. <p></p>
  104. <p>
  105. </p>
  106. <hr align="center">
  107. <p></p>
  108. <h3>The TI-73 variable file format</h3>
  109. <p>The TI-73 variable file format has two parts: a header and several
  110. variable entries.</p>
  111. <p>The header appears at the beginning of the file and takes the
  112. following format:<br>
  113. <i>Note - All 2-byte integers are stored little-endian Intel-style
  114. (least significant byte first).</i></p>
  115. <p>
  116. <table border="1" cellspacing="0" width="92%">
  117. <tbody>
  118. <tr>
  119. <th bgcolor="#008800" width="8%"><font color="#ffffff">Offset</font></th>
  120. <th bgcolor="#008800" width="11%"><font color="#ffffff">Length</font></th>
  121. <th bgcolor="#008800" width="81%"><font color="#ffffff">Description</font></th>
  122. </tr>
  123. <tr>
  124. <td bgcolor="#ffffff" width="8%">0</td>
  125. <td bgcolor="#ffffff" width="11%">8 bytes</td>
  126. <td bgcolor="#ffffff" width="81%">8-character signature. The
  127. signature is always "<tt>**TI73**</tt>".</td>
  128. </tr>
  129. <tr>
  130. <td bgcolor="#ffffff" width="8%">8</td>
  131. <td bgcolor="#ffffff" width="11%">3 bytes</td>
  132. <td bgcolor="#ffffff" width="81%">3-byte further signature. These
  133. three bytes always contain {1Ah, 0Ah, 00h} = {26, 10, 0}</td>
  134. </tr>
  135. <tr>
  136. <td bgcolor="#ffffff" width="8%">11 (Bh)</td>
  137. <td bgcolor="#ffffff" width="11%">42&nbsp;(2Ah)&nbsp;bytes</td>
  138. <td bgcolor="#ffffff" width="81%">Comment. The comment is either
  139. zero-terminated or padded on the right with space characters.</td>
  140. </tr>
  141. <tr>
  142. <td bgcolor="#ffffff" width="8%">53 (35h)</td>
  143. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  144. <td bgcolor="#ffffff" width="81%">Length, in bytes, of the data
  145. section of the file. This number should be 55 (37h) bytes less than the
  146. file size.</td>
  147. </tr>
  148. <tr>
  149. <td bgcolor="#ffffff" width="8%">55 (37h)</td>
  150. <td bgcolor="#ffffff" width="11%"><i>n</i> bytes</td>
  151. <td bgcolor="#ffffff" width="81%">Data section - consists of a
  152. number of variable entries (described below).</td>
  153. </tr>
  154. <tr>
  155. <td bgcolor="#ffffff" width="8%">55&nbsp;(37h)+<i>n</i></td>
  156. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  157. <td bgcolor="#ffffff" width="81%">File checksum. This is the
  158. lower 16 bits of the sum of all bytes in the data section.</td>
  159. </tr>
  160. </tbody>
  161. </table>
  162. </p>
  163. <p></p>
  164. <p>Each variable entry follows this format:</p>
  165. <p>
  166. <table border="1" cellspacing="0" width="92%">
  167. <tbody>
  168. <tr>
  169. <th bgcolor="#008800" width="8%"><font color="#ffffff">Offset</font></th>
  170. <th bgcolor="#008800" width="11%"><font color="#ffffff">Length</font></th>
  171. <th bgcolor="#008800" width="81%"><font color="#ffffff">Description</font></th>
  172. </tr>
  173. <tr>
  174. <td bgcolor="#ffffff" width="8%">0</td>
  175. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  176. <td bgcolor="#ffffff" width="81%">Always has a value of 11 (Bh).</td>
  177. </tr>
  178. <tr>
  179. <td bgcolor="#ffffff" width="8%">2</td>
  180. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  181. <td bgcolor="#ffffff" width="81%">Length, in bytes, of the
  182. variable data.</td>
  183. </tr>
  184. <tr>
  185. <td bgcolor="#ffffff" width="8%">4</td>
  186. <td bgcolor="#ffffff" width="11%">1 byte</td>
  187. <td bgcolor="#ffffff" width="81%">variable type ID byte (see <a
  188. href="vars.html#vartypes">variable type ID's</a>)</td>
  189. </tr>
  190. <tr>
  191. <td bgcolor="#ffffff" width="8%">5</td>
  192. <td bgcolor="#ffffff" width="11%">8 bytes</td>
  193. <td bgcolor="#ffffff" width="81%">Variable name, padded with NULL
  194. characters (0h) on the right.</td>
  195. </tr>
  196. <tr>
  197. <td bgcolor="#ffffff" width="8%">13 (Dh)</td>
  198. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  199. <td bgcolor="#ffffff" width="81%">Length, in bytes, of the
  200. variable data. (This is a copy of the value in offset 2)</td>
  201. </tr>
  202. <tr>
  203. <td bgcolor="#ffffff" width="8%">15 (Fh)</td>
  204. <td bgcolor="#ffffff" width="11%"><i>n</i> bytes</td>
  205. <td bgcolor="#ffffff" width="81%">Variable data. <a
  206. href="vars.html">Click here</a> for variable data formats.</td>
  207. </tr>
  208. </tbody>
  209. </table>
  210. </p>
  211. <p></p>
  212. <p>
  213. </p>
  214. <hr align="center">
  215. <p></p>
  216. <h3>The TI-73 backup file format</h3>
  217. <p>The TI-Graph Link software for the TI-83 does not have backup
  218. capability. However, the calculator itself does. The following format
  219. is not readable by TI's software.</p>
  220. <p>Here is the format for backup files that TiLP uses (it's the same
  221. format than the TI82/83 one):</p>
  222. <p>
  223. <table border="1" cellspacing="0" width="92%">
  224. <tbody>
  225. <tr>
  226. <th bgcolor="#008800" width="15%"><font color="#ffffff">Offset</font></th>
  227. <th bgcolor="#008800" width="11%"><font color="#ffffff">Length</font></th>
  228. <th bgcolor="#008800" width="74%"><font color="#ffffff">Description</font></th>
  229. </tr>
  230. <tr>
  231. <td bgcolor="#ffffff" width="15%">0</td>
  232. <td bgcolor="#ffffff" width="11%">8 bytes</td>
  233. <td bgcolor="#ffffff" width="74%">8-character signature. The
  234. signature is always "<tt>**TI73**</tt>".</td>
  235. </tr>
  236. <tr>
  237. <td bgcolor="#ffffff" width="15%">8</td>
  238. <td bgcolor="#ffffff" width="11%">3 bytes</td>
  239. <td bgcolor="#ffffff" width="74%">3-byte further signature. These
  240. three bytes always contain {1Ah, 0Ah, 00h} = {26, 10, 0}</td>
  241. </tr>
  242. <tr>
  243. <td bgcolor="#ffffff" width="15%">11 (Bh)</td>
  244. <td bgcolor="#ffffff" width="11%">42&nbsp;(2Ah)&nbsp;bytes</td>
  245. <td bgcolor="#ffffff" width="74%">Comment. The comment is either
  246. zero-terminated or padded on the right with space characters.</td>
  247. </tr>
  248. <tr>
  249. <td bgcolor="#ffffff" width="15%">53 (35h)</td>
  250. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  251. <td bgcolor="#ffffff" width="74%">Length, in bytes, of the backup
  252. header and the data sections. This number should be 17 (11h) bytes more
  253. than the sum of the lengths of the three data sections as reported in
  254. the backup header.</td>
  255. </tr>
  256. <tr>
  257. <td bgcolor="#ffffff" width="15%">55 (37h)</td>
  258. <td bgcolor="#ffffff" width="11%">11 bytes</td>
  259. <td bgcolor="#ffffff" width="74%">The backup header (format
  260. described below).</td>
  261. </tr>
  262. <tr>
  263. <td bgcolor="#ffffff" width="15%">66 (42h)</td>
  264. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  265. <td bgcolor="#ffffff" width="74%">Length, in bytes, of the first
  266. data section.</td>
  267. </tr>
  268. <tr>
  269. <td bgcolor="#ffffff" width="15%">68&nbsp;(44h)</td>
  270. <td bgcolor="#ffffff" width="11%"><i>x</i> bytes</td>
  271. <td bgcolor="#ffffff" width="74%">First data section.</td>
  272. </tr>
  273. <tr>
  274. <td bgcolor="#eeeeee" width="15%">68 (44h)+<i>x</i></td>
  275. <td bgcolor="#eeeeee" width="11%">2 bytes</td>
  276. <td bgcolor="#eeeeee" width="74%">Length, in bytes, of the second
  277. data section</td>
  278. </tr>
  279. <tr>
  280. <td bgcolor="#eeeeee" width="15%">70 (46h)+<i>x</i></td>
  281. <td bgcolor="#eeeeee" width="11%"><i>y</i> bytes</td>
  282. <td bgcolor="#eeeeee" width="74%">Second data section.</td>
  283. </tr>
  284. <tr>
  285. <td bgcolor="#ffffff" width="15%">70 (46h)+<i>x</i>+<i>y</i></td>
  286. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  287. <td bgcolor="#ffffff" width="74%">Length, in bytes, of the third
  288. data section</td>
  289. </tr>
  290. <tr>
  291. <td bgcolor="#ffffff" width="15%">72 (48h)+<i>x</i>+<i>y</i></td>
  292. <td bgcolor="#ffffff" width="11%"><i>z</i> bytes</td>
  293. <td bgcolor="#ffffff" width="74%">Third data section</td>
  294. </tr>
  295. <tr>
  296. <td bgcolor="#ffffff" width="15%">72 (48h)+<i>x</i>+<i>y</i>+<i>z</i></td>
  297. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  298. <td bgcolor="#ffffff" width="74%">Checksum. This is the lower 16
  299. bits of the sum of all bytes from offset 55 (37h).</td>
  300. </tr>
  301. </tbody>
  302. </table>
  303. </p>
  304. <p></p>
  305. <p>The backup header has this format:</p>
  306. <p>
  307. <table border="1" cellspacing="0" width="92%">
  308. <tbody>
  309. <tr>
  310. <th bgcolor="#008800" width="8%"><font color="#ffffff">Offset</font></th>
  311. <th bgcolor="#008800" width="11%"><font color="#ffffff">Length</font></th>
  312. <th bgcolor="#008800" width="81%"><font color="#ffffff">Description</font></th>
  313. </tr>
  314. <tr>
  315. <td bgcolor="#ffffff" width="8%">0</td>
  316. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  317. <td bgcolor="#ffffff" width="81%">Offset to data length: Always
  318. has a value of 9.</td>
  319. </tr>
  320. <tr>
  321. <td bgcolor="#ffffff" width="8%">2</td>
  322. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  323. <td bgcolor="#ffffff" width="81%">Length, in bytes, of the first
  324. data section.</td>
  325. </tr>
  326. <tr>
  327. <td bgcolor="#ffffff" width="8%">4</td>
  328. <td bgcolor="#ffffff" width="11%">1&nbsp;byte</td>
  329. <td bgcolor="#ffffff" width="81%">Type ID: Always has a value of
  330. 19 (13h).</td>
  331. </tr>
  332. <tr>
  333. <td bgcolor="#ffffff" width="8%">5</td>
  334. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  335. <td bgcolor="#ffffff" width="81%">Length, in bytes, of the second
  336. data section.</td>
  337. </tr>
  338. <tr>
  339. <td bgcolor="#ffffff" width="8%">7</td>
  340. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  341. <td bgcolor="#ffffff" width="81%">Length, in bytes, of the third
  342. data section.</td>
  343. </tr>
  344. <tr>
  345. <td bgcolor="#ffffff" width="8%">9</td>
  346. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  347. <td bgcolor="#ffffff" width="81%">Memory address</td>
  348. </tr>
  349. </tbody>
  350. </table>
  351. </p>
  352. <h3>
  353. <hr align="center"> The TI-73 FLASH file format</h3>
  354. <p>It's the same as the TI83+ FLASH file format. You will find it <a
  355. href="../ti83+/fformat.html">here</a>.<br>
  356. </p>
  357. <p>&nbsp;
  358. <br>
  359. <table border="0" cellspacing="0" width="100%">
  360. <tbody>
  361. <tr>
  362. <td width="32%">
  363. <p align="center"><a href="vars.html"><img
  364. src="graphics/prevpage.gif" alt="[previous page]" align="bottom"
  365. border="2" height="32" width="32"><br>
  366. Variable Formats</a> </p>
  367. </td>
  368. <td width="34%">
  369. <p align="center"><a href="index.html"><img
  370. src="graphics/home.gif" alt="[home]" align="bottom" border="2"
  371. height="32" width="32"><br>
  372. Table of Contents</a> </p>
  373. </td>
  374. <td width="34%">
  375. <p align="center"><a href="tokens.html"><img
  376. src="graphics/nextpage.gif" alt="[next page]" align="bottom" border="2"
  377. height="32" width="32"><br>
  378. Tokens and Characters</a> </p>
  379. </td>
  380. </tr>
  381. </tbody>
  382. </table>
  383. </p>
  384. <hr align="center"><i>Site maintained by Romain Li&eacute;vin (</i><a
  385. href="mailto:roms@lpg.ticalc.org"><i>roms@lpg.ticalc.org</i></a><i>)
  386. and Tim Singer (</i><a href="mailto:tsinger@gladstone.uoregon.edu"><i>tsinger@gladstone.uoregon.edu</i></a><i>)</i>
  387. </body>
  388. </html>