A85: Compactflash expander


[Prev][Next][Index][Thread]

A85: Compactflash expander




The past couple of weeks I've been thinking about making a memory 
expander for the 85. However, unlike the previous expanders built, this 
one would use Compactflash cards as the storage device, instead of built 
in memory chips. 

I thought of using Compactflash cards mainly for expandability reasons. 
Its true that all the programs ever made for the 85 probably wouldn't 
take up more than a meg or two, but that is bound to change. Using the 
flash card approach, the user can choose how much storage he/she needs, 
and purchase the appropriate card. And unlike the presend expanders, if 
you run out of room, you don't have to delete items off the expander, 
you merely slide in another card.

The point of an expander, in my view, is not only to give you extra 
storage, but to expand the entire capability of a device. Now I've never 
pretended that I was down with all the ideas floating around this list 
about adding MIDI, Firewire, peripheral support, and things like that to 
the calc. To me it always seemed like beating a dead horse. But just for 
the sake of tinkering, I thought I'd give it a try. 

If I ever get this done, the expander will probably have:

1 Compactflash type I port (for type I cards)
1 Compactflash type II port (for type II cards & IBM's Microdrive)
1 to 2 USB ports (for anything else people want to add)
1 standard TI link port


The shell running on the calc will need built in support for the 
expander, hopefully that would be a future version of Usgard, but who 
knows. The point is that the shell must be able to read and manipulate 
the files on the expander. And unlike the expanders we have now, you 
won't have to copy items from to the calc, the shell will take care of 
that. When you run the shell, it will list all the files on the 
expander, whether they be programs or documents. When you run a program, 
the shell copies as much of the program as it can, into the 85's memory, 
copying the rest into virtual memory on the expander. And when the 
program stops running, the shell copies the program back to the 
expander, overwriting the old prog. Then the shell deletes the prog from 
the 85's memory. Its just a modified version of relocation, but it 
functions more like a regular computer. The shell would probably do this 
using a variable table. When the shell is started, it scans the 85's 
memory for variables and stores them in a table. After executing a 
program, it rescans the memory and checks for new vars. When it finds 
them, it deletes them. This way, it protects any variables you already 
have in the calc.

The expander will also have its own link port, so you can transfer files 
directly to the expander, instead of having to use the calc as a 
go-between.

There are a lot of USB products out these days, so I'm sure those ports 
will come in handy. If you wanted you could plug a USB hub into a port, 
and hook up a keyboard, a mouse, a modem, and a set of USB speakers and 
still have room for 123 more devices. I figure it'll take you guys a 
while to fill that up.

At present, Compactflash cards operate in 3 modes: memory card, I/O 
card, and IDE mode. For the sake of simplicity I'll probably have the 
cards run in IDE mode. That way, it will interface just like a hard disk 
drive. And it will probably be formatted in UDF (Universal Disk Format) 
so it will be cross-platform. If you have a pc-card drive, you can just 
flash the card with all your files and won't have to waste time with the 
link.

Just so you'll know, I'm making this more for myself than anything, but 
I thought I'd throw it out there just to see what you guys thought of 
it. It's in purely experimental stages right now, focusing mainly on the 
hardware aspects. I'm trying to get all the info I on controller chips 
and such so I can figure out how to wire this sucker. In short, I can 
use all the help I can get.


Sincerely,
Jason Blakeley

Confucius say:
"He who stand on toilet, is high on pot!"


______________________________________________________
Get Your Private, Free Email at http://www.hotmail.com