[NTLK] ATA News (was: Re: Dreaming of the ATA driver....)

From: Paul Guyot (pguyot_at_kallisys.net)
Date: Fri Jun 22 2001 - 09:03:49 PDT


>I would say - still under development. It is not for sale yet.

Heh. Here are some news for impatient folks.

I fixed known bugs in 0.1a2.
The C++ code to unmount stores is present and works properly.
The caches have been implemented and work like a charm.
The driver part has been significantly re-organized, and I think that
most ATA cards should work now.
The store layer has been significantly changed (because of the
introduction of the store cache) and bugs in it have apparently been
fixed.
Also, I wrote some NS hacks, for example to change the dialogs such
as do you want to format this card which is now do you want to
initialize this partition, or how to bypass them.

To do all that, I have worked on events in NewtonOS, and I am able to
send events to the NewtonScript task from another task (basically the
card server task or even from an interruption) which could be very
interesting with Waba as well and events are the key for asynchronous
(native) communications.

What's left before final 1.0 version:

1/ work on the NS interface:
- preferences slip to set the cache size
- show which stores are mounted and which are not
- allow to set the auto mount and read only flags
- allow to set an ATA store the default store
- maybe implement some basic backup feature similar to the ROM backup
feature of the linear cards (backups already work with third party
software)
- design an interface to define partitions
- maybe write some NS functions to access the driver at the lowest
level (I'm not sure it's really useful, though).
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)
- optimize transaction validation
- maybe implement asynchronous writes/reads
- maybe change format slightly if this improves performances
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.
- use CHS if the card only supports CHS (and not LBA). The driver
currently only uses LBA.
- maybe handle brutal removal of the card (if I find out how to do that)
- 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.

I don't know when all this stuff will be finished. Also, I don't know
when I'll release a new alpha release or a beta release. Depends how
patient you are ;)
Seriously, things are progressing very fast now, as most of the
remaining work is mostly NewtonScript and I have plenty of time (I've
just got to fight with the French University bureaucracy :-). But I
think that I should release a beta before the final version just to
be sure that cards do work.

Also, some features will be for 1.x releases (such as access to FAT
partitions - I gave up HFS support as having HFS partitions on ATA
cards is very unlikely), or things that are noted as *maybe* in the
previous to-do list.

As usual, comments are welcome.

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:03 PST