@@ -1049,15 +1049,22 @@ class CDRomImpl : public PCSX::CDRom {
10491049 }
10501050
10511051 if (!no_busy_error) {
1052- switch (m_driveState) {
1053- case DRIVESTATE_LID_OPEN :
1054- case DRIVESTATE_RESCAN_CD :
1055- case DRIVESTATE_PREPARE_CD :
1056- SetResultSize (2 );
1057- m_result[0 ] = m_statP | STATUS_ERROR ;
1058- m_result[1 ] = ERROR_NOTREADY ;
1059- m_stat = DiskError;
1060- break ;
1052+ if (!m_iso.isActive ()) {
1053+ SetResultSize (2 );
1054+ m_result[0 ] = m_statP | STATUS_ERROR ;
1055+ m_result[1 ] = ERROR_NOTREADY ;
1056+ m_stat = DiskError;
1057+ } else {
1058+ switch (m_driveState) {
1059+ case DRIVESTATE_LID_OPEN :
1060+ case DRIVESTATE_RESCAN_CD :
1061+ case DRIVESTATE_PREPARE_CD :
1062+ SetResultSize (2 );
1063+ m_result[0 ] = m_statP | STATUS_ERROR ;
1064+ m_result[1 ] = ERROR_NOTREADY ;
1065+ m_stat = DiskError;
1066+ break ;
1067+ }
10611068 }
10621069 }
10631070
@@ -1668,8 +1675,9 @@ class CDRomImpl : public PCSX::CDRom {
16681675 m_param[0 ]);
16691676 break ;
16701677 default :
1671- if (command > cdCmdEnumCount) {
1672- PCSX ::g_system->log (PCSX ::LogClass::CDROM , " [CDROM]%s Command: CdlUnknown\n " , delayedString);
1678+ if ((command & 0xff ) > cdCmdEnumCount) {
1679+ PCSX ::g_system->log (PCSX ::LogClass::CDROM , " [CDROM]%s Command: CdlUnknown(0x%02X)\n " , delayedString,
1680+ command & 0xff );
16731681 } else {
16741682 PCSX ::g_system->log (PCSX ::LogClass::CDROM , " [CDROM]%s Command: %s\n " , delayedString,
16751683 magic_enum::enum_names<Commands>()[command & 0xff ]);
0 commit comments