Bugfixes to usermode 64-bit division, more work on GUI (now sizes almost correctly)
[tpg/acess2.git] / Modules / Storage / FDD / fdd.c
index e54e774..f72e548 100644 (file)
@@ -145,7 +145,7 @@ int FDD_Install(char **Arguments)
        gFDD_Devices[0].track[0] = -1;\r
        gFDD_Devices[1].track[1] = -1;\r
        \r
-       Log("[FDD ] Detected Disk 0: %s and Disk 1: %s", cFDD_TYPES[data>>4], cFDD_TYPES[data&0xF]);\r
+       Log_Log("FDD", "Detected Disk 0: %s and Disk 1: %s", cFDD_TYPES[data>>4], cFDD_TYPES[data&0xF]);\r
        \r
        if( data == 0 ) {\r
                return MODULE_ERR_NOTNEEDED;\r
@@ -471,15 +471,25 @@ int FDD_int_ReadWriteSector(Uint32 Disk, Uint64 SectorAddr, int Write, void *Buf
                \r
                if(st1 & 0x02) {\r
                        LOG("Floppy not writable");\r
-                       i = FDD_MAX_READWRITE_ATTEMPTS;\r
+                       i = FDD_MAX_READWRITE_ATTEMPTS+1;\r
                        break;\r
                }\r
+               \r
+               // Success!\r
+               break;\r
        }\r
        \r
        // Release Spinlock\r
        LOG("Realeasing Spinlock and setting motor to stop");\r
        RELEASE(&glFDD);\r
        \r
+       if(i == FDD_MAX_READWRITE_ATTEMPTS) {\r
+               Log_Warning("FDD", "Exceeded %i attempts in %s the disk",\r
+                       FDD_MAX_READWRITE_ATTEMPTS,\r
+                       (Write ? "writing to" : "reading from")\r
+                       );\r
+       }\r
+       \r
        // Don't turn the motor off now, wait for a while\r
        gFDD_Devices[Disk].timer = Time_CreateTimer(MOTOR_OFF_DELAY, FDD_int_StopMotor, (void*)Disk);\r
 \r

UCC git Repository :: git.ucc.asn.au