diff options
author | 2012-08-20 14:41:34 +0000 | |
---|---|---|
committer | 2012-08-20 14:41:34 +0000 | |
commit | f59f48e859e7d7e4fd9749755b94e9ae31afa472 (patch) | |
tree | 608da45db1a7cc5f9185bcc42e25b23ac39fba36 /src/emu/machine/idectrl.c | |
parent | 38abc5dac9e44f03e910311135a65fb4cb17355e (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.c | 9 |
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)) |