You're probably here because you're browsing the site, or maybe even want to write your own USB driver for the TI-84 Plus! This page is dedicated for developers who are interested in either using the current drivers for their own programs or writing a new device driver for usb8x.

Writing Software

Writing a program that uses usb8x (such as msd8x) entails many things. In assembly, you use usb8x's functions via a U_CALL macro as described in the assembly interface documentation. In TI-BASIC, you call usb8x via OpenLib( and ExecLib, as discussed in the BASIC interface documentation. You can view some code examples to get a general idea on how to implement them.

Writing Drivers

If you find that the current list of drivers is not enough for your needs, then you are entering the realm of driver development! This is a list of devices whose drivers have been, can be, and can't be developed. Here are some starter tips that you should keep in mind:

  • First off, you need to read the USB 2.0 specifications and the OTG (On-the-Go) supplement. Although this is probably the most intimidating part of the development process (to most), you will need to know the protocol to be able to write a driver for a device that uses it! If you don't feel adventurous enough to read the official specifications, you can start with USB in a Nutshell.
  • The TI-84 Plus hardware only supports Low (1.5 Mb/s) and Full (12 Mb/s) USB speeds. Hi-speed, 480 Mb/s, is currently unfeasible.
  • The USB port on the TI-84 Plus can only provide up to 100 mA for any devices attached - anything higher than that will require an external power source. You can check this in the Windows Device Manager, which tells you the amperage when you look at the USB HUB properties, not the device itself.

The list of functions that you would use are also U_CALLed and discussed here.

It might be of some benefit to checkout a copy of the latest usb8x source via anonymous CVS or through the File release system. Furthermore, if you are interested in the underlying workings of usb8x, you can read the wiki page at WikiTI.