A89: TI89 linking


[Prev][Next][Index][Thread]

A89: TI89 linking




Thanks for info about TI89 linking. I found some documentation on the link
protocol for the TI92 on ticalc, which were quite similar for the TI89.
I've played around a bit, and I have managed to receive a variable header
from the TI89. The document says then to send an acknowledgement byte, and
a request for data to the calc. The calc should respond with the data of
the variable. I don't get this to work. 

I found that the deviceType value for TI89->computer was 0x98, so I assumed
that the value for computer->TI89 was 0x18 (masking off bit 7 like with the
other calcs). (I've played around with some other values as well. Is there
any way I can be sure what is the right one?)

After receiving the header, I do a

put89(0x18);	// computer->TI89
put89(0x56); // acknowledgement

put89(0x18); // computer->TI89
put89(0x09); // request for new data

But I get no response from the calc. It's supposed to answer with an
acknowledge byte, followed by the variable data.

Does anyone have a clue what I could be doing wrong?

Here's my put89 routine that I snipped from ti92prot.txt. (The get89
routine seems to work very well):

void put89(BYTE data)
{
  int bit;
  for (bit=0; bit<8; bit++)
  {
    if (data&1)
    {

      // if (bit==1) tx(1);
      //             ^^ What is this? I had to comment it out!	

      outportb(lpt_out, 2);
      while (inportb(lpt_in)&0x10);
      outportb(lpt_out, 3);
      while ((inportb(lpt_in)&0x10)==0x00);
    }
    else
    {
      outportb(lpt_out, 1);
      while (inportb(lpt_in)&0x20);
      outportb(lpt_out, 3);
      while ((inportb(lpt_in)&0x20)==0x00);
    }
    data>>=1;
    delay(10);
  }
}

I would be happy for any help....

___

Øystein Skotheim 
Obsession/Orchide^Watchmen [coder]