flash.html 46 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372
  1. <!DOCTYPE doctype PUBLIC "-//w3c//dtd html 4.0 transitional//en">
  2. <html>
  3. <head>
  4. <meta http-equiv="Content-Type"
  5. content="text/html; charset=iso-8859-1">
  6. <meta name="GENERATOR"
  7. content="Mozilla/4.7 [en] (X11; I; Linux 2.4.0-test6 i586) [Netscape]">
  8. <title>TI-83+ Link Protocol Guide - Flash Transfers</title>
  9. </head>
  10. <body bgcolor="#ffffe8">
  11. <b>TI-83+ Link Protocol Guide</b> - Flash Transfers
  12. <center>
  13. <h2>
  14. <hr align="center">Flash Transfers</h2>
  15. </center>
  16. <p><br>
  17. <b><i>Beware:</i></b> in the worst case, a FLASH operation can
  18. completely
  19. lock up your calculator and there is no way than returning the
  20. calcultator
  21. to Texas Instruments in this case. We (Tim. Singer and Romain
  22. Li&eacute;vin)
  23. can not be responsible of this. <br>
  24. Personnaly, Romain has crashed a FLASH OS several times (10) without
  25. crashing the calculator but you have been warned ! <br>
  26. A last remark: the link cables which are the more reliable and
  27. efficient
  28. for these operations (especially OS flashing) are RS232 cables such as
  29. Grey TIGL, fastAVRlink (even at 4x = 38400 bauds) or PIClink (not
  30. tested
  31. but should work). The SilverLink cable works fine, too. </p>
  32. <p>There are 2 kinds of FLASH transfers: <br>
  33. - (free) FLASH applications which are variables stored in the FLASH
  34. memory
  35. of the calculator. <br>
  36. - AMS (Advanced Mathematic Software) which is the Operating System of
  37. the
  38. calculator. <br>
  39. A Flash transfer is a one (large) transmission containing data (up to
  40. 2 MB for AMS). The file format that the TI-83+ Graph Link software uses
  41. can be found in the <a href="fformat.html#backup">file formats</a>
  42. section
  43. of this documentation. </p>
  44. <p>A FLASH OS must be transferred silently whereas FLASH apps can be
  45. transferred manually or silently. Silent transfers can only be done
  46. between a computer and a calculator, and require that the computer make
  47. the <a href="#request">request</a> or <a href="#rts">request-to-send</a>.
  48. </p>
  49. <h4> <a name="request"></a>Checking FLASH</h4>
  50. The protocol for checking whether the calculator AMS has been upgraded
  51. is
  52. described below.
  53. <table nosave="" bgcolor="#ffffff" border="1" cellspacing="0"
  54. width="92%">
  55. <tbody>
  56. <tr>
  57. <th bgcolor="#008800" width="7%"><font color="#ffffff">Step</font></th>
  58. <th colspan="3" bgcolor="#008800"><font color="#ffffff">Direction</font></th>
  59. <th bgcolor="#008800" width="80%"><font color="#ffffff">Packet</font></th>
  60. </tr>
  61. <tr nosave="">
  62. <td bgcolor="#ffffff" width="7%">
  63. <center>1&nbsp;</center>
  64. </td>
  65. <td rowspan="2" nosave="">
  66. <center><img src="graphics/comp.gif" alt="Computer" align="bottom"
  67. border="0" height="33" width="30"> </center>
  68. </td>
  69. <td bgcolor="#ffffff">
  70. <center><img src="graphics/right.gif" alt="===&gt;" align="bottom"
  71. border="0" height="13" width="22"> </center>
  72. </td>
  73. <td rowspan="2" nosave="">
  74. <center><img src="graphics/calc.gif" alt="Calculator"
  75. align="bottom" border="0" height="35" width="60"> </center>
  76. </td>
  77. <td bgcolor="#ffffff" width="80%">REQ special: <b><u>00</u></b>
  78. 68 00 00.</td>
  79. </tr>
  80. <tr>
  81. <td bgcolor="#ffffff" width="7%">
  82. <center>2&nbsp;</center>
  83. </td>
  84. <td bgcolor="#ffffff">
  85. <center><img src="graphics/left.gif" alt="&lt;===" align="bottom"
  86. border="0" height="13" width="22"> </center>
  87. </td>
  88. <td bgcolor="#ffffff" width="80%">ACK: either 73 56 00 00 (not
  89. upgraded), either 73 56 ?? ?? (upgraded).</td>
  90. </tr>
  91. </tbody>
  92. </table>
  93. <p><u>Example:</u>
  94. <table nosave="" border="0" cellspacing="0" width="100%">
  95. <tbody>
  96. <tr>
  97. <td bgcolor="#ccffcc">PC:</td>
  98. <td bgcolor="#ccffcc" width="50%"><b><tt><u>00</u> 68 00 00&nbsp;</tt></b></td>
  99. <td bgcolor="#ccffcc" width="50%"><i>Check whether the calc has
  100. been FLASHed</i></td>
  101. </tr>
  102. <tr>
  103. <td bgcolor="#ffcccc">TI:</td>
  104. <td bgcolor="#ffcccc" width="50%"><b><tt>73 56 00 00</tt></b></td>
  105. <td bgcolor="#ffcccc" width="50%">TI83+ with AMS v1.14</td>
  106. </tr>
  107. </tbody>
  108. </table>
  109. <table nosave="" border="0" cellspacing="0" width="100%">
  110. <tbody>
  111. <tr>
  112. <td bgcolor="#ccffcc">PC:</td>
  113. <td bgcolor="#ccffcc" width="50%"><b><tt><u>00</u> 68 00 00&nbsp;</tt></b></td>
  114. <td bgcolor="#ccffcc" width="50%"><i>Check whether the calc has
  115. been FLASHed</i></td>
  116. </tr>
  117. <tr>
  118. <td bgcolor="#ffcccc">TI:</td>
  119. <td bgcolor="#ffcccc" width="50%"><b><tt>73 56 ?? ??</tt></b></td>
  120. <td bgcolor="#ffcccc" width="50%">TI83+ with AMS v?.??</td>
  121. </tr>
  122. </tbody>
  123. </table>
  124. </p>
  125. <h4> <a name="rts"></a>Requesting ID list</h4>
  126. Indeed, the request is as if the TI requested the 'IDLIST' variable:
  127. Ty=26
  128. and Nl=00. <br>
  129. This request works only with upgraded calculator (check if TI has been
  130. upgraded
  131. before).
  132. <p>The protocol for silently receiving the ID list is shown below:
  133. <table nosave="" bgcolor="#ffffff" border="1" cellspacing="0"
  134. width="92%">
  135. <tbody>
  136. <tr>
  137. <th bgcolor="#008800" width="7%"><font color="#ffffff">Step</font></th>
  138. <th colspan="3" bgcolor="#008800"><font color="#ffffff">Direction</font></th>
  139. <th bgcolor="#008800" width="80%"><font color="#ffffff">Packet</font></th>
  140. </tr>
  141. <tr nosave="">
  142. <td bgcolor="#ffffff" width="7%">
  143. <center> 1&nbsp; </center>
  144. </td>
  145. <td rowspan="9" nosave="">
  146. <center> <img src="graphics/comp.gif" alt="Computer"
  147. align="bottom" border="0" height="33" width="30"> </center>
  148. </td>
  149. <td bgcolor="#ffffff">
  150. <center> <img src="graphics/right.gif" alt="===&gt;" align="bottom"
  151. border="0" height="13" width="22"> </center>
  152. </td>
  153. <td rowspan="9" nosave="">
  154. <center> <img src="graphics/calc.gif" alt="Calculator"
  155. align="bottom" border="0" height="35" width="60"> </center>
  156. </td>
  157. <td bgcolor="#ffffff" width="80%">REQ with just type ID</td>
  158. </tr>
  159. <tr>
  160. <td bgcolor="#ffffff" width="7%">
  161. <center> 2&nbsp; </center>
  162. </td>
  163. <td bgcolor="#ffffff">
  164. <center> <img src="graphics/left.gif" alt="&lt;===" align="bottom"
  165. border="0" height="13" width="22"> </center>
  166. </td>
  167. <td bgcolor="#ffffff" width="80%">ACK (see note below)</td>
  168. </tr>
  169. <tr>
  170. <td bgcolor="#ffffff" width="7%">
  171. <center> 3&nbsp; </center>
  172. </td>
  173. <td bgcolor="#ffffff">
  174. <center> <img src="graphics/left.gif" alt="&lt;===" align="bottom"
  175. border="0" height="13" width="22"> </center>
  176. </td>
  177. <td bgcolor="#ffffff" width="80%">VAR (specifing the size without
  178. the
  179. extra four bytes) with IDLIST as varname<br>
  180. </td>
  181. </tr>
  182. <tr>
  183. <td bgcolor="#ffffff" width="7%">
  184. <center> 4&nbsp; </center>
  185. </td>
  186. <td bgcolor="#ffffff">
  187. <center> <img src="graphics/right.gif" alt="===&gt;" align="bottom"
  188. border="0" height="13" width="22"> </center>
  189. </td>
  190. <td bgcolor="#ffffff" width="80%">ACK</td>
  191. </tr>
  192. <tr>
  193. <td width="7%">
  194. <center> 5&nbsp; </center>
  195. </td>
  196. <td>
  197. <center> <img src="graphics/right.gif" alt="===&gt;" align="bottom"
  198. border="0" height="13" width="22"> </center>
  199. </td>
  200. <td width="80%">CTS</td>
  201. </tr>
  202. <tr>
  203. <td width="7%">
  204. <center> 6&nbsp; </center>
  205. </td>
  206. <td>
  207. <center> <img src="graphics/left.gif" alt="&lt;===" align="bottom"
  208. border="0" height="13" width="22"> </center>
  209. </td>
  210. <td width="80%">ACK</td>
  211. </tr>
  212. <tr>
  213. <td width="7%">
  214. <center> 7&nbsp; </center>
  215. </td>
  216. <td>
  217. <center> <img src="graphics/left.gif" alt="&lt;===" align="bottom"
  218. border="0" height="13" width="22"> </center>
  219. </td>
  220. <td width="80%">DATA with an extra four bytes at the beginning of
  221. the
  222. packet</td>
  223. </tr>
  224. <tr>
  225. <td width="7%">
  226. <center> 8&nbsp; </center>
  227. </td>
  228. <td>
  229. <center> <img src="graphics/right.gif" alt="===&gt;" align="bottom"
  230. border="0" height="13" width="22"> </center>
  231. </td>
  232. <td width="80%">ACK</td>
  233. </tr>
  234. <tr>
  235. <td width="7%">
  236. <center> 10&nbsp; </center>
  237. </td>
  238. <td>
  239. <center> <img src="graphics/right.gif" alt="===&gt;" align="bottom"
  240. border="0" height="13" width="22"> </center>
  241. </td>
  242. <td width="80%">ACK</td>
  243. </tr>
  244. </tbody>
  245. </table>
  246. </p>
  247. <p><u>Example (PC receiving IDlist from TI):</u>
  248. <table nosave="" border="0" cellspacing="0" width="100%">
  249. <tbody>
  250. <tr bgcolor="#ffcccc">
  251. <td bgcolor="#ccffcc">PC:</td>
  252. <td bgcolor="#ccffcc" width="50%"><tt><b>73 A2 0B 00 </b>00 00
  253. 26 00
  254. 00 00 00 00 00 00 00 <b>26 00</b></tt></td>
  255. <td bgcolor="#ccffcc" width="50%"><i>Request the ID list</i></td>
  256. </tr>
  257. <tr bgcolor="#ffcccc">
  258. <td bgcolor="#ffcccc">TI:</td>
  259. <td bgcolor="#ffcccc" width="50%"><b><tt>73 56 00 00</tt></b></td>
  260. <td bgcolor="#ffcccc" width="50%"><i>Acknowledgement of request</i></td>
  261. </tr>
  262. <tr bgcolor="#ffcccc">
  263. <td bgcolor="#ffcccc">&nbsp;</td>
  264. <td bgcolor="#ffcccc" width="50%"><tt><b>73 06 0B 00 </b>0B 00
  265. 26 00 00 00 00 00 00 00 00 <b>31 00</b></tt></td>
  266. <td bgcolor="#ffcccc" width="50%"><i>Variable Header</i></td>
  267. </tr>
  268. <tr bgcolor="#ffcccc">
  269. <td bgcolor="#ccffcc">PC:</td>
  270. <td bgcolor="#ccffcc" width="50%"><b><tt>73 56 00 00</tt></b></td>
  271. <td bgcolor="#ccffcc" width="50%"><i>Acknowledgement of variable
  272. header</i></td>
  273. </tr>
  274. <tr bgcolor="#ffcccc">
  275. <td bgcolor="#ccffcc">&nbsp;</td>
  276. <td bgcolor="#ccffcc" width="50%"><b><tt>73 09 00 00</tt></b></td>
  277. <td bgcolor="#ccffcc" width="50%"><i>Clear to send variable</i></td>
  278. </tr>
  279. <tr bgcolor="#ffcccc">
  280. <td bgcolor="#ffcccc">TI:</td>
  281. <td bgcolor="#ffcccc" width="50%"><b><tt>73 56 00 00</tt></b></td>
  282. <td bgcolor="#ffcccc" width="50%"><i>Acknowledgement of CTS</i></td>
  283. </tr>
  284. <tr bgcolor="#ffcccc">
  285. <td bgcolor="#ffcccc" height="44">&nbsp;</td>
  286. <td bgcolor="#ffcccc" height="44" width="50%"><tt><b>73 15 0B 00 </b>01
  287. 00 00 80 0A 32 CC E3 01 21 18 <b>A6
  288. 00</b></tt></td>
  289. <td bgcolor="#ffcccc" height="44" width="50%"><i>Variable data:
  290. "0A32C-CE301-1821"</i></td>
  291. </tr>
  292. <tr bgcolor="#ffcccc">
  293. <td bgcolor="#ccffcc">PC:</td>
  294. <td bgcolor="#ccffcc" width="50%"><b><tt>73 56 00 00</tt></b></td>
  295. <td bgcolor="#ccffcc" width="50%"><i>Acknowledgement of variable
  296. data</i></td>
  297. </tr>
  298. </tbody>
  299. </table>
  300. </p>
  301. <p>If the calculator does not have an IDLIST, it replies as following:</p>
  302. <table nosave="" border="0" cellspacing="0" width="100%">
  303. <tbody>
  304. <tr bgcolor="#ffcccc">
  305. <td bgcolor="#ccffcc">PC:</td>
  306. <td bgcolor="#ccffcc" width="50%"><tt><b>73 A2 0B 00 </b>00 00
  307. 26 00
  308. 00 00 00 00 00 00 00 <b>26 00</b></tt></td>
  309. <td bgcolor="#ccffcc" width="50%"><i>Request the ID list</i></td>
  310. </tr>
  311. <tr bgcolor="#ffcccc">
  312. <td bgcolor="#ffcccc">TI:</td>
  313. <td bgcolor="#ffcccc" width="50%"><b><tt>73 36 05 <b>00 </b></tt></b><tt>00
  314. 00 00 00 03 <b>03 00</b></tt></td>
  315. <td bgcolor="#ffcccc" width="50%"><i>Skip/Exit</i></td>
  316. </tr>
  317. </tbody>
  318. </table>
  319. <h4> <a name="rts"></a>Sending FLASH</h4>
  320. <u><b><i>Warning:</i></b> We (Tim. Singer and Romain Li&eacute;vin)
  321. could not be responsible if your calculator has been locked or damaged
  322. with a FLASH
  323. OS.</u> <br>
  324. If an FLASH OS has been sent and the operation has crashed, you can
  325. wait
  326. that the TI83+ display 'Turn unit off and on'. Then, try again the
  327. transfer.
  328. <br>
  329. If the calculator is really locked, remove batteries, wait some time
  330. and
  331. put them again. Next, press I for 'Install code' and retry transfer.<br>
  332. <br>
  333. <u>Note:</u> the TI83+ SE (Silver Edition) will reject any OS upgrade
  334. older
  335. than the currently installed.<br>
  336. <br>
  337. In the case of a FLASH OS (AMS), the name is 'basecode'.
  338. <p>The protocol for silently sending a FLASH file is shown below:
  339. <table nosave="" bgcolor="#ffffff" border="1" cellspacing="0"
  340. width="92%">
  341. <tbody>
  342. <tr>
  343. <th bgcolor="#008800" width="7%"><font color="#ffffff">Step</font></th>
  344. <th colspan="3" bgcolor="#008800"><font color="#ffffff">Direction</font></th>
  345. <th bgcolor="#008800" width="80%"><font color="#ffffff">Packet</font></th>
  346. </tr>
  347. <tr nosave="">
  348. <td bgcolor="#ffffff" width="7%">
  349. <center> 1&nbsp; </center>
  350. </td>
  351. <td rowspan="9" nosave="">
  352. <center> <img src="graphics/comp.gif" alt="Computer"
  353. align="bottom" border="0" height="33" width="30"> </center>
  354. </td>
  355. <td bgcolor="#ffffff">
  356. <center> <img src="graphics/right.gif" alt="===&gt;" align="bottom"
  357. border="0" height="13" width="22"> </center>
  358. </td>
  359. <td rowspan="9" nosave="">
  360. <center> <img src="graphics/calc.gif" alt="Calculator"
  361. align="bottom" border="0" height="35" width="60"> </center>
  362. </td>
  363. <td bgcolor="#ffffff" width="80%">VAR with expected header
  364. including
  365. the FLASH application name and size.&nbsp;</td>
  366. </tr>
  367. <tr>
  368. <td bgcolor="#ffffff" width="7%">
  369. <center> 2&nbsp; </center>
  370. </td>
  371. <td bgcolor="#ffffff">
  372. <center> <img src="graphics/left.gif" alt="&lt;===" align="bottom"
  373. border="0" height="13" width="22"> </center>
  374. </td>
  375. <td bgcolor="#ffffff" width="80%">ACK</td>
  376. </tr>
  377. <tr>
  378. <td width="7%">
  379. <center> 3&nbsp; </center>
  380. </td>
  381. <td>
  382. <center> <img src="graphics/left.gif" alt="&lt;===" align="bottom"
  383. border="0" height="13" width="22"> </center>
  384. </td>
  385. <td width="80%">CTS</td>
  386. </tr>
  387. <tr>
  388. <td width="7%">
  389. <center> 4&nbsp; </center>
  390. </td>
  391. <td>
  392. <center> <img src="graphics/right.gif" alt="===&gt;" align="bottom"
  393. border="0" height="13" width="22"> </center>
  394. </td>
  395. <td width="80%">ACK</td>
  396. </tr>
  397. <tr>
  398. <td width="7%">
  399. <center> 5&nbsp; </center>
  400. </td>
  401. <td>
  402. <center> <img src="graphics/right.gif" alt="===&gt;" align="bottom"
  403. border="0" height="13" width="22"> </center>
  404. </td>
  405. <td width="80%">DATA with an extra four bytes at the beginning of
  406. the
  407. packet</td>
  408. </tr>
  409. <tr>
  410. <td width="7%">
  411. <center> 6&nbsp; </center>
  412. </td>
  413. <td>
  414. <center> <img src="graphics/left.gif" alt="&lt;===" align="bottom"
  415. border="0" height="13" width="22"> </center>
  416. </td>
  417. <td width="80%">ACK/ERR (*)</td>
  418. </tr>
  419. <tr>
  420. <td width="7%">&nbsp;</td>
  421. <td>&nbsp;</td>
  422. <td width="80%">(Repeat steps 1-6 for as many pages as there are
  423. in
  424. the file)</td>
  425. </tr>
  426. <tr>
  427. <td width="7%">
  428. <center> 7&nbsp; </center>
  429. </td>
  430. <td>
  431. <center> <img src="graphics/right.gif" alt="===&gt;" align="bottom"
  432. border="0" height="13" width="22"> </center>
  433. </td>
  434. <td width="80%"> EOT</td>
  435. </tr>
  436. <tr>
  437. <td width="7%">
  438. <center> 8&nbsp; </center>
  439. </td>
  440. <td>
  441. <center> <img src="graphics/left.gif" alt="&lt;===" align="bottom"
  442. border="0" height="13" width="22"> </center>
  443. </td>
  444. <td width="80%">ACK</td>
  445. </tr>
  446. </tbody>
  447. </table>
  448. </p>
  449. <p>(*) TI83+ SE will send an error packet if OS upgrade is older than
  450. the
  451. one currently installed.<br>
  452. </p>
  453. <p>Given that the TI83+ is a paged memory calculator, the protocol
  454. follows
  455. this scheme (see the TI83+ SDK guide for hardware informations). You
  456. have
  457. to send this page according to the protocol.</p>
  458. <p>The size of the data part depends on the transfer type:<br>
  459. - os: 256 bytes (100h)<br>
  460. - app: 128 bytes (80h)</p>
  461. <p><u>Example (PC sending an OS to TI):</u>
  462. <table nosave="" border="0" cellspacing="0" width="100%">
  463. <tbody>
  464. <tr bgcolor="#ffcccc">
  465. <td bgcolor="#ccffcc" width="2%">PC:</td>
  466. <td bgcolor="#ccffcc" width="49%"><tt><b>23 06 0A 00 </b>00 01
  467. 23 00 00 80 00 00 00 00 <b>7D 02</b></tt></td>
  468. <td bgcolor="#ccffcc" width="49%"><i>send the first page(header
  469. informations for OS)</i></td>
  470. </tr>
  471. <tr bgcolor="#ffcccc">
  472. <td bgcolor="#ffcccc" width="2%">TI:</td>
  473. <td bgcolor="#ffcccc" width="49%"><b><tt>73 56 00 00</tt></b></td>
  474. <td bgcolor="#ffcccc" width="49%"><i>Acknowledgement of request</i></td>
  475. </tr>
  476. <tr bgcolor="#ffcccc">
  477. <td bgcolor="#ffcccc" width="2%">&nbsp;</td>
  478. <td bgcolor="#ffcccc" width="49%"><b><tt>73 09 0A 00&nbsp;</tt></b></td>
  479. <td bgcolor="#ffcccc" width="49%"><i>Clear to send variable</i></td>
  480. </tr>
  481. <tr bgcolor="#ffcccc">
  482. <td bgcolor="#ccffcc" width="2%">PC:</td>
  483. <td bgcolor="#ccffcc" width="49%"><b><tt>23 56 00 00</tt></b></td>
  484. <td bgcolor="#ccffcc" width="49%"><i>Acknowledgement of variable
  485. header</i></td>
  486. </tr>
  487. <tr bgcolor="#ffcccc">
  488. <td bgcolor="#ccffcc" width="2%">&nbsp;</td>
  489. <td bgcolor="#ccffcc" width="49%"><tt><b>23 15 00 01 </b>&lt;...
  490. 256/128 bytes of data ...&gt;<b> CHK</b></tt></td>
  491. <td bgcolor="#ccffcc" width="49%"><i>Data block: 128 or 256 bytes</i></td>
  492. </tr>
  493. <tr bgcolor="#ffcccc">
  494. <td bgcolor="#ffcccc" width="2%">TI:</td>
  495. <td bgcolor="#ffcccc" width="49%"><b><tt>73 56 00 00</tt></b></td>
  496. <td bgcolor="#ffcccc" width="49%"><i>Acknowledgement of CTS</i></td>
  497. </tr>
  498. <tr>
  499. <td>
  500. <center> <b>. . .</b> </center>
  501. </td>
  502. <td width="50%">
  503. <center> <b>. . .</b> </center>
  504. </td>
  505. <td width="50%">
  506. <center> <b>. . .</b> </center>
  507. </td>
  508. </tr>
  509. <tr bgcolor="#ffcccc">
  510. <td bgcolor="#ccffcc" width="2%">PC:</td>
  511. <td bgcolor="#ccffcc" width="49%"><tt><b>23 06 0A 00 </b>00 01
  512. 23 00 00 00 00 40 00 00 <b>7D 02</b></tt></td>
  513. <td bgcolor="#ccffcc" width="49%"><i>send the second page</i></td>
  514. </tr>
  515. <tr bgcolor="#ffcccc">
  516. <td bgcolor="#ffcccc" width="2%">TI:</td>
  517. <td bgcolor="#ffcccc" width="49%"><b><tt>73 56 00 00</tt></b></td>
  518. <td bgcolor="#ffcccc" width="49%"><i>Acknowledgement of request</i></td>
  519. </tr>
  520. <tr bgcolor="#ffcccc">
  521. <td bgcolor="#ffcccc" width="2%">&nbsp;</td>
  522. <td bgcolor="#ffcccc" width="49%"><b><tt>73 09 0A 00&nbsp;</tt></b></td>
  523. <td bgcolor="#ffcccc" width="49%"><i>Clear to send variable</i></td>
  524. </tr>
  525. <tr bgcolor="#ffcccc">
  526. <td bgcolor="#ccffcc" width="2%">PC:</td>
  527. <td bgcolor="#ccffcc" width="49%"><b><tt>23 56 00 00</tt></b></td>
  528. <td bgcolor="#ccffcc" width="49%"><i>Acknowledgement of variable
  529. header</i></td>
  530. </tr>
  531. <tr bgcolor="#ffcccc">
  532. <td bgcolor="#ccffcc" width="2%">&nbsp;</td>
  533. <td bgcolor="#ccffcc" width="49%"><tt><b>23 15 00 01 </b>&lt;...
  534. 256/128 bytes of data ...&gt;<b> CHK</b></tt></td>
  535. <td bgcolor="#ccffcc" width="49%"><i>Data block: 128 or 256 bytes</i></td>
  536. </tr>
  537. <tr bgcolor="#ffcccc">
  538. <td bgcolor="#ffcccc" width="2%">TI:</td>
  539. <td bgcolor="#ffcccc" width="49%"><b><tt>73 56 00 00</tt></b></td>
  540. <td bgcolor="#ffcccc" width="49%"><i>Acknowledgement of CTS</i></td>
  541. </tr>
  542. <tr>
  543. <td>
  544. <center> <b>. . .</b> </center>
  545. </td>
  546. <td width="50%">
  547. <center> <b>. . .</b> </center>
  548. </td>
  549. <td width="50%">
  550. <center> <b>. . .</b> </center>
  551. </td>
  552. </tr>
  553. <tr bgcolor="#ffcccc">
  554. <td bgcolor="#ccffcc" width="2%">PC:</td>
  555. <td bgcolor="#ccffcc" width="49%"><b><tt>23 92 00 00</tt></b></td>
  556. <td bgcolor="#ccffcc" width="49%"><i>End of Transmission</i></td>
  557. </tr>
  558. <tr bgcolor="#ffcccc">
  559. <td bgcolor="#ccffcc" width="2%">&nbsp;</td>
  560. <td bgcolor="#ccffcc" width="49%"><tt><b>73 56 00 00</b></tt></td>
  561. <td bgcolor="#ccffcc" width="49%"><i>Acknowledgement of EOT&nbsp;</i></td>
  562. </tr>
  563. </tbody>
  564. </table>
  565. </p>
  566. <p><i>Important remark:</i> for FLASH OS and TI73/83+, a pause must be
  567. inserted:<br>
  568. - just after the first page (1 second),<br>
  569. - and just
  570. before sending the last page (which is the 'digital signature') else
  571. the entire
  572. operation will not be validated. TI's soft seems to use a very long
  573. pause
  574. (2..3s). Practically, a pause of 1 second seems to be enough.<br>
  575. This pause is not needed for TI84+ (it will make transfer fail in fact).<br>
  576. </p>
  577. <p><br>
  578. &nbsp; <a name="rts"></a><b>Receiving FLASH</b></p>
  579. The protocol for silently receiving a FLASH file is shown below:
  580. <table nosave="" bgcolor="#ffffff" border="1" cellspacing="0"
  581. width="92%">
  582. <tbody>
  583. <tr>
  584. <th bgcolor="#008800" width="7%"><font color="#ffffff">Step</font></th>
  585. <th colspan="3" bgcolor="#008800"><font color="#ffffff">Direction</font></th>
  586. <th bgcolor="#008800" width="80%"><font color="#ffffff">Packet</font></th>
  587. </tr>
  588. <tr nosave="">
  589. <td bgcolor="#ffffff" width="7%">
  590. <p align="center">1 </p>
  591. </td>
  592. <td rowspan="9" nosave="">
  593. <p align="center"><img src="graphics/comp.gif" alt="Computer"
  594. align="bottom" border="0" height="33" width="30"> </p>
  595. </td>
  596. <td bgcolor="#ffffff">
  597. <p align="center"><img src="graphics/right.gif" alt="===&gt;"
  598. align="bottom" border="0" height="13" width="22"> </p>
  599. </td>
  600. <td rowspan="9" nosave="">
  601. <p align="center"><img src="graphics/calc.gif" alt="Calculator"
  602. align="bottom" border="0" height="35" width="60"> </p>
  603. </td>
  604. <td bgcolor="#ffffff" width="80%">REQ with <a
  605. href="packet.html#reqbackup">request-style backup header</a>.</td>
  606. </tr>
  607. <tr>
  608. <td bgcolor="#ffffff" width="7%">
  609. <p align="center">2 </p>
  610. </td>
  611. <td bgcolor="#ffffff">
  612. <p align="center"><img src="graphics/left.gif" alt="&lt;==="
  613. align="bottom" border="0" height="13" width="22"> </p>
  614. </td>
  615. <td bgcolor="#ffffff" width="80%">ACK</td>
  616. </tr>
  617. <tr>
  618. <td bgcolor="#ffffff" width="7%">
  619. <p align="center">3 </p>
  620. </td>
  621. <td bgcolor="#ffffff">
  622. <p align="center"><img src="graphics/left.gif" alt="&lt;==="
  623. align="bottom" border="0" height="13" width="22"> </p>
  624. </td>
  625. <td bgcolor="#ffffff" width="80%">VAR with <a
  626. href="packet.html#backup">flash-style header</a>.</td>
  627. </tr>
  628. <tr>
  629. <td bgcolor="#ffffff" width="7%">
  630. <p align="center">4 </p>
  631. </td>
  632. <td bgcolor="#ffffff">
  633. <p align="center"><img src="graphics/right.gif" alt="===&gt;"
  634. align="bottom" border="0" height="13" width="22"> </p>
  635. </td>
  636. <td bgcolor="#ffffff" width="80%">ACK</td>
  637. </tr>
  638. <tr>
  639. <td width="7%">
  640. <p align="center">5 </p>
  641. </td>
  642. <td>
  643. <p align="center"><img src="graphics/right.gif" alt="===&gt;"
  644. align="bottom" border="0" height="13" width="22"> </p>
  645. </td>
  646. <td width="80%">CTS</td>
  647. </tr>
  648. <tr>
  649. <td width="7%">
  650. <p align="center">6 </p>
  651. </td>
  652. <td>
  653. <p align="center"><img src="graphics/left.gif" alt="&lt;==="
  654. align="bottom" border="0" height="13" width="22"> </p>
  655. </td>
  656. <td width="80%">ACK</td>
  657. </tr>
  658. <tr>
  659. <td width="7%">
  660. <p align="center">7 </p>
  661. </td>
  662. <td>
  663. <p align="center"><img src="graphics/left.gif" alt="&lt;==="
  664. align="bottom" border="0" height="13" width="22"> </p>
  665. </td>
  666. <td width="80%">DATA (a 1-kilobyte backup block, with four extra
  667. bytes
  668. at the beginning)</td>
  669. </tr>
  670. <tr>
  671. <td width="7%">
  672. <p align="center">8 </p>
  673. </td>
  674. <td>
  675. <p align="center"><img src="graphics/right.gif" alt="===&gt;"
  676. align="bottom" border="0" height="13" width="22"> </p>
  677. </td>
  678. <td width="80%">ACK</td>
  679. </tr>
  680. <tr>
  681. <td width="7%">
  682. <p align="center">&nbsp; </p>
  683. </td>
  684. <td>&nbsp;</td>
  685. <td width="80%"><i>(Repeat steps 3-8 for as many pages as there
  686. are)</i></td>
  687. </tr>
  688. </tbody>
  689. </table>
  690. <p><u>Note:</u> the TI84+ has a slightly different VAR header: it's the
  691. same as flash-style header.<br>
  692. </p>
  693. <u>Example (PC receiving an application from TI):</u>
  694. <p> </p>
  695. <table nosave="" border="0" cellspacing="0" width="100%">
  696. <tbody>
  697. <tr bgcolor="#ffcccc">
  698. <td bgcolor="#ccffcc" width="2%">PC:</td>
  699. <td bgcolor="#ccffcc" width="49%"><tt><b>23 A2 0B 00 </b>00
  700. 00
  701. 24 C B L E x p m t <b>CHK</b></tt></td>
  702. <td bgcolor="#ccffcc" width="49%"><i>Request the 'CBLExpmt' app.</i></td>
  703. </tr>
  704. <tr bgcolor="#ffcccc">
  705. <td bgcolor="#ffcccc" width="2%">TI:</td>
  706. <td bgcolor="#ffcccc" width="49%"><b><tt>73 56 00 00</tt></b></td>
  707. <td bgcolor="#ffcccc" width="49%"><i>Acknowledgement of request</i></td>
  708. </tr>
  709. <tr>
  710. <td>
  711. <center> <b>. . .</b> </center>
  712. </td>
  713. <td width="50%">
  714. <center> <b>. . .</b> </center>
  715. </td>
  716. <td width="50%">
  717. <center> <b>. . .</b> </center>
  718. </td>
  719. </tr>
  720. <tr bgcolor="#ffcccc">
  721. <td bgcolor="#ffcccc" width="2%">&nbsp;</td>
  722. <td bgcolor="#ffcccc" width="49%"><b><tt>73 06 0A 00 </tt></b><tt>LL
  723. HH 24 C B L Ol Oh Pl Ph <b>CHK</b></tt><b><tt>&nbsp;</tt></b></td>
  724. <td bgcolor="#ffcccc" width="49%"><i>TI reply a shorted name
  725. (CBL),
  726. block size, page offset and page number</i></td>
  727. </tr>
  728. <tr bgcolor="#ffcccc">
  729. <td bgcolor="#ccffcc" width="2%">PC:</td>
  730. <td bgcolor="#ccffcc" width="49%"><b><tt>23 56 00 00</tt></b></td>
  731. <td bgcolor="#ccffcc" width="49%"><i>Acknowledgement of variable
  732. header</i></td>
  733. </tr>
  734. <tr bgcolor="#ffcccc">
  735. <td bgcolor="#ccffcc" width="2%">&nbsp;</td>
  736. <td bgcolor="#ccffcc" width="49%"><tt><b>23 09 00 00</b></tt></td>
  737. <td bgcolor="#ccffcc" width="49%"><i>Acknowledgement of request</i></td>
  738. </tr>
  739. <tr bgcolor="#ffcccc">
  740. <td bgcolor="#ffcccc" width="2%">TI:</td>
  741. <td bgcolor="#ffcccc" width="49%"><b><tt>73 56 00 00</tt></b></td>
  742. <td bgcolor="#ffcccc" width="49%"><i>Acknowledgement of CTS</i></td>
  743. </tr>
  744. <tr bgcolor="#ffcccc">
  745. <td bgcolor="#ffcccc" width="2%">&nbsp;</td>
  746. <td bgcolor="#ffcccc" width="49%"><b><tt>73 15 LL HH </tt></b><tt>&lt;...
  747. HHLL bytes of data ...&gt;</tt><b><tt> CHK</tt></b></td>
  748. <td bgcolor="#ffcccc" width="49%"><i>Data block: HHLL bytes</i></td>
  749. </tr>
  750. <tr bgcolor="#ffcccc">
  751. <td bgcolor="#ccffcc" width="2%">PC:</td>
  752. <td bgcolor="#ccffcc" width="49%"><b><tt>23 56 00 00</tt></b></td>
  753. <td bgcolor="#ccffcc" width="49%"><i>Acknowledgement of variable
  754. header</i></td>
  755. </tr>
  756. <tr>
  757. <td>
  758. <center> <b>. . .</b> </center>
  759. </td>
  760. <td width="50%">
  761. <center> <b>. . .</b> </center>
  762. </td>
  763. <td width="50%">
  764. <center> <b>. . .</b> </center>
  765. </td>
  766. </tr>
  767. <tr bgcolor="#ffcccc">
  768. <td bgcolor="#ffcccc" width="2%">&nbsp;</td>
  769. <td bgcolor="#ffcccc" width="49%"><b><tt>73 06 0A 00 </tt></b><tt>LL
  770. HH 24 C B L Ol Oh Pl Ph <b>CHK</b></tt><b><tt>&nbsp;</tt></b></td>
  771. <td bgcolor="#ffcccc" width="49%"><i>TI reply a shorted name
  772. (CBL),
  773. block size, page offset and page number</i></td>
  774. </tr>
  775. <tr bgcolor="#ffcccc">
  776. <td bgcolor="#ccffcc" width="2%">PC:</td>
  777. <td bgcolor="#ccffcc" width="49%"><b><tt>23 56 00 00</tt></b></td>
  778. <td bgcolor="#ccffcc" width="49%"><i>Acknowledgement of variable
  779. header</i></td>
  780. </tr>
  781. <tr bgcolor="#ffcccc">
  782. <td bgcolor="#ccffcc" width="2%">&nbsp;</td>
  783. <td bgcolor="#ccffcc" width="49%"><tt><b>23 09 00 00</b></tt></td>
  784. <td bgcolor="#ccffcc" width="49%"><i>Acknowledgement of request</i></td>
  785. </tr>
  786. <tr bgcolor="#ffcccc">
  787. <td bgcolor="#ffcccc" width="2%">TI:</td>
  788. <td bgcolor="#ffcccc" width="49%"><b><tt>73 56 00 00</tt></b></td>
  789. <td bgcolor="#ffcccc" width="49%"><i>Acknowledgement of CTS</i></td>
  790. </tr>
  791. <tr bgcolor="#ffcccc">
  792. <td bgcolor="#ffcccc" width="2%">&nbsp;</td>
  793. <td bgcolor="#ffcccc" width="49%"><b><tt>73 15 LL HH </tt></b><tt>&lt;...
  794. HHLL bytes of data ...&gt;</tt><b><tt> CHK</tt></b></td>
  795. <td bgcolor="#ffcccc" width="49%"><i>Data block: HHLL bytes</i></td>
  796. </tr>
  797. <tr bgcolor="#ffcccc">
  798. <td bgcolor="#ccffcc" width="2%">PC:</td>
  799. <td bgcolor="#ccffcc" width="49%"><b><tt>23 56 00 00</tt></b></td>
  800. <td bgcolor="#ccffcc" width="49%"><i>Acknowledgement of variable
  801. header</i></td>
  802. </tr>
  803. <tr>
  804. <td>
  805. <center> <b>. . .</b> </center>
  806. </td>
  807. <td width="50%">
  808. <center> <b>. . .</b> </center>
  809. </td>
  810. <td width="50%">
  811. <center> <b>. . .</b> </center>
  812. </td>
  813. </tr>
  814. <tr bgcolor="#ffcccc">
  815. <td bgcolor="#ffcccc" width="2%">&nbsp;</td>
  816. <td bgcolor="#ffcccc" width="49%"><b><tt>73 06 0A 00 </tt></b><tt>LL
  817. HH 24 C B L Ol Oh Pl Ph <b>CHK</b></tt><b><tt>&nbsp;</tt></b></td>
  818. <td bgcolor="#ffcccc" width="49%"><i>TI reply a shorted name
  819. (CBL),
  820. block size, page offset and page number</i></td>
  821. </tr>
  822. <tr bgcolor="#ffcccc">
  823. <td bgcolor="#ccffcc" width="2%">PC:</td>
  824. <td bgcolor="#ccffcc" width="49%"><b><tt>23 56 00 00</tt></b></td>
  825. <td bgcolor="#ccffcc" width="49%"><i>Acknowledgement of variable
  826. header</i></td>
  827. </tr>
  828. <tr bgcolor="#ffcccc">
  829. <td bgcolor="#ccffcc" width="2%">&nbsp;</td>
  830. <td bgcolor="#ccffcc" width="49%"><tt><b>23 09 00 00</b></tt></td>
  831. <td bgcolor="#ccffcc" width="49%"><i>Acknowledgement of request</i></td>
  832. </tr>
  833. <tr bgcolor="#ffcccc">
  834. <td bgcolor="#ffcccc" width="2%">TI:</td>
  835. <td bgcolor="#ffcccc" width="49%"><b><tt>73 56 00 00</tt></b></td>
  836. <td bgcolor="#ffcccc" width="49%"><i>Acknowledgement of CTS</i></td>
  837. </tr>
  838. <tr bgcolor="#ffcccc">
  839. <td bgcolor="#ffcccc" width="2%">&nbsp;</td>
  840. <td bgcolor="#ffcccc" width="49%"><b><tt>73 15 LL HH </tt></b><tt>&lt;...
  841. HHLL bytes of data ...&gt;</tt><b><tt> CHK</tt></b></td>
  842. <td bgcolor="#ffcccc" width="49%"><i>Data block: HHLL bytes</i></td>
  843. </tr>
  844. <tr bgcolor="#ffcccc">
  845. <td bgcolor="#ccffcc" width="2%">PC:</td>
  846. <td bgcolor="#ccffcc" width="49%"><b><tt>23 56 00 00</tt></b></td>
  847. <td bgcolor="#ccffcc" width="49%"><i>Acknowledgement of variable
  848. header</i></td>
  849. </tr>
  850. <tr bgcolor="#ffcccc">
  851. <td bgcolor="#ccffcc" width="2%">PC:</td>
  852. <td bgcolor="#ccffcc" width="49%"><b><tt>23 56 00 00</tt></b></td>
  853. <td bgcolor="#ccffcc" width="49%"><i>Acknowledgement</i></td>
  854. </tr>
  855. </tbody>
  856. </table>
  857. <p><i></i></p>
  858. <p><a name="rts"></a><b>Receiving Certificate</b><br>
  859. </p>
  860. <p>The protocol for silently receiving a certificate is very similar to
  861. requesting a FLASH app (ID = 0x27 and name is "") but the VAR answer
  862. (step 3) has no
  863. data part. </p>
  864. <table nosave="" bgcolor="#ffffff" border="1" cellspacing="0"
  865. width="92%">
  866. <tbody>
  867. <tr>
  868. <th bgcolor="#008800" width="7%"><font color="#ffffff">Step</font></th>
  869. <th colspan="3" bgcolor="#008800"><font color="#ffffff">Direction</font></th>
  870. <th bgcolor="#008800" width="80%"><font color="#ffffff">Packet</font></th>
  871. </tr>
  872. <tr nosave="">
  873. <td bgcolor="#ffffff" width="7%">
  874. <p align="center">1 </p>
  875. </td>
  876. <td rowspan="9" nosave="">
  877. <p align="center"><img src="graphics/comp.gif" alt="Computer"
  878. align="bottom" border="0" height="33" width="30"> </p>
  879. </td>
  880. <td bgcolor="#ffffff">
  881. <p align="center"><img src="graphics/right.gif" alt="===&gt;"
  882. align="bottom" border="0" height="13" width="22"> </p>
  883. </td>
  884. <td rowspan="9" nosave="">
  885. <p align="center"><img src="graphics/calc.gif" alt="Calculator"
  886. align="bottom" border="0" height="35" width="60"> </p>
  887. </td>
  888. <td bgcolor="#ffffff" width="80%">REQ with <a
  889. href="packet.html#reqbackup">request-style idlist header</a>.</td>
  890. </tr>
  891. <tr>
  892. <td bgcolor="#ffffff" width="7%">
  893. <p align="center">2 </p>
  894. </td>
  895. <td bgcolor="#ffffff">
  896. <p align="center"><img src="graphics/left.gif" alt="&lt;==="
  897. align="bottom" border="0" height="13" width="22"> </p>
  898. </td>
  899. <td bgcolor="#ffffff" width="80%">ACK</td>
  900. </tr>
  901. <tr>
  902. <td bgcolor="#ffffff" width="7%">
  903. <p align="center">3 </p>
  904. </td>
  905. <td bgcolor="#ffffff">
  906. <p align="center"><img src="graphics/left.gif" alt="&lt;==="
  907. align="bottom" border="0" height="13" width="22"> </p>
  908. </td>
  909. <td bgcolor="#ffffff" width="80%">VAR with <span
  910. style="text-decoration: underline;">no</span> header</td>
  911. </tr>
  912. <tr>
  913. <td bgcolor="#ffffff" width="7%">
  914. <p align="center">4 </p>
  915. </td>
  916. <td bgcolor="#ffffff">
  917. <p align="center"><img src="graphics/right.gif" alt="===&gt;"
  918. align="bottom" border="0" height="13" width="22"> </p>
  919. </td>
  920. <td bgcolor="#ffffff" width="80%">ACK</td>
  921. </tr>
  922. <tr>
  923. <td width="7%">
  924. <p align="center">5 </p>
  925. </td>
  926. <td>
  927. <p align="center"><img src="graphics/right.gif" alt="===&gt;"
  928. align="bottom" border="0" height="13" width="22"> </p>
  929. </td>
  930. <td width="80%">CTS</td>
  931. </tr>
  932. <tr>
  933. <td width="7%">
  934. <p align="center">6 </p>
  935. </td>
  936. <td>
  937. <p align="center"><img src="graphics/left.gif" alt="&lt;==="
  938. align="bottom" border="0" height="13" width="22"> </p>
  939. </td>
  940. <td width="80%">ACK</td>
  941. </tr>
  942. <tr>
  943. <td width="7%">
  944. <p align="center">7 </p>
  945. </td>
  946. <td>
  947. <p align="center"><img src="graphics/left.gif" alt="&lt;==="
  948. align="bottom" border="0" height="13" width="22"> </p>
  949. </td>
  950. <td width="80%">XDP (a 256 bytes block) or EOT<br>
  951. </td>
  952. </tr>
  953. <tr>
  954. <td width="7%">
  955. <p align="center">8 </p>
  956. </td>
  957. <td>
  958. <p align="center"><img src="graphics/right.gif" alt="===&gt;"
  959. align="bottom" border="0" height="13" width="22"> </p>
  960. </td>
  961. <td width="80%">ACK</td>
  962. </tr>
  963. <tr>
  964. <td width="7%">
  965. <p align="center">&nbsp; </p>
  966. </td>
  967. <td>&nbsp;</td>
  968. <td width="80%"><i>(Repeat steps 5-8 for as many pages as there
  969. are)</i></td>
  970. </tr>
  971. </tbody>
  972. </table>
  973. <br>
  974. <u>Example (PC receiving a certificate from TI):</u>
  975. <p> </p>
  976. <table nosave="" border="0" cellspacing="0" width="100%">
  977. <tbody>
  978. <tr bgcolor="#ffcccc">
  979. <td bgcolor="#ccffcc" width="2%">PC:</td>
  980. <td bgcolor="#ccffcc" width="49%"><tt><b>23 A2 0B 00 </b>00
  981. 00
  982. 27 00 00 00 00 00 00 00 00 <b>27 00</b></tt></td>
  983. <td bgcolor="#ccffcc" width="49%"><i>Request certificate.</i></td>
  984. </tr>
  985. <tr bgcolor="#ffcccc">
  986. <td bgcolor="#ffcccc" width="2%">TI:</td>
  987. <td bgcolor="#ffcccc" width="49%"><b><tt>73 56 00 00</tt></b></td>
  988. <td bgcolor="#ffcccc" width="49%"><i>Acknowledgement of request</i></td>
  989. </tr>
  990. <tr bgcolor="#ffcccc">
  991. <td bgcolor="#ffcccc" width="2%">&nbsp;</td>
  992. <td bgcolor="#ffcccc" width="49%"><b><tt>73 06 <span
  993. style="text-decoration: underline;">00</span> 00</tt></b></td>
  994. <td bgcolor="#ffcccc" width="49%"><i>TI reply with void VAR<br>
  995. </i></td>
  996. </tr>
  997. <tr bgcolor="#ffcccc">
  998. <td bgcolor="#ccffcc" width="2%">PC:</td>
  999. <td bgcolor="#ccffcc" width="49%"><b><tt>23 56 00 00</tt></b></td>
  1000. <td bgcolor="#ccffcc" width="49%"><i>Acknowledgement of variable
  1001. header</i></td>
  1002. </tr>
  1003. <tr>
  1004. <td style="vertical-align: top;"><br>
  1005. </td>
  1006. <td style="vertical-align: top;"><br>
  1007. </td>
  1008. <td style="vertical-align: top;"><br>
  1009. </td>
  1010. </tr>
  1011. <tr bgcolor="#ffcccc">
  1012. <td bgcolor="#ccffcc" width="2%">&nbsp;</td>
  1013. <td bgcolor="#ccffcc" width="49%"><tt><b>23 09 00 00</b></tt></td>
  1014. <td bgcolor="#ccffcc" width="49%"><i>Acknowledgement of request</i></td>
  1015. </tr>
  1016. <tr bgcolor="#ffcccc">
  1017. <td bgcolor="#ffcccc" width="2%">TI:</td>
  1018. <td bgcolor="#ffcccc" width="49%"><b><tt>73 56 00 00</tt></b></td>
  1019. <td bgcolor="#ffcccc" width="49%"><i>Acknowledgement of CTS</i></td>
  1020. </tr>
  1021. <tr bgcolor="#ffcccc">
  1022. <td bgcolor="#ffcccc" width="2%">&nbsp;</td>
  1023. <td bgcolor="#ffcccc" width="49%"><b><tt>73 15 01 00 </tt></b><tt>&lt;...
  1024. 0100h bytes of data ...&gt;</tt><b><tt> CHK</tt></b></td>
  1025. <td bgcolor="#ffcccc" width="49%"><i>Data block: 256 bytes</i></td>
  1026. </tr>
  1027. <tr bgcolor="#ffcccc">
  1028. <td bgcolor="#ccffcc" width="2%">PC:</td>
  1029. <td bgcolor="#ccffcc" width="49%"><b><tt>23 56 00 00</tt></b></td>
  1030. <td bgcolor="#ccffcc" width="49%"><i>Acknowledgement of variable
  1031. header</i></td>
  1032. </tr>
  1033. <tr>
  1034. <td style="vertical-align: top; text-align: center;"><span
  1035. style="font-weight: bold;">...</span><br>
  1036. </td>
  1037. <td style="vertical-align: top;"><br>
  1038. </td>
  1039. <td style="vertical-align: top;"><br>
  1040. </td>
  1041. </tr>
  1042. <tr>
  1043. <td style="vertical-align: top;"><br>
  1044. </td>
  1045. <td style="vertical-align: top;"><br>
  1046. </td>
  1047. <td style="vertical-align: top;"><br>
  1048. </td>
  1049. </tr>
  1050. <tr>
  1051. <td style="vertical-align: top;"><br>
  1052. </td>
  1053. <td style="vertical-align: top;"><br>
  1054. </td>
  1055. <td style="vertical-align: top;"><br>
  1056. </td>
  1057. </tr>
  1058. <tr>
  1059. <td style="vertical-align: top;"><br>
  1060. </td>
  1061. <td style="vertical-align: top;"><br>
  1062. </td>
  1063. <td style="vertical-align: top;"><br>
  1064. </td>
  1065. </tr>
  1066. <tr>
  1067. <td style="vertical-align: top;"><br>
  1068. </td>
  1069. <td style="vertical-align: top;"><br>
  1070. </td>
  1071. <td style="vertical-align: top;"><br>
  1072. </td>
  1073. </tr>
  1074. <tr>
  1075. <td
  1076. style="vertical-align: top; text-align: center; font-weight: bold;">...<br>
  1077. </td>
  1078. <td style="vertical-align: top;"><br>
  1079. </td>
  1080. <td style="vertical-align: top;"><br>
  1081. </td>
  1082. </tr>
  1083. <tr bgcolor="#ffcccc">
  1084. <td bgcolor="#ccffcc" width="2%">&nbsp;PC:</td>
  1085. <td bgcolor="#ccffcc" width="49%"><tt><b>23 09 00 00</b></tt></td>
  1086. <td bgcolor="#ccffcc" width="49%"><i>Acknowledgement of request</i></td>
  1087. </tr>
  1088. <tr bgcolor="#ffcccc">
  1089. <td bgcolor="#ffcccc" width="2%">TI:</td>
  1090. <td bgcolor="#ffcccc" width="49%"><b><tt>73 56 00 00</tt></b></td>
  1091. <td bgcolor="#ffcccc" width="49%"><i>Acknowledgement of CTS</i></td>
  1092. </tr>
  1093. <tr bgcolor="#ffcccc">
  1094. <td bgcolor="#ffcccc" width="2%">TI:</td>
  1095. <td bgcolor="#ffcccc" width="49%"><b><tt>73 92 00 00</tt></b></td>
  1096. <td bgcolor="#ffcccc" width="49%"><i>End Of Transmission<br>
  1097. </i></td>
  1098. </tr>
  1099. <tr bgcolor="#ffcccc">
  1100. <td bgcolor="#ccffcc" width="2%">PC:</td>
  1101. <td bgcolor="#ccffcc" width="49%"><b><tt>23 56 00 00</tt></b></td>
  1102. <td bgcolor="#ccffcc" width="49%"><i>Acknowledgement of EOT</i></td>
  1103. </tr>
  1104. </tbody>
  1105. </table>
  1106. <br>
  1107. <b>Sending a Certificate</b><br>
  1108. <p>The protocol for silently sending a certificate is very similar to
  1109. sending a FLASH app (ID = 0x25 and name is "") but the VAR answer
  1110. (step 3) has no
  1111. data part. </p>
  1112. <table nosave="" bgcolor="#ffffff" border="1" cellspacing="0"
  1113. width="92%">
  1114. <tbody>
  1115. <tr>
  1116. <th bgcolor="#008800" width="7%"><font color="#ffffff">Step</font></th>
  1117. <th colspan="3" bgcolor="#008800"><font color="#ffffff">Direction</font></th>
  1118. <th bgcolor="#008800" width="80%"><font color="#ffffff">Packet</font></th>
  1119. </tr>
  1120. <tr nosave="">
  1121. <td bgcolor="#ffffff" width="7%">
  1122. <p align="center">1 </p>
  1123. </td>
  1124. <td rowspan="10" nosave="">
  1125. <p align="center"><img src="graphics/comp.gif" alt="Computer"
  1126. align="bottom" border="0" height="33" width="30"> </p>
  1127. </td>
  1128. <td bgcolor="#ffffff">
  1129. <p align="center"><img src="graphics/right.gif" alt="===&gt;"
  1130. align="bottom" border="0" height="13" width="22"> </p>
  1131. </td>
  1132. <td rowspan="10" nosave="">
  1133. <p align="center"><img src="graphics/calc.gif" alt="Calculator"
  1134. align="bottom" border="0" height="35" width="60"> </p>
  1135. </td>
  1136. <td bgcolor="#ffffff" width="80%">VAR with <a
  1137. href="packet.html#reqbackup">request-style flash header</a> (offset =
  1138. 4000h, page = 00h).<br>
  1139. </td>
  1140. </tr>
  1141. <tr>
  1142. <td bgcolor="#ffffff" width="7%">
  1143. <p align="center">2 </p>
  1144. </td>
  1145. <td bgcolor="#ffffff">
  1146. <p align="center"><img src="graphics/left.gif" alt="&lt;==="
  1147. align="bottom" border="0" height="13" width="22"> </p>
  1148. </td>
  1149. <td bgcolor="#ffffff" width="80%">ACK</td>
  1150. </tr>
  1151. <tr>
  1152. <td bgcolor="#ffffff" width="7%">
  1153. <p align="center">3 </p>
  1154. </td>
  1155. <td bgcolor="#ffffff">
  1156. <p align="center"><img src="graphics/left.gif" alt="&lt;==="
  1157. align="bottom" border="0" height="13" width="22"> </p>
  1158. </td>
  1159. <td bgcolor="#ffffff" width="80%">CTS</td>
  1160. </tr>
  1161. <tr>
  1162. <td bgcolor="#ffffff" width="7%">
  1163. <p align="center">4 </p>
  1164. </td>
  1165. <td bgcolor="#ffffff">
  1166. <p align="center"><img src="graphics/right.gif" alt="===&gt;"
  1167. align="bottom" border="0" height="13" width="22"> </p>
  1168. </td>
  1169. <td bgcolor="#ffffff" width="80%">ACK</td>
  1170. </tr>
  1171. <tr>
  1172. <td width="7%">
  1173. <p align="center">5 </p>
  1174. </td>
  1175. <td>
  1176. <p align="center"><img src="graphics/right.gif" alt="===&gt;"
  1177. align="bottom" border="0" height="13" width="22"> </p>
  1178. </td>
  1179. <td width="80%">XDP<br>
  1180. </td>
  1181. </tr>
  1182. <tr>
  1183. <td width="7%">
  1184. <p align="center">6 </p>
  1185. </td>
  1186. <td>
  1187. <p align="center"><img src="graphics/left.gif" alt="&lt;==="
  1188. align="bottom" border="0" height="13" width="22"> </p>
  1189. </td>
  1190. <td width="80%">ACK or nothing if EOT<br>
  1191. </td>
  1192. </tr>
  1193. <tr>
  1194. <td style="vertical-align: top; text-align: center;">7<br>
  1195. </td>
  1196. <td style="vertical-align: top;">
  1197. <p align="center"><img src="graphics/left.gif" alt="&lt;==="
  1198. align="bottom" border="0" height="13" width="22"> </p>
  1199. </td>
  1200. <td style="vertical-align: top;">CTS<br>
  1201. </td>
  1202. </tr>
  1203. <tr>
  1204. <td style="vertical-align: top; text-align: center;">8<br>
  1205. </td>
  1206. <td style="vertical-align: top;">
  1207. <p align="center"><img src="graphics/right.gif" alt="===&gt;"
  1208. align="bottom" border="0" height="13" width="22"> </p>
  1209. </td>
  1210. <td style="vertical-align: top;">ACK<br>
  1211. </td>
  1212. </tr>
  1213. <tr>
  1214. <td style="vertical-align: top; text-align: center;">9<br>
  1215. </td>
  1216. <td style="vertical-align: top;">
  1217. <p align="center"><img src="graphics/right.gif" alt="===&gt;"
  1218. align="bottom" border="0" height="13" width="22"> </p>
  1219. </td>
  1220. <td style="vertical-align: top;">EOT<br>
  1221. </td>
  1222. </tr>
  1223. <tr>
  1224. <td width="7%">
  1225. <p align="center">1<br>
  1226. </p>
  1227. </td>
  1228. <td>&nbsp;</td>
  1229. <td width="80%"><i>(Repeat steps 5-8 for as many pages as
  1230. there
  1231. are and finish with step 9)</i></td>
  1232. </tr>
  1233. </tbody>
  1234. </table>
  1235. <br>
  1236. <u>Example (PC sending a certificate to TI):</u>
  1237. <p> </p>
  1238. <table nosave="" border="0" cellspacing="0" width="100%">
  1239. <tbody>
  1240. <tr bgcolor="#ffcccc">
  1241. <td bgcolor="#ccffcc" width="2%">PC:</td>
  1242. <td bgcolor="#ccffcc" width="49%"><tt><b>23 06 0A 00 </b>E8 00
  1243. 25 00 00 04 00 40 00 00 <b>51 01</b></tt></td>
  1244. <td bgcolor="#ccffcc" width="49%"><i>Request certificate.</i></td>
  1245. </tr>
  1246. <tr bgcolor="#ffcccc">
  1247. <td bgcolor="#ffcccc" width="2%">TI:</td>
  1248. <td bgcolor="#ffcccc" width="49%"><b><tt>73 56 00 00</tt></b></td>
  1249. <td bgcolor="#ffcccc" width="49%"><i>Acknowledgement of request</i></td>
  1250. </tr>
  1251. <tr bgcolor="#ffcccc">
  1252. <td bgcolor="#ffcccc" width="2%">&nbsp;</td>
  1253. <td bgcolor="#ffcccc" width="49%"><b><tt>73 09 <span
  1254. style="text-decoration: underline;">0A</span> 00</tt></b></td>
  1255. <td bgcolor="#ffcccc" width="49%"><i>Clear To Send<br>
  1256. </i></td>
  1257. </tr>
  1258. <tr bgcolor="#ffcccc">
  1259. <td bgcolor="#ccffcc" width="2%">PC:</td>
  1260. <td bgcolor="#ccffcc" width="49%"><b><tt>23 56 00 00</tt></b></td>
  1261. <td bgcolor="#ccffcc" width="49%"><i>Acknowledgement of CTS</i></td>
  1262. </tr>
  1263. <tr>
  1264. <td style="vertical-align: top;"><br>
  1265. </td>
  1266. <td style="vertical-align: top;"><br>
  1267. </td>
  1268. <td style="vertical-align: top;"><br>
  1269. </td>
  1270. </tr>
  1271. <tr bgcolor="#ffcccc">
  1272. <td bgcolor="#ccffcc" width="2%">PC:</td>
  1273. <td bgcolor="#ccffcc" width="49%"><b><tt>23 15 00 E8</tt></b><tt>
  1274. &lt;...
  1275. 0100h bytes of data ...&gt;</tt><b><tt> CHK</tt></b></td>
  1276. <td bgcolor="#ccffcc" width="49%"><i>Data block : 232 bytes<br>
  1277. </i></td>
  1278. </tr>
  1279. <tr bgcolor="#ffcccc">
  1280. <td bgcolor="#ffcccc" width="2%">TI:</td>
  1281. <td bgcolor="#ffcccc" width="49%"><b><tt>73 56 00 00</tt></b></td>
  1282. <td bgcolor="#ffcccc" width="49%"><i>Acknowledgement of request</i></td>
  1283. </tr>
  1284. <tr bgcolor="#ffcccc">
  1285. <td bgcolor="#ffcccc" width="2%">&nbsp;</td>
  1286. <td bgcolor="#ffcccc" width="49%"><b><tt>73 09 <span
  1287. style="text-decoration: underline;">E8</span> 00</tt></b></td>
  1288. <td bgcolor="#ffcccc" width="49%"><i>TI reply with void VAR<br>
  1289. </i></td>
  1290. </tr>
  1291. <tr bgcolor="#ffcccc">
  1292. <td bgcolor="#ccffcc" width="2%">PC:</td>
  1293. <td bgcolor="#ccffcc" width="49%"><b><tt>23 56 00 00</tt></b></td>
  1294. <td bgcolor="#ccffcc" width="49%"><i>Acknowledgement of variable
  1295. header</i></td>
  1296. </tr>
  1297. <tr>
  1298. <td style="vertical-align: top;">...</td>
  1299. <td style="vertical-align: top;">...</td>
  1300. <td style="vertical-align: top;">...</td>
  1301. </tr>
  1302. <tr bgcolor="#ffcccc">
  1303. <td bgcolor="#ccffcc" width="2%">PC:</td>
  1304. <td bgcolor="#ccffcc" width="49%"><b><tt>23 15 00 E8</tt></b><tt>
  1305. &lt;...
  1306. 0100h bytes of data ...&gt;</tt><b><tt> CHK</tt></b></td>
  1307. <td bgcolor="#ccffcc" width="49%"><i>Data block : 232 bytes<br>
  1308. </i></td>
  1309. </tr>
  1310. <tr bgcolor="#ffcccc">
  1311. <td bgcolor="#ffcccc" width="2%">TI:</td>
  1312. <td bgcolor="#ffcccc" width="49%"><b><tt>73 56 00 00</tt></b></td>
  1313. <td bgcolor="#ffcccc" width="49%"><i>Acknowledgement of data<br>
  1314. </i></td>
  1315. </tr>
  1316. <tr bgcolor="#ffcccc">
  1317. <td bgcolor="#ffcccc" width="2%">TI:</td>
  1318. <td bgcolor="#ffcccc" width="49%"><b><tt>73 09 <span
  1319. style="text-decoration: underline;">E8</span> 00</tt></b></td>
  1320. <td bgcolor="#ffcccc" width="49%"><i>Clear To Send<br>
  1321. </i></td>
  1322. </tr>
  1323. <tr bgcolor="#ffcccc">
  1324. <td bgcolor="#ccffcc" width="2%">PC:</td>
  1325. <td bgcolor="#ccffcc" width="49%"><b><tt>23 56 00 00</tt></b></td>
  1326. <td bgcolor="#ccffcc" width="49%"><i>Acknowledgement of CTS<br>
  1327. </i></td>
  1328. </tr>
  1329. <tr>
  1330. <td style="vertical-align: top;">...</td>
  1331. <td style="vertical-align: top;">...</td>
  1332. <td style="vertical-align: top;">...</td>
  1333. </tr>
  1334. <tr bgcolor="#ffcccc">
  1335. <td bgcolor="#ccffcc" width="2%">PC:</td>
  1336. <td bgcolor="#ccffcc" width="49%"><b><tt>23 92 00 00</tt></b></td>
  1337. <td bgcolor="#ccffcc" width="49%"><i>End Of Transmission</i></td>
  1338. </tr>
  1339. </tbody>
  1340. </table>
  1341. <br>
  1342. <br>
  1343. <table border="0" cellspacing="0" width="100%">
  1344. <tbody>
  1345. <tr>
  1346. <td width="32%">
  1347. <center><a href="silent.html"><img src="graphics/prevpage.gif"
  1348. alt="[previous page]" align="bottom" border="2" height="32" width="32">
  1349. </a> <br>
  1350. <a href="silent.html">Silent transfers</a></center>
  1351. </td>
  1352. <td width="34%">
  1353. <center><a href="index.html"><img src="graphics/home.gif"
  1354. alt="[home]" align="bottom" border="2" height="32" width="32"> </a> <br>
  1355. <a href="index.html">Table of Contents</a></center>
  1356. </td>
  1357. <td width="34%">
  1358. <center><a href="vars.html"></a><a href="clock.html"><img
  1359. src="graphics/nextpage.gif" alt="[next page]"
  1360. style="border: 2px solid ; width: 32px; height: 32px;"></a> <br>
  1361. <a href="clock.html">Clock</a> </center>
  1362. </td>
  1363. </tr>
  1364. </tbody>
  1365. </table>
  1366. <hr align="center"><i>Site maintained by Romain Li&eacute;vin (<a
  1367. href="mailto:roms@lpg.ticalc.org">roms@lpg.ticalc.org</a>) and Tim
  1368. Singer
  1369. (<a href="mailto:tsinger@gladstone.uoregon.edu">tsinger@gladstone.uoregon.edu</a>)</i>
  1370. <br>
  1371. </body>
  1372. </html>