clock.html 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477
  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-89 Link Protocol Guide - Backup Transfers</title>
  9. </head>
  10. <body bgcolor="#ffffe8">
  11. <b>TI-89 Link Protocol Guide</b> - Setting/Getting Clock
  12. <center>
  13. <h2>
  14. <hr align="center">Clock Management</h2>
  15. </center>
  16. <p><br>
  17. Texas Instruments have incorporated clock management into their new AMS
  18. software,
  19. starting at the 2.08 release. This clock can only work on HW2 models
  20. (for
  21. some hardware reasons...). </p>
  22. <p>The clock management is like sending/receiving a variable named
  23. "Clock".<br>
  24. </p>
  25. <p> </p>
  26. <h4> </h4>
  27. <p> </p>
  28. <h4> <a name="rts"></a>Getting Clock</h4>
  29. Indeed, the request is like receiving the 'Clock' variable with Ty=18.
  30. This request works only with AMS2.08 mini calculators.
  31. <p>The protocol for silently receiving the clock is shown below:
  32. <table nosave="" bgcolor="#ffffff" border="1" cellspacing="0"
  33. width="92%">
  34. <tbody>
  35. <tr>
  36. <th bgcolor="#008800" width="7%"><font color="#ffffff">Step</font></th>
  37. <th colspan="3" bgcolor="#008800"><font color="#ffffff">Direction</font></th>
  38. <th bgcolor="#008800" width="80%"><font color="#ffffff">Packet</font></th>
  39. </tr>
  40. <tr nosave="">
  41. <td bgcolor="#ffffff" width="7%">
  42. <center>1&nbsp;</center>
  43. </td>
  44. <td rowspan="10" nosave="">
  45. <center><img src="graphics/comp.gif" alt="Computer" align="bottom"
  46. border="0" height="33" width="30"> </center>
  47. </td>
  48. <td bgcolor="#ffffff">
  49. <center><img src="graphics/right.gif" alt="===&gt;" align="bottom"
  50. border="0" height="13" width="22"> </center>
  51. </td>
  52. <td rowspan="10" nosave="">
  53. <center><img src="graphics/calc.gif" alt="Calculator"
  54. align="bottom" border="0" height="35" width="60"> </center>
  55. </td>
  56. <td bgcolor="#ffffff" width="80%">REQ with expected header
  57. (varname is 'Clock')<br>
  58. </td>
  59. </tr>
  60. <tr>
  61. <td bgcolor="#ffffff" width="7%">
  62. <center>2&nbsp;</center>
  63. </td>
  64. <td bgcolor="#ffffff">
  65. <center><img src="graphics/left.gif" alt="&lt;===" align="bottom"
  66. border="0" height="13" width="22"> </center>
  67. </td>
  68. <td bgcolor="#ffffff" width="80%">ACK (see note below)</td>
  69. </tr>
  70. <tr>
  71. <td bgcolor="#ffffff" width="7%">
  72. <center>3&nbsp;</center>
  73. </td>
  74. <td bgcolor="#ffffff">
  75. <center><img src="graphics/left.gif" alt="&lt;===" align="bottom"
  76. border="0" height="13" width="22"> </center>
  77. </td>
  78. <td bgcolor="#ffffff" width="80%">VAR (specifing the size without
  79. the extra four bytes) with actual header and no name</td>
  80. </tr>
  81. <tr>
  82. <td bgcolor="#ffffff" width="7%">
  83. <center>4&nbsp;</center>
  84. </td>
  85. <td bgcolor="#ffffff">
  86. <center><img src="graphics/right.gif" alt="===&gt;" align="bottom"
  87. border="0" height="13" width="22"> </center>
  88. </td>
  89. <td bgcolor="#ffffff" width="80%">ACK</td>
  90. </tr>
  91. <tr>
  92. <td width="7%">
  93. <center>5&nbsp;</center>
  94. </td>
  95. <td>
  96. <center><img src="graphics/right.gif" alt="===&gt;" align="bottom"
  97. border="0" height="13" width="22"> </center>
  98. </td>
  99. <td width="80%">CTS</td>
  100. </tr>
  101. <tr>
  102. <td width="7%">
  103. <center>6&nbsp;</center>
  104. </td>
  105. <td>
  106. <center><img src="graphics/left.gif" alt="&lt;===" align="bottom"
  107. border="0" height="13" width="22"> </center>
  108. </td>
  109. <td width="80%">ACK</td>
  110. </tr>
  111. <tr>
  112. <td width="7%">
  113. <center>7&nbsp;</center>
  114. </td>
  115. <td>
  116. <center><img src="graphics/left.gif" alt="&lt;===" align="bottom"
  117. border="0" height="13" width="22"> </center>
  118. </td>
  119. <td width="80%">DATA with an extra four bytes at the beginning of
  120. the packet</td>
  121. </tr>
  122. <tr>
  123. <td width="7%">
  124. <center>8&nbsp;</center>
  125. </td>
  126. <td>
  127. <center><img src="graphics/right.gif" alt="===&gt;" align="bottom"
  128. border="0" height="13" width="22"> </center>
  129. </td>
  130. <td width="80%">ACK</td>
  131. </tr>
  132. <tr>
  133. <td width="7%">
  134. <center>9&nbsp;</center>
  135. </td>
  136. <td>
  137. <center><img src="graphics/left.gif" alt="&lt;===" align="bottom"
  138. border="0" height="13" width="22"> </center>
  139. </td>
  140. <td width="80%">EOT</td>
  141. </tr>
  142. <tr>
  143. <td width="7%">
  144. <center>10&nbsp;</center>
  145. </td>
  146. <td>
  147. <center><img src="graphics/right.gif" alt="===&gt;" align="bottom"
  148. border="0" height="13" width="22"> </center>
  149. </td>
  150. <td width="80%">ACK</td>
  151. </tr>
  152. </tbody>
  153. </table>
  154. </p>
  155. <p></p>
  156. <p><u>Example (PC receiving Clock from TI):</u>
  157. <table nosave="" border="0" cellspacing="0" width="100%">
  158. <tbody>
  159. <tr bgcolor="#ffcccc">
  160. <td bgcolor="#ccffcc">PC:</td>
  161. <td bgcolor="#ccffcc" width="50%"><tt><b>08 A2 0C 00 </b>00 00
  162. 00 00 18
  163. 05 43 6c 6f 63 6b 00 <b>09 02</b></tt></td>
  164. <td bgcolor="#ccffcc" width="50%"><i>Request the Clock variable</i></td>
  165. </tr>
  166. <tr bgcolor="#ffcccc">
  167. <td bgcolor="#ffcccc">TI:</td>
  168. <td bgcolor="#ffcccc" width="50%"><b><tt>88 56 00 00</tt></b></td>
  169. <td bgcolor="#ffcccc" width="50%"><i>Acknowledgement of request</i></td>
  170. </tr>
  171. <tr bgcolor="#ffcccc">
  172. <td bgcolor="#ffcccc">&nbsp;</td>
  173. <td bgcolor="#ffcccc" width="50%"><tt><b>88 06 0D 00 </b>0C 00
  174. 00 00 18
  175. 00 <b>24 00</b></tt></td>
  176. <td bgcolor="#ffcccc" width="50%"><i>Variable Header: no name</i></td>
  177. </tr>
  178. <tr bgcolor="#ffcccc">
  179. <td bgcolor="#ccffcc">PC:</td>
  180. <td bgcolor="#ccffcc" width="50%"><b><tt>08 56 00 00</tt></b></td>
  181. <td bgcolor="#ccffcc" width="50%"><i>Acknowledgement of variable
  182. header</i></td>
  183. </tr>
  184. <tr bgcolor="#ffcccc">
  185. <td bgcolor="#ccffcc">&nbsp;</td>
  186. <td bgcolor="#ccffcc" width="50%"><b><tt>08 09 00 00</tt></b></td>
  187. <td bgcolor="#ccffcc" width="50%"><i>Clear to send variable</i></td>
  188. </tr>
  189. <tr bgcolor="#ffcccc">
  190. <td bgcolor="#ffcccc">TI:</td>
  191. <td bgcolor="#ffcccc" width="50%"><b><tt>88 56 00 00</tt></b></td>
  192. <td bgcolor="#ffcccc" width="50%"><i>Acknowledgement of CTS</i></td>
  193. </tr>
  194. <tr bgcolor="#ffcccc">
  195. <td bgcolor="#ffcccc" height="44">&nbsp;</td>
  196. <td bgcolor="#ffcccc" height="44" width="50%"><tt><b>88 15 10 00 </b>00
  197. 00 00 00 00 00 07 D2 08 01 0E 02 00 02 18 FF<br>
  198. <b>0B 02</b></tt></td>
  199. <td bgcolor="#ffcccc" height="44" width="50%"><i>Variable data:
  200. 12 bytes
  201. (1st Aug 2002, 14:02, clock is ON, 24h format, DD/MM/YY format)</i></td>
  202. </tr>
  203. <tr bgcolor="#ffcccc">
  204. <td bgcolor="#ccffcc">PC:</td>
  205. <td bgcolor="#ccffcc" width="50%"><b><tt>08 56 00 00</tt></b></td>
  206. <td bgcolor="#ccffcc" width="50%"><i>Acknowledgement of variable
  207. data</i></td>
  208. </tr>
  209. <tr nosave="" bgcolor="#ffcccc">
  210. <td bgcolor="#ffcccc">TI:</td>
  211. <td nosave="" bgcolor="#ffcccc" width="50%"><b><tt>88 92 00 00</tt></b></td>
  212. <td bgcolor="#ffcccc" width="50%"><i>End Of Transmission</i></td>
  213. </tr>
  214. <tr nosave="" bgcolor="#99ffcc">
  215. <td bgcolor="#ccffcc">PC:</td>
  216. <td nosave="" bgcolor="#ccffcc" width="50%"><b><tt>08 56 00 00</tt></b></td>
  217. <td nosave="" bgcolor="#ccffcc" width="50%"><i>Acknowledgement of
  218. EOT</i></td>
  219. </tr>
  220. </tbody>
  221. </table>
  222. </p>
  223. <p></p>
  224. <h4> </h4>
  225. <p>The variable data has the following format (pure binary, no BCD):
  226. <table border="1" cellspacing="0" width="92%">
  227. <tbody>
  228. <tr>
  229. <th bgcolor="#dddddd" width="7%">Offset</th>
  230. <th bgcolor="#dddddd" width="8%">Length</th>
  231. <th bgcolor="#dddddd" width="85%">Description</th>
  232. </tr>
  233. <tr>
  234. <td width="7%">0</td>
  235. <td width="8%">4 bytes</td>
  236. <td width="85%">Always 00h</td>
  237. </tr>
  238. <tr>
  239. <td width="7%">4</td>
  240. <td width="8%">2&nbsp;bytes</td>
  241. <td width="85%">Always 00h</td>
  242. </tr>
  243. <tr>
  244. <td width="7%">6<br>
  245. </td>
  246. <td width="8%">2 bytes</td>
  247. <td width="85%">Year&nbsp;</td>
  248. </tr>
  249. <tr>
  250. <td valign="top">8<br>
  251. </td>
  252. <td valign="top">2 bytes<br>
  253. </td>
  254. <td valign="top">Month and Day (MM:DD)<br>
  255. </td>
  256. </tr>
  257. <tr>
  258. <td valign="top">10<br>
  259. </td>
  260. <td valign="top">3 bytes<br>
  261. </td>
  262. <td valign="top">Hour, Minutes and Seconds (hh:mm:ss) encoded as
  263. an 24h-format<br>
  264. </td>
  265. </tr>
  266. <tr>
  267. <td height="47" valign="top">13<br>
  268. </td>
  269. <td height="47" valign="top">1 byte<br>
  270. </td>
  271. <td height="47" valign="top">Date Display Formatting (1:
  272. MM/DD/YY, 2: DD/MM/YY, 3: MM.DD.YY, 4: DD.MM.YY, 5: YY.MM.DD, 6:
  273. MM-DD-YY, 7: DD-MM-YY, 8: YY-MM-DD)</td>
  274. </tr>
  275. <tr>
  276. <td valign="top">14<br>
  277. </td>
  278. <td valign="top">1 byte<br>
  279. </td>
  280. <td valign="top"> Time Display Formatting (12: AM/PM, 24: 24
  281. hours)<br>
  282. </td>
  283. </tr>
  284. </tbody>
  285. </table>
  286. </p>
  287. <p></p>
  288. <h4><a name="rts"></a>Setting Clock</h4>
  289. <p> Indeed, setting clock is like sending the 'Clock' variable with
  290. Ty=18. <br>
  291. This request works only with AMS2.08 mini calculators.<br>
  292. </p>
  293. <p>The protocol for silently sending the clock is shown below: </p>
  294. <table bgcolor="#ffffff" border="1" cellspacing="0" width="92%">
  295. <tbody>
  296. <tr>
  297. <th bgcolor="#008800" width="7%"><font color="#ffffff">Step</font></th>
  298. <th colspan="3" bgcolor="#008800"><font color="#ffffff">Direction</font></th>
  299. <th bgcolor="#008800" width="80%"><font color="#ffffff">Packet</font></th>
  300. </tr>
  301. <tr>
  302. <td bgcolor="#ffffff" width="7%">
  303. <center>1&nbsp;</center>
  304. </td>
  305. <td rowspan="8">
  306. <center> <img src="graphics/comp.gif" alt="Computer"
  307. name="comp.gif" align="bottom" border="0" height="33" width="30"> </center>
  308. </td>
  309. <td bgcolor="#ffffff">
  310. <center><img src="file:///root/logs/v200/graphics/right.gif"
  311. alt="===&gt;" align="bottom" border="0" height="13" width="22"> </center>
  312. </td>
  313. <td rowspan="8">
  314. <center> <img src="graphics/calc.gif" alt="Calculator"
  315. name="calc.gif" align="bottom" border="0" height="35" width="60"> </center>
  316. </td>
  317. <td bgcolor="#ffffff" width="80%">RTS (specifing the size with
  318. the extra four bytes)</td>
  319. </tr>
  320. <tr>
  321. <td bgcolor="#ffffff" width="7%">
  322. <center>2&nbsp;</center>
  323. </td>
  324. <td bgcolor="#ffffff">
  325. <center><img src="file:///root/logs/v200/graphics/left.gif"
  326. alt="&lt;===" align="bottom" border="0" height="13" width="22"> </center>
  327. </td>
  328. <td bgcolor="#ffffff" width="80%">ACK</td>
  329. </tr>
  330. <tr>
  331. <td bgcolor="#ffffff" width="7%">
  332. <center>3&nbsp;</center>
  333. </td>
  334. <td bgcolor="#ffffff">
  335. <center><img src="file:///root/logs/v200/graphics/left.gif"
  336. alt="&lt;===" align="bottom" border="0" height="13" width="22"> </center>
  337. </td>
  338. <td bgcolor="#ffffff" width="80%">CTS or SKIP/EXIT (see note
  339. below)</td>
  340. </tr>
  341. <tr>
  342. <td bgcolor="#ffffff" width="7%">
  343. <center>4&nbsp;</center>
  344. </td>
  345. <td bgcolor="#ffffff">
  346. <center><img src="file:///root/logs/v200/graphics/right.gif"
  347. alt="===&gt;" align="bottom" border="0" height="13" width="22"> </center>
  348. </td>
  349. <td bgcolor="#ffffff" width="80%">ACK</td>
  350. </tr>
  351. <tr>
  352. <td width="7%">
  353. <center>5&nbsp;</center>
  354. </td>
  355. <td>
  356. <center><img src="file:///root/logs/v200/graphics/right.gif"
  357. alt="===&gt;" align="bottom" border="0" height="13" width="22"> </center>
  358. </td>
  359. <td width="80%">DATA</td>
  360. </tr>
  361. <tr>
  362. <td width="7%">
  363. <center>6&nbsp;</center>
  364. </td>
  365. <td>
  366. <center><img src="file:///root/logs/v200/graphics/left.gif"
  367. alt="&lt;===" align="bottom" border="0" height="13" width="22"> </center>
  368. </td>
  369. <td width="80%">ACK</td>
  370. </tr>
  371. <tr>
  372. <td bgcolor="#ffffff" width="7%">
  373. <center>7&nbsp;</center>
  374. </td>
  375. <td bgcolor="#ffffff">
  376. <center><img src="file:///root/logs/v200/graphics/right.gif"
  377. alt="===&gt;" align="bottom" border="0" height="13" width="22"> </center>
  378. </td>
  379. <td bgcolor="#ffffff" width="80%">EOT<i> -</i> if there are
  380. several variables to transmit, steps 7 and 8 can be skipped until the
  381. last variable.</td>
  382. </tr>
  383. <tr>
  384. <td bgcolor="#ffffff" width="7%">
  385. <center>8&nbsp;</center>
  386. </td>
  387. <td bgcolor="#ffffff">
  388. <center><img src="file:///root/logs/v200/graphics/left.gif"
  389. alt="&lt;===" align="bottom" border="0" height="13" width="22"> </center>
  390. </td>
  391. <td bgcolor="#ffffff" width="80%">ACK</td>
  392. </tr>
  393. </tbody>
  394. </table>
  395. <p><u>Example (PC sending a free FLASH application to TI):</u>
  396. <table nosave="" border="0" cellspacing="0" width="100%">
  397. <tbody>
  398. <tr bgcolor="#ffcccc">
  399. <td bgcolor="#ccffcc" width="2%">PC:</td>
  400. <td bgcolor="#ccffcc" width="49%"><tt><b>08 C9 0C 00 </b>10 00
  401. 00 00 18 05 C l o c k <b>19 02</b></tt></td>
  402. <td bgcolor="#ccffcc" width="49%"><i>Send the "Clock"
  403. pseudo-variable</i></td>
  404. </tr>
  405. <tr>
  406. <td bgcolor="#ffcccc">TI:</td>
  407. <td bgcolor="#ffcccc" width="50%"><b><tt>89 56 00 00</tt></b></td>
  408. <td bgcolor="#ffcccc" width="50%"><i>Acknowledgement of request</i></td>
  409. </tr>
  410. <tr>
  411. <td bgcolor="#ffcccc">&nbsp;</td>
  412. <td bgcolor="#ffcccc" width="50%"><b><tt>89 09 00 00</tt></b></td>
  413. <td bgcolor="#ffcccc" width="50%"><i>Clear to send variable</i></td>
  414. </tr>
  415. <tr>
  416. <td bgcolor="#ccffcc">PC:</td>
  417. <td bgcolor="#ccffcc" width="50%"><b><tt>09 56 00 00</tt></b></td>
  418. <td bgcolor="#ccffcc" width="50%"><i>Acknowledgement of CTS</i></td>
  419. </tr>
  420. <tr>
  421. <td bgcolor="#ccffcc">&nbsp;</td>
  422. <td bgcolor="#ccffcc" width="50%"><tt><b>09 15 10 00 </b>00 00
  423. 00 00 00 00 07 D2 08 01 0E 02 00 02 18 FF<br>
  424. <b>0B 02</b></tt></td>
  425. <td bgcolor="#ccffcc" width="50%"><i>Variable data</i></td>
  426. </tr>
  427. <tr>
  428. <td bgcolor="#ffcccc">TI:</td>
  429. <td bgcolor="#ffcccc" width="50%"><b><tt>89 56 00 00</tt></b></td>
  430. <td bgcolor="#ffcccc" width="50%"><i>Acknowledgement of data</i></td>
  431. </tr>
  432. <tr>
  433. <td bgcolor="#ccffcc">PC:</td>
  434. <td bgcolor="#ccffcc" width="50%"><b><tt>09 92 00 00</tt></b></td>
  435. <td bgcolor="#ccffcc" width="50%"><i>End Of Transmission</i></td>
  436. </tr>
  437. <tr>
  438. <td bgcolor="#ffcccc">TI:</td>
  439. <td bgcolor="#ffcccc" width="50%"><b><tt>89 56 00 00</tt></b></td>
  440. <td bgcolor="#ffcccc" width="50%"><i>Acknowledgement of EOT</i></td>
  441. </tr>
  442. </tbody>
  443. </table>
  444. </p>
  445. <p></p>
  446. <h4>&nbsp; </h4>
  447. <table border="0" cellspacing="0" width="100%">
  448. <tbody>
  449. <tr>
  450. <td width="32%">
  451. <center><a href="silent.html"></a><a href="flash.html"><img
  452. src="graphics/prevpage.gif" alt="[previous page]"
  453. style="border: 2px solid ; width: 32px; height: 32px;"></a> <br>
  454. &nbsp; <a href="flash.html">Flasht Tansfers</a></center>
  455. </td>
  456. <td width="34%">
  457. <center><a href="index.html"><img src="graphics/home.gif"
  458. alt="[home]" align="bottom" border="2" height="32" width="32"> </a> <br>
  459. <a href="index.html">Table of Contents</a></center>
  460. </td>
  461. <td width="34%">
  462. <center><a href="vars.html"></a><a href="os_version.html"><img
  463. src="graphics/nextpage.gif" alt="[next page]"
  464. style="border: 2px solid ; width: 32px; height: 32px;"></a> <br>
  465. <a href="os_version.html">OS Version</a></center>
  466. </td>
  467. </tr>
  468. </tbody>
  469. </table>
  470. <p></p>
  471. <hr align="center"><i>Site maintained by Romain Li&eacute;vin (<a
  472. href="mailto:roms@lpg.ticalc.org">roms@lpg.ticalc.org</a>) and Tim
  473. Singer
  474. (<a href="mailto:tsinger@gladstone.uoregon.edu">tsinger@gladstone.uoregon.edu</a>)</i>
  475. <br>
  476. </body>
  477. </html>