[SeaBIOS] [PATCH] Fixes to the floppy driver, so it works on real (not emulated) hardware

Nikolay Nikolov nickysn at gmail.com
Fri Feb 2 23:35:06 CET 2018


Sorry, forgot to reply to one of the small points in my other mail.


On 01/31/2018 05:23 AM, Kevin O'Connor wrote:
>
>>   // Send the specified command and it's parameters to the floppy controller.
>>   static int
>> @@ -302,9 +310,12 @@ static int
>>   floppy_enable_controller(void)
>>   {
>>       dprintf(2, "Floppy_enable_controller\n");
>> -    SET_BDA(floppy_motor_counter, FLOPPY_MOTOR_TICKS);
>> -    floppy_dor_write(0x00);
>> -    floppy_dor_write(0x0c);
>> +    // Clear the reset bit (enter reset state), but set 'enable IRQ and DMA'
>> +    floppy_dor_write((GET_LOW(FloppyDOR) & ~0x04) | 0x08);
>> +    // Real hardware needs a 4 microsecond delay
>> +    udelay(4);
> Can this be a usleep()?
Yes, it shouldn't be a problem.

Nikolay



More information about the SeaBIOS mailing list