ticalc.org
Basics Archives Community Services Programming
Hardware Help About Search Your Account
   Home :: Archives :: News :: USB Peripherals for the 84+

USB Peripherals for the 84+
Posted by Michael on 16 August 2005, 17:07 GMT

A few weeks ago, the ever-famous Dan Englender released a revolutionary new flash application called usb8x. Usb8x is a driver that interfaces with the On-the-Go USB port in the TI-84 Plus and TI-84 Plus Silver Edition. It is designed to be used by other programmers to create drivers for a variety of USB peripherals. Dan has included demos for a USB mouse, keyboard, and a loopback test for the USB Silverlink. Theoretically this means that drivers can be written to support nearly any USB device (so long as it consumes 100 mA or less of bus power). Usb8x will open up an entirely new world of possibilities for graphing calculators. Congratulations to Dan on an extremely impressive achievement!

You may be thinking that ticalc.org is awfully slow in reporting this news, but due to the recent news drought, I thought I would hold off on this article until it could be as amazing as possible: I have been working on a driver that runs on top of Dan's to allow USB flash drives to connect to the calculator. Yesterday I finished FAT16 reading support and so I now present a demo video (4.4 MB), exclusively available on ticalc.org, of a movie playing off my 1 GB Lexar JumpDrive. You may recognize the clip as part of The Matrix's infamous lobby scene. There is no dithering or grayscale, although both are probably possible. There is still much more work to be done before we have utilities and file explorer-type programs at a level where general users can use their USB drives.

  Reply to this article


The comments below are written by ticalc.org visitors. Their views are not necessarily those of ticalc.org, and ticalc.org takes no responsibility for their content.


Wow! I'm speechless
Chris Williams  Account Info

:)

Reply to this comment    16 August 2005, 18:49 GMT

Re: USB Peripherals for the 84+
Chris Williams  Account Info

Ok, I can speak now. :D

I assume the video that plays on the calc had been reformatted for it before it was put on the flash drive, and so the calculator isn't decoding any sort of MPEG or WMV (or even QT) file. Am I correct? It would be another awesome feat to write an MPEG decoder for the calculator (it might be possible on 68k calcs).

Just to be a little nit-picky, the video looks like it is dithered. It would have helped to increase the brightness a little.

I wonder how many games will now require hundreds of megs of memory for data files. Imagine a Tetris game with a 200MB intro video. :)

Reply to this comment    16 August 2005, 19:00 GMT

Re: Re: USB Peripherals for the 84+
Dan Englender Account Info
(Web Page)

I'm going to answer for Michael. If I've made any mistakes in my answer I'm sure he'll come around later and point them out. The video was reformatted, yes. It was just an uncompressed sequence of screen images running at 10 frames per second. There is room for improvement: greyscale at a decent frame rate may be possible.

Brightness was increased on the video when it was converted (the scene is pretty dark even in the original). You're right that it could have probably be brightened even more, but the video is just a demo. It's showing what's possible, not a final product.

I hope no one writes a 200MB intro for Tetris. It would be cool to have sound added to the mix though. The serial port is just sitting there doing nothing at the moment, and there might be enough CPU power to get some sound going concurrently with a video stream.

Reply to this comment    16 August 2005, 19:07 GMT

Re: Re: Re: USB Peripherals for the 84+
Nul  Account Info
(Web Page)

Very impressive !

Reply to this comment    16 August 2005, 19:09 GMT


Re: Re: Re: USB Peripherals for the 84+
jvdthwip Account Info

About the comment of a 200 MB intro Tetris movie...
This does open up endless possibilities for massive games, using flash drive support alone...
Congrats Dan, for your amazing work on this project!

I wonder if I'd be able to send data via a modem this way... My ethernet card is external via USB...

Reply to this comment    17 August 2005, 13:57 GMT


Re: Re: Re: Re: USB Peripherals for the 84+
CajunLuke  Account Info
(Web Page)

No, this does NOT mean huge games. The executable still has to fit in RAM, in this case 24k. Now, you could make the program able to read external files on the card. (TI-DLL Hell!!!)

Reply to this comment    17 August 2005, 19:48 GMT


Re: Re: Re: Re: Re: USB Peripherals for the 84+
qbman  Account Info

Nah, that 24k "limit" is nothing more than how big one part of a program can be.

All you need is a shell that can copy pieces of larger files (not to exceed 24k of course) to RAM, execute them and handle jumps and calls to other parts of the large file. It takes a bit more work, but if I'm correct, it's a lot like writing an app that uses more than one page. I know there are a few 2 page (32k)apps out there.

Now the interesting thing is that if the extra RAM available on the TI-83+SE is also available on the TI-84+ and the TI-84+SE, then it should be possible to do this very easily.

Hmm, the possibility of being able to run a 1MB program... though, considering the non-memory related limitations, I only can wonder why any executable would need to be that size. (Note that I am NOT including data in this 1MB, just executable code)

Reply to this comment    23 August 2005, 14:50 GMT


Re: Re: USB Peripherals for the 84+
Chris Williams  Account Info

Calm down, everyone! I was joking about the 200MB video for Tetris. I wouldn't want to see that, but I think it'd be nice if RPG's could be made much longer and/or more detailed with huge external storage for map/other data.

Reply to this comment    17 August 2005, 21:57 GMT


Re: Re: Re: USB Peripherals for the 84+
burntfuse  Account Info
(Web Page)

Now if someone writes a file read/write utility than can easily be used from BASIC, it'll be perfect for Kevin Oullette (probably spelled wrong) to write even larger RPGs! :-)

Reply to this comment    18 August 2005, 18:59 GMT

Re: USB Peripherals for the 84+
Joey Gannon  Account Info
(Web Page)

I think I just peed a little in my pants. This is absolutely amazing... congrats, Dan and MV.

Reply to this comment    16 August 2005, 19:21 GMT


Re: Re: USB Peripherals for the 84+
Derrick F.  Account Info

Lol. I've been praying for something like this. NO more calculator memory limitations (almost)!

Reply to this comment    16 August 2005, 19:56 GMT

Re: USB Peripherals for the 84+
JcN  Account Info
(Web Page)

Most impressive. So much for memory limitations!

I wonder if it's possible to use one or more of the following via USB (and maybe an external power source):
>>sound card
>>co-processor
>>color screen
>>GPU
>>joystick (I have no clue why, though)
>>printer
>>external hardrive
>>modem
>>a USB hub (for multiple devices)

I wonder if, theoretically, you could engineer a periferal that handled all of the computing, allowing the 84+ to serve as an FPU. You could have a pocket-sized PC!

Reply to this comment    16 August 2005, 20:35 GMT

Re: Re: USB Peripherals for the 84+
Dan Englender Account Info
(Web Page)

In theory, any device that supports full or low speed mode (which is just about everything) *and* uses ~100mA or less of bus power would work with the appropriate driver. I've connected to a printer without any problems, but haven't written a driver. Joysticks work fine with an appropriate driver. An external hard drive is a mass-storage device, so it will work with the driver Michael is writing.

Reply to this comment    16 August 2005, 20:43 GMT

Re: Re: USB Peripherals for the 84+
KermMartian Account Info
(Web Page)

Congratulations. You just invented the Pocket PC. :)

Reply to this comment    16 August 2005, 22:42 GMT

Re: Re: Re: USB Peripherals for the 84+
JcN  Account Info
(Web Page)

Well, something between that and a laptop.

I was hoping for something comparable to Sony's new mini-laptops. Some of the Japanese models are small enough to be PDAs!

Reply to this comment    17 August 2005, 21:09 GMT


Re: Re: Re: USB Peripherals for the 84+
Lewk Of Serthic  Account Info
(Web Page)

That is, without a doubt, the funniest thing I hae heard in a long time. I nearly fell out of my chair.

Reply to this comment    19 August 2005, 18:23 GMT

Re: Re: USB Peripherals for the 84+
Zarel  Account Info
(Web Page)

Except, with everything you mention, it wouldn't exactly be pocket-sized. It'd be a PC with an 84+ attached to it.

In fact, the link cables already do this.

Reply to this comment    17 August 2005, 02:06 GMT


Re: Re: Re: USB Peripherals for the 84+
elfprince13 Account Info
(Web Page)

yeah, but less expensive

Reply to this comment    18 August 2005, 19:07 GMT

Re: Re: USB Peripherals for the 84+
Vasantha Crabb  Account Info
(Web Page)

That would be a great idea, except that the TI calculator is a poor FPU. It has no hardware floating point capabilities. If you're offloading the processing, you'll probably be using a chip with better floating point performance than the calc, anyway.

Reply to this comment    17 August 2005, 02:56 GMT


Re: Re: Re: USB Peripherals for the 84+
Jason Malinowski  Account Info

That's why you use the USB to connect it to something to act as a math coprocessor. :-) Graphics card perhaps? I believe you can do some insane math in pixel shaders.

Reply to this comment    18 August 2005, 01:07 GMT

Re: Re: USB Peripherals for the 84+
MafiaMan Account Info

it would be cool to have an extra 300 gigs space for your calc.(of course external hardrives cost more than the calc.)

Reply to this comment    17 August 2005, 19:01 GMT


Re: Re: Re: USB Peripherals for the 84+
CajunLuke  Account Info
(Web Page)

I don't think FAT16 can handle 300GB. Looks like we'll need a real filesystem (HFS+ Journaled!). I'd love to hook my iPod up to my calculator, and "manage" my songs and data.

Reply to this comment    17 August 2005, 19:52 GMT

Re: Re: Re: Re: USB Peripherals for the 84+
Andy Janata  Account Info
(Web Page)

Indeed. FAT16 tops off around 2 (or is it 4) GB, you'd need FAT32 (132GB or so) or NTFS (good luck doing that on a calc though). EXT2/ReiserFS *might* be doable, but then you'd have hell with all those Windows ... freaks.

Reply to this comment    17 August 2005, 20:47 GMT


Re: Re: Re: Re: Re: USB Peripherals for the 84+
qbman  Account Info

Or use the cheap solution to the problem: Just partition the drive. It's how it used to be done when people didn't want to change which file system they were using. Though, FAT16 is still not recommended since a 300 GB drive would need what, 150 partitions? Just imagine trying to remember which partition you saved that program to...

FAT 32 with maybe 4 partitions on a 300GB drive would be able to handle the whole amount, but an insane amount of space would be wasted...

Also, why would you want to hook up an external hard drive to a calculator? I don't believe I've ever seen a 300GB external hard drive that runs off of batteries. It seems kinda restricting...

Now, on the other hand, I've heard of people using Ipods as external hard drives. So, it *might* make sense using one of those since they are small and run off of batteries. And you get one other bonus: For the more than $100+ you spend on it, it does something other than store data, it plays music too.

Reply to this comment    23 August 2005, 15:01 GMT


Re: Re: Re: Re: Re: Re: USB Peripherals for the 84+
aquanight  Account Info

> a 300 GB drive would need what, 150 partitions?

Let's not forget that the standard partition table only supports up to four top-level partitions. (And if you break this standard the drive won't work right with ANY PC OS and thus people would hate you forever.) You could make the first three primary partitions and the fourth slot an extended partition for the remaining 147 (which technically become "logical disks", not partitions), but ... I somehow think using FAT32 would be much more efficient.

If you use FAT16, the most you can address without the extended partion trick will be 8GB (2GB is the per-partition limit).
If you use FAT32, you will have to deal with 32-bit integers which are absolutely not native to any Z80 calculator.
If you use NTFS, Linux folks will hate you. Plus it's 32-bit stuff again. Plus you have to deal with filesystem security, not to mention the transparent encryption/compression.
If you use Ext*FS or reiserfs, Windows folks will hate you and it's 32bit (or maybe even 64?!) all over again. Also, filesystem security (and maybe the immutable/appendonly /other attributes stuff?) is present as well.

FAT16 (maybe vfat for the long filenames) is probably the best bet. I know I'd just stick with USB flash drives anyway since they have as many moving parts as the calculator itself: None. (And no moving parts means no risk of total obliteration of data in the event that the hardware is accidentally sent on a 3 foot trip from your hand(s)/table/whatever to the floor.)

Reply to this comment    31 August 2005, 02:34 GMT


Re: Re: Re: Re: USB Peripherals for the 84+
jesse frey  Account Info

NOw we need a game that uses the ipod to play songs off it for its sound

Reply to this comment    20 August 2005, 16:01 GMT

Re: Re: USB Peripherals for the 84+
Snave2000  Account Info

Why stop with just a modem? Wouldn't a wireless network card be better? In theory, you should be able to set up a decentralized wireless calc network!

Reply to this comment    17 August 2005, 23:32 GMT

Re: Re: Re: USB Peripherals for the 84+
Drew Mast  Account Info

Internet explorer v84+

surf the web, check your email, and more right on your calc screen! how cool would that be!

Reply to this comment    18 August 2005, 01:45 GMT


Re: Re: Re: Re: USB Peripherals for the 84+
CajunLuke  Account Info
(Web Page)

Firefox.

That's all I have to say.

Reply to this comment    18 August 2005, 18:13 GMT

Re: Re: Re: Re: Re: USB Peripherals for the 84+
Chris Williams  Account Info

Lynx.

Reply to this comment    18 August 2005, 18:26 GMT

Re: Re: Re: Re: Re: USB Peripherals for the 84+
Snave2000  Account Info

Amen

Reply to this comment    18 August 2005, 23:36 GMT


Re: Re: Re: Re: Re: USB Peripherals for the 84+
redsoxfan Account Info

Portable Firefox
Portable OpenOffice
Portable Thunderbird

Reply to this comment    19 August 2005, 14:02 GMT

Re: Re: Re: Re: Re: Re: USB Peripherals for the 84+
burntfuse  Account Info
(Web Page)

Uh, OpenOffice on an 84+?

Reply to this comment    20 August 2005, 01:02 GMT

Re: Re: Re: Re: Re: Re: Re: USB Peripherals for the 84+
CajunLuke  Account Info
(Web Page)

Ummm... try Notepad and Paint

Reply to this comment    21 August 2005, 01:52 GMT


Re: Re: Re: Re: Re: Re: Re: Re: USB Peripherals for the 84+
burntfuse  Account Info
(Web Page)

My point exactly. :-)

Reply to this comment    22 August 2005, 20:39 GMT


Re: Re: Re: Re: Re: Re: Re: Re: Re: USB Peripherals for the 84+
Patrick Stetter  Account Info
(Web Page)

Now, where are we going to draw the line between a calculator and a computer!

Reply to this comment    23 August 2005, 16:24 GMT

Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: USB Peripherals for the 84+
CajunLuke  Account Info
(Web Page)

As high as we can reach.

Reply to this comment    24 August 2005, 15:33 GMT


Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: USB Peripherals for the 84+
Drew Mast  Account Info

There is none. Technically speaking, the difference between a computer processor and a calculator processor is that a computer processor can make binary decisions and a calc can only count. In other words, a computer processor is any chip you can execute programs on. Therefore, technically graphing calculators are simple computers. Think about it- at least for the 83+ and 84+ families, the memory is separated into 2 units, RAM and archive, just like RAM and a hard drive. Speaking of RAM and the hard drive, I wonder if it would be possible to virtually expand the RAM with a pagefile/swapfile in the archive just like there is on your computer.

Reply to this comment    26 August 2005, 05:08 GMT

Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: USB Peripherals for the 84+
burntfuse  Account Info
(Web Page)

Um, no, the only difference between the processors are speed and power. The architecture is very similar.

Reply to this comment    26 August 2005, 20:45 GMT


Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: Re: USB Peripherals for the 84+
Alex Forencich  Account Info
(Web Page)

The pagefile/swapfile would be extrordinarly slow and would wear out whatever flash memory was being used due to the large number of writes that would be made.

Reply to this comment    31 August 2005, 22:02 GMT


Re: Re: Re: Re: Re: Re: Re: USB Peripherals for the 84+
Alex Forencich  Account Info
(Web Page)

Hey, I'm working on a word processor for the '89 that could be comparable to OpenOffice or MS-Word

Reply to this comment    31 August 2005, 22:00 GMT


Re: Re: Re: Re: Re: Re: USB Peripherals for the 84+
qbman  Account Info

FireFox, IE, whatever. Neither makes sense since apparently people have somehow fogotten about the screen limitations...

A text only browser might work, but with the way most web pages are today, I doubt you'd be able to do much with it. If you want an idea what kind of problem you'd be up against, just try viewing the source of web pages you like to go to. Unless you are pretty good with HTML, css, and/or javascript. Most of it should look like garbage. Trying to make a text browser that could help make sense of that would be very challenging because of the ever-changing nature of the internet.

Same problem with Open Office. Most fonts would be too big to even read more than one or two words, let alone a whole paragraph.

Reply to this comment    23 August 2005, 15:08 GMT


Re: Re: Re: USB Peripherals for the 84+
DWedit  Account Info
(Web Page)

The modem was done a long time ago, just plug a Gray TI-Graph Link cable into a serial modem, and use Telnet 83.

Reply to this comment    21 August 2005, 07:32 GMT


Re: Re: Re: Re: USB Peripherals for the 84+
CajunLuke  Account Info
(Web Page)

But they don't sell gray cables anymore, and I've never seen a serial modem, for purchase or otherwise.

Reply to this comment    23 August 2005, 14:57 GMT


Re: Re: USB Peripherals for the 84+
Drew Mast  Account Info

An 84+ wouldn't make much of a pocket PC since it only has a 15 mhz processor and 128 kb of ram. Although...I remember one of my really old computers (back when I was in like 1st grade) had a 20 mhz processor in it and ran win 3.1. I wonder if it would be possible 2 install a really old version of windows on it.

Reply to this comment    18 August 2005, 01:39 GMT


Re: Re: Re: USB Peripherals for the 84+
Snave2000  Account Info

Wait a minute: 128kb RAM on a 84+?!? So far as I know, the 84+ has 24kb RAM just like the 83+.

Aside from that, you probably could run an extremely old version of Windows... care would have to be taken especially with the difference in screen size and capabilities (i.e. monocrome, 64x96 pixels). It might be worth looking into...

Reply to this comment    18 August 2005, 02:06 GMT

Re: Re: Re: Re: USB Peripherals for the 84+
James Montelongo Account Info

Only 32k(the 24 plus other stuff) is really used by TI-os, theres an extra 96k thats free to use be willing coders, but not by the general user.

Like ti-os wasn't bad enough, you want windows on it.

Reply to this comment    18 August 2005, 03:39 GMT

Re: Re: Re: Re: Re: USB Peripherals for the 84+
Dan Englender Account Info
(Web Page)

TIOS's USB code uses some of the additional 96KB. But yeah, you could probably get away with using it.

Reply to this comment    18 August 2005, 03:54 GMT


Re: Re: Re: Re: Re: Re: USB Peripherals for the 84+
James Montelongo Account Info

Really...so is it still safe for temporary storage? Like levels or graphical data.

Reply to this comment    18 August 2005, 06:35 GMT


Re: Re: Re: Re: Re: Re: Re: USB Peripherals for the 84+
Dan Englender Account Info
(Web Page)

You're probably still ok, because I think it's only used for large transfers (which would require you to be in a place where you can silent link). If you want to avoid using pages 82 and 83, you'll be even more ok. But more research is necessary to be completely sure.

Reply to this comment    18 August 2005, 21:39 GMT

Re: Re: Re: Re: Re: USB Peripherals for the 84+
burntfuse  Account Info
(Web Page)

With that much mem, someone should just rewrite a stripped-down version of uClinux to run on it. (Don't know if this is possible, I haven't gotten a chance to look at the source yet)

Reply to this comment    18 August 2005, 19:01 GMT


Re: Re: Re: Re: Re: Re: USB Peripherals for the 84+
ExtendeD Account Info

I am not sure it would be enough for a uClinux. Even with the 256k of memory of our 68k models, we don't want to try such a portage because of this hardware limitation.

Reply to this comment    18 August 2005, 21:53 GMT


Re: Re: Re: Re: Re: USB Peripherals for the 84+
Patrick Stetter  Account Info
(Web Page)

I agree the battery pull will become the new CRT ALT DELETE

Reply to this comment    23 August 2005, 16:26 GMT


Re: Re: Re: Re: USB Peripherals for the 84+
frenchman113 Account Info
(Web Page)

Except maybe that the 84+ does NOT have an x86 CPU?

Reply to this comment    21 August 2005, 00:41 GMT


Re: Re: Re: Re: Re: USB Peripherals for the 84+
Mr.Z  Account Info
(Web Page)

As far as I know, Windows 1.0 is small & simple enough that a simple binary translation of it would still fit, & it would be really fast, since it was designed to run on XT's...but I agree it would be quite useless (unless you just want to sit around & play Microsoft Reversi or something like that). Great...now we can crash our calculators even faster! :)

Reply to this comment    22 August 2005, 18:31 GMT

Re: Re: Re: Re: Re: Re: USB Peripherals for the 84+
CajunLuke  Account Info
(Web Page)

Mac System 1 for the 68k calcs. evan the screen size shouldn't be a problem.

Reply to this comment    23 August 2005, 14:59 GMT


Re: Re: Re: Re: Re: Re: Re: USB Peripherals for the 84+
macskull  Account Info
(Web Page)

If the PSP can run Mac OS 7.5.5, a TI-84+ can run System 1.0. You'd just need to translate the binaries.

God, imagine the possibilities!

Reply to this comment    1 December 2005, 02:05 GMT


Re: Re: Re: Re: Re: Re: USB Peripherals for the 84+
burntfuse  Account Info
(Web Page)

Ah, try porting Linux 0.0.1 or one of those early versions - it should fit in the available mem, and it'll be a whole lot easier, because the source code is available! *points and laughs at MS*

Reply to this comment    24 August 2005, 20:55 GMT

1  2  3  4  5  6  7  8  

You can change the number of comments per page in Account Preferences.

  Copyright © 1996-2011, the ticalc.org project. All rights reserved. | Contact Us | Disclaimer