* WalrusIRC

You need to have 5 posts and not be part of restricted usergroups in order to use the WalrusIRC embedded shoutbox. However, you can also access our IRC channel called #CodeWalrus via EFnet.

Author Topic: Integrate a TI Device driver in a Windows 10 universal app C#  (Read 4983 times)

0 Members and 1 Guest are viewing this topic.

Offline Ephraim Becker

  • Full User
  • Join Date: Mar 2015
  • Location: Far Rockaway, NY
  • Posts: 118
  • Post Rating Ratio: +0/-4
    • @UCIHxAXYLxYlNaQiv0do0bUg
    • EphraimB
    • 112/11290
  • Gender: Male
How do I integrate TI's device driver into a Windows 10 universal app?


  • Calculators owned: TI 84 Plus, TI 84 Plus C Silver Edition, TI 84 Plus CE, Casio FX-9750 GII
I have Aspergers Syndrome

Offline xlibman

  • Omni founder & CW co-founder
  • Super User
  • Original 5
  • CodeWalrus Supporter
  • *
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 18870
  • Post Rating Ratio: +99/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • DJ Omnimaga music store
  • Gender: Male
I don't think it's possible, considering Windows 10 hasn't even been released yet. Also, it will probably take a very long while before anything TI-driver-related becomes possible on Windows 10, considering people can barely even get TI drivers to work under Windows 8.
« Last Edit: May 09, 2015, 04:57:22 am by DJ Omnimaga »
  • Calculators owned: TI-57, 73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)

Offline Snektron

  • Lvl 69 Russian Snake
  • Super User
  • Join Date: Dec 2014
  • Location: Netherlands
  • Posts: 3165
  • Post Rating Ratio: +32/-0
  • SSSssssss.....
    • RobinDeWalvis
    • Kzyrox
    • RobinDeWalvis
    • quantuminfinity
  • Gender: Male
You can use your own driver, though you'd need to uninstall TI's driver
  • Calculators owned: TI-84+
Legends say if you spam more than DJ Omnimaga, you will become a walrus...


Offline Lionel Debroux

  • Full User
  • Join Date: Jan 2015
  • Location:
  • Posts: 230
  • Post Rating Ratio: +11/-0
    • debrouxl
    • 58/5891
Quote
How do I integrate TI's device driver into a Windows 10 universal app?
You don't, for at least two obvious reasons:
* a permanent one: licensing/copyright;
* a potentially transient reason: platform support. That is, for now, TI's drivers do not support all of the platforms which could be targeted by an universal app.

Quote
You can use your own driver, though you'd need to uninstall TI's driver
Not necessarily, as shown by libticables' drivers based on libusb: libticables' drivers and TI's drivers can work side by side if the user performs manual installation of the libusb-win32 filter driver for the targeted devices ;)
I downloaded the very first Windows 10 developer preview, and successfully checked TILP's operation on that version. I just hope the final version will behave the same (that is, it won't be even more obnoxious wrt. driver requirements).
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TIEmu and TILP.
Co-admin of TI-Planet.

Offline Ephraim Becker

  • Full User
  • Join Date: Mar 2015
  • Location: Far Rockaway, NY
  • Posts: 118
  • Post Rating Ratio: +0/-4
    • @UCIHxAXYLxYlNaQiv0do0bUg
    • EphraimB
    • 112/11290
  • Gender: Male
Quote
How do I integrate TI's device driver into a Windows 10 universal app?
You don't, for at least two obvious reasons:
* a permanent one: licensing/copyright;
* a potentially transient reason: platform support. That is, for now, TI's drivers do not support all of the platforms which could be targeted by an universal app.

Then how was TILP possible to make?
  • Calculators owned: TI 84 Plus, TI 84 Plus C Silver Edition, TI 84 Plus CE, Casio FX-9750 GII
I have Aspergers Syndrome

Offline Streetwalrus

  • Professional slacker
  • Super User
  • Original 5
  • Join Date: Nov 2014
  • Location: Israel
  • Posts: 2903
  • Post Rating Ratio: +20/-0
  • ƎW∀⅁ ƎH⊥
  • Gender: Male
By reverse engineering the protocol used by the calcs. It's far from being an easy task though.
  • Calculators owned: TI-80, HP 40G, TI-84 Plus rev G (yay 128k RAM), TI-83 Plus Silver Edition (broken LCD), TI-82 Stats.fr (black), TI-Nspire CX rev C (yay Nlaunchy), TI-83+ SE ViewScreen



Offline xlibman

  • Omni founder & CW co-founder
  • Super User
  • Original 5
  • CodeWalrus Supporter
  • *
  • Join Date: Nov 2014
  • Location: Quebec, Canada
  • Posts: 18870
  • Post Rating Ratio: +99/-4
    • dj_omnimaga
    • DJOmnimaga.music
    • @DJOmnimaga
    • dj_omnimaga
    • @DJOmnimaga
    • /u/DJ_Omnimaga
    • DJOmnimaga
    • 112/11286
    • @djomnimaga
    • @DJOmnimaga
    • DJ Omnimaga music store
  • Gender: Male
TiLP was also maintained by very skilled programmers with years of experience beforehand.
  • Calculators owned: TI-57, 73, TI-80 (broken), TI-81, TI-82, TI-83, TI-83+ (broken), TI-83+ (broken), TI-83+SE (broken), TI-84+, TI-84+CSE, TI-84+CE, TI-85, TI-86, TI-89T, TI-92, TI-Nspire, TI-Nspire CX (semi-broken), HP 39gII, HP Prime, Casio fx-7000G, fx-7400G+, fx-7700GE, fx-9750G+, fx-9750GII, fx-9860G, cfx-9850G, FX-1.0+, fx-CG10, fx-CP400
  • Consoles, mobile devices and vintage computers owned: Samsung i5510, Nexus 5, Atari 2600, Lynx, SMS, Game Gear, Genesis, Dreamcast, NES, SNES, N64, GCN, Wii, Wii U, GBA, DS, 3DS, PS2, PS3, PS4, PSP, PSVita, XBox 360, XBOne

Bandcamp|Reverbnation|Facebook|Youtube|Twitter
Retired Omnimaga admin (2001-11) and editor (2012-14)

Offline Streetwalrus

  • Professional slacker
  • Super User
  • Original 5
  • Join Date: Nov 2014
  • Location: Israel
  • Posts: 2903
  • Post Rating Ratio: +20/-0
  • ƎW∀⅁ ƎH⊥
  • Gender: Male
And it still is thanks to Lionel (although dev has slowed down a lot as of lately apparently, it works much better than TI connect for me).
  • Calculators owned: TI-80, HP 40G, TI-84 Plus rev G (yay 128k RAM), TI-83 Plus Silver Edition (broken LCD), TI-82 Stats.fr (black), TI-Nspire CX rev C (yay Nlaunchy), TI-83+ SE ViewScreen



Offline Lionel Debroux

  • Full User
  • Join Date: Jan 2015
  • Location:
  • Posts: 230
  • Post Rating Ratio: +11/-0
    • debrouxl
    • 58/5891
Quote
Then how was TILP possible to make?
Given that the official driver is not a valid option, for licensing and functionality reasons, then things were made differently.
Namely, by using specific third-party drivers (as strongly hinted by my previous message). The specifics of those drivers have varied over time, and for USB devices, settled to libusb before I became the maintainer in 2009.
I contributed a patch to upstream libusb-win32, so that it provides a built-in way to handle buggy devices (read: devices which don't respect the USB standards), such as some TI graphing calculator models handled by libticables. Previously, these devices' peculiarities were handled through an unsigned fork of the libusb-win32 driver. The fact that the signed libusb-win32 driver could fulfill the purpose, after my patch, is what solved the driver issues for USB cables on 64-bit Windows 7 in TILP II 1.16. Then, Microsoft found it smart to annoy driver developers even more, in Windows 8/10, where having a signed driver binary is no longer enough, the CAT files also need to be signed. Another manual step based on Zadig, left to the user...

Quote
By reverse engineering the protocol used by the calcs. It's far from being an easy task though.
Yeah, reverse-engineering both the cable and calculator protocols. TI EdTech does not provide official documentation about these protocols, but does obviously not attempt to prevent people from documenting them and making programs for platforms they don't want to support. In fact, they help the process a bit, by providing some cables and calculators to the developer of the libti*/gfm/tilp stack, formerly Romain Liévin and nowadays myself, at no cost.
I bought only 5 TI graphing calculators out of the ~25 I have. I don't have every single model: for instance, I have neither 92+, nor V200. 15 were picked up from Romain Liévin, a number of those were given to him by TI. My CX CAS and 84+CSE were given to me by TI, pending other models.

Quote
TiLP was also maintained by very skilled programmers with years of experience beforehand.
I know you probably didn't imply that it no longer is, and Streetwalrus beat me to stating that it still is, indeed :)
As a number of other old-timers of the calculator communities (this also occurs in the HP community), I started programming on a regular basis on (in fact, for) calculators, and became a professional software developer.

Quote
(although dev has slowed down a lot as of lately apparently, it works much better than TI connect for me).
After a burst of activity leading to the release of TILP II 1.17 in March 2013, development slowed down somewhat indeed, though there were always bursts of activity every few months, if you look at the commit history. That was largely due to my day job, especially from October - November 2013.
However, development picked back up a lot since December 2014, with several major new features, especially improved 84+CSE support by Benjamin Moody, a new USB probing API by Benjamin as well, 83PCE/84+CE(-T) support (nearly complete, ROM dumping is pretty much the only missing feature) and 82A support (that calculator model sucks), both mostly by myself. Of course, besides hundreds of bugfixes, 99% of them invisible and fixing more or less minor bugs, which usually don't happen / are not an annoyance (e.g. memory leaks) under normal conditions, otherwise they'd have been reported and fixed a long time ago. The libti*/gfm/tilp code base is just like most code bases: it works well, but it's full of bugs (well, less so nowadays).
The TILP beta-testing topics are on TI-Planet and Cemetech.
« Last Edit: May 10, 2015, 08:50:20 am by Lionel Debroux »
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TIEmu and TILP.
Co-admin of TI-Planet.

Offline Unicorn

  • ??? ??? ??? ??? ???
  • Super User
  • CW Contest II - 2nd place
  • *
  • Join Date: Jan 2015
  • Location: ??? ??? ??? ??? ???
  • Posts: 2825
  • Post Rating Ratio: +5/-2
  • make :PICKACHUP: a thing!
    • Unicorn808
    • 114/11432
    • ??? ??? ??? ??? ???
  • Gender: Male
Waaaait. TI gave you calculators for making a competitor of their software? O.O
  • Calculators owned: I own all of them: PICKACHUP TI 84+ CSE TI 83+ SE TI something something ??? ??? ??? ??? ???
  • Consoles, mobile devices and vintage computers owned: PICKACHUP ??? ??? ??? ??? ???



??? ??? ??? ??? ???

Offline Streetwalrus

  • Professional slacker
  • Super User
  • Original 5
  • Join Date: Nov 2014
  • Location: Israel
  • Posts: 2903
  • Post Rating Ratio: +20/-0
  • ƎW∀⅁ ƎH⊥
  • Gender: Male
Wow that's good to know. I'll try out the latest dev version when I have time. The one thing that still needs improvement is Nspire support tho. Linking works fine but you can't access the whole fs.
  • Calculators owned: TI-80, HP 40G, TI-84 Plus rev G (yay 128k RAM), TI-83 Plus Silver Edition (broken LCD), TI-82 Stats.fr (black), TI-Nspire CX rev C (yay Nlaunchy), TI-83+ SE ViewScreen



Offline Lionel Debroux

  • Full User
  • Join Date: Jan 2015
  • Location:
  • Posts: 230
  • Post Rating Ratio: +11/-0
    • debrouxl
    • 58/5891
Quote
Waaaait. TI gave you calculators for making a competitor of their software? O.O
Yes, TI EdTech did give calculators to Romain, and does it for me.
libti*/gfm/tilp is effectively complementary to TI-Connect / TI-Connect CE / TI-Nspire Computer (Link) Software: it works on Linux across many ISAs, to begin with, whereas they don't target anything but Windows and MacOS X (which libti*/gfm/tilp target as well, of course). I very much doubt TI considers libti*/gfm/tilp as any kind of serious competitor to their offerings (and even if they were... it means that they have to improve their products !).
Providing hardware to one third-party developer at a time costs them several dozens of dollars (production cost) divided by number of models (less than one on average) per year. The fact that there's a set of programs (developed by people who are doing it for no fee, during their spare time) which can communicate with TI graphing calculators on platforms they don't target (and also platforms they target) gains them far, far more than several dozens of dollars per year :)

HP has a different approach to helping third-party developers: more information, less free hardware. But HP is helping third-party developers nevertheless, because it makes perfect business sense.

Quote
The one thing that still needs improvement is Nspire support tho.
Not just that :)
The todo/wish/bug list is far more lengthy than that. Its contents are not a secret, several important items have been posted here and there over time. It's privately distributed to several persons who act on it, but not public (at least for now), because it's large and presented in an unattractive way (a 30+ KB plain text file containing verbatim excerpts from private e-mails; yes, done items are being trimmed once in a while), and changes often.

Quote
Linking works fine but you can't access the whole fs.
* support for > 1 level of folders was recently refreshed to HEAD, improved, then added to the experimental branch in the tilibs repository (currently the first commit of that branch), but it's not readily accessible to most users until I work again on the TILP UI part of the change at some point, which is the reason why 1) it remains on the experimental branch and 2) I don't communicate much about it.
* accessing files at the root of the documents hierarchy isn't done, but users seldom do that;
* accessing files outside the documents hierarchy is not allowed by the calculator-side implementation of the commands. Not any longer, that is; OS 1.x made it possible to dump the OS through a dumb directory traversal flaw.
« Last Edit: May 10, 2015, 08:37:21 am by Lionel Debroux »
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TIEmu and TILP.
Co-admin of TI-Planet.

Offline Streetwalrus

  • Professional slacker
  • Super User
  • Original 5
  • Join Date: Nov 2014
  • Location: Israel
  • Posts: 2903
  • Post Rating Ratio: +20/-0
  • ƎW∀⅁ ƎH⊥
  • Gender: Male
Hmmm, I was just mentioning what I personally encountered. :P Having access to the root of documents would still be sort of useful, also setting the target directory from the command line (I use tilp in scripts, especially for ndless projects).

Also maybe this conversation should be split. *prods Eiyeron*
  • Calculators owned: TI-80, HP 40G, TI-84 Plus rev G (yay 128k RAM), TI-83 Plus Silver Edition (broken LCD), TI-82 Stats.fr (black), TI-Nspire CX rev C (yay Nlaunchy), TI-83+ SE ViewScreen



Offline Lionel Debroux

  • Full User
  • Join Date: Jan 2015
  • Location:
  • Posts: 230
  • Post Rating Ratio: +11/-0
    • debrouxl
    • 58/5891
Quote
Having access to the root of documents would still be sort of useful,
When I implement support for > 1 level of folders in TILP, I'll have a better idea of what it takes to achieve access to files at the root of the documents hierarchy.

Quote
also setting the target directory from the command line (I use tilp in scripts, especially for ndless projects).
You'd better using titools for scripting :)
TILP's CLI is very limited indeed, and it was worse before a suggestion of mine, implemented as part of Romain's last release.

Quote
Also maybe this conversation should be split. *prods Eiyeron*
On the one hand, the discussion has strayed from the original question, but on the other hand, the original question, and a followup question by the original poster, have been answered.
Member of the TI-Chess Team.
Co-maintainer of GCC4TI (GCC4TI online documentation), TIEmu and TILP.
Co-admin of TI-Planet.

Offline Streetwalrus

  • Professional slacker
  • Super User
  • Original 5
  • Join Date: Nov 2014
  • Location: Israel
  • Posts: 2903
  • Post Rating Ratio: +20/-0
  • ƎW∀⅁ ƎH⊥
  • Gender: Male
Indeed.

As for titools, last time I checked it didn't work with the Nspire.
  • Calculators owned: TI-80, HP 40G, TI-84 Plus rev G (yay 128k RAM), TI-83 Plus Silver Edition (broken LCD), TI-82 Stats.fr (black), TI-Nspire CX rev C (yay Nlaunchy), TI-83+ SE ViewScreen



 


You can also use the following HTML or bulletin board code to share it on your page or forum signature!


Also do not forget to check our affiliates below.
Planet Casio TI-Planet Calc.news BroniesQC BosaikNet Velocity Games