DVDInterface: Fix decrypting reads clearing the drive state
This broke ejecting Wii discs while the game is running, as the drive state was set to Ready even when no disc was present, but other code still reported the missing disc, which confused games as you can't be both ready to read and have no disc. That would cause games to show an unrecoverable error screen, instead of a "please insert the game disc" screen. This only affected Wii games; the GameCube games used regular disc reads which worked fine.
This commit is contained in:
parent
bb2d576ecc
commit
e440b21640
|
@ -1251,7 +1251,9 @@ void PerformDecryptingRead(u32 position, u32 length, u32 output_address,
|
|||
const DiscIO::Partition& partition, ReplyType reply_type)
|
||||
{
|
||||
DIInterruptType interrupt_type = DIInterruptType::TCINT;
|
||||
SetDriveState(DriveState::Ready);
|
||||
|
||||
if (s_drive_state == DriveState::ReadyNoReadsMade)
|
||||
SetDriveState(DriveState::Ready);
|
||||
|
||||
const bool command_handled_by_thread =
|
||||
ExecuteReadCommand(static_cast<u64>(position) << 2, output_address, length, length, partition,
|
||||
|
|
Loading…
Reference in New Issue