CDROM: Hack timings to get further with booting

This commit is contained in:
Connor McLaughlin 2019-09-22 21:40:44 +10:00
parent c772047715
commit f2d62fcce0
2 changed files with 10 additions and 8 deletions

View file

@ -80,7 +80,7 @@ int main(int argc, char* argv[])
{
// set log flags
// g_pLog->SetConsoleOutputParams(true, nullptr, LOGLEVEL_DEBUG);
g_pLog->SetConsoleOutputParams(true, "GPU GPU_HW_OpenGL Pad DigitalController", LOGLEVEL_DEBUG);
g_pLog->SetConsoleOutputParams(true, "GPU GPU_HW_OpenGL DMA Pad DigitalController", LOGLEVEL_DEBUG);
#ifdef Y_BUILD_CONFIG_RELEASE
g_pLog->SetFilterLevel(LOGLEVEL_INFO);
@ -88,6 +88,7 @@ int main(int argc, char* argv[])
#else
// g_pLog->SetFilterLevel(LOGLEVEL_TRACE);
g_pLog->SetFilterLevel(LOGLEVEL_DEBUG);
// g_pLog->SetFilterLevel(LOGLEVEL_DEV);
#endif
// return NoGUITest();

View file

@ -505,7 +505,7 @@ void CDROM::ExecuteCommand()
m_response_fifo.Push(m_secondary_status.bits);
SetInterrupt(Interrupt::INT3);
StopReading();
NextCommandStage(true, 100);
NextCommandStage(true, 1000);
}
else
{
@ -525,7 +525,7 @@ void CDROM::ExecuteCommand()
m_response_fifo.Push(m_secondary_status.bits);
SetInterrupt(Interrupt::INT3);
StopReading();
NextCommandStage(true, 100);
NextCommandStage(true, 1000);
}
else
{
@ -586,7 +586,7 @@ void CDROM::BeginReading()
m_secondary_status.reading = true;
m_reading = true;
m_sector_read_remaining_ticks = 100;
m_sector_read_remaining_ticks = 4000;
m_system->SetDowncount(m_sector_read_remaining_ticks);
UpdateStatusRegister();
}
@ -596,9 +596,10 @@ void CDROM::DoSectorRead()
if (HasPendingInterrupt())
{
// can't read with a pending interrupt?
m_sector_read_remaining_ticks += 10;
m_system->SetDowncount(m_sector_read_remaining_ticks);
return;
Log_WarningPrintf("Missed sector read...");
//m_sector_read_remaining_ticks += 10;
//m_system->SetDowncount(m_sector_read_remaining_ticks);
//return;
}
Log_DebugPrintf("Reading sector %llu", m_media->GetCurrentLBA());
@ -612,7 +613,7 @@ void CDROM::DoSectorRead()
SetInterrupt(Interrupt::INT1);
UpdateStatusRegister();
m_sector_read_remaining_ticks += 100;
m_sector_read_remaining_ticks += 4000;
m_system->SetDowncount(m_sector_read_remaining_ticks);
}