Author Topic: TILP: beta-testing...  (Read 56786 times)

0 Members and 1 Guest are viewing this topic.

Offline bwang

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 634
  • Rating: +30/-11
    • View Profile
Re: TILP: beta-testing...
« Reply #60 on: July 24, 2010, 03:19:21 am »
The file changes size when VBA uses it. Maybe that causes troubles?

Offline Lionel Debroux

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2135
  • Rating: +290/-45
    • View Profile
    • TI-Chess Team
Re: TILP: beta-testing...
« Reply #61 on: July 24, 2010, 05:06:15 am »
I don't know. AFAIK, the file's size isn't stored within the file itself.
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TILP and TIEmu.
Co-admin of TI-Planet.

Offline Lionel Debroux

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2135
  • Rating: +290/-45
    • View Profile
    • TI-Chess Team
Re: TILP: beta-testing...
« Reply #62 on: August 29, 2010, 09:26:05 am »
I have uploaded a new beta-testing build for TILP :)

Highlights since the release of TILP II 1.14 in April:
  • significant improvements to Nspire support (but wrinkles remain...): new variable deletion & folder creation capabilities, OS 2.x support (TILP II <= 1.14 doesn't work at all with those versions because TI broke something that worked with all other TI USB devices including Nspire OS 1.x), calculator ID retrieval fixed, and the brand-new capability: Nspire OS 1.x (but not 2.x) dumping,
    without having to install Ndless
    ;
  • UI improvements by TheStorm / Jonimus, among which are the addition of a menu at the top of the application, and the greater use of stock icons;
  • other misc. fixes: 86 ROM dumping, dozens of compiler warnings / memory leaks / unclosed files, several user-visible crasher bugs in TILP and GFM, small updates to autotools stuff for wider compatibility.
Download link for the recompiled Windows installer: http://lpg.ticalc.org/prj_tilp/beta/setup.exe .
Enjoy :)


Todo/wish list before a release, as time permits:
  • fixing sending Pic / GDB / Str variables to a 84+ through DirectLink (that it does not currently work is a consequence of TI breaking backwards compatibility);
  • updating desktop and mime types definitions would be great;
  • fixing several known wrinkles, e.g. a couple reported in this very topic (latest posts by Tribal and bwang).
« Last Edit: August 30, 2010, 04:10:31 am by Lionel Debroux »
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TILP and TIEmu.
Co-admin of TI-Planet.

Offline DJ Omnimaga

  • Former TI programmer
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55872
  • Rating: +3151/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: TILP: beta-testing...
« Reply #63 on: August 30, 2010, 12:20:21 am »
Nice to see more progress. I think I'll load this on my old computer when I get around  to turn it ON again. (if it still works :P)

Offline Lionel Debroux

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2135
  • Rating: +290/-45
    • View Profile
    • TI-Chess Team
Re: TILP: beta-testing...
« Reply #64 on: August 30, 2010, 04:07:03 am »
Tribal and bwang, could you please post your bugs on the TILP tracker, https://sourceforge.net/projects/tilp/ ?
To be honest, before re-reading about it yesterday before posting, I had forgotten about the bug reported by Tribal... which is harder to do if the bug is visible on the tracker :)
Thanks in advance ;)
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TILP and TIEmu.
Co-admin of TI-Planet.

Offline bwang

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 634
  • Rating: +30/-11
    • View Profile
Re: TILP: beta-testing...
« Reply #65 on: August 30, 2010, 11:37:22 am »
Added! :D

Offline Lionel Debroux

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2135
  • Rating: +290/-45
    • View Profile
    • TI-Chess Team
Re: TILP: beta-testing...
« Reply #66 on: August 30, 2010, 11:38:43 am »
Thanks :)

EDIT1: I'm completely at loss about the reasons why the calculator refuses this particular file (even if renamed to let only one dot in the filename), while it accepts just fine e.g. a 1.3 MB TI-68k OS file (renamed to have a .tns extension, with or without multiple dots in the filename) !

EDIT2, 10 minutes later: this file is 32812 bytes, and it won't transfer. If I make it 32813 bytes, it transfers. If I make it 32811 bytes, it transfers. Very interesting.

EDIT3, 5 minutes later: the same behaviour happens with files containing all zeros: 32811 and 32813 bytes work, 32812 bytes doesn't work. Therefore, it seems that TILP (the underlying libraries, actually) somehow doesn't like this particular size. Now to find the periodicity of the size problem, if any.

EDIT4, more than half an hour later:
  • files of 32554-32558 and 32560 bytes work, 32559 bytes doesn't work. 32812-32559=253=maximum size of a packet-1. 32559-253=32306 bytes doesn't work either.
  • 32812 mod 253 = 175. Files of 174, 176, 427 and 429 bytes work, while files of 175 bytes and 428 bytes don't work.
So there's a problem with files whose size modulo 253 is 175. And I don't know why yet.
« Last Edit: August 30, 2010, 02:18:51 pm by Lionel Debroux »
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TILP and TIEmu.
Co-admin of TI-Planet.

Offline DJ Omnimaga

  • Former TI programmer
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55872
  • Rating: +3151/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: TILP: beta-testing...
« Reply #67 on: August 30, 2010, 02:17:49 pm »
Wow, that's strange :O

Offline bwang

  • LV7 Elite (Next: 700)
  • *******
  • Posts: 634
  • Rating: +30/-11
    • View Profile
Re: TILP: beta-testing...
« Reply #68 on: August 30, 2010, 05:54:12 pm »
Thanks :)

EDIT1: I'm completely at loss about the reasons why the calculator refuses this particular file (even if renamed to let only one dot in the filename), while it accepts just fine e.g. a 1.3 MB TI-68k OS file (renamed to have a .tns extension, with or without multiple dots in the filename) !

EDIT2, 10 minutes later: this file is 32812 bytes, and it won't transfer. If I make it 32813 bytes, it transfers. If I make it 32811 bytes, it transfers. Very interesting.

EDIT3, 5 minutes later: the same behaviour happens with files containing all zeros: 32811 and 32813 bytes work, 32812 bytes doesn't work. Therefore, it seems that TILP (the underlying libraries, actually) somehow doesn't like this particular size. Now to find the periodicity of the size problem, if any.

EDIT4, more than half an hour later:
  • files of 32554-32558 and 32560 bytes work, 32559 bytes doesn't work. 32812-32559=253=maximum size of a packet-1. 32559-253=32306 bytes doesn't work either.
  • 32812 mod 253 = 175. Files of 174, 176, 427 and 429 bytes work, while files of 175 bytes and 428 bytes don't work.
So there's a problem with files whose size modulo 253 is 175. And I don't know why yet.
Wow, that is pretty obscure bug :O You are a pretty pro bug finder :D

Offline apcalc

  • The Game
  • CoT Emeritus
  • LV10 31337 u53r (Next: 2000)
  • *
  • Posts: 1393
  • Rating: +120/-2
  • VGhlIEdhbWUh (Base 64 :))
    • View Profile
Re: TILP: beta-testing...
« Reply #69 on: August 30, 2010, 06:01:43 pm »
Woah!  How long did it take you to track that bug down!  It would have probably taken me a year to recognize that exact pattern for the bug! :)


Offline Lionel Debroux

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2135
  • Rating: +290/-45
    • View Profile
    • TI-Chess Team
Re: TILP: beta-testing...
« Reply #70 on: August 31, 2010, 01:55:38 am »
It took me a bit more than an hour, as noted in my previous post ;)

I almost immediately had the (correct) intuitions (both logical consequences, to me, of facts I know) that:
  • the problem is related to the file's size, not its contents. It's mainly because I know that the file's size is not stored into the file itself on Nspires (it is on TI-68k/AMS) and that almost arbitrary binary files can be successfully sent to the calculator;
  • only a small subset of the possible sizes exhibits the problem. This is because, AFAICT, there have been no prior reports of "this file will not transfer to the calculator with TILP" - it would seem logical to have had more such reports over the years if many files were affected.
The first intuition was shortly confirmed by testing (sending several random files to the calculator and sending the file after slight modifications, see edit 1 and 2).
It took longer for the second intuition to be confirmed by testing as well. I didn't generate files of all sizes and try to send them, I just tried - and happened to succeed, but I would have failed if the problem had a different periodicity, so in a way, I was lucky - to find the pattern by making files that are about 1, and then 2, 254-byte (1 control + 253 data bytes) packets shorter. Since the problem seemed to repeat itself with a periodicity of 153, I computed 32812 mod 253, yielding 175. That's what I described in edits 3 and 4.


EDIT 1: fiddling with the maximum packet size (e.g. from 254 to 253) shows that the problem is with 176-byte (1 control + 175 data) packets. I'm now probably going to generate all sizes from 0 to, say, 768 bytes, and transfer all these files to the calculator.

EDIT 2: OK, so there's a problem with file sizes 47 (0x2F), 111 (0x6F), 175 (0xAF), 239 (0xEF), 300 (47 + 253), 364 (111 + 253), 428 (175 + 253), 492 (239 + 253), 553 (47 + 2*253). That looks like a pretty clear pattern to me.
TODO: see what packets transit between TINCLS and the Nspire when performing the same transfers.
« Last Edit: August 31, 2010, 03:13:34 am by Lionel Debroux »
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TILP and TIEmu.
Co-admin of TI-Planet.

Offline DJ Omnimaga

  • Former TI programmer
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55872
  • Rating: +3151/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: TILP: beta-testing...
« Reply #71 on: August 31, 2010, 03:47:25 am »
Darn, transfer protocols seems a bit weird, but it might just be because I am not experienced with hardware and computer programming x.x

Offline JonimusPrime

  • LV6 Super Member (Next: 500)
  • ******
  • Posts: 389
  • Rating: +25/-5
    • View Profile
    • Jonimoose.net
Re: TILP: beta-testing...
« Reply #72 on: October 03, 2010, 04:57:34 pm »
Cross posted from cemetech.

OMFG!!! Lionel Debroux it is time for all Windows users of TiLP to rejoice for 2 reasons.

1)libusb-win32 is now WHQL signed so we are now 64bit safe. We just need to update the version of libusb-win32 we package to include this.

2)The filter driver does indeed allow our driver and Ti-Connect to be installed at the same time with no uninstalling of drivers. All that is required is that one add all the device to the filter list and it "Just Works". I would suggest we add an option to the installer to use this route in place of the normal libusb driver.

All this info can be found on the libusb-win32 wiki.

"Always code as if the person who will maintain your code is a maniac serial killer that knows where you live" -Unknown

"If you've done something right no one will know that you've done anything at all" -Futurama

"Have a nice day, or not, the choice is yours." Tom Steiner

Offline DJ Omnimaga

  • Former TI programmer
  • CoT Emeritus
  • LV15 Omnimagician (Next: --)
  • *
  • Posts: 55872
  • Rating: +3151/-232
  • CodeWalrus founder & retired Omnimaga founder
    • View Profile
    • DJ Omnimaga Music
Re: TILP: beta-testing...
« Reply #73 on: October 04, 2010, 12:02:22 am »
Wow awesome! I've been awaiting for this day for so long and I am sure a lot of 64 bit Windows users will be happy as well. Hopefully on ticalc.org releases you can make the process of installing TiLP user-friendly (not requiring the user to compile the source himself to create the binaries, for example) and maybe it will convince people to switch from TI-Connect. 64 bit issues with TiLP were why I stuck with TI-Connect.

Offline Lionel Debroux

  • LV11 Super Veteran (Next: 3000)
  • ***********
  • Posts: 2135
  • Rating: +290/-45
    • View Profile
    • TI-Chess Team
Re: TILP: beta-testing...
« Reply #74 on: October 04, 2010, 01:23:17 am »
Indeed, it's great news that there is now a signed version of libusb-win32 :)

From what I can gather from the libusb-win32 website, libusb-win32 is still tracking the libusb 0.1.x API... That is going to help, because, as you know, libusb 1.x is not yet supported at all by libticables (though it needs to be at some point), not even through the compatibility layer for libusb 0.1.x (since libticables is using implementation-dependent details of the internal libusb structures, to access asynchronous functions that were not directly usable).

In the upgrade process, we "just" need to take care of retaining the little idiosyncrasies made necessary by TI's buggy devices (e.g. a different reset sequence for the Nspire)...
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TILP and TIEmu.
Co-admin of TI-Planet.