Re: [NTLK] Ready to try ATA

From: Paul Guyot (pguyot_at_kallisys.net)
Date: Mon Jun 25 2001 - 00:08:34 PDT


>I'm ready to try the ATA driver in my spare 2.0 120. Sorry, just not ready
>to "test" it on my 2k's. Now I need the ATA card. Any suggestions on
>models or brands to try or even to stay away from? I know about the 4MB
>limit but if I can get a 128MB card cheap, should I get it or find a really
>cheap 4MB.

The 4 MB limit only applies to the demo version. The full version
should be available soon.

I would suggest the following choice for ATA cards:
a/ you have a digital camera or something getting ATA compatible
cards in a specific format: use cards that go in this device. ATA
Support doesn't offer FAT12 support yet, but when it will, you'll
love to get pictures from your camera to your Newton without any
cable (well, I think so, I don't personally have a digital camera
anyway).
b/ if you don't, then take the cheapest kind of card. It's what I've
done and hence I bought a 16 MB Hitachi (there's no brand on it) card
from Timasci. I get slightly higher transfer rates than Carsten with
his Nikon (which is in fact a SunDisk). (of course, with 0.1a2, next
release is significantly faster than 0.1a2).

Also, here are some news for you folks.
I have the following known bugs to fix (probably today):
a/ the LBA capability isn't properly recognized (CHS works fine,
fortunately, but LBA is faster and the driver thinks that my card is
not LBA capable while it is). (minor bug, a matter of 10 mins at most)
b/ I have a -48807 when partitionning the card (this is a minor
NewtonScript bug).
c/ I have a -48205 with SlotBusy array when mounting two stores (this
may be a bug in the C++ code). (this is less trivial)
d/ I have a 0 bus error at this point (probably due to the -48205
exception in fact)
e/ ATA Support doesn't work with Victor's MP and card (officially a
Kodak, in fact a 4 MB SunDisk) (the card doesn't want to read/write
as many bytes as the driver wants to feed it). (this is the biggest
bug today)

Additionnaly, here is the newest version of my to-do list before the
final release:

1/ work on the NS interface:
- allow to set the auto mount and read only flags (I think I'll
redesign parts of the partition map handling)
- allow to set an ATA store the default store (5 mins)
- maybe implement some basic backup feature similar to the ROM backup
feature of the linear cards (backups already work with third party
software) (one hour)
- design an interface to define partitions (two or three hours)
- I gave up the idea of writing NS functions to access the driver at
the lowest level (I'm not sure it's really useful, though). Also,
there are some accesses right now to the driver from NewtonScript
which are not safe (because they let you access the stores while they
are mounted/partition maps). I should put some security there. In the
meanwhile, I'll deactivate this function.
- don't show format alert in certain conditions (basically when you
have just partitioned the card) (30 mins)
- aesthetic changes (umm. This is the longest part)
2/ optimize the code:
- currently, endian conversion is only done for the partition map,
but the parameters inDoEndianConversion is passed everywhere. I
should fix that to grab some nanosecs (removing endian conversion
really didn't improve performances significantly) (30 mins)
- optimize transaction validation (30 mins)
- maybe implement asynchronous writes/reads (4 or 5 hours)
- maybe change format slightly if this improves performances (I have
to think about it twice)
3/ driver work:
- finish the power handling. There may currently be a bug there,
although it may be something totally different. Also, implement some
sleep mode if the card isn't used for a while. (might be one day long)
- maybe handle brutal removal of the card (if I find out how to do
that) (let's say it will take one week)
- maybe implement interrupt-based modes (I/O modes). ATA cards shall
implement memory mode (and the driver already supports it) which is
said to be faster. (depends if I use interrupts there or not. If I
don't: 3 hours, if I do: something like 6).

All these timings are VAT excl.

As you can see, the big part left is the power handling. And the
interface to design partitions will not be included in the demo
version hence once all these bugs are fixed, I could release the
first beta.

The thing is that I have made significant changes in the driver since
0.1a2 (which explains the problem with Victor's card, but I prefered
that it explained that every ATA cards (not Iomega Clik!) now work
with it), so I need to let you test the software with your cards
before shipping the final version. Also, the final version will just
be there once I consider the software as really usable. I won't
ensure anyone about the integrity of the data of course, but there is
no known bug in the transactional persistent object store
implementation (on the contrary to 0.1a2), in spite of intensive
stress testing. Of course, these tests were only done by me, and I'm
sure that some users will trigger some magic unprobable operation
which will make this fail.

Paul

-- 
Home page: http://www.kallisys.com/
Newton-powered WebServer: http://newt.dyndns.org:8080/
--
This is the Newtontalk mailinglist - http://www.newtontalk.net
To unsubscribe or manage: visit the above link or
	mailto:newtontalk-request_at_newtontalk.net?Subject=unsubscribe


This archive was generated by hypermail 2.1.5 : Sat Mar 08 2003 - 11:37:04 PST