That's not true, it is perfectly possible - neigh
- desirable to access floppies without DMA.
The DMA was a good idea when PCs ran at 4MHz etc,
but in these enlightened days of 2GHz plus, there
is no reason whatsoever to use DMA, add to that,
that in standard form, the DMA can only access
the 1st 1MB of RAM, or if you really work hard,
the 1st 16MB of RAM !
I wouldn't try to do it without IRQs however, you
will spend an awful lot of your life just polling
registers
To set the floppy controller to non-DMA mode, send
a specify command (03h) to it with the ND (Non-DMA)
bit in parameter 2 set, et voila, no more DMAs !,
you will instead get an interrupt for each byte to
transfer rather than the conventional DMA request.
If you really, really want no interrupts either,
then you could set bit 3 (DMAGATE) in DOR (03F2h)
to 0, this tri-states DMAs, but also the IRQ line,
or you could just mask out the interrupt in the
PIC
>On 2002-02-11 14:19:49, Anonymous wrote:
>There is only one way that you can transfer data to/from the Floppy and that is by using IRQ and DMA.
>>On 2002-02-10 03:44:02, The Legend wrote:
>>>On 2002-02-09 18:37:13, Anonymous wrote:
>>>>On 2002-02-08 10:56:23, The Legend wrote:
>>>>Hi,
>>>>
>>>>I've somewhere heard that it is possible to use the
>>>>Floppy without any IRQ or DMA, but can't find
>>>>anything about it. (It is hard enough to find
>>>>something useful about the Floppy in general ...)
>>>
>>>I must admit, I don't know much about floppy/ide
>>>programming, but I do know you can access ide
>>>hd's strictly through ports, so I wouldn't be
>>>surprised if you could do the same with the floppy.
>>>
>>>This is, though... why!? DMA's a good thing, dude
>>>Might as well use it when you can!
>>It would be another driver directly linked into my
>>kernel, and as I need a way to access the floppy
>>as simple as possible, I would avoid DMA for the
>>first file readings, and load from disk later
>>(and then a new, faster Floppy-Driver, too).
>>
>>>
>>>In any event, check the links off this page. Most
>>>of the OSs here implement floppy drivers.
>>Okay, I will browse through it if I can find any
>>driver without dma and irqs ...
>>Most times I see the driver from LittleOS and GazOS
>>(I don't know who wrote it).
>>
>>>
>>>Jeff