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