@@ -1049,15 +1049,22 @@ class CDRomImpl : public PCSX::CDRom {
1049
1049
}
1050
1050
1051
1051
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
+ }
1061
1068
}
1062
1069
}
1063
1070
@@ -1668,8 +1675,9 @@ class CDRomImpl : public PCSX::CDRom {
1668
1675
m_param[0 ]);
1669
1676
break ;
1670
1677
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 );
1673
1681
} else {
1674
1682
PCSX::g_system->log (PCSX::LogClass::CDROM, " [CDROM]%s Command: %s\n " , delayedString,
1675
1683
magic_enum::enum_names<Commands>()[command & 0xff ]);
0 commit comments