From 6feb1c98dac7afe1e832ee4ef6d6e781f0a239f1 Mon Sep 17 00:00:00 2001 From: smf- Date: Sat, 26 Oct 2013 11:04:56 +0000 Subject: [PATCH] Changed IDE read sector timing to be the same as read multiple instead of write sector. [smf] --- src/emu/machine/idehd.c | 21 ++++++++------------- 1 file changed, 8 insertions(+), 13 deletions(-) diff --git a/src/emu/machine/idehd.c b/src/emu/machine/idehd.c index 4b6cbb25081..40650f400ec 100644 --- a/src/emu/machine/idehd.c +++ b/src/emu/machine/idehd.c @@ -361,7 +361,7 @@ void ata_mass_storage_device::fill_buffer() start_busy(TIME_MULTIPLE_SECTORS, PARAM_COMMAND); } else - start_busy(TIME_PER_SECTOR, PARAM_COMMAND); + start_busy(TIME_MULTIPLE_SECTORS, PARAM_COMMAND); } break; } @@ -431,20 +431,15 @@ void ata_mass_storage_device::read_first_sector() set_dasp(ASSERT_LINE); /* just set a timer */ - if (m_command == IDE_COMMAND_READ_MULTIPLE) - { - int new_lba = lba_address(); - attotime seek_time; + int new_lba = lba_address(); + attotime seek_time; - if (new_lba == m_cur_lba || new_lba == m_cur_lba + 1) - start_busy(TIME_NO_SEEK_MULTISECTOR, PARAM_COMMAND); - else - start_busy(TIME_SEEK_MULTISECTOR, PARAM_COMMAND); - - m_cur_lba = new_lba; - } + if (new_lba == m_cur_lba || new_lba == m_cur_lba + 1) + start_busy(TIME_NO_SEEK_MULTISECTOR, PARAM_COMMAND); else - start_busy(TIME_PER_SECTOR, PARAM_COMMAND); + start_busy(TIME_SEEK_MULTISECTOR, PARAM_COMMAND); + + m_cur_lba = new_lba; } }