I've started on the usb8x rewrite for the 84+/84+SE/84+CSE, called Linky (after the usb8x equivalent for the 89Ti):


(The screenshots don't matter, I'm just proud of the fact I finally displayed something on the 84+CSE's LCD.)

Binaries: http://brandonw.net/calcstuff/Linky.zip
Source: http://github.com/brandonlw/Linky

The plan is to support both USB host and peripheral mode, implementing USB "correctly" instead of the hard-coded-delay mess that is the TI-OS implementation. I think we understand enough now about the MUSBFDRC controller that we can make this a reality.

Host mode will address some longstanding issues with usb8x (like sending certain large packets) as well as hub and multiple driver support -- not only will you be able to attach more than one USB peripheral at the same time, but two different programs/applications can communicate to each at the same time. That way you can do things like hook up both a keyboard and flash drive, or keyboard and mouse, etc.

It's a little ambitious, I know, and it's far from done, but as a teaser, I've added a "DFU mode" tool that makes the calculator show up as a DFU (Device Firmware Upgrade) device, so you can read and write raw images to the flash chip using the standard "dfu-util" command line utility (for Windows, Linux, and OS X).

You can use it to create a complete ROM dump, or you can "flash" a ROM image right onto your calculator, which (as far as I know) has never been done before, all via USB.

For "download" (flashing) mode, it copies itself into RAM and runs interrupt-less and OS-less so it's free to overwrite the OS (and certificate, if you specify it).

To dump the ROM:
1. In LINKYDRV's Tools menu, select 1) DFU ROM Dump, then choose whether to include the certificate or not. The option is there in case "with" doesn't work (because of a patched unlock exploit or something).
2. If on Windows, download and run the "zadig" utility to install a WinUSB driver for the new device that's shown up.
3. Run the dfu-util command line utility with: dfu-util -U dump.rom

To flash a ROM:
1. In LINKYDRV's Tools menu, select 2) DFU ROM Write, and then choose to either write the certificate or ignore it.
2. Run dfu-util from the command line with: dfu-util -D dump.rom

NOTE: DO NOT choose to write the certificate when flashing the ROM unless you *know* the file you're flashing includes a valid certificate.

It still needs a lot of work, but it's the start of a "clean" implementation of a flexible USB activity hook (or interrupt- and OS-less polling function, if you need it).

I'll flesh out peripheral mode more once I start porting over more "drivers" to it, but for now it's time to focus on host mode.
Congrats, this is some awesome work Brandon. Glad this is finally getting done now that we have more information on the USB Controller. Perhaps you'll be able to get some of the problem devices such as the USB Missile Launcher to work with the rewrite.
This is some fantastic bit of work! Glad to see you getting some progress on a project. How many days did you stay awake in a row working on this? :p
Very good work! Smile On a semi-related note, is this the first ever publicly released 3rd-party Flash APP for the TI-84 Plus C Silver Edition?

Question, though: Where can I find/download Zadiag? I searched Google for it and found nothing relevant ("Zadiag download" even returned 0 results)...

EDIT: Nevermind, it looks like it was Zadig spelled wrong.
tifreak8x wrote:
This is some fantastic bit of work! Glad to see you getting some progress on a project. How many days did you stay awake in a row working on this? :p


A few. It's a quirky thing to get working across three models consistently.

DJ_O wrote:
On a semi-related note, is this the first ever publicly released 3rd-party Flash APP for the TI-84 Plus C Silver Edition?


I do believe it is, yes. You might notice both the 0104.key (83+/83+SE/84+/84+SE) and 010F.key (84+CSE) key files in the repository. Smile
Sounds cool BrandonW!So does this mean we'll be able to send files to our calcs without ticonnect software?
You said there was a TI-89T equivalent for usb8x, where is it?
100003493: there have been third-party computer <-> calculator communication programs for two decades or so.

willwac: the 89T version of Linky was on BrandonW's SVN repository, last time I checked Smile
  
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
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement