summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/machine/idectrl.c
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2012-08-20 14:41:34 +0000
committer Miodrag Milanovic <mmicko@gmail.com>2012-08-20 14:41:34 +0000
commitf59f48e859e7d7e4fd9749755b94e9ae31afa472 (patch)
tree608da45db1a7cc5f9185bcc42e25b23ac39fba36 /src/emu/machine/idectrl.c
parent38abc5dac9e44f03e910311135a65fb4cb17355e (diff)
More proper solution for not connected IDE devices (no whatsnew)
Diffstat (limited to 'src/emu/machine/idectrl.c')
-rw-r--r--src/emu/machine/idectrl.c9
1 files changed, 7 insertions, 2 deletions
diff --git a/src/emu/machine/idectrl.c b/src/emu/machine/idectrl.c
index 9a5d29e364e..c668ed05f01 100644
--- a/src/emu/machine/idectrl.c
+++ b/src/emu/machine/idectrl.c
@@ -1286,8 +1286,13 @@ static UINT32 ide_controller_read(device_t *device, int bank, offs_t offset, int
// if (BANK(bank, offset) != IDE_BANK0_DATA && BANK(bank, offset) != IDE_BANK0_STATUS_COMMAND && BANK(bank, offset) != IDE_BANK1_STATUS_CONTROL)
LOG(("%s:IDE read at %d:%X, size=%d\n", device->machine().describe_context(), bank, offset, size));
- if (ide->drive[ide->cur_drive].slot->is_ready()) {
- ide->status |= IDE_STATUS_DRIVE_READY;
+ if (ide->drive[ide->cur_drive].slot->is_connected())
+ {
+ if (ide->drive[ide->cur_drive].slot->is_ready()) {
+ ide->status |= IDE_STATUS_DRIVE_READY;
+ } else {
+ ide->status &= ~IDE_STATUS_DRIVE_READY;
+ }
}
switch (BANK(bank, offset))