Fixed the fast disc speed option (immediately service the interrupt instead of going through the scheduler).

This commit is contained in:
skidau 2014-11-20 18:23:05 +11:00
parent ba1a8d2ef3
commit 2968cb138c
1 changed files with 13 additions and 2 deletions

View File

@ -1046,8 +1046,19 @@ void ExecuteCommand()
break;
}
// The transfer is finished after a delay
CoreTiming::ScheduleEvent((int)ticks_until_TC, tc);
if (ticks_until_TC)
{
// The transfer is finished after a delay
CoreTiming::ScheduleEvent((int)ticks_until_TC, tc);
}
else
{
// transfer is done
m_DICR.TSTART = 0;
m_DILENGTH.Length = 0;
GenerateDIInterrupt(INT_TCINT);
g_ErrorCode = 0;
}
}
// Simulates the timing aspects of reading data from a disc.