Floppy Driver not worling on Real PC
Posted: Sun Jan 22, 2006 12:00 am
Hi... My problem is a repost of an already posted topic long back by "mk"
however, the solution is not available in that post....
Here's the problem...
I'm using bochs emulator.. the Floppy Read Data works fine on Bochs
but hangs on Real PC...
I follow the steps mentioned in Intel doc for floppy controller...
1. Motor On
2. Set Data Rate
3. Wait for Int (Int occurs both on Real & bochs)
4. Recaliberate (Int occurs both on Real & bochs)
5. sleep for 500 ms
6. Init DMA
7. Series of commands for Read.... as mention by doc
which end with sending a DTL = 0xFF if N > 1 (in my case n = 2 => 512 byte block size)
8. Wait for Int..... ----> here's the problem... on bochs Int occurs but on real pc int doesn't occur and the task enters infinite loop waiting for the interrupt....
Can any one please help me in understanding what could be wrong here...
In the old post by "mk"... he has posted similar prob but He has then replied that the prob was solved... and didn't mention whats the solution... just said that it was a problem with his DMA init code....
Thanks for any sort of help in advance...
however, the solution is not available in that post....
Here's the problem...
I'm using bochs emulator.. the Floppy Read Data works fine on Bochs
but hangs on Real PC...
I follow the steps mentioned in Intel doc for floppy controller...
1. Motor On
2. Set Data Rate
3. Wait for Int (Int occurs both on Real & bochs)
4. Recaliberate (Int occurs both on Real & bochs)
5. sleep for 500 ms
6. Init DMA
7. Series of commands for Read.... as mention by doc
which end with sending a DTL = 0xFF if N > 1 (in my case n = 2 => 512 byte block size)
8. Wait for Int..... ----> here's the problem... on bochs Int occurs but on real pc int doesn't occur and the task enters infinite loop waiting for the interrupt....
Can any one please help me in understanding what could be wrong here...
In the old post by "mk"... he has posted similar prob but He has then replied that the prob was solved... and didn't mention whats the solution... just said that it was a problem with his DMA init code....
Thanks for any sort of help in advance...