ImageDisk project is canceled

Tony Duell ard at p850ug1.demon.co.uk
Thu Dec 22 16:24:19 CST 2005


> You don't even have to compile out the floppy driver - just don't open
> it. 
> 
> You should be able to mmap any memory based registers into userland and
> you can certainly do io instructions as root.

You don't even need to go to that low a level. There is an ioctl() call 
(at least in this old kernel) to talk to the floppy controller at the 
register level.


> 
> As long as there are no critical timing issues, and you don't need
> interrupts it's not hard.

That's the problem. To determine the sector layout there _are_ critical 
timing issues.

To read or write a given sector there are no real problems. You load the 
floppy controller (and DMA chip) registers with the right values, it goes 
off and does it. It doesn't matter if your task is switched out at the 
end of that, the data will be there when your task runs again, etc.

But to read the IDs, it appears you _have_ to submit the next command as 
soon as you get the results from the current one, or risk missing a 
sector. And as far as I can see there's no way to be sure of doing that 
on a multitasking system.

> never concidered talking to the floppy controller, however.

I have, it's not that hard (well, it can't be if I can manage it).

> 
> Are we just talking 3 & 5" floppies here?  hmm....

It shouldn't matter. IIRC the linux driver supports 2 controllers and up 
to 4 drives on each controller. Since you can get the floppy controller 
to do anything that it's capable of, there shouldn't be a problem with 
any size of drive (I assume, BTW, you mean 3.5" drives, 3" drives do 
exist but a not common on PCs).

-tony



More information about the cctalk mailing list