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