mirror of
https://github.com/WinampDesktop/winamp.git
synced 2025-05-28 16:41:10 -04:00
CDROM: Ensure complete IRQs for Init go through
Fixes booting games with OpenBIOS and its Init spam.
This commit is contained in:
parent
5a185654ba
commit
34861074c1
@ -2241,9 +2241,21 @@ void CDROM::ExecuteCommandSecondResponse(void*, TickCount ticks, TickCount ticks
|
|||||||
DoIDRead();
|
DoIDRead();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
case Command::Init:
|
||||||
|
{
|
||||||
|
// OpenBIOS spams Init, so we need to ensure the completion actually gets through.
|
||||||
|
// If we have a pending command (which is probably init), cancel it.
|
||||||
|
if (HasPendingCommand())
|
||||||
|
{
|
||||||
|
WARNING_LOG("Cancelling pending command 0x{:02X} ({}) due to init completion.", static_cast<u8>(s_command),
|
||||||
|
s_command_info[static_cast<u8>(s_command)].name);
|
||||||
|
EndCommand();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
[[fallthrough]];
|
||||||
|
|
||||||
case Command::ReadTOC:
|
case Command::ReadTOC:
|
||||||
case Command::Pause:
|
case Command::Pause:
|
||||||
case Command::Init:
|
|
||||||
case Command::MotorOn:
|
case Command::MotorOn:
|
||||||
case Command::Stop:
|
case Command::Stop:
|
||||||
DoStatSecondResponse();
|
DoStatSecondResponse();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user