123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939 |
- <!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
- <html>
- <head>
- <meta http-equiv="Content-Type"
- content="text/html; charset=iso-8859-1">
- <meta name="GENERATOR"
- content="Mozilla/4.7 [en] (X11; I; Linux 2.4.0-test6 i586) [Netscape]">
- <title>TI-89 Link Protocol Guide - Backup Transfers</title>
- </head>
- <body bgcolor="#ffffe8">
- <b>TI-89 Link Protocol Guide</b> - System Backup Transfers
- <center>
- <h2>
- <hr align="center">Flash Transfers</h2>
- </center>
- <p><br>
- <b><i>Beware:</i></b> in the worst case, a FLASH operation can
- completely
- lock up your calculator and there is no way than returning the
- calcultator
- to Texas Instruments in this case.
- <br>
- We (Tim. Singer and Romain Liévin) can not be responsible of
- this.
- <br>
- Personnaly, I (Romain) have crashed a FLASH OS several times without
- crashing the calculator but you have been warned ! <br>
- A last remark: the link cables which are the more reliable and
- efficient for these operations (especially OS flashing) are RS232
- cables such as Grey TIGL, fastAVRlink (even at 4x = 38400 bauds) or
- PIClink (not tested but should work). The SilverLink is slower than
- others for FLASHing (strange, don't ask us why !).
- </p>
- <p>There are 2 kinds of FLASH transfers:
- <br>
- - FLASH applications which are variables stored in the FLASH memory of
- the calculator. <br>
- - AMS (Advanced Mathematic Software) which is the Operating System
- of the calculator.
- <br>
- A Flash transfer is a one (large) transmission containing data (up
- to 2 Mb for AMS). The file format that the TI-89 Graph Link software
- uses
- can be found in the <a href="fformat.html#backup">file formats</a>
- section
- of this documentation.
- </p>
- <p>A FLASH OS must be transferred silently whereas FLASH apps can be
- transferred manually or silently. Silent transfers can only be done
- between a computer and a calculator, and require that the computer make
- the <a href="#request">request</a> or <a href="#rts">request-to-send</a>.
- </p>
- <p>This section does not cover sending of certificates or applications
- sold by TI.
- </p>
- <h4><a name="request"></a>Checking FLASH</h4>
- The protocol for checking whether the calculator AMS has been upgraded
- is described below.
- <table nosave="" bgcolor="#ffffff" border="1" cellspacing="0"
- width="92%">
- <tbody>
- <tr>
- <th bgcolor="#008800" width="7%"><font color="#ffffff">Step</font></th>
- <th colspan="3" bgcolor="#008800"><font color="#ffffff">Direction</font></th>
- <th bgcolor="#008800" width="80%"><font color="#ffffff">Packet</font></th>
- </tr>
- <tr nosave="">
- <td bgcolor="#ffffff" width="7%">
- <center>1 </center>
- </td>
- <td rowspan="2" nosave="">
- <center><img src="graphics/comp.gif" alt="Computer" align="bottom"
- border="0" height="33" width="30"></center>
- </td>
- <td bgcolor="#ffffff">
- <center><img src="graphics/right.gif" alt="===>" align="bottom"
- border="0" height="13" width="22"></center>
- </td>
- <td rowspan="2" nosave="">
- <center><img src="graphics/calc.gif" alt="Calculator"
- align="bottom" border="0" height="35" width="60"></center>
- </td>
- <td bgcolor="#ffffff" width="80%">REQ special: <b><u>00</u></b>
- 68 00 00.</td>
- </tr>
- <tr>
- <td bgcolor="#ffffff" width="7%">
- <center>2 </center>
- </td>
- <td bgcolor="#ffffff">
- <center><img src="graphics/left.gif" alt="<===" align="bottom"
- border="0" height="13" width="22"></center>
- </td>
- <td bgcolor="#ffffff" width="80%">ACK: either 98 56 00 10 (not
- upgraded),
- either 98 56 10 04 (upgraded).</td>
- </tr>
- </tbody>
- </table>
- <p><i>Note:</i> the 04h value seems to be a revision value. AMS208
- returns 0Ch.</p>
- <p><u>Example:</u>
- <table nosave="" border="0" cellspacing="0" width="100%">
- <tbody>
- <tr>
- <td bgcolor="#ccffcc">PC:</td>
- <td bgcolor="#ccffcc" width="50%"><b><tt><u>00</u> 68 00 00 </tt></b></td>
- <td bgcolor="#ccffcc" width="50%"><i>Check whether the calc has
- been FLASHed</i></td>
- </tr>
- <tr>
- <td bgcolor="#ffcccc">TI:</td>
- <td bgcolor="#ffcccc" width="50%"><b><tt>98 56 00 10</tt></b></td>
- <td bgcolor="#ffcccc" width="50%">TI89 with AMS 1.00</td>
- </tr>
- </tbody>
- </table>
- <table nosave="" border="0" cellspacing="0" width="100%">
- <tbody>
- <tr>
- <td bgcolor="#ccffcc">PC:</td>
- <td bgcolor="#ccffcc" width="50%"><b><tt><u>00</u> 68 00 00 </tt></b></td>
- <td bgcolor="#ccffcc" width="50%"><i>Check whether the calc has
- been FLASHed</i></td>
- </tr>
- <tr>
- <td bgcolor="#ffcccc">TI:</td>
- <td bgcolor="#ffcccc" width="50%"><b><tt>98 56 04 10</tt></b></td>
- <td bgcolor="#ffcccc" width="50%">TI89 with AMS 2.05</td>
- </tr>
- <tr>
- <td bgcolor="#ccffcc">PC:</td>
- <td bgcolor="#ccffcc" width="50%"><b><tt><u>00</u> 68 00 00 </tt></b></td>
- <td bgcolor="#ccffcc" width="50%"><i>Check whether the calc has
- been FLASHed</i></td>
- </tr>
- <tr>
- <td bgcolor="#ffcccc">TI:</td>
- <td bgcolor="#ffcccc" width="50%"><b><tt>98 56 0C 10</tt></b></td>
- <td bgcolor="#ffcccc" width="50%">TI89 with AMS 2.08</td>
- </tr>
- </tbody>
- </table>
- </p>
- <h4><a name="rts"></a>Requesting ID list</h4>
- Indeed, the request is as if the TI requested the 'IDLIST' variable:
- Ty=22
- and Nl=00.
- <br>
- This request works only with upgraded calculator (check if TI has been
- upgraded before).
- <p>The protocol for silently receiving the ID list is shown below:
- <table nosave="" bgcolor="#ffffff" border="1" cellspacing="0"
- width="92%">
- <tbody>
- <tr>
- <th bgcolor="#008800" width="7%"><font color="#ffffff">Step</font></th>
- <th colspan="3" bgcolor="#008800"><font color="#ffffff">Direction</font></th>
- <th bgcolor="#008800" width="80%"><font color="#ffffff">Packet</font></th>
- </tr>
- <tr nosave="">
- <td bgcolor="#ffffff" width="7%">
- <center>1 </center>
- </td>
- <td rowspan="10" nosave="">
- <center><img src="graphics/comp.gif" alt="Computer" align="bottom"
- border="0" height="33" width="30"></center>
- </td>
- <td bgcolor="#ffffff">
- <center><img src="graphics/right.gif" alt="===>" align="bottom"
- border="0" height="13" width="22"></center>
- </td>
- <td rowspan="10" nosave="">
- <center><img src="graphics/calc.gif" alt="Calculator"
- align="bottom" border="0" height="35" width="60"></center>
- </td>
- <td bgcolor="#ffffff" width="80%">REQ with expected header
- including the
- folder name, if necessary</td>
- </tr>
- <tr>
- <td bgcolor="#ffffff" width="7%">
- <center>2 </center>
- </td>
- <td bgcolor="#ffffff">
- <center><img src="graphics/left.gif" alt="<===" align="bottom"
- border="0" height="13" width="22"></center>
- </td>
- <td bgcolor="#ffffff" width="80%">ACK (see note below)</td>
- </tr>
- <tr>
- <td bgcolor="#ffffff" width="7%">
- <center>3 </center>
- </td>
- <td bgcolor="#ffffff">
- <center><img src="graphics/left.gif" alt="<===" align="bottom"
- border="0" height="13" width="22"></center>
- </td>
- <td bgcolor="#ffffff" width="80%">VAR (specifing the size without
- the extra
- four bytes) with actual header and no folder name</td>
- </tr>
- <tr>
- <td bgcolor="#ffffff" width="7%">
- <center>4 </center>
- </td>
- <td bgcolor="#ffffff">
- <center><img src="graphics/right.gif" alt="===>" align="bottom"
- border="0" height="13" width="22"></center>
- </td>
- <td bgcolor="#ffffff" width="80%">ACK</td>
- </tr>
- <tr>
- <td width="7%">
- <center>5 </center>
- </td>
- <td>
- <center><img src="graphics/right.gif" alt="===>" align="bottom"
- border="0" height="13" width="22"></center>
- </td>
- <td width="80%">CTS</td>
- </tr>
- <tr>
- <td width="7%">
- <center>6 </center>
- </td>
- <td>
- <center><img src="graphics/left.gif" alt="<===" align="bottom"
- border="0" height="13" width="22"></center>
- </td>
- <td width="80%">ACK</td>
- </tr>
- <tr>
- <td width="7%">
- <center>7 </center>
- </td>
- <td>
- <center><img src="graphics/left.gif" alt="<===" align="bottom"
- border="0" height="13" width="22"></center>
- </td>
- <td width="80%">DATA with an extra four bytes at the beginning of
- the packet</td>
- </tr>
- <tr>
- <td width="7%">
- <center>8 </center>
- </td>
- <td>
- <center><img src="graphics/right.gif" alt="===>" align="bottom"
- border="0" height="13" width="22"></center>
- </td>
- <td width="80%">ACK</td>
- </tr>
- <tr>
- <td width="7%">
- <center>9 </center>
- </td>
- <td>
- <center><img src="graphics/left.gif" alt="<===" align="bottom"
- border="0" height="13" width="22"></center>
- </td>
- <td width="80%">EOT</td>
- </tr>
- <tr>
- <td width="7%">
- <center>10 </center>
- </td>
- <td>
- <center><img src="graphics/right.gif" alt="===>" align="bottom"
- border="0" height="13" width="22"></center>
- </td>
- <td width="80%">ACK</td>
- </tr>
- </tbody>
- </table>
- </p>
- <p><u>Example (PC receiving IDlist from TI):</u>
- <table nosave="" border="0" cellspacing="0" width="100%">
- <tbody>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ccffcc">PC:</td>
- <td bgcolor="#ccffcc" width="50%"><tt><b>08 A2 06 00 </b>00 00
- 00 00 22
- 00 <b>22 00</b></tt></td>
- <td bgcolor="#ccffcc" width="50%"><i>Request the ID list</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ffcccc">TI:</td>
- <td bgcolor="#ffcccc" width="50%"><b><tt>98 56 00 00</tt></b></td>
- <td bgcolor="#ffcccc" width="50%"><i>Acknowledgement of request</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ffcccc"> </td>
- <td bgcolor="#ffcccc" width="50%"><tt><b>98 06 0D 00 </b>12 00
- 00 00 22
- 06 I D L I S T 00 <b>6A 00</b></tt></td>
- <td bgcolor="#ffcccc" width="50%"><i>Variable Header: String
- "IDLIST"</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ccffcc">PC:</td>
- <td bgcolor="#ccffcc" width="50%"><b><tt>08 56 00 00</tt></b></td>
- <td bgcolor="#ccffcc" width="50%"><i>Acknowledgement of variable
- header</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ccffcc"> </td>
- <td bgcolor="#ccffcc" width="50%"><b><tt>08 09 00 00</tt></b></td>
- <td bgcolor="#ccffcc" width="50%"><i>Clear to send variable</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ffcccc">TI:</td>
- <td bgcolor="#ffcccc" width="50%"><b><tt>98 56 00 00</tt></b></td>
- <td bgcolor="#ffcccc" width="50%"><i>Acknowledgement of CTS</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ffcccc" height="44"> </td>
- <td bgcolor="#ffcccc" height="44" width="50%"><tt><b>98 15 16 00 </b>00
- 00 00 00 01 00 0E 00 30 33 30 36 39 44 31 42 41 33 46 46 41 42 <b>24 00</b></tt></td>
- <td bgcolor="#ffcccc" height="44" width="50%"><i>Variable data:
- "03069-D1BA3-FFAB"</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ccffcc">PC:</td>
- <td bgcolor="#ccffcc" width="50%"><b><tt>08 56 00 00</tt></b></td>
- <td bgcolor="#ccffcc" width="50%"><i>Acknowledgement of variable
- data</i></td>
- </tr>
- <tr nosave="" bgcolor="#ffcccc">
- <td bgcolor="#ffcccc">TI:</td>
- <td nosave="" bgcolor="#ffcccc" width="50%"><b><tt>98 92 00 00</tt></b></td>
- <td bgcolor="#ffcccc" width="50%"><i>End Of Transmission</i></td>
- </tr>
- <tr nosave="" bgcolor="#99ffcc">
- <td bgcolor="#ccffcc">PC:</td>
- <td nosave="" bgcolor="#ccffcc" width="50%"><b><tt>08 56 00 00</tt></b></td>
- <td nosave="" bgcolor="#ccffcc" width="50%"><i>Acknowledgement of
- EOT</i></td>
- </tr>
- </tbody>
- </table>
- </p>
- <h4><a name="rts"></a>Sending FLASH</h4>
- <u><b><i>Warning:</i></b> We (Tim. Singer and Romain Liévin)
- could
- not be responsible if your calculator has been locked or damaged with a
- FLASH OS.</u>
- <br>
- If a FLASH OS has been sent and the operation has crashed, you can
- wait that the TI89 display 'Ready to receive'. Then, try again the
- transfer.
- <br>
- If the calculator is really locked, remove batteries, wait some time
- and put them again. Next, press I for 'Install code' and retry transfer.<br>
- <br>
- In the case of a FLASH OS (AMS), there is no name : <span
- style="font-weight: bold;">08 c9 06 00</span> 47 e3 12 00
- 23 00 <span style="font-weight: bold;">5f 01</span>. Older
- AMS releases sent 'basecode' but I'm unsure.<br>
- TI89 Titanium and V200PLT use a slightly different packet :
- <span style="font-weight: bold;">08 c9 09 0</span>0 b3 4e 14 00
- 23 00 08 00 0X <span style="font-weight: bold;">49 01</span>
- where 0X is the hardware ID (1 = 92+, 3 = 89, 8
- = V200, 9 = Titanium).
- <p>The protocol for silently sending a FLASH file is shown below:
- <table nosave="" bgcolor="#ffffff" border="1" cellspacing="0"
- width="92%">
- <tbody>
- <tr>
- <th bgcolor="#008800" width="7%"><font color="#ffffff">Step</font></th>
- <th colspan="3" bgcolor="#008800"><font color="#ffffff">Direction</font></th>
- <th bgcolor="#008800" width="80%"><font color="#ffffff">Packet</font></th>
- </tr>
- <tr nosave="">
- <td bgcolor="#ffffff" width="7%">
- <center>1 </center>
- </td>
- <td rowspan="8" nosave="">
- <center><img src="graphics/comp.gif" alt="Computer" align="bottom"
- border="0" height="33" width="30"></center>
- </td>
- <td bgcolor="#ffffff">
- <center><img src="graphics/right.gif" alt="===>" align="bottom"
- border="0" height="13" width="22"></center>
- </td>
- <td rowspan="8" nosave="">
- <center><img src="graphics/calc.gif" alt="Calculator"
- align="bottom" border="0" height="35" width="60"></center>
- </td>
- <td bgcolor="#ffffff" width="80%">RTS with expected header
- including the
- FLASH application name and size. </td>
- </tr>
- <tr>
- <td bgcolor="#ffffff" width="7%">
- <center>2 </center>
- </td>
- <td bgcolor="#ffffff">
- <center><img src="graphics/right.gif" alt="===>" align="bottom"
- border="0" height="13" width="22"></center>
- </td>
- <td bgcolor="#ffffff" width="80%">ACK</td>
- </tr>
- <tr>
- <td width="7%">
- <center>3 </center>
- </td>
- <td>
- <center><img src="graphics/right.gif" alt="===>" align="bottom"
- border="0" height="13" width="22"></center>
- </td>
- <td width="80%">CTS</td>
- </tr>
- <tr>
- <td width="7%">
- <center>4 </center>
- </td>
- <td>
- <center><img src="graphics/left.gif" alt="<===" align="bottom"
- border="0" height="13" width="22"></center>
- </td>
- <td width="80%">ACK</td>
- </tr>
- <tr>
- <td width="7%">
- <center>5 </center>
- </td>
- <td>
- <center><img src="graphics/left.gif" alt="<===" align="bottom"
- border="0" height="13" width="22"></center>
- </td>
- <td width="80%">DATA</td>
- </tr>
- <tr>
- <td width="7%">
- <center>6 </center>
- </td>
- <td>
- <center><img src="graphics/right.gif" alt="===>" align="bottom"
- border="0" height="13" width="22"></center>
- </td>
- <td width="80%">ACK</td>
- </tr>
- <tr>
- <td width="7%">
- <center>7 </center>
- </td>
- <td>
- <center><img src="graphics/left.gif" alt="<===" align="bottom"
- border="0" height="13" width="22"></center>
- </td>
- <td width="80%">CONT or EOT - if CONT, then go to step 2.</td>
- </tr>
- <tr>
- <td width="7%">
- <center>8 </center>
- </td>
- <td>
- <center><img src="graphics/right.gif" alt="===>" align="bottom"
- border="0" height="13" width="22"></center>
- </td>
- <td width="80%">ACK or ERR (if certificate is rejected)<br>
- </td>
- </tr>
- </tbody>
- </table>
- </p>
- <p><u>Example (PC sending a free FLASH application to TI):</u>
- <table nosave="" border="0" cellspacing="0" width="100%">
- <tbody>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ccffcc" width="2%">PC:</td>
- <td bgcolor="#ccffcc" width="49%"><tt><b>08 C9 0C 00 </b>59 85
- 00 00 24
- 05 54 49 46 52 41 01 <b>7D 02</b></tt></td>
- <td bgcolor="#ccffcc" width="49%"><i>Send the "TIFRA" flash
- application</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ffcccc" width="2%">TI:</td>
- <td bgcolor="#ffcccc" width="49%"><b><tt>98 56 00 00</tt></b></td>
- <td bgcolor="#ffcccc" width="49%"><i>Acknowledgement of request</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ffcccc" width="2%"> </td>
- <td bgcolor="#ffcccc" width="49%"><b><tt>98 09 00 00 </tt></b></td>
- <td bgcolor="#ffcccc" width="49%"><i>Clear to send variable</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ccffcc" width="2%">PC:</td>
- <td bgcolor="#ccffcc" width="49%"><b><tt>08 56 00 00</tt></b></td>
- <td bgcolor="#ccffcc" width="49%"><i>Acknowledgement of variable
- header</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ccffcc" width="2%"> </td>
- <td bgcolor="#ccffcc" width="49%"><tt><b>08 15 00 00 </b><...
- 65536
- bytes of data ...><b> CHK</b></tt></td>
- <td bgcolor="#ccffcc" width="49%"><i>Data block: 64 Kbytes</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ffcccc" width="2%">TI:</td>
- <td bgcolor="#ffcccc" width="49%"><b><tt>98 56 00 00</tt></b></td>
- <td bgcolor="#ffcccc" width="49%"><i>Acknowledgement of CTS</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ccffcc" width="2%">PC:</td>
- <td bgcolor="#ccffcc" width="49%"><b><tt>08 78 00 00</tt></b></td>
- <td bgcolor="#ccffcc" width="49%"><i>Continue transmission</i></td>
- </tr>
- <tr>
- <td>
- <center><b>. . .</b></center>
- </td>
- <td width="50%">
- <center><b>. . .</b></center>
- </td>
- <td width="50%">
- <center><b>. . .</b></center>
- </td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ffcccc" width="2%">TI:</td>
- <td bgcolor="#ffcccc" width="49%"><b><tt>98 56 00 00</tt></b></td>
- <td bgcolor="#ffcccc" width="49%"><i>Acknowledgement of request</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ffcccc" width="2%"> </td>
- <td bgcolor="#ffcccc" width="49%"><b><tt>98 09 00 00 </tt></b></td>
- <td bgcolor="#ffcccc" width="49%"><i>Clear to send variable</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ccffcc" width="2%">PC:</td>
- <td bgcolor="#ccffcc" width="49%"><b><tt>08 56 00 00</tt></b></td>
- <td bgcolor="#ccffcc" width="49%"><i>Acknowledgement of variable
- header</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ccffcc" width="2%"> </td>
- <td bgcolor="#ccffcc" width="49%"><tt><b>08 15 00 00 </b><...
- 65536
- bytes of data ...><b> CHK</b></tt></td>
- <td bgcolor="#ccffcc" width="49%"><i>Data block: 64 Kbytes</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ffcccc" width="2%">TI:</td>
- <td bgcolor="#ffcccc" width="49%"><b><tt>98 56 00 00</tt></b></td>
- <td bgcolor="#ffcccc" width="49%"><i>Acknowledgement of CTS</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ccffcc" width="2%">PC:</td>
- <td bgcolor="#ccffcc" width="49%"><b><tt>08 78 00 00</tt></b></td>
- <td bgcolor="#ccffcc" width="49%"><i>Continue transmission</i></td>
- </tr>
- <tr>
- <td>
- <center><b>. . .</b></center>
- </td>
- <td width="50%">
- <center><b>. . .</b></center>
- </td>
- <td width="50%">
- <center><b>. . .</b></center>
- </td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ffcccc" width="2%">TI:</td>
- <td bgcolor="#ffcccc" width="49%"><b><tt>98 56 00 00</tt></b></td>
- <td bgcolor="#ffcccc" width="49%"><i>Acknowledgement of request</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ffcccc" width="2%"> </td>
- <td bgcolor="#ffcccc" width="49%"><b><tt>98 09 00 00 </tt></b></td>
- <td bgcolor="#ffcccc" width="49%"><i>Clear to send variable</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ccffcc" width="2%">PC:</td>
- <td bgcolor="#ccffcc" width="49%"><b><tt>08 56 00 00</tt></b></td>
- <td bgcolor="#ccffcc" width="49%"><i>Acknowledgement of variable
- header</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ccffcc" width="2%"> </td>
- <td bgcolor="#ccffcc" width="49%"><tt><b>08 15 59 85</b> <...
- 34137
- bytes of data ...><b> CHK</b></tt></td>
- <td bgcolor="#ccffcc" width="49%"><i>Data block: 34137 bytes of
- remaining
- data for instance</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ffcccc" width="2%">TI:</td>
- <td bgcolor="#ffcccc" width="49%"><b><tt>98 56 00 00</tt></b></td>
- <td bgcolor="#ffcccc" width="49%"><i>Acknowledgement of CTS</i></td>
- </tr>
- <tr nosave="" bgcolor="#99ffcc">
- <td bgcolor="#ccffcc" width="2%">PC:</td>
- <td nosave="" bgcolor="#ccffcc" width="49%"><b><tt>08 92 00 00</tt></b></td>
- <td nosave="" bgcolor="#ccffcc" width="49%"><i>End Of Transmission</i></td>
- </tr>
- <tr nosave="" bgcolor="#ffcccc">
- <td bgcolor="#ffcccc" width="2%">TI:</td>
- <td nosave="" bgcolor="#ffcccc" width="49%"><b><tt>98 56 00 00</tt></b></td>
- <td bgcolor="#ffcccc" width="49%"><i>Acknowledgement of EOT </i></td>
- </tr>
- </tbody>
- </table>
- </p>
- <h4><a name="rts"></a>Receiving FLASH</h4>
- <p>The protocol for silently receving a FLASH file is shown below: <br>
- <table nosave="" bgcolor="#ffffff" border="1" cellspacing="0"
- width="92%">
- <tbody>
- <tr>
- <th bgcolor="#008800" width="7%"><font color="#ffffff">Step</font></th>
- <th colspan="3" bgcolor="#008800"><font color="#ffffff">Direction</font></th>
- <th bgcolor="#008800" width="80%"><font color="#ffffff">Packet</font></th>
- </tr>
- <tr nosave="">
- <td bgcolor="#ffffff" width="7%">
- <center> 1 </center>
- </td>
- <td rowspan="10" nosave="">
- <center> <img src="graphics/comp.gif" alt="Computer"
- align="bottom" border="0" height="33" width="30"> </center>
- </td>
- <td bgcolor="#ffffff">
- <center> <img src="graphics/right.gif" alt="===>" align="bottom"
- border="0" height="13" width="22"> </center>
- </td>
- <td rowspan="10" nosave="">
- <center> <img src="graphics/calc.gif" alt="Calculator"
- align="bottom" border="0" height="35" width="60"> </center>
- </td>
- <td bgcolor="#ffffff" width="80%">REQ with expected header
- including the application name</td>
- </tr>
- <tr>
- <td bgcolor="#ffffff" width="7%">
- <center> 2 </center>
- </td>
- <td bgcolor="#ffffff">
- <center> <img src="graphics/left.gif" alt="<===" align="bottom"
- border="0" height="13" width="22"> </center>
- </td>
- <td bgcolor="#ffffff" width="80%">ACK (see note below)</td>
- </tr>
- <tr>
- <td bgcolor="#ffffff" width="7%">
- <center> 3 </center>
- </td>
- <td bgcolor="#ffffff">
- <center> <img src="graphics/left.gif" alt="<===" align="bottom"
- border="0" height="13" width="22"> </center>
- </td>
- <td bgcolor="#ffffff" width="80%">VAR (specifing the size) with
- actual header and no folder name</td>
- </tr>
- <tr>
- <td bgcolor="#ffffff" width="7%">
- <center> 4 </center>
- </td>
- <td bgcolor="#ffffff">
- <center> <img src="graphics/right.gif" alt="===>" align="bottom"
- border="0" height="13" width="22"> </center>
- </td>
- <td bgcolor="#ffffff" width="80%">ACK</td>
- </tr>
- <tr>
- <td width="7%">
- <center> 5 </center>
- </td>
- <td>
- <center> <img src="graphics/right.gif" alt="===>" align="bottom"
- border="0" height="13" width="22"> </center>
- </td>
- <td width="80%">CTS</td>
- </tr>
- <tr>
- <td width="7%">
- <center> 6 </center>
- </td>
- <td>
- <center> <img src="graphics/left.gif" alt="<===" align="bottom"
- border="0" height="13" width="22"> </center>
- </td>
- <td width="80%">ACK</td>
- </tr>
- <tr>
- <td width="7%">
- <center> 7 </center>
- </td>
- <td>
- <center> <img src="graphics/left.gif" alt="<===" align="bottom"
- border="0" height="13" width="22"> </center>
- </td>
- <td width="80%">DATA</td>
- </tr>
- <tr>
- <td width="7%">
- <center> 8 </center>
- </td>
- <td>
- <center> <img src="graphics/right.gif" alt="===>" align="bottom"
- border="0" height="13" width="22"> </center>
- </td>
- <td width="80%">ACK</td>
- </tr>
- <tr>
- <td width="7%">
- <center> 9 </center>
- </td>
- <td>
- <center> <img src="graphics/left.gif" alt="<===" align="bottom"
- border="0" height="13" width="22"> </center>
- </td>
- <td width="80%">CONT/EOT - if CONT, then go to step 4.</td>
- </tr>
- <tr>
- <td width="7%">
- <center> 10 </center>
- </td>
- <td>
- <center> <img src="graphics/right.gif" alt="===>" align="bottom"
- border="0" height="13" width="22"> </center>
- </td>
- <td width="80%">ACK</td>
- </tr>
- </tbody>
- </table>
- </p>
- <p><u>Example (PC receiving a free FLASH application to TI):</u>
- <table nosave="" border="0" cellspacing="0" width="100%">
- <tbody>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ccffcc" width="2%">PC:</td>
- <td bgcolor="#ccffcc" width="49%"><tt><b>08 A2 0E 00 </b>00 00
- 00 00 24 08 54 49 43 41 42 46 52 41 68 02</tt></td>
- <td bgcolor="#ccffcc" width="49%"><i>Request to Send the
- "TICABFRA" flash application</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ffcccc" width="2%">TI:</td>
- <td bgcolor="#ffcccc" width="49%"><b><tt>98 56 00 00</tt></b></td>
- <td bgcolor="#ffcccc" width="49%"><i>Acknowledgement of request</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ffcccc" width="2%"> </td>
- <td bgcolor="#ffcccc" width="49%"><b><tt>98 06 0F 00 </tt></b><tt>8D
- 1D 00 00 24 08 54 49 43 41 42 46 52 41 04</tt><b><tt> <br>
- 16 03 </tt></b></td>
- <td bgcolor="#ffcccc" width="49%"><i>Application Header: String
- "TICABFRA"</i></td>
- </tr>
- <tr>
- <td>
- <center> </center>
- <br>
- </td>
- <td width="50%">
- <center> </center>
- <br>
- </td>
- <td width="50%">
- <center> </center>
- <br>
- </td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ccffcc">PC:</td>
- <td bgcolor="#ccffcc" width="50%"><b><tt>08 56 00 00</tt></b></td>
- <td bgcolor="#ccffcc" width="50%"><i>Acknowledgement of variable
- header</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ccffcc"> </td>
- <td bgcolor="#ccffcc" width="50%"><b><tt>08 09 00 00</tt></b></td>
- <td bgcolor="#ccffcc" width="50%"><i>Clear to send variable</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ffcccc">TI:</td>
- <td bgcolor="#ffcccc" width="50%"><b><tt>98 56 00 00</tt></b></td>
- <td bgcolor="#ffcccc" width="50%"><i>Acknowledgement of CTS</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ffcccc" height="44"> </td>
- <td bgcolor="#ffcccc" height="44" width="50%"><tt><b>98 15 B6 06 </b><block
- of data> <b>24 00</b></tt></td>
- <td bgcolor="#ffcccc" height="44" width="50%"><i>Variable data</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ccffcc">PC:</td>
- <td bgcolor="#ccffcc" width="50%"><b><tt>08 56 00 00</tt></b></td>
- <td bgcolor="#ccffcc" width="50%"><i>Acknowledgement of variable
- data</i></td>
- </tr>
- <tr nosave="" bgcolor="#ffcccc">
- <td bgcolor="#ffcccc">TI:</td>
- <td nosave="" bgcolor="#ffcccc" width="50%"><b><tt>98 78 00 00</tt></b></td>
- <td bgcolor="#ffcccc" width="50%"><i>End Of Transmission</i></td>
- </tr>
- <tr>
- <td>
- <center> <b>. . .</b> </center>
- </td>
- <td width="50%">
- <center> <b>. . .</b> </center>
- </td>
- <td width="50%">
- <center> <b>. . .</b> </center>
- </td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ccffcc">PC:</td>
- <td bgcolor="#ccffcc" width="50%"><b><tt>08 56 00 00</tt></b></td>
- <td bgcolor="#ccffcc" width="50%"><i>Acknowledgement of variable
- header</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ccffcc"> </td>
- <td bgcolor="#ccffcc" width="50%"><b><tt>08 09 00 00</tt></b></td>
- <td bgcolor="#ccffcc" width="50%"><i>Clear to send variable</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ffcccc">TI:</td>
- <td bgcolor="#ffcccc" width="50%"><b><tt>98 56 00 00</tt></b></td>
- <td bgcolor="#ffcccc" width="50%"><i>Acknowledgement of CTS</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ffcccc" height="44"> </td>
- <td bgcolor="#ffcccc" height="44" width="50%"><tt><b>98 15 FE 03 </b><block
- of data> <b>24 00</b></tt></td>
- <td bgcolor="#ffcccc" height="44" width="50%"><i>Variable data</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ccffcc">PC:</td>
- <td bgcolor="#ccffcc" width="50%"><b><tt>08 56 00 00</tt></b></td>
- <td bgcolor="#ccffcc" width="50%"><i>Acknowledgement of variable
- data</i></td>
- </tr>
- <tr nosave="" bgcolor="#ffcccc">
- <td bgcolor="#ffcccc">TI:</td>
- <td nosave="" bgcolor="#ffcccc" width="50%"><b><tt>98 78 00 00</tt></b></td>
- <td bgcolor="#ffcccc" width="50%"><i>End Of Transmission</i></td>
- </tr>
- <tr>
- <td>
- <center> <b>. . .</b> </center>
- </td>
- <td width="50%">
- <center> <b>. . .</b> </center>
- </td>
- <td width="50%">
- <center> <b>. . .</b> </center>
- </td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ccffcc">PC:</td>
- <td bgcolor="#ccffcc" width="50%"><b><tt>08 56 00 00</tt></b></td>
- <td bgcolor="#ccffcc" width="50%"><i>Acknowledgement of variable
- header</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ccffcc"> </td>
- <td bgcolor="#ccffcc" width="50%"><b><tt>08 09 00 00</tt></b></td>
- <td bgcolor="#ccffcc" width="50%"><i>Clear to send variable</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ffcccc">TI:</td>
- <td bgcolor="#ffcccc" width="50%"><b><tt>98 56 00 00</tt></b></td>
- <td bgcolor="#ffcccc" width="50%"><i>Acknowledgement of CTS</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ffcccc" height="44"> </td>
- <td bgcolor="#ffcccc" height="44" width="50%"><tt><b>98 15 19 02 </b><block
- of data> <b>24 00</b></tt></td>
- <td bgcolor="#ffcccc" height="44" width="50%"><i>Variable data</i></td>
- </tr>
- <tr bgcolor="#ffcccc">
- <td bgcolor="#ccffcc">PC:</td>
- <td bgcolor="#ccffcc" width="50%"><b><tt>08 56 00 00</tt></b></td>
- <td bgcolor="#ccffcc" width="50%"><i>Acknowledgement of variable
- data</i></td>
- </tr>
- <tr nosave="" bgcolor="#ffcccc">
- <td bgcolor="#ffcccc" width="2%">TI:</td>
- <td nosave="" bgcolor="#ffcccc" width="49%"><b><tt>98 92 00 00</tt></b></td>
- <td bgcolor="#ffcccc" width="49%"><i>Acknowledgement of EOT </i></td>
- </tr>
- <tr nosave="" bgcolor="#99ffcc">
- <td bgcolor="#ccffcc" height="22" width="2%">PC:</td>
- <td nosave="" bgcolor="#ccffcc" height="22" width="49%"><b><tt>08
- 56 00 00</tt></b></td>
- <td nosave="" bgcolor="#ccffcc" height="22" width="49%"><i>End Of
- Transmission</i></td>
- </tr>
- </tbody>
- </table>
- </p>
- <h4><a name="rts"></a>Receiving Certificate</h4>
- Same as requesting FLASH app but type ID is 20h and name is "".<br>
- <h4><a name="rts"></a>Sending Certificate</h4>
- Same as sending FLASH app but type ID is 20h and name is "".<br>
- When rejected, this ERR packets is sent : <small><span
- style="font-family: courier new,courier,monospace;">88 36 00 05 </span><span
- style="font-family: courier new,courier,monospace;">05 00 0A 00
- 00 </span><span
- style="font-family: courier new,courier,monospace;">0F 00</span></small>
- <br>
- <p>
- <table border="0" cellspacing="0" width="100%">
- <tbody>
- <tr>
- <td width="32%">
- <center><a href="silent.html"><img src="graphics/prevpage.gif"
- alt="[previous page]" align="bottom" border="2" height="32" width="32"></a><br>
- <a href="silent.html">Silent transfers</a></center>
- </td>
- <td width="34%">
- <center><a href="index.html"><img src="graphics/home.gif"
- alt="[home]" align="bottom" border="2" height="32" width="32"></a><br>
- <a href="index.html">Table of Contents</a></center>
- </td>
- <td width="34%">
- <center><a href="clock.html"><img src="graphics/nextpage.gif"
- alt="[next page]"
- style="border: 2px solid ; width: 32px; height: 32px;"></a><br>
- <a href="clock.html">Clock</a></center>
- </td>
- </tr>
- </tbody>
- </table>
- </p>
- <hr align="center"><i>Site maintained by Romain Liévin (<a
- href="mailto:roms@lpg.ticalc.org">roms@lpg.ticalc.org</a>)
- and Tim Singer (<a href="mailto:tsinger@gladstone.uoregon.edu">tsinger@gladstone.uoregon.edu</a>)</i>
- </body>
- </html>
|