fformat.html 21 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577
  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-86 Link Protocol Guide - File formats</title>
  7. </head>
  8. <body bgcolor="#ffffe8">
  9. <p><b>TI-86 Link Protocol Guide v1.0</b> - File formats</p>
  10. <center>
  11. <h2>
  12. <hr align="center">File Formats</h2>
  13. </center>
  14. <p>The TI-86 Graph Link software stores variables in several types of
  15. files. Single variables are stored in files
  16. that have an extension that corresponds with their type. Groups of
  17. variables are stored in files with the extension
  18. ".86g". However, all of these file types have a common format.</p>
  19. <p>The different file types and contents that the TI-86 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">.86c </p>
  31. </td>
  32. <td>TI-86 complex number</td>
  33. </tr>
  34. <tr>
  35. <td width="13%">
  36. <p align="center">.86d </p>
  37. </td>
  38. <td>TI-86 GDB (function, polar, parametric or differential
  39. equation)</td>
  40. </tr>
  41. <tr>
  42. <td width="13%">
  43. <p align="center">.86e </p>
  44. </td>
  45. <td>TI-86 equation</td>
  46. </tr>
  47. <tr>
  48. <td width="13%">
  49. <p align="center">.86g </p>
  50. </td>
  51. <td>Multiple TI-86 variables of varying types (group)</td>
  52. </tr>
  53. <tr>
  54. <td width="13%">
  55. <p align="center">.86i </p>
  56. </td>
  57. <td>TI-86 picture (image)</td>
  58. </tr>
  59. <tr>
  60. <td width="13%">
  61. <p align="center">.86k </p>
  62. </td>
  63. <td>TI-86 constant (real or complex)</td>
  64. </tr>
  65. <tr>
  66. <td width="13%">
  67. <p align="center">.86l </p>
  68. </td>
  69. <td>TI-86 list (real or complex)</td>
  70. </tr>
  71. <tr>
  72. <td width="13%">
  73. <p align="center">.86m </p>
  74. </td>
  75. <td>TI-86 matrix (real or complex)</td>
  76. </tr>
  77. <tr>
  78. <td width="13%">
  79. <p align="center">.86n </p>
  80. </td>
  81. <td>TI-86 real number</td>
  82. </tr>
  83. <tr>
  84. <td width="13%">
  85. <p align="center">.86p </p>
  86. </td>
  87. <td>TI-86 program</td>
  88. </tr>
  89. <tr>
  90. <td width="13%">
  91. <p align="center">.86s </p>
  92. </td>
  93. <td>TI-86 string</td>
  94. </tr>
  95. <tr>
  96. <td width="13%">
  97. <p align="center">.86v </p>
  98. </td>
  99. <td>TI-86 vector</td>
  100. </tr>
  101. <tr>
  102. <td width="13%">
  103. <p align="center">.86w </p>
  104. </td>
  105. <td>TI-86 window settings (Func, Pol, Param, DifEq or ZSTO)</td>
  106. </tr>
  107. </tbody>
  108. </table>
  109. </p>
  110. <p></p>
  111. <p>
  112. </p>
  113. <hr align="center">
  114. <p></p>
  115. <h3>The TI-86 variable file format</h3>
  116. <p>The TI-86 variable file format has two parts: a header and several
  117. variable entries.</p>
  118. <p>The header appears at the beginning of the file and takes the
  119. following format:<br>
  120. <i>Note - All 2-byte integers are stored little-endian Intel-style
  121. (least significant byte first).</i></p>
  122. <p>
  123. <table border="1" cellspacing="0" width="92%">
  124. <tbody>
  125. <tr>
  126. <th bgcolor="#008800" width="8%"><font color="#ffffff">Offset</font></th>
  127. <th bgcolor="#008800" width="11%"><font color="#ffffff">Length</font></th>
  128. <th bgcolor="#008800" width="81%"><font color="#ffffff">Description</font></th>
  129. </tr>
  130. <tr>
  131. <td bgcolor="#ffffff" width="8%">0</td>
  132. <td bgcolor="#ffffff" width="11%">8 bytes</td>
  133. <td bgcolor="#ffffff" width="81%">8-character signature. The
  134. signature is always "<tt>**TI86**</tt>".</td>
  135. </tr>
  136. <tr>
  137. <td bgcolor="#ffffff" width="8%">8</td>
  138. <td bgcolor="#ffffff" width="11%">3 bytes</td>
  139. <td bgcolor="#ffffff" width="81%">3-byte further signature. These
  140. three bytes always contain {1Ah, 0Ah, 00h} = {26, 10, 0}</td>
  141. </tr>
  142. <tr>
  143. <td bgcolor="#ffffff" width="8%">11 (Bh)</td>
  144. <td bgcolor="#ffffff" width="11%">42&nbsp;(2Ah)&nbsp;bytes</td>
  145. <td bgcolor="#ffffff" width="81%">Comment. The comment is either
  146. zero-terminated or padded on the right with space characters.</td>
  147. </tr>
  148. <tr>
  149. <td bgcolor="#ffffff" width="8%">53 (35h)</td>
  150. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  151. <td bgcolor="#ffffff" width="81%">Length, in bytes, of the data
  152. section of the file. This number should be 57 (39h) bytes less than the
  153. file size.</td>
  154. </tr>
  155. <tr>
  156. <td bgcolor="#ffffff" width="8%">55 (37h)</td>
  157. <td bgcolor="#ffffff" width="11%"><i>n</i> bytes</td>
  158. <td bgcolor="#ffffff" width="81%">Data section - consists of a
  159. number of variable entries (described below).</td>
  160. </tr>
  161. <tr>
  162. <td bgcolor="#ffffff" width="8%">55&nbsp;(37h)+<i>n</i></td>
  163. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  164. <td bgcolor="#ffffff" width="81%">File checksum. This is the
  165. lower 16 bits of the sum of all bytes in the data section.</td>
  166. </tr>
  167. </tbody>
  168. </table>
  169. </p>
  170. <p></p>
  171. <p>Each variable entry follows this format:</p>
  172. <p>
  173. <table border="1" cellspacing="0" width="92%">
  174. <tbody>
  175. <tr>
  176. <th bgcolor="#008800" width="8%"><font color="#ffffff">Offset</font></th>
  177. <th bgcolor="#008800" width="11%"><font color="#ffffff">Length</font></th>
  178. <th bgcolor="#008800" width="81%"><font color="#ffffff">Description</font></th>
  179. </tr>
  180. <tr>
  181. <td bgcolor="#ffffff" width="8%">0</td>
  182. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  183. <td bgcolor="#ffffff" width="81%">Always has a value of 12 (Ch).</td>
  184. </tr>
  185. <tr>
  186. <td bgcolor="#ffffff" width="8%">2</td>
  187. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  188. <td bgcolor="#ffffff" width="81%">Length, in bytes, of the
  189. variable data.</td>
  190. </tr>
  191. <tr>
  192. <td bgcolor="#ffffff" width="8%">4</td>
  193. <td bgcolor="#ffffff" width="11%">1 byte</td>
  194. <td bgcolor="#ffffff" width="81%">variable type ID byte (see <a
  195. href="vars.html#vartypes">variable type ID's</a>)</td>
  196. </tr>
  197. <tr>
  198. <td bgcolor="#ffffff" width="8%">5</td>
  199. <td bgcolor="#ffffff" width="11%">1 byte</td>
  200. <td bgcolor="#ffffff" width="81%">Length, in characters, of the
  201. variable name</td>
  202. </tr>
  203. <tr>
  204. <td bgcolor="#ffffff" width="8%">6</td>
  205. <td bgcolor="#ffffff" width="11%">8 bytes</td>
  206. <td bgcolor="#ffffff" width="81%">Variable name, padded with
  207. space characters (0x20) on the right. (*)<br>
  208. </td>
  209. </tr>
  210. <tr>
  211. <td bgcolor="#ffffff" width="8%">14 (Eh)</td>
  212. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  213. <td bgcolor="#ffffff" width="81%">Length, in bytes, of the
  214. variable data. (This is a copy of the value in offset 2)</td>
  215. </tr>
  216. <tr>
  217. <td bgcolor="#ffffff" width="8%">16 (10h)</td>
  218. <td bgcolor="#ffffff" width="11%"><i>n</i> bytes</td>
  219. <td bgcolor="#ffffff" width="81%">Variable data. <a
  220. href="vars.html">Click here</a> for variable data formats.</td>
  221. </tr>
  222. </tbody>
  223. </table>
  224. (*) Note of Adrian Mettler (TiLP bug #837114) :<br>
  225. </p>
  226. <pre>There are in fact at least THREE conventions for storing variable names in TI-86 files in the wild, and affect all<br>variable types. These are the "official" one generated by the current version of TI's software (and documented in the<br>references that I've seen online), a slight modification of this format, and the third one, closer to the wire format, <br>that is created by some third-party programs (and perhaps by old versions of TI's own software and by TI85). All three are <br>correctly read by TI's software without complaint. <br><br>The difference between the three versions is that TI's official version (1) always includes padding of the name<br>field up to 8 characters, using spaces ('\20') for the extra characters. A common variant (2), currently written by<br>TiLP, uses null characters ('\0') to pad up to eight characters. The third variant (3) DOES NOT pad at all (aka TI-85 format). <br>The fourth variant (4) always contains 8 chars but with garbage (eg 03 BE 61 69 70 31 20 20 20).<br><br>The current release of TiLP correctly reads files that follow conventions (1) and (2), and gets really confused on<br>files of type (3) and (4). </pre>
  227. <p></p>
  228. <p></p>
  229. <p>
  230. </p>
  231. <hr align="center">
  232. <p></p>
  233. <h3>A Proprietary TI-86 backup file format</h3>
  234. <p>Even if the TI-86 Graph Link software does not support system
  235. backups for TI85/86 calculators, this functionnality is implemented in
  236. the calculator OS. In this way, it's possible to download and save
  237. system backups with the extension ".86b".</p>
  238. <p>This is the reason why FastLink and TiLP have their own file format.</p>
  239. <p><u>FastLink uses this file format for TI-86 backups:</u></p>
  240. <p>
  241. <table border="1" cellspacing="0" width="92%">
  242. <tbody>
  243. <tr>
  244. <th bgcolor="#008800" width="15%"><font color="#ffffff">Offset</font></th>
  245. <th bgcolor="#008800" width="11%"><font color="#ffffff">Length</font></th>
  246. <th bgcolor="#008800" width="74%"><font color="#ffffff">Description</font></th>
  247. </tr>
  248. <tr>
  249. <td bgcolor="#ffffff" width="15%">0</td>
  250. <td bgcolor="#ffffff" width="11%">8 bytes</td>
  251. <td bgcolor="#ffffff" width="74%">8-character signature. The
  252. signature is always "<tt>**TI86**</tt>".</td>
  253. </tr>
  254. <tr>
  255. <td bgcolor="#ffffff" width="15%">8</td>
  256. <td bgcolor="#ffffff" width="11%">3 bytes</td>
  257. <td bgcolor="#ffffff" width="74%">3-byte further signature. These
  258. three bytes always contain {1Ah, 0Ah, 00h} = {26, 10, 0}</td>
  259. </tr>
  260. <tr>
  261. <td bgcolor="#ffffff" width="15%">11 (Bh)</td>
  262. <td bgcolor="#ffffff" width="11%">42&nbsp;(2Ah)&nbsp;bytes</td>
  263. <td bgcolor="#ffffff" width="74%">Comment. The comment is either
  264. zero-terminated or padded on the right with space characters.</td>
  265. </tr>
  266. <tr>
  267. <td bgcolor="#ffffff" width="15%">53 (35h)</td>
  268. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  269. <td bgcolor="#ffffff" width="74%">Length, in bytes, of the backup
  270. header and the first data section. This number should be 16 (10h) bytes
  271. more than the length of the first data section as reported in the
  272. backup header.</td>
  273. </tr>
  274. <tr>
  275. <td bgcolor="#ffffff" width="15%">55 (37h)</td>
  276. <td bgcolor="#ffffff" width="11%">16 bytes</td>
  277. <td bgcolor="#ffffff" width="74%">The backup header (format
  278. described below).</td>
  279. </tr>
  280. <tr>
  281. <td bgcolor="#ffffff" width="15%">71&nbsp;(47h)</td>
  282. <td bgcolor="#ffffff" width="11%"><i>x</i> bytes</td>
  283. <td bgcolor="#ffffff" width="74%">First data section.</td>
  284. </tr>
  285. <tr>
  286. <td bgcolor="#ffffff" width="15%">71 (47h)+<i>x</i></td>
  287. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  288. <td bgcolor="#ffffff" width="74%">First checksum. This is the
  289. lower 16 bits of the sum of all bytes in the backup header and the
  290. first data section.</td>
  291. </tr>
  292. <tr>
  293. <td bgcolor="#eeeeee" width="15%">73 (49h)+<i>x</i></td>
  294. <td bgcolor="#eeeeee" width="11%">2 bytes</td>
  295. <td bgcolor="#eeeeee" width="74%">Length, in bytes, of the second
  296. data section</td>
  297. </tr>
  298. <tr>
  299. <td bgcolor="#eeeeee" width="15%">75 (4Bh)+<i>x</i></td>
  300. <td bgcolor="#eeeeee" width="11%"><i>y</i> bytes</td>
  301. <td bgcolor="#eeeeee" width="74%">Second data section.</td>
  302. </tr>
  303. <tr>
  304. <td bgcolor="#eeeeee" width="15%">75 (4Bh)+<i>x</i>+<i>y</i></td>
  305. <td bgcolor="#eeeeee" width="11%">2 bytes</td>
  306. <td bgcolor="#eeeeee" width="74%">Second checksum. This is the
  307. lower 16 bits of the sum of all bytes in the second data section.</td>
  308. </tr>
  309. <tr>
  310. <td bgcolor="#ffffff" width="15%">77 (4Dh)+<i>x</i>+<i>y</i></td>
  311. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  312. <td bgcolor="#ffffff" width="74%">Length, in bytes, of the third
  313. data section</td>
  314. </tr>
  315. <tr>
  316. <td bgcolor="#ffffff" width="15%">79 (4Fh)+<i>x</i>+<i>y</i></td>
  317. <td bgcolor="#ffffff" width="11%"><i>z</i> bytes</td>
  318. <td bgcolor="#ffffff" width="74%">Third data section</td>
  319. </tr>
  320. <tr>
  321. <td bgcolor="#ffffff" width="15%">79 (4Fh)+<i>x</i>+<i>y</i>+<i>z</i></td>
  322. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  323. <td bgcolor="#ffffff" width="74%">Third checksum. This is the
  324. lower 16 bits of the sum of all bytes in the third data section, or 0
  325. if the third data section is empty (has length 0).</td>
  326. </tr>
  327. <tr>
  328. <td bgcolor="#eeeeee" width="15%">81 (51h)+<i>x</i>+<i>y</i>+<i>z</i></td>
  329. <td bgcolor="#eeeeee" width="11%">2 bytes</td>
  330. <td bgcolor="#eeeeee" width="74%">Length, in bytes of the fourth
  331. data section</td>
  332. </tr>
  333. <tr>
  334. <td bgcolor="#eeeeee" width="15%">83 (53h)+<i>x</i>+<i>y</i>+<i>z</i></td>
  335. <td bgcolor="#eeeeee" width="11%"><i>w</i> bytes</td>
  336. <td bgcolor="#eeeeee" width="74%">Fourth data section.</td>
  337. </tr>
  338. <tr>
  339. <td bgcolor="#eeeeee" width="15%">83&nbsp;(53h)+<i>x</i>+<i>y</i>+<i>z</i>+<i>w</i></td>
  340. <td bgcolor="#eeeeee" width="11%">2 bytes</td>
  341. <td bgcolor="#eeeeee" width="74%">Fourth checksum. This is the
  342. lower 16 bits of the sum of all bytes in the fourth data section.</td>
  343. </tr>
  344. </tbody>
  345. </table>
  346. </p>
  347. <p></p>
  348. <p>The Backup Header has the following format:</p>
  349. <p>
  350. <table border="1" cellspacing="0" width="92%">
  351. <tbody>
  352. <tr>
  353. <th bgcolor="#008800" width="8%"><font color="#ffffff">Offset</font></th>
  354. <th bgcolor="#008800" width="11%"><font color="#ffffff">Length</font></th>
  355. <th bgcolor="#008800" width="81%"><font color="#ffffff">Description</font></th>
  356. </tr>
  357. <tr>
  358. <td bgcolor="#ffffff" width="8%">0</td>
  359. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  360. <td bgcolor="#ffffff" width="81%">Offset to data length: Always
  361. has a value of Ch (12).</td>
  362. </tr>
  363. <tr>
  364. <td bgcolor="#ffffff" width="8%">2</td>
  365. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  366. <td bgcolor="#ffffff" width="81%">Length, in bytes, of the first
  367. data section.</td>
  368. </tr>
  369. <tr>
  370. <td bgcolor="#ffffff" width="8%">4</td>
  371. <td bgcolor="#ffffff" width="11%">1&nbsp;byte</td>
  372. <td bgcolor="#ffffff" width="81%">Type ID: Always has a value of
  373. 1Dh.</td>
  374. </tr>
  375. <tr>
  376. <td bgcolor="#ffffff" width="8%">5</td>
  377. <td bgcolor="#ffffff" width="11%">1 byte</td>
  378. <td bgcolor="#ffffff" width="81%">Length, in characters, of the
  379. name: Always has a value of 6.</td>
  380. </tr>
  381. <tr>
  382. <td bgcolor="#ffffff" width="8%">6</td>
  383. <td bgcolor="#ffffff" width="11%">8 bytes</td>
  384. <td bgcolor="#ffffff" width="81%">Name: "SYSTEM" padded with
  385. space characters (20h) on the right.</td>
  386. </tr>
  387. <tr>
  388. <td bgcolor="#ffffff" width="8%">14 (Eh)</td>
  389. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  390. <td bgcolor="#ffffff" width="81%">Length, in bytes, of the first
  391. data section.</td>
  392. </tr>
  393. </tbody>
  394. </table>
  395. </p>
  396. <p>&nbsp;</p>
  397. <p><u>TiLP uses this file format for TI-86 backups:</u></p>
  398. <p> This format is based on a TI85 backup format which has been
  399. extended for adding a fourth section.</p>
  400. <table border="1" cellspacing="0" width="92%">
  401. <tbody>
  402. <tr>
  403. <th bgcolor="#008800" width="15%"><font color="#ffffff">Offset</font></th>
  404. <th bgcolor="#008800" width="11%"><font color="#ffffff">Length</font></th>
  405. <th bgcolor="#008800" width="74%"><font color="#ffffff">Description</font></th>
  406. </tr>
  407. <tr>
  408. <td bgcolor="#ffffff" width="15%">0</td>
  409. <td bgcolor="#ffffff" width="11%">8 bytes</td>
  410. <td bgcolor="#ffffff" width="74%">8-character signature. The
  411. signature is always "<tt>**TI86**</tt>".</td>
  412. </tr>
  413. <tr>
  414. <td bgcolor="#ffffff" width="15%">8</td>
  415. <td bgcolor="#ffffff" width="11%">3 bytes</td>
  416. <td bgcolor="#ffffff" width="74%">3-byte further signature. These
  417. three bytes always contain {1Ah, 0Ah, 00h} = {26, 10, 0}</td>
  418. </tr>
  419. <tr>
  420. <td bgcolor="#ffffff" width="15%">11 (Bh)</td>
  421. <td bgcolor="#ffffff" width="11%">42&nbsp;(2Ah)&nbsp;bytes</td>
  422. <td bgcolor="#ffffff" width="74%">Comment. The comment is either
  423. zero-terminated or padded on the right with space characters.</td>
  424. </tr>
  425. <tr>
  426. <td bgcolor="#ffffff" width="15%">53 (35h)</td>
  427. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  428. <td bgcolor="#ffffff" width="74%">Length, in bytes, of the backup
  429. header and the data sections. This number should be 17 (11h) bytes more
  430. than the sum of the lengths of the three data sections as reported in
  431. the backup header.</td>
  432. </tr>
  433. <tr>
  434. <td bgcolor="#ffffff" width="15%">55 (37h)</td>
  435. <td bgcolor="#ffffff" width="11%">11 bytes</td>
  436. <td bgcolor="#ffffff" width="74%">The backup header (format
  437. described below).</td>
  438. </tr>
  439. <tr>
  440. <td bgcolor="#ffffff" width="15%">66 (42h)</td>
  441. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  442. <td bgcolor="#ffffff" width="74%">Length, in bytes, of the first
  443. data section.</td>
  444. </tr>
  445. <tr>
  446. <td bgcolor="#ffffff" width="15%">68&nbsp;(44h)</td>
  447. <td bgcolor="#ffffff" width="11%"><i>x</i> bytes</td>
  448. <td bgcolor="#ffffff" width="74%">First data section.</td>
  449. </tr>
  450. <tr>
  451. <td bgcolor="#eeeeee" width="15%">68 (44h)+<i>x</i></td>
  452. <td bgcolor="#eeeeee" width="11%">2 bytes</td>
  453. <td bgcolor="#eeeeee" width="74%">Length, in bytes, of the second
  454. data section</td>
  455. </tr>
  456. <tr>
  457. <td bgcolor="#eeeeee" width="15%">70 (46h)+<i>x</i></td>
  458. <td bgcolor="#eeeeee" width="11%"><i>y</i> bytes</td>
  459. <td bgcolor="#eeeeee" width="74%">Second data section.</td>
  460. </tr>
  461. <tr>
  462. <td bgcolor="#ffffff" width="15%">70 (46h)+<i>x</i>+<i>y</i></td>
  463. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  464. <td bgcolor="#ffffff" width="74%">Length, in bytes, of the third
  465. data section</td>
  466. </tr>
  467. <tr>
  468. <td bgcolor="#ffffff" width="15%">72 (48h)+<i>x</i>+<i>y</i></td>
  469. <td bgcolor="#ffffff" width="11%"><i>z</i> bytes</td>
  470. <td bgcolor="#ffffff" width="74%">Third data section</td>
  471. </tr>
  472. <tr>
  473. <td bgcolor="#ffffff" width="15%">72 (48h)+x+y+z</td>
  474. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  475. <td bgcolor="#ffffff" width="74%">Length, in bytes, of the fourth
  476. data section (optional) </td>
  477. </tr>
  478. <tr>
  479. <td bgcolor="#ffffff" width="15%">74 (4Ah)+x+y+z</td>
  480. <td bgcolor="#ffffff" width="11%">w bytes</td>
  481. <td bgcolor="#ffffff" width="74%">Fourth data section (optional)</td>
  482. </tr>
  483. <tr>
  484. <td bgcolor="#ffffff" width="15%">74 (4Ah)+<i>x</i>+<i>y</i>+z+w</td>
  485. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  486. <td bgcolor="#ffffff" width="74%">Checksum. This is the lower 16
  487. bits of the sum of all bytes in the backup header and data sections.</td>
  488. </tr>
  489. </tbody>
  490. </table>
  491. <p></p>
  492. <p>The backup header has this format:</p>
  493. <p>
  494. <table border="1" cellspacing="0" width="92%">
  495. <tbody>
  496. <tr>
  497. <th bgcolor="#008800" width="8%"><font color="#ffffff">Offset</font></th>
  498. <th bgcolor="#008800" width="11%"><font color="#ffffff">Length</font></th>
  499. <th bgcolor="#008800" width="81%"><font color="#ffffff">Description</font></th>
  500. </tr>
  501. <tr>
  502. <td bgcolor="#ffffff" width="8%">0</td>
  503. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  504. <td bgcolor="#ffffff" width="81%">Offset to data length: Always
  505. has a value of 9.</td>
  506. </tr>
  507. <tr>
  508. <td bgcolor="#ffffff" width="8%">2</td>
  509. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  510. <td bgcolor="#ffffff" width="81%">Length, in bytes, of the first
  511. data section.</td>
  512. </tr>
  513. <tr>
  514. <td bgcolor="#ffffff" width="8%">4</td>
  515. <td bgcolor="#ffffff" width="11%">1&nbsp;byte</td>
  516. <td bgcolor="#ffffff" width="81%">Type ID: Always has a value of
  517. 15 (Fh).</td>
  518. </tr>
  519. <tr>
  520. <td bgcolor="#ffffff" width="8%">5</td>
  521. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  522. <td bgcolor="#ffffff" width="81%">Length, in bytes, of the second
  523. data section.</td>
  524. </tr>
  525. <tr>
  526. <td bgcolor="#ffffff" width="8%">7</td>
  527. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  528. <td bgcolor="#ffffff" width="81%">Length, in bytes, of the third
  529. data section.</td>
  530. </tr>
  531. <tr>
  532. <td bgcolor="#ffffff" width="8%">9</td>
  533. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  534. <td bgcolor="#ffffff" width="81%">Memory address of the second
  535. data section</td>
  536. </tr>
  537. <tr>
  538. <td bgcolor="#ffffff" width="8%">11</td>
  539. <td bgcolor="#ffffff" width="11%">2 bytes</td>
  540. <td bgcolor="#ffffff" width="81%">Length, in bytes, of the fourth
  541. data section.</td>
  542. </tr>
  543. </tbody>
  544. </table>
  545. </p>
  546. <p><br>
  547. </p>
  548. <table border="0" cellspacing="0" width="100%">
  549. <tbody>
  550. <tr>
  551. <td width="32%">
  552. <p align="center"><a href="vars.html"><img
  553. src="graphics/prevpage.gif" alt="[previous page]" align="bottom"
  554. border="2" height="32" width="32"><br>
  555. Variable Formats</a> </p>
  556. </td>
  557. <td width="34%">
  558. <p align="center"><a href="index.html"><img
  559. src="graphics/home.gif" alt="[home]" align="bottom" border="2"
  560. height="32" width="32"><br>
  561. Table of Contents</a> </p>
  562. </td>
  563. <td width="34%">
  564. <p align="center"><a href="tokens.html"><img
  565. src="graphics/nextpage.gif" alt="[next page]" align="bottom" border="2"
  566. height="32" width="32"><br>
  567. Tokens and Characters</a> </p>
  568. </td>
  569. </tr>
  570. </tbody>
  571. </table>
  572. <hr align="center">
  573. <i>Site maintained by Romain Li&eacute;vin (</i><a
  574. href="mailto:roms@lpg.ticalc.org"><i>roms@lpg.ticalc.org</i></a><i>)
  575. and Tim Singer (</i><a href="mailto:tsinger@gladstone.uoregon.edu"><i>tsinger@gladstone.uoregon.edu</i></a><i>)</i>
  576. </body>
  577. </html>