This is an archived, read-only copy of the United-TI subforum , including posts and topic from May 2003 to April 2012. If you would like to discuss any of the topics in this forum, you can visit Cemetech's Technology & Calculator Open Topic subforum. Some of these topics may also be directly-linked to active Cemetech topics. If you are a Cemetech member with a linked United-TI account, you can link United-TI topics here with your current Cemetech topics.

This forum is locked: you cannot post, reply to, or edit topics. Calculator Tech Support => Technology & Calculator Open Topic
Author Message
Lionel Debroux


Member


Joined: 01 Aug 2009
Posts: 170

Posted: 21 Oct 2009 08:22:48 am    Post subject:

Both Benjamin and I think that the problem is fixed by the aforementioned changes, but I'd like someone who owns a TI-Z80 (I don't...) to actually compile and test the modifications, before committing the fix Wink
A *nix-oriented helper script is available at http://lpg.ticalc.org/prj_tilp/download/install_tilp.sh .
Back to top
Galandros


Active Member


Joined: 29 Aug 2008
Posts: 565

Posted: 21 Oct 2009 11:57:14 am    Post subject:

Lionel Debroux wrote:
Both Benjamin and I think that the problem is fixed by the aforementioned changes, but I'd like someone who owns a TI-Z80 (I don't...) to actually compile and test the modifications, before committing the fix Wink
A *nix-oriented helper script is available at http://lpg.ticalc.org/prj_tilp/download/install_tilp.sh .

Great. I will try to test on the weekend and see what happens. (I use windows version, but I will see if I can get it to work under Linux)
If I get it to work I will do a total test on all variables and issues with my Ti-84+SE and then try the variables on TI-Connect. Sounds great?


It is great to see my topic brought back to discussion to solve the problem. And I had a note to email you about the errors, but my laziness had best of me. I saw the bug report on sourceforge today...

I saw the note and there are other issues:
- Lists, I think had some problems on Tilp. All lists I suppose...
- Tilp gives error of time out after waiting a garbage collection. (calculator sometimes during receive starts a garbage collect)
- miss implementing a Ti-84 usb rom dump

Speaking of testing, I can get opportunity to test a Nspire CAS on weekends. Razz Contact me via MP if there is interest between the developers.


Last edited by Guest on 22 Oct 2009 06:34:20 am; edited 1 time in total
Back to top
Lionel Debroux


Member


Joined: 01 Aug 2009
Posts: 170

Posted: 22 Oct 2009 01:46:33 am    Post subject:

Thanks :)

Quote:
If I get it to work I will do a total test on all variables and issues with my Ti-84+SE and then try the variables on TI-Connect. Sounds great?

Yes, cross-testing group files between TILP and TI-Connect are the tests we're currently looking for, as it's currently the only bug with thorough analysis AND a (potential) fix.

On a side note: I haven't used it myself yet (I'll try to, in the next few days - I have to finish a time-consuming thing unrelated to TI calculators by Saturday), but the MinGW/MSYS build procedure, for producing Windows binaries and thereby widening the testers base, is in the repository: [url="http://svn.tilp.info/cgi-bin/viewcvs.cgi/*checkout*/tilp/trunk/build/mingw/ReadMe.txt?rev=4223"]http://svn.tilp.info/cgi-bin/viewcvs.cgi/*...Me.txt?rev=4223[/url] .
It was updated less than 6 months ago, so it's very likely that it works well.
As usual, most of the pain is setting up for the first successful compilation. Subsequent compilations are easier.

Quote:
Tilp gives error of time out after waiting a garbage collection. (calculator sometimes during receive starts a garbage collect)

I'm illiterate in TI-Z80 calculators (I have never programmed anything but TI-BASIC on them, and I haven't used one in more than seven years Very Happy), but this could be due to the OS not notifying the link software that a GC is in progress ?

Quote:
- miss implementing a Ti-84 usb rom dump

ACK. That's a feature request for TI-Z80 experts such as Dan Englander, Brandon Wilson, Benjamin Moody, etc.


Last edited by Guest on 22 Oct 2009 01:54:01 am; edited 1 time in total
Back to top
Galandros


Active Member


Joined: 29 Aug 2008
Posts: 565

Posted: 22 Oct 2009 08:55:22 am    Post subject:

I got Tilp2 installed on Ubuntu and running. I had to be a little reckless and copy all the svn, manually install some packages and run the helper provided.

The helper alone didn't install even with all packages. It actually managed to install gfm and tilp that I didn't. It complained about Gt headers and/or KDE headers... I installed those packages but it was persistent.

Basically Tilp2 works with 3 hours wasted. The hard part is done...
Back to top
Lionel Debroux


Member


Joined: 01 Aug 2009
Posts: 170

Posted: 22 Oct 2009 10:21:42 am    Post subject:

Thanks a lot for getting through all this :)

The helper doesn't help with the dependencies part, because mostly every distro has its own packaging system, so it's basically impossible to tackle the problem in a small helper script...
The complaint is unlikely to have been because of the KDE devel dependencies, because the latest version of the helper passes --without-kde to configure everywhere appliable (precisely so as not to clutter the environment of Gnome users).


Last edited by Guest on 22 Oct 2009 10:22:12 am; edited 1 time in total
Back to top
simplethinker
snjwffl


Active Member


Joined: 25 Jul 2006
Posts: 700

Posted: 22 Oct 2009 12:57:05 pm    Post subject:

Galandros wrote:
The helper alone didn't install even with all packages. It actually managed to install gfm and tilp that I didn't. It complained about Gt headers and/or KDE headers... I installed those packages but it was persistent.

As Lionel said, the problem shouldn't be with the KDE dependencies. I used the old helper (without the "--without-KDE") and it installed everything except TiLP and GFM, which is the opposite of your problem.
Back to top
Galandros


Active Member


Joined: 29 Aug 2008
Posts: 565

Posted: 02 Nov 2009 02:40:48 pm    Post subject:

Sending/Receving with Tilp on Ubuntu 9.04:
- Copying functions vars like Y1, Y2, Y3 give this error:
Msg: can not delete var/app from archive.
- The progress bar and average speed don't work
- Randomly freezes my calc until I disconnect and reconnect when I try to send/receive stuff (not sure when happens but seems to be in the beginning or end of communication) (sometimes purely random, others when a large receiving operation is under course...)
Msg: error occurred while writing to the device.
System: File or directory not exist (error = 2)
- I was able to receive up to 55 variables (then gave a error and freezes my calc until re-plug) (increasing time out and waiting time didn't help) (I believe the error occurs when trying to receive a lot of kbs and not number of variables)
- Groups name's extension is .8x? instead of .8xg
- I need root privileges to run the usb link
- I cannot receive hacked pics with xlib (it says invalid name)
- Minor problem with Lists like this one :"{A,B->L4
- Some functions had a strange value (a symbol with hex symbols)
- While cancelling a receiving, tilp closed
- Why it doesn't sort the files by type, name, attribute, etc.?
- error in tilp while deleting multiple variables (?)


TI-Connect with tilp stuff:
- TIlp output some broken files (Windows hates them and I can't even delete it...)
- Matrixes acuse invalid name
- Lists may have wrong name
- GDB's are strange... in groups?
- Real vars are OK
- Prgms OK
- Prgms with theta on name give error with TI-Connect
- APPS seem OK

Summary: a not recommended version for use because of some serious broken received files...
Back to top
Lionel Debroux


Member


Joined: 01 Aug 2009
Posts: 170

Posted: 04 Nov 2009 08:15:48 am    Post subject:

Gaah, I think I came to this board on November 2nd, but too early in the day to see your reply...
[EDIT: I have subscribed myself to track this topic.]

Quote:
Sending/Receving with Tilp on Ubuntu 9.04:

Well, which TILP version ? Wink
Are you talking about the one compiled with the script I provided (which should have been installed in your home directory, but is used only if $HOME/bin is in your PATH, as described in the script itself) ?

Quote:
- The progress bar and average speed don't work

They don't work _at all_, you mean ?
The average speed has always been garbage on small files, up to several hundreds of bytes, and it's hard to do better, I think. On files whose transfer lasts at least several hundreds of milliseconds, both progress bar and average speed work properly for my 89 and 89T, though.

Quote:
- I was able to receive up to 55 variables (then gave a error and freezes my calc until re-plug) (increasing time out and waiting time didn't help) (I believe the error occurs when trying to receive a lot of kbs and not number of variables)

That might be caused by the same problem as the one reported by snjwffl.

Quote:
- Groups name's extension is .8x? instead of .8xg

You mean that TILP created a ".8x?" file ?

Quote:
- I need root privileges to run the usb link

It's possible to configure the computer so that regular users can also use the USB link (SilverLink, I assume - there's also the DirectLink, but that one works for me as regular user, and I never configured the computer specially myself), as documented in the libticables README (or INSTALL). But in your case, there are more problems with TILP than just having to run it as root :(

Quote:
- I cannot receive hacked pics with xlib (it says invalid name)

Well, what makes those different ? Remember, I'm completely illiterate with TI-Z80 calculators.

Quote:
- While cancelling a receiving, tilp closed

Smells like a crash...


Quote:
Summary: a not recommended version for use because of some serious broken received files...

I have to concur. However, as I wrote several weeks ago in this topic, we libti*/TILP maintainers are not completely at fault: we're mainly TI-68k guys, and AFAICS, those bugs weren't reported to us through a channel we can easily find them on (and track them) Wink


Last edited by Guest on 04 Nov 2009 08:20:56 am; edited 1 time in total
Back to top
Lionel Debroux


Member


Joined: 01 Aug 2009
Posts: 170

Posted: 14 Nov 2009 12:54:18 pm    Post subject:

OK, now I've got both a TI-83+ SE and a Windows 7 x64 (for TI-Connect), so testing and fixing things is going to be easier ;)

AFAICS, the fix for swapped "archived" and "version" bytes I posted above, and checked by Benjamin, is correct.
It is far from being enough to make TI-Connect happy with group files received by TILP, though: I can see checksum errors for some files, and different names for the variables that have special characters in them (list and picture variables are among them, which may explain the problems with them). The special characters have been converted to pretty form by TILP (TI-Connect doesn't even attempt to do that), because I can see files named L₅.8Xl, Pic₁.8Xi, Espaņol.8Xk (well, at least under Linux - I haven't yet compiled libti*/TILP under MinGW in Vista) after ungrouping the stuff - but perhaps they aren't converted back to a form the calculator likes.
Back to top
Lionel Debroux


Member


Joined: 01 Aug 2009
Posts: 170

Posted: 14 Nov 2009 04:53:27 pm    Post subject:

Below is the patch that fixes two problems with TI-Z80 files. After applying this, TI-Connect is much happier with TILP-received group files (fewer "Incompatible type" variables) Smile
For some reason, TI-Connect still doesn't like L1-L6 and Pic* within a group file transferred by TILP (it says "Incompatible type") - whereas TI-Connect has no problem recognizing and sending back these same files, if they were individually received by TILP (the relevant portion of these files perfectly matches between TILP and TI-Connect, anyway). Sigh.

This patch was generated with git, so it must be applied with `patch -p1 < ...`.

Code:
From 9b8b3f5ae317283f227a55d28326eccfc845afb7 Mon Sep 17 00:00:00 2001
From: debrouxl <lionel_debroux@yahoo.fr>
Date: Sat, 14 Nov 2009 22:50:18 +0100
Subject: libtifiles: multiple fixes for TI-83+ family files.
    1) ti8x_file_write_regular: the "archived" and "version" bytes used to be swapped, compared to what TI-Connect does;
    2) ti8x_file_read_regular: gracefully handle files created by older libtifiles;
    3) ti8x_file_write_regular: the "archived" and "version" bytes need to be part of the checksum as well (makes TI-Connect happier with archived files received by TILP).
 1 and 2 reported by DJ_Omnimaga & snjwffl, analyzed by snjwffl, fixed (modified after a note of Benjamin Moody about non-zero version bytes) and tested by Lionel Debroux. 3 by Lionel Debroux.

---
 libtifiles/trunk/src/files8x.c |   27 +++++++++++++++++++++++----
 1 files changed, 23 insertions(+), 4 deletions(-)

diff --git a/libtifiles/trunk/src/files8x.c b/libtifiles/trunk/src/files8x.c
index a33ba4f..f7e5344 100644
--- a/libtifiles/trunk/src/files8x.c
+++ b/libtifiles/trunk/src/files8x.c
@@ -217,9 +217,19 @@ int ti8x_file_read_regular(const char *filename, Ti8xRegular *content)
          sum += fgetc(f);
    }
    if (ti83p_flag)
-   {
-     entry->attr = (fgetc(f) == 0x80 ? ATTRB_ARCHIVED : ATTRB_NONE);
-     if(fgetc(f) == EOF) goto tfrr;
+   {
+     uint16_t attribute;
+     if(fread_word(f, &attribute) < 0) goto tfrr;
+     // Handle both the files created by TI-Connect and the files created by
+     // some broken versions of libtifiles.
+     if (((attribute & 0x8000) == 0x8000) || ((attribute & 0x80) == 0x80))
+     {
+      entry->attr = ATTRB_ARCHIVED;
+     }
+     else
+     {
+      entry->attr = ATTRB_NONE;
+     }
    }
    if(fread_word(f, NULL) < 0) goto tfrr;
 
@@ -552,6 +562,7 @@ int ti8x_file_write_regular(const char *fname, Ti8xRegular *content, char **real
   uint32_t data_length;
   uint16_t packet_length = 0x0B;
   uint8_t name_length = 8;
+  uint16_t attr;
 
   if (fname != NULL)
   {
@@ -643,8 +654,12 @@ int ti8x_file_write_regular(const char *fname, Ti8xRegular *content, char **real
    }
    else
       if(fwrite_n_chars(f, 8, varname) < 0) goto tfwr;
+   // XXX non-zero version byte not handled (noted by Benjamin Moody).
    if (is_ti83p(content->model))
-     if(fwrite_word(f, (uint16_t)((entry->attr == ATTRB_ARCHIVED) ? 0x80 : 0x00)) < 0) goto tfwr;
+   {      
+     attr = (uint16_t)((entry->attr == ATTRB_ARCHIVED) ? 0x8000 : 0x00);
+     if(fwrite_word(f, attr) < 0) goto tfwr;
+   }
    if(fwrite_word(f, (uint16_t)entry->size) < 0) goto tfwr;
    if(fwrite(entry->data, 1, entry->size, f) < 0) goto tfwr;
 
@@ -660,6 +675,10 @@ int ti8x_file_write_regular(const char *fname, Ti8xRegular *content, char **real
    sum += MSB(entry->size);
    sum += LSB(entry->size);
    sum += tifiles_checksum(entry->data, entry->size);
+   if (is_ti83p(content->model))
+   {
+     sum += tifiles_checksum((uint8_t *)&attr, sizeof(attr));
+   }
   }
 
   //checksum is the sum of all bytes in the data section
--
1.6.5.2.155.gbb47
Back to top
Galandros


Active Member


Joined: 29 Aug 2008
Posts: 565

Posted: 15 Nov 2009 12:50:22 pm    Post subject:

Quote:
Well, which TILP version ? Wink
Are you talking about the one compiled with the script I provided (which should have been installed in your home directory, but is used only if $HOME/bin is in your PATH, as described in the script itself) ?

The version from the svn... er I think I tried the script in other folder...

Quote:
They don't work _at all_, you mean ?
The average speed has always been garbage on small files, up to several hundreds of bytes, and it's hard to do better, I think. On files whose transfer lasts at least several hundreds of milliseconds, both progress bar and average speed work properly for my 89 and 89T, though.

It appears a box but it shows as it is always 0% progress.

Quote:
You mean that TILP created a ".8x?" file ?

Yep, example: group.8x?

Quote:
Well, what makes those different ? Remember, I'm completely illiterate with TI-Z80 calculators.

How to explain, normally pics number ranges from 1 to 10 in TI-OS. You basically have to Tilp accept values from 1-255. I think that it is it.
As side effect the name oncalc of the pic is some strange token. About hacked pics there are some xlib expert guys that know more.
This would be a nice feature for TI-BASIC developers that rely on well known xLib. But we have some tricks with TI-connect like grouping them or some asm utilities that pack the pics in appsvars and such.

Quote:
Smells like a crash...

I think the cooling of the pc is ok. *lol*

Quote:
I have to concur. However, as I wrote several weeks ago in this topic, we libti*/TILP maintainers are not completely at fault: we're mainly TI-68k guys, and AFAICS, those bugs weren't reported to us through a channel we can easily find them on (and track them) Wink

I can contact in other ways, just give some guide, please.

Sorry the late but I was too lazy to try the script on Linux again.
Back to top
Display posts from previous:   
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
    » Goto page Previous  1, 2
» View previous topic :: View next topic  
Page 2 of 2 » All times are UTC - 5 Hours

 

Advertisement