Linked by Eugenia Loli on Wed 21st Nov 2001 17:39 UTC
Syllable, AtheOS Norwegian ex-Amiga coder Kurt Skauen started designing & writing AtheOS in 1996. Until late 1999, AtheOS (a name derived from the Greek Goddess Athena) used to be called AltOS. AtheOS has even seen complete rewrites along the years, and today is on version 0.3.7. Come with me and see what AtheOS has to offer today to you. All your questions answered and we also include five new screenshots.
Permalink for comment
To read all comments associated with this story, please click here.
IDE, FDC drivers.
by P_developer on Wed 21st Nov 2001 23:33 UTC

I'm surprised that Kurt hasn't done at least an IDE driver.

Kurt,

A PIO driver is very easy to write. The core of my IDE driver in petros is very simple - the IDE controller is programmed in the context of the thread that's executing and then all the ISR does is set a semaphore to let the thread know to continue at strategic points. The whole lot is wrapped in a kernel mutex to stop the pio calls getting out of sequence. Granted it doesn't do fancy stuff like queuing requests or sorting by track number, but these type of things can be done by a higher layer in the kernel. If you're simply doing bios calls it really wouldn't take much more work to get native IDE into the kernel. The only other hassle you might have is dealing with sector translation and othe bios extension stuff. We have a headache with partition table issues when dos extenders or sector translation is active.

An ATAPI driver is a minor abstraction of the IDE driver - not much more work there except to write the CDROM file system drivers - but I presume you already have that bit or are already working on it.

For FDC, it's a bit trickier - you have to manage DMA (watch out for 16 meg limitations on legacy hardware) and I have found that programming the controller is much more finicky (need to refer to data sheets when writing). However, I did manage to get it working quite well without blocking the entire system. You can read the floppy to your heart's content without locking up other parts of the system.

Just a few handy hints ;)

P

P.S. with the collection of talent that shows up at OSnews, it would be cool for us all to pool our knowledge regarding devices, controllers, OS techniques etc and put a lot of the stuff together in one place. I spend days digging up stuff like datasheets and specs like IDE etc.