diff --git a/src/core/cdrom.cpp b/src/core/cdrom.cpp index b9e16f73c..42bb87b9a 100644 --- a/src/core/cdrom.cpp +++ b/src/core/cdrom.cpp @@ -1917,6 +1917,17 @@ void CDROM::DoSectorRead() // TODO: Error handling const CDImage::SubChannelQ& subq = m_reader.GetSectorSubQ(); + if (subq.IsCRCValid()) + { + m_last_subq = subq; + } + else + { + const CDImage::Position pos(CDImage::Position::FromLBA(m_current_lba)); + Log_DevPrintf("Sector %u [%02u:%02u:%02u] has invalid subchannel Q", m_current_lba, pos.minute, pos.second, + pos.frame); + } + if (subq.track_number_bcd == CDImage::LEAD_OUT_TRACK_NUMBER) { Log_DevPrintf("Read reached lead-out area of disc at LBA %u, pausing", m_reader.GetLastReadSector()); @@ -1948,17 +1959,6 @@ void CDROM::DoSectorRead() ProcessDataSectorHeader(m_reader.GetSectorBuffer().data()); } - if (subq.IsCRCValid()) - { - m_last_subq = subq; - } - else - { - const CDImage::Position pos(CDImage::Position::FromLBA(m_current_lba)); - Log_DevPrintf("Sector %u [%02u:%02u:%02u] has invalid subchannel Q", m_current_lba, pos.minute, pos.second, - pos.frame); - } - if (is_data_sector && m_drive_state == DriveState::Reading) { ProcessDataSector(m_reader.GetSectorBuffer().data(), subq);