CDROM: Increase ack timing

This commit is contained in:
Connor McLaughlin 2019-10-27 17:58:20 +10:00
parent 0092cb1016
commit dd4b9609b5

View file

@ -479,7 +479,7 @@ void CDROM::UpdateStatusRegister()
TickCount CDROM::GetAckDelayForCommand() const TickCount CDROM::GetAckDelayForCommand() const
{ {
const u32 default_ack_delay = 2000; const u32 default_ack_delay = 10000;
if (m_command == Command::Init) if (m_command == Command::Init)
return 60000; return 60000;
else else
@ -933,8 +933,6 @@ void CDROM::BeginReading(bool cdda)
Log_DebugPrintf("Starting %s", cdda ? "playing CDDA" : "reading"); Log_DebugPrintf("Starting %s", cdda ? "playing CDDA" : "reading");
if (m_setloc_pending) if (m_setloc_pending)
{
if (m_media->GetMSFPositionOnDisc() != m_setloc_position)
{ {
BeginSeeking(); BeginSeeking();
m_read_after_seek = !cdda; m_read_after_seek = !cdda;
@ -942,10 +940,6 @@ void CDROM::BeginReading(bool cdda)
return; return;
} }
// already in position
m_setloc_pending = false;
}
m_secondary_status.motor_on = true; m_secondary_status.motor_on = true;
m_secondary_status.seeking = false; m_secondary_status.seeking = false;
m_secondary_status.reading = !cdda; m_secondary_status.reading = !cdda;
@ -1266,6 +1260,7 @@ void CDROM::LoadDataFIFO()
return; return;
} }
m_data_fifo.Clear();
m_data_fifo.PushRange(m_sector_buffer.data(), static_cast<u32>(m_sector_buffer.size())); m_data_fifo.PushRange(m_sector_buffer.data(), static_cast<u32>(m_sector_buffer.size()));
m_sector_buffer.clear(); m_sector_buffer.clear();