mirror of
https://github.com/RetroDECK/Duckstation.git
synced 2024-11-23 06:15:38 +00:00
CDROM: Don't lose INT1 interrupts from command execution
This commit is contained in:
parent
6a82333d8f
commit
90cf6b8b41
|
@ -367,6 +367,8 @@ void CDROM::WriteRegister(u32 offset, u8 value)
|
||||||
{
|
{
|
||||||
if (HasPendingAsyncInterrupt())
|
if (HasPendingAsyncInterrupt())
|
||||||
DeliverAsyncInterrupt();
|
DeliverAsyncInterrupt();
|
||||||
|
else if (HasPendingCommand())
|
||||||
|
m_system->SetDowncount(m_command_remaining_ticks);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Bit 6 clears the parameter FIFO.
|
// Bit 6 clears the parameter FIFO.
|
||||||
|
@ -525,7 +527,7 @@ TickCount CDROM::GetTicksForSeek() const
|
||||||
|
|
||||||
void CDROM::Execute(TickCount ticks)
|
void CDROM::Execute(TickCount ticks)
|
||||||
{
|
{
|
||||||
if (HasPendingCommand())
|
if (HasPendingCommand() && !HasPendingInterrupt())
|
||||||
{
|
{
|
||||||
m_command_remaining_ticks -= ticks;
|
m_command_remaining_ticks -= ticks;
|
||||||
if (m_command_remaining_ticks <= 0)
|
if (m_command_remaining_ticks <= 0)
|
||||||
|
|
Loading…
Reference in a new issue