git.ucc.asn.au
/
tpg
/
acess2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Modules/PS2KbMouse - Fixed 8042 not being initialised
[tpg/acess2.git]
/
Modules
/
Storage
/
FDD
/
fdd.c
diff --git
a/Modules/Storage/FDD/fdd.c
b/Modules/Storage/FDD/fdd.c
index
5c2848f
..
e507e94
100644
(file)
--- a/
Modules/Storage/FDD/fdd.c
+++ b/
Modules/Storage/FDD/fdd.c
@@
-712,6
+712,7
@@
int FDD_int_SendByte(int base, Uint8 byte)
if( inb(base + PORT_MAINSTATUS) & 0x40 ) {
Log_Warning("FDD", "FDD_int_SendByte: DIO set, is this ok?");
if( inb(base + PORT_MAINSTATUS) & 0x40 ) {
Log_Warning("FDD", "FDD_int_SendByte: DIO set, is this ok?");
+ return -2;
}
if( now() < end )
}
if( now() < end )
@@
-740,6
+741,7
@@
int FDD_int_GetByte(int base, Uint8 *value)
if( !(inb(base + PORT_MAINSTATUS) & 0x40) ) {
Log_Warning("FDD", "FDD_int_GetByte: DIO unset, is this ok?");
if( !(inb(base + PORT_MAINSTATUS) & 0x40) ) {
Log_Warning("FDD", "FDD_int_GetByte: DIO unset, is this ok?");
+ return -2;
}
if( now() < end )
}
if( now() < end )
@@
-842,11
+844,13
@@
int FDD_Reset(int id)
// Recalibrate disks
LOG("Recalibrate disks (16x seek)");
retries = 16;
// Recalibrate disks
LOG("Recalibrate disks (16x seek)");
retries = 16;
- while(FDD_int_SeekTrack(0, 0, 1) == 0 && retries --); // set track
+ while(FDD_int_SeekTrack(0, 0, 1) == 0 && retries --)
+ Threads_Yield(); // set track
if(retries < 0) LEAVE_RET('i', -1);
retries = 16;
if(retries < 0) LEAVE_RET('i', -1);
retries = 16;
- while(FDD_int_SeekTrack(0, 1, 1) == 0 && retries --); // set track
+ while(FDD_int_SeekTrack(0, 1, 1) == 0 && retries --)
+ Threads_Yield(); // set track
if(retries < 0) LEAVE_RET('i', -1);
LOG("Recalibrating Disk");
if(retries < 0) LEAVE_RET('i', -1);
LOG("Recalibrating Disk");
UCC
git Repository :: git.ucc.asn.au