72Fermer74
PpHdLe 21/07/2009 à 21:18
Recv 08A2 0006  : PC->TI REQ
Send 9856 0000  : TI->PC ACQ
Recv 9806 000B  : PC->TI VAR 
Send 9856 0000  : TI->PC ACQ
Send 9815 000E : TI->PC DATA

Not a Directory Listing, not a Requesting a Variable, not a Sending a Variable.
I don't know this protocol...

Recv 08A2 0006 : PC->TI REQ
Send 9856 0000 : TI->PC ACQ
Send 9806 000B : TI->PC VAR
Recv 0856 0000 : PC->TI ACQ
Recv 0809 0000  : PC->TI CTS 
Send 9856 0000  : TI->PC ACQ
Send 9815 0020  : TI->PC DATA
Recv 0856 0000  : PC->TI ACQ
Send 9892 0000 : TI->PC EOT

A Directory Listing or a requesting of a variable.
Probably a directory listing of the Home directory due to the size (and PedroM answer of 0x20 bytes = 4 null first bytes + 2*14 bytes for each folder - main and system). I don't see anything wrong in it.

If I look at the TI-89 Link Protocol by Roms, I see that:
Data section is made up of several blocks which take the following format (always [b]18 bytes long[/b]) for the directory listing:
Offset 	Length 	Description
0 	8 bytes 	Variable name padded with NULL chars if necessary.
8 	1 byte 	Variable type ID.
9 	1 byte 	Variable attribute: 00h = unlocked, 01h = locked, 03 = archived.
10 	4 bytes 	If folders are listed (phase 1), this field contains the number of variables in this folder.
If variables are listed (phase 2), this field contains the length, in bytes, of the variable data for this variable without the extra four bytes at the beginning of the data packet.
[b]14 	8 bytes 	(V200 only) These eight bytes always have a value of 0.[/b]


First PedroM always sent 14 bytes. Maybe on V200 and TI-89 Titanium, you have to sent 22 bytes instead for each entry? Could someone confirm this hypothesis?
I heard that your calculator was detected as a TI-89 titanium.
(I don't understand where 18 comes from).

[EDIT]: From libticalc: I get in get_dirlist / calc_89.c the following line:
uint8_t extra = (handle->model == CALC_V200) ? 8 : 0;


So it is only for V200, but not for TI-89 Titanium. Could someone confirm this?

[EDIT2]: Help. In libticalc, I have a get_dirlist in calc_89 with support of titanium, and a get_dirlist in calc_89t... Which one is the right one? Both are included in Makefile.am...

[EDIT3]: Ok calc_89 is the classic way through the directlink, whereas calc_89t is through the USB link...

[EDIT4]: It seems I said many wrong statements... Titanium still use 14 bytes.