mirror of
https://github.com/izzy2lost/dolphin.git
synced 2026-06-19 01:16:48 -07:00
Merge pull request #9263 from lioncash/core-log2
Core: Convert logging over to fmt pt.2
This commit is contained in:
@@ -253,7 +253,7 @@ u32 AnalyzeCommand(const u8* data, DecodeMode mode)
|
||||
}
|
||||
else
|
||||
{
|
||||
PanicAlert("FifoPlayer: Unknown Opcode (0x%x).\n", cmd);
|
||||
PanicAlertFmt("FifoPlayer: Unknown Opcode ({:#x}).\n", cmd);
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -215,8 +215,8 @@ std::unique_ptr<FifoDataFile> FifoDataFile::Load(const std::string& filename, bo
|
||||
|
||||
if (header.fileId != FILE_ID || header.min_loader_version > VERSION_NUMBER)
|
||||
{
|
||||
CriticalAlertT(
|
||||
"The DFF's minimum loader version (%d) exceeds the version of this FIFO Player (%d)",
|
||||
CriticalAlertFmtT(
|
||||
"The DFF's minimum loader version ({0}) exceeds the version of this FIFO Player ({1})",
|
||||
header.min_loader_version, VERSION_NUMBER);
|
||||
file.Close();
|
||||
return nullptr;
|
||||
@@ -257,13 +257,13 @@ std::unique_ptr<FifoDataFile> FifoDataFile::Load(const std::string& filename, bo
|
||||
if (header.mem1_size != Memory::GetRamSizeReal() ||
|
||||
header.mem2_size != Memory::GetExRamSizeReal())
|
||||
{
|
||||
CriticalAlertT("Emulated memory size mismatch!\n"
|
||||
"Current: MEM1 %08X (%3d MiB), MEM2 %08X (%3d MiB)\n"
|
||||
"DFF: MEM1 %08X (%3d MiB), MEM2 %08X (%3d MiB)",
|
||||
Memory::GetRamSizeReal(), Memory::GetRamSizeReal() / 0x100000,
|
||||
Memory::GetExRamSizeReal(), Memory::GetExRamSizeReal() / 0x100000,
|
||||
header.mem1_size, header.mem1_size / 0x100000, header.mem2_size,
|
||||
header.mem2_size / 0x100000);
|
||||
CriticalAlertFmtT("Emulated memory size mismatch!\n"
|
||||
"Current: MEM1 {0:08X} ({1} MiB), MEM2 {2:08X} ({3} MiB)\n"
|
||||
"DFF: MEM1 {4:08X} ({5} MiB), MEM2 {6:08X} ({7} MiB)",
|
||||
Memory::GetRamSizeReal(), Memory::GetRamSizeReal() / 0x100000,
|
||||
Memory::GetExRamSizeReal(), Memory::GetExRamSizeReal() / 0x100000,
|
||||
header.mem1_size, header.mem1_size / 0x100000, header.mem2_size,
|
||||
header.mem2_size / 0x100000);
|
||||
file.Close();
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
@@ -99,7 +99,7 @@ public:
|
||||
{
|
||||
// NOTE: AdvanceFrame() will get stuck forever in Dual Core because the FIFO
|
||||
// is disabled by CPU::EnableStepping(true) so the frame never gets displayed.
|
||||
PanicAlertT("Cannot SingleStep the FIFO. Use Frame Advance instead.");
|
||||
PanicAlertFmtT("Cannot SingleStep the FIFO. Use Frame Advance instead.");
|
||||
}
|
||||
|
||||
const char* GetName() const override { return "FifoPlayer"; }
|
||||
|
||||
@@ -82,8 +82,8 @@ void FifoRecorder::WriteGPCommand(const u8* data, u32 size)
|
||||
// Make sure FifoPlayer's command analyzer agrees about the size of the command.
|
||||
if (analyzed_size != size)
|
||||
{
|
||||
PanicAlert("FifoRecorder: Expected command to be %i bytes long, we were given %i bytes",
|
||||
analyzed_size, size);
|
||||
PanicAlertFmt("FifoRecorder: Expected command to be {} bytes long, we were given {} bytes",
|
||||
analyzed_size, size);
|
||||
}
|
||||
|
||||
// Copy data to buffer
|
||||
|
||||
@@ -121,7 +121,7 @@ void PatchFunctions()
|
||||
s_hooked_addresses[addr] = i;
|
||||
PowerPC::ppcState.iCache.Invalidate(addr);
|
||||
}
|
||||
INFO_LOG(OSHLE, "Patching %s %08x", os_patches[i].name, symbol->address);
|
||||
INFO_LOG_FMT(OSHLE, "Patching {} {:08x}", os_patches[i].name, symbol->address);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -147,7 +147,7 @@ void Execute(u32 current_pc, u32 hook_index)
|
||||
}
|
||||
else
|
||||
{
|
||||
PanicAlert("HLE system tried to call an undefined HLE function %i.", hook_index);
|
||||
PanicAlertFmt("HLE system tried to call an undefined HLE function {}.", hook_index);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -37,8 +37,8 @@ void HLE_OSPanic()
|
||||
StringPopBackIf(&error, '\n');
|
||||
StringPopBackIf(&msg, '\n');
|
||||
|
||||
PanicAlert("OSPanic: %s: %s", error.c_str(), msg.c_str());
|
||||
ERROR_LOG(OSREPORT, "%08x->%08x| OSPanic: %s: %s", LR, PC, error.c_str(), msg.c_str());
|
||||
PanicAlertFmt("OSPanic: {}: {}", error, msg);
|
||||
ERROR_LOG_FMT(OSREPORT, "{:08x}->{:08x}| OSPanic: {}: {}", LR, PC, error, msg);
|
||||
|
||||
NPC = LR;
|
||||
}
|
||||
@@ -82,7 +82,7 @@ void HLE_GeneralDebugPrint(ParameterType parameter_type)
|
||||
|
||||
NPC = LR;
|
||||
|
||||
NOTICE_LOG(OSREPORT, "%08x->%08x| %s", LR, PC, SHIFTJISToUTF8(report_message).c_str());
|
||||
NOTICE_LOG_FMT(OSREPORT, "{:08x}->{:08x}| {}", LR, PC, SHIFTJISToUTF8(report_message));
|
||||
}
|
||||
|
||||
// Generalized function for printing formatted string using parameter list.
|
||||
@@ -103,24 +103,24 @@ void HLE_write_console()
|
||||
std::string report_message = GetStringVA(4);
|
||||
if (PowerPC::HostIsRAMAddress(GPR(5)))
|
||||
{
|
||||
u32 size = PowerPC::Read_U32(GPR(5));
|
||||
const u32 size = PowerPC::Read_U32(GPR(5));
|
||||
if (size > report_message.size())
|
||||
WARN_LOG(OSREPORT, "__write_console uses an invalid size of 0x%08x", size);
|
||||
WARN_LOG_FMT(OSREPORT, "__write_console uses an invalid size of {:#010x}", size);
|
||||
else if (size == 0)
|
||||
WARN_LOG(OSREPORT, "__write_console uses a size of zero");
|
||||
WARN_LOG_FMT(OSREPORT, "__write_console uses a size of zero");
|
||||
else
|
||||
report_message = report_message.substr(0, size);
|
||||
}
|
||||
else
|
||||
{
|
||||
ERROR_LOG(OSREPORT, "__write_console uses an unreachable size pointer");
|
||||
ERROR_LOG_FMT(OSREPORT, "__write_console uses an unreachable size pointer");
|
||||
}
|
||||
|
||||
StringPopBackIf(&report_message, '\n');
|
||||
|
||||
NPC = LR;
|
||||
|
||||
NOTICE_LOG(OSREPORT, "%08x->%08x| %s", LR, PC, SHIFTJISToUTF8(report_message).c_str());
|
||||
NOTICE_LOG_FMT(OSREPORT, "{:08x}->{:08x}| {}", LR, PC, SHIFTJISToUTF8(report_message));
|
||||
}
|
||||
|
||||
// Log (v)dprintf message if fd is 1 (stdout) or 2 (stderr)
|
||||
@@ -133,7 +133,7 @@ void HLE_LogDPrint(ParameterType parameter_type)
|
||||
|
||||
std::string report_message = GetStringVA(4, parameter_type);
|
||||
StringPopBackIf(&report_message, '\n');
|
||||
NOTICE_LOG(OSREPORT, "%08x->%08x| %s", LR, PC, SHIFTJISToUTF8(report_message).c_str());
|
||||
NOTICE_LOG_FMT(OSREPORT, "{:08x}->{:08x}| {}", LR, PC, SHIFTJISToUTF8(report_message));
|
||||
}
|
||||
|
||||
// Log dprintf message
|
||||
@@ -173,7 +173,7 @@ void HLE_LogFPrint(ParameterType parameter_type)
|
||||
|
||||
std::string report_message = GetStringVA(4, parameter_type);
|
||||
StringPopBackIf(&report_message, '\n');
|
||||
NOTICE_LOG(OSREPORT, "%08x->%08x| %s", LR, PC, SHIFTJISToUTF8(report_message).c_str());
|
||||
NOTICE_LOG_FMT(OSREPORT, "{:08x}->{:08x}| {}", LR, PC, SHIFTJISToUTF8(report_message));
|
||||
}
|
||||
|
||||
// Log fprintf message
|
||||
|
||||
@@ -42,7 +42,7 @@ u32 HLE::SystemVABI::VAListStruct::GetGPR(u32 gpr) const
|
||||
{
|
||||
if (gpr < 3 || gpr > 10)
|
||||
{
|
||||
ERROR_LOG(OSHLE, "VAListStruct at %08x doesn't have GPR%d!", m_address, gpr);
|
||||
ERROR_LOG_FMT(OSHLE, "VAListStruct at {:08x} doesn't have GPR{}!", m_address, gpr);
|
||||
return 0;
|
||||
}
|
||||
const u32 gpr_address = Common::AlignUp(GetGPRArea() + 4 * (gpr - 3), 4);
|
||||
@@ -53,7 +53,7 @@ double HLE::SystemVABI::VAListStruct::GetFPR(u32 fpr) const
|
||||
{
|
||||
if (!m_has_fpr_area || fpr < 1 || fpr > 8)
|
||||
{
|
||||
ERROR_LOG(OSHLE, "VAListStruct at %08x doesn't have FPR%d!", m_address, fpr);
|
||||
ERROR_LOG_FMT(OSHLE, "VAListStruct at {:08x} doesn't have FPR{}!", m_address, fpr);
|
||||
return 0.0;
|
||||
}
|
||||
const u32 fpr_address = Common::AlignUp(GetFPRArea() + 8 * (fpr - 1), 8);
|
||||
|
||||
@@ -168,13 +168,13 @@ void RegisterMMIO(MMIO::Mapping* mmio, u32 base)
|
||||
|
||||
if (s_control.AIINTMSK != tmp_ai_ctrl.AIINTMSK)
|
||||
{
|
||||
DEBUG_LOG(AUDIO_INTERFACE, "Change AIINTMSK to %d", tmp_ai_ctrl.AIINTMSK);
|
||||
DEBUG_LOG_FMT(AUDIO_INTERFACE, "Change AIINTMSK to {}", tmp_ai_ctrl.AIINTMSK);
|
||||
s_control.AIINTMSK = tmp_ai_ctrl.AIINTMSK;
|
||||
}
|
||||
|
||||
if (s_control.AIINTVLD != tmp_ai_ctrl.AIINTVLD)
|
||||
{
|
||||
DEBUG_LOG(AUDIO_INTERFACE, "Change AIINTVLD to %d", tmp_ai_ctrl.AIINTVLD);
|
||||
DEBUG_LOG_FMT(AUDIO_INTERFACE, "Change AIINTVLD to {}", tmp_ai_ctrl.AIINTVLD);
|
||||
s_control.AIINTVLD = tmp_ai_ctrl.AIINTVLD;
|
||||
}
|
||||
|
||||
@@ -182,7 +182,8 @@ void RegisterMMIO(MMIO::Mapping* mmio, u32 base)
|
||||
if (tmp_ai_ctrl.AISFR != s_control.AISFR)
|
||||
{
|
||||
// AISFR rates below are intentionally inverted wrt yagcd
|
||||
DEBUG_LOG(AUDIO_INTERFACE, "Change AISFR to %s", tmp_ai_ctrl.AISFR ? "48khz" : "32khz");
|
||||
DEBUG_LOG_FMT(AUDIO_INTERFACE, "Change AISFR to {}",
|
||||
tmp_ai_ctrl.AISFR ? "48khz" : "32khz");
|
||||
s_control.AISFR = tmp_ai_ctrl.AISFR;
|
||||
s_ais_sample_rate = tmp_ai_ctrl.AISFR ? Get48KHzSampleRate() : Get32KHzSampleRate();
|
||||
g_sound_stream->GetMixer()->SetStreamInputSampleRate(s_ais_sample_rate);
|
||||
@@ -191,7 +192,8 @@ void RegisterMMIO(MMIO::Mapping* mmio, u32 base)
|
||||
// Set frequency of DMA
|
||||
if (tmp_ai_ctrl.AIDFR != s_control.AIDFR)
|
||||
{
|
||||
DEBUG_LOG(AUDIO_INTERFACE, "Change AIDFR to %s", tmp_ai_ctrl.AIDFR ? "32khz" : "48khz");
|
||||
DEBUG_LOG_FMT(AUDIO_INTERFACE, "Change AIDFR to {}",
|
||||
tmp_ai_ctrl.AIDFR ? "32khz" : "48khz");
|
||||
s_control.AIDFR = tmp_ai_ctrl.AIDFR;
|
||||
s_aid_sample_rate = tmp_ai_ctrl.AIDFR ? Get32KHzSampleRate() : Get48KHzSampleRate();
|
||||
g_sound_stream->GetMixer()->SetDMAInputSampleRate(s_aid_sample_rate);
|
||||
@@ -200,7 +202,8 @@ void RegisterMMIO(MMIO::Mapping* mmio, u32 base)
|
||||
// Streaming counter
|
||||
if (tmp_ai_ctrl.PSTAT != s_control.PSTAT)
|
||||
{
|
||||
DEBUG_LOG(AUDIO_INTERFACE, "%s streaming audio", tmp_ai_ctrl.PSTAT ? "start" : "stop");
|
||||
DEBUG_LOG_FMT(AUDIO_INTERFACE, "{} streaming audio",
|
||||
tmp_ai_ctrl.PSTAT ? "start" : "stop");
|
||||
s_control.PSTAT = tmp_ai_ctrl.PSTAT;
|
||||
s_last_cpu_time = CoreTiming::GetTicks();
|
||||
|
||||
@@ -211,14 +214,14 @@ void RegisterMMIO(MMIO::Mapping* mmio, u32 base)
|
||||
// AI Interrupt
|
||||
if (tmp_ai_ctrl.AIINT)
|
||||
{
|
||||
DEBUG_LOG(AUDIO_INTERFACE, "Clear AIS Interrupt");
|
||||
DEBUG_LOG_FMT(AUDIO_INTERFACE, "Clear AIS Interrupt");
|
||||
s_control.AIINT = 0;
|
||||
}
|
||||
|
||||
// Sample Count Reset
|
||||
if (tmp_ai_ctrl.SCRESET)
|
||||
{
|
||||
DEBUG_LOG(AUDIO_INTERFACE, "Reset AIS sample counter");
|
||||
DEBUG_LOG_FMT(AUDIO_INTERFACE, "Reset AIS sample counter");
|
||||
s_sample_counter = 0;
|
||||
|
||||
s_last_cpu_time = CoreTiming::GetTicks();
|
||||
@@ -247,8 +250,8 @@ void RegisterMMIO(MMIO::Mapping* mmio, u32 base)
|
||||
|
||||
mmio->Register(base | AI_INTERRUPT_TIMING, MMIO::DirectRead<u32>(&s_interrupt_timing),
|
||||
MMIO::ComplexWrite<u32>([](u32, u32 val) {
|
||||
DEBUG_LOG(AUDIO_INTERFACE, "AI_INTERRUPT_TIMING=%08x@%08x", val,
|
||||
PowerPC::ppcState.pc);
|
||||
DEBUG_LOG_FMT(AUDIO_INTERFACE, "AI_INTERRUPT_TIMING={:08x} at PC: {:08x}", val,
|
||||
PowerPC::ppcState.pc);
|
||||
s_interrupt_timing = val;
|
||||
CoreTiming::RemoveEvent(event_type_ai);
|
||||
CoreTiming::ScheduleEvent(GetAIPeriod(), event_type_ai);
|
||||
|
||||
@@ -329,8 +329,8 @@ void RegisterMMIO(MMIO::Mapping* mmio, u32 base)
|
||||
s_dspState.pad = tmpControl.pad;
|
||||
if (s_dspState.pad != 0)
|
||||
{
|
||||
PanicAlert(
|
||||
"DSPInterface (w) DSP state (CC00500A) gets a value with junk in the padding %08x",
|
||||
PanicAlertFmt(
|
||||
"DSPInterface (w) DSP state (CC00500A) gets a value with junk in the padding {:08x}",
|
||||
val);
|
||||
}
|
||||
|
||||
@@ -359,8 +359,8 @@ void RegisterMMIO(MMIO::Mapping* mmio, u32 base)
|
||||
s_audioDMA.current_source_address = s_audioDMA.SourceAddress;
|
||||
s_audioDMA.remaining_blocks_count = s_audioDMA.AudioDMAControl.NumBlocks;
|
||||
|
||||
INFO_LOG(AUDIO_INTERFACE, "Audio DMA configured: %i blocks from 0x%08x",
|
||||
s_audioDMA.AudioDMAControl.NumBlocks, s_audioDMA.SourceAddress);
|
||||
INFO_LOG_FMT(AUDIO_INTERFACE, "Audio DMA configured: {} blocks from {:#010x}",
|
||||
s_audioDMA.AudioDMAControl.NumBlocks, s_audioDMA.SourceAddress);
|
||||
|
||||
// We make the samples ready as soon as possible
|
||||
void* address = Memory::GetPointer(s_audioDMA.SourceAddress);
|
||||
@@ -484,8 +484,8 @@ static void Do_ARAM_DMA()
|
||||
if (s_arDMA.Cnt.dir)
|
||||
{
|
||||
// ARAM -> MRAM
|
||||
DEBUG_LOG(DSPINTERFACE, "DMA %08x bytes from ARAM %08x to MRAM %08x PC: %08x",
|
||||
s_arDMA.Cnt.count, s_arDMA.ARAddr, s_arDMA.MMAddr, PC);
|
||||
DEBUG_LOG_FMT(DSPINTERFACE, "DMA {:08x} bytes from ARAM {:08x} to MRAM {:08x} PC: {:08x}",
|
||||
s_arDMA.Cnt.count, s_arDMA.ARAddr, s_arDMA.MMAddr, PC);
|
||||
|
||||
// Outgoing data from ARAM is mirrored every 64MB (verified on real HW)
|
||||
s_arDMA.ARAddr &= 0x3ffffff;
|
||||
@@ -531,8 +531,8 @@ static void Do_ARAM_DMA()
|
||||
else
|
||||
{
|
||||
// MRAM -> ARAM
|
||||
DEBUG_LOG(DSPINTERFACE, "DMA %08x bytes from MRAM %08x to ARAM %08x PC: %08x",
|
||||
s_arDMA.Cnt.count, s_arDMA.MMAddr, s_arDMA.ARAddr, PC);
|
||||
DEBUG_LOG_FMT(DSPINTERFACE, "DMA {:08x} bytes from MRAM {:08x} to ARAM {:08x} PC: {:08x}",
|
||||
s_arDMA.Cnt.count, s_arDMA.MMAddr, s_arDMA.ARAddr, PC);
|
||||
|
||||
// Incoming data into ARAM is mirrored every 64MB (verified on real HW)
|
||||
s_arDMA.ARAddr &= 0x3ffffff;
|
||||
|
||||
@@ -60,7 +60,7 @@ void DSPHLE::SendMailToDSP(u32 mail)
|
||||
{
|
||||
if (m_ucode != nullptr)
|
||||
{
|
||||
DEBUG_LOG(DSP_MAIL, "CPU writes 0x%08x", mail);
|
||||
DEBUG_LOG_FMT(DSP_MAIL, "CPU writes {:#010x}", mail);
|
||||
m_ucode->HandleMail(mail);
|
||||
}
|
||||
}
|
||||
@@ -166,7 +166,7 @@ void DSPHLE::DSP_WriteMailBoxHigh(bool cpu_mailbox, u16 value)
|
||||
}
|
||||
else
|
||||
{
|
||||
PanicAlert("CPU can't write %08x to DSP mailbox", value);
|
||||
PanicAlertFmt("CPU can't write {:08x} to DSP mailbox", value);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -181,7 +181,7 @@ void DSPHLE::DSP_WriteMailBoxLow(bool cpu_mailbox, u16 value)
|
||||
}
|
||||
else
|
||||
{
|
||||
PanicAlert("CPU can't write %08x to DSP mailbox", value);
|
||||
PanicAlertFmt("CPU can't write {:08x} to DSP mailbox", value);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -37,7 +37,7 @@ void CMailHandler::PushMail(u32 mail, bool interrupt, int cycles_into_future)
|
||||
}
|
||||
}
|
||||
m_Mails.emplace(mail, false);
|
||||
DEBUG_LOG(DSP_MAIL, "DSP writes 0x%08x", mail);
|
||||
DEBUG_LOG_FMT(DSP_MAIL, "DSP writes {:#010x}", mail);
|
||||
}
|
||||
|
||||
u16 CMailHandler::ReadDSPMailboxHigh()
|
||||
@@ -121,7 +121,7 @@ void CMailHandler::DoState(PointerWrap& p)
|
||||
temp.emplace(value, interrupt);
|
||||
}
|
||||
if (!m_Mails.empty())
|
||||
PanicAlert("CMailHandler::DoState - WTF?");
|
||||
PanicAlertFmt("CMailHandler::DoState - WTF?");
|
||||
|
||||
// Restore queue.
|
||||
for (int i = 0; i < sz; i++)
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace DSP::HLE
|
||||
{
|
||||
AXUCode::AXUCode(DSPHLE* dsphle, u32 crc) : UCodeInterface(dsphle, crc), m_cmdlist_size(0)
|
||||
{
|
||||
INFO_LOG(DSPHLE, "Instantiating AXUCode: crc=%08x", crc);
|
||||
INFO_LOG_FMT(DSPHLE, "Instantiating AXUCode: crc={:08x}", crc);
|
||||
}
|
||||
|
||||
AXUCode::~AXUCode()
|
||||
@@ -64,7 +64,7 @@ void AXUCode::LoadResamplingCoefficients()
|
||||
if (fidx >= filenames.size())
|
||||
return;
|
||||
|
||||
INFO_LOG(DSPHLE, "Loading polyphase resampling coeffs from %s", filename.c_str());
|
||||
INFO_LOG_FMT(DSPHLE, "Loading polyphase resampling coeffs from {}", filename);
|
||||
|
||||
File::IOFile fp(filename, "rb");
|
||||
fp.ReadBytes(m_coeffs, 0x1000);
|
||||
@@ -106,10 +106,10 @@ void AXUCode::HandleCommandList()
|
||||
u32 pb_addr = 0;
|
||||
|
||||
#if 0
|
||||
INFO_LOG(DSPHLE, "Command list:");
|
||||
INFO_LOG_FMT(DSPHLE, "Command list:");
|
||||
for (u32 i = 0; m_cmdlist[i] != CMD_END; ++i)
|
||||
INFO_LOG(DSPHLE, "%04x", m_cmdlist[i]);
|
||||
INFO_LOG(DSPHLE, "-------------");
|
||||
INFO_LOG_FMT(DSPHLE, "{:04x}", m_cmdlist[i]);
|
||||
INFO_LOG_FMT(DSPHLE, "-------------");
|
||||
#endif
|
||||
|
||||
u32 curr_idx = 0;
|
||||
@@ -272,7 +272,7 @@ void AXUCode::HandleCommandList()
|
||||
}
|
||||
|
||||
default:
|
||||
ERROR_LOG(DSPHLE, "Unknown command in AX command list: %04x", cmd);
|
||||
ERROR_LOG_FMT(DSPHLE, "Unknown command in AX command list: {:04x}", cmd);
|
||||
end = true;
|
||||
break;
|
||||
}
|
||||
@@ -661,7 +661,7 @@ void AXUCode::HandleMail(u32 mail)
|
||||
}
|
||||
else
|
||||
{
|
||||
ERROR_LOG(DSPHLE, "Unknown mail sent to AX::HandleMail: %08x", mail);
|
||||
ERROR_LOG_FMT(DSPHLE, "Unknown mail sent to AX::HandleMail: {:08x}", mail);
|
||||
}
|
||||
|
||||
next_is_cmdlist = set_next_is_cmdlist;
|
||||
@@ -671,7 +671,7 @@ void AXUCode::CopyCmdList(u32 addr, u16 size)
|
||||
{
|
||||
if (size >= std::size(m_cmdlist))
|
||||
{
|
||||
ERROR_LOG(DSPHLE, "Command list at %08x is too large: size=%d", addr, size);
|
||||
ERROR_LOG_FMT(DSPHLE, "Command list at {:08x} is too large: size={}", addr, size);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@ AXWiiUCode::AXWiiUCode(DSPHLE* dsphle, u32 crc) : AXUCode(dsphle, crc), m_last_m
|
||||
for (u16& volume : m_last_aux_volumes)
|
||||
volume = 0x8000;
|
||||
|
||||
INFO_LOG(DSPHLE, "Instantiating AXWiiUCode");
|
||||
INFO_LOG_FMT(DSPHLE, "Instantiating AXWiiUCode");
|
||||
|
||||
m_old_axwii = (crc == 0xfa450138);
|
||||
}
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace DSP::HLE
|
||||
{
|
||||
CARDUCode::CARDUCode(DSPHLE* dsphle, u32 crc) : UCodeInterface(dsphle, crc)
|
||||
{
|
||||
INFO_LOG(DSPHLE, "CARDUCode - initialized");
|
||||
INFO_LOG_FMT(DSPHLE, "CARDUCode - initialized");
|
||||
}
|
||||
|
||||
CARDUCode::~CARDUCode()
|
||||
@@ -44,7 +44,7 @@ void CARDUCode::HandleMail(u32 mail)
|
||||
}
|
||||
else
|
||||
{
|
||||
WARN_LOG(DSPHLE, "CARDUCode - unknown command: %x", mail);
|
||||
WARN_LOG_FMT(DSPHLE, "CARDUCode - unknown command: {:x}", mail);
|
||||
}
|
||||
|
||||
m_mail_handler.PushMail(DSP_DONE);
|
||||
|
||||
@@ -64,10 +64,10 @@ void ProcessGBACrypto(u32 address)
|
||||
HLEMemory_Write_U32(dest_addr + 4, t3);
|
||||
|
||||
// Done!
|
||||
DEBUG_LOG(DSPHLE,
|
||||
"\n%08x -> challenge: %08x, len: %08x, dest_addr: %08x, "
|
||||
"palette: %08x, speed: %08x key: %08x, auth_code: %08x",
|
||||
address, challenge, length, dest_addr, logo_palette, logo_speed_32, key, t3);
|
||||
DEBUG_LOG_FMT(DSPHLE,
|
||||
"\n{:08x} -> challenge: {:08x}, len: {:08x}, dest_addr: {:08x}, "
|
||||
"palette: {:08x}, speed: {:08x} key: {:08x}, auth_code: {:08x}",
|
||||
address, challenge, length, dest_addr, logo_palette, logo_speed_32, key, t3);
|
||||
}
|
||||
|
||||
GBAUCode::GBAUCode(DSPHLE* dsphle, u32 crc) : UCodeInterface(dsphle, crc)
|
||||
@@ -126,13 +126,13 @@ void GBAUCode::HandleMail(u32 mail)
|
||||
m_dsphle->SetUCode(UCODE_ROM);
|
||||
break;
|
||||
default:
|
||||
WARN_LOG(DSPHLE, "GBAUCode - unknown 0xcdd1 command: %08x", mail);
|
||||
WARN_LOG_FMT(DSPHLE, "GBAUCode - unknown 0xcdd1 command: {:08x}", mail);
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
WARN_LOG(DSPHLE, "GBAUCode - unknown command: %08x", mail);
|
||||
WARN_LOG_FMT(DSPHLE, "GBAUCode - unknown command: {:08x}", mail);
|
||||
}
|
||||
}
|
||||
} // namespace DSP::HLE
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace DSP::HLE
|
||||
{
|
||||
INITUCode::INITUCode(DSPHLE* dsphle, u32 crc) : UCodeInterface(dsphle, crc)
|
||||
{
|
||||
INFO_LOG(DSPHLE, "INITUCode - initialized");
|
||||
INFO_LOG_FMT(DSPHLE, "INITUCode - initialized");
|
||||
}
|
||||
|
||||
INITUCode::~INITUCode()
|
||||
|
||||
@@ -25,7 +25,7 @@ namespace DSP::HLE
|
||||
ROMUCode::ROMUCode(DSPHLE* dsphle, u32 crc)
|
||||
: UCodeInterface(dsphle, crc), m_current_ucode(), m_boot_task_num_steps(0), m_next_parameter(0)
|
||||
{
|
||||
INFO_LOG(DSPHLE, "UCode_Rom - initialized");
|
||||
INFO_LOG_FMT(DSPHLE, "UCode_Rom - initialized");
|
||||
}
|
||||
|
||||
ROMUCode::~ROMUCode()
|
||||
@@ -73,8 +73,8 @@ void ROMUCode::HandleMail(u32 mail)
|
||||
m_current_ucode.m_dmem_length = mail & 0xffff;
|
||||
if (m_current_ucode.m_dmem_length)
|
||||
{
|
||||
NOTICE_LOG(DSPHLE, "m_current_ucode.m_dmem_length = 0x%04x.",
|
||||
m_current_ucode.m_dmem_length);
|
||||
NOTICE_LOG_FMT(DSPHLE, "m_current_ucode.m_dmem_length = {:#06x}.",
|
||||
m_current_ucode.m_dmem_length);
|
||||
}
|
||||
break;
|
||||
|
||||
@@ -109,13 +109,13 @@ void ROMUCode::BootUCode()
|
||||
m_current_ucode.m_length, ector_crc);
|
||||
}
|
||||
|
||||
INFO_LOG(DSPHLE, "CurrentUCode SOURCE Addr: 0x%08x", m_current_ucode.m_ram_address);
|
||||
INFO_LOG(DSPHLE, "CurrentUCode Length: 0x%08x", m_current_ucode.m_length);
|
||||
INFO_LOG(DSPHLE, "CurrentUCode DEST Addr: 0x%08x", m_current_ucode.m_imem_address);
|
||||
INFO_LOG(DSPHLE, "CurrentUCode DMEM Length: 0x%08x", m_current_ucode.m_dmem_length);
|
||||
INFO_LOG(DSPHLE, "CurrentUCode init_vector: 0x%08x", m_current_ucode.m_start_pc);
|
||||
INFO_LOG(DSPHLE, "CurrentUCode CRC: 0x%08x", ector_crc);
|
||||
INFO_LOG(DSPHLE, "BootTask - done");
|
||||
INFO_LOG_FMT(DSPHLE, "CurrentUCode SOURCE Addr: {:#010x}", m_current_ucode.m_ram_address);
|
||||
INFO_LOG_FMT(DSPHLE, "CurrentUCode Length: {:#010x}", m_current_ucode.m_length);
|
||||
INFO_LOG_FMT(DSPHLE, "CurrentUCode DEST Addr: {:#010x}", m_current_ucode.m_imem_address);
|
||||
INFO_LOG_FMT(DSPHLE, "CurrentUCode DMEM Length: {:#010x}", m_current_ucode.m_dmem_length);
|
||||
INFO_LOG_FMT(DSPHLE, "CurrentUCode init_vector: {:#010x}", m_current_ucode.m_start_pc);
|
||||
INFO_LOG_FMT(DSPHLE, "CurrentUCode CRC: {:#010x}", ector_crc);
|
||||
INFO_LOG_FMT(DSPHLE, "BootTask - done");
|
||||
|
||||
m_dsphle->SetUCode(ector_crc);
|
||||
}
|
||||
|
||||
@@ -190,22 +190,22 @@ void UCodeInterface::PrepareBootUCode(u32 mail)
|
||||
ector_crc);
|
||||
}
|
||||
|
||||
DEBUG_LOG(DSPHLE, "PrepareBootUCode 0x%08x", ector_crc);
|
||||
DEBUG_LOG(DSPHLE, "DRAM -> MRAM: src %04x dst %08x size %04x", m_next_ucode.mram_dram_addr,
|
||||
m_next_ucode.mram_dest_addr, m_next_ucode.mram_size);
|
||||
DEBUG_LOG(DSPHLE, "MRAM -> IRAM: src %08x dst %04x size %04x startpc %04x",
|
||||
m_next_ucode.iram_mram_addr, m_next_ucode.iram_dest, m_next_ucode.iram_size,
|
||||
m_next_ucode.iram_startpc);
|
||||
DEBUG_LOG(DSPHLE, "MRAM -> DRAM: src %08x dst %04x size %04x", m_next_ucode.dram_mram_addr,
|
||||
m_next_ucode.dram_dest, m_next_ucode.dram_size);
|
||||
DEBUG_LOG_FMT(DSPHLE, "PrepareBootUCode {:#010x}", ector_crc);
|
||||
DEBUG_LOG_FMT(DSPHLE, "DRAM -> MRAM: src {:04x} dst {:08x} size {:04x}",
|
||||
m_next_ucode.mram_dram_addr, m_next_ucode.mram_dest_addr, m_next_ucode.mram_size);
|
||||
DEBUG_LOG_FMT(DSPHLE, "MRAM -> IRAM: src {:08x} dst {:04x} size {:04x} startpc {:04x}",
|
||||
m_next_ucode.iram_mram_addr, m_next_ucode.iram_dest, m_next_ucode.iram_size,
|
||||
m_next_ucode.iram_startpc);
|
||||
DEBUG_LOG_FMT(DSPHLE, "MRAM -> DRAM: src {:08x} dst {:04x} size {:04x}",
|
||||
m_next_ucode.dram_mram_addr, m_next_ucode.dram_dest, m_next_ucode.dram_size);
|
||||
|
||||
if (m_next_ucode.mram_size)
|
||||
{
|
||||
WARN_LOG(DSPHLE, "Trying to boot new ucode with DRAM download - not implemented");
|
||||
WARN_LOG_FMT(DSPHLE, "Trying to boot new ucode with DRAM download - not implemented");
|
||||
}
|
||||
if (m_next_ucode.dram_size)
|
||||
{
|
||||
WARN_LOG(DSPHLE, "Trying to boot new ucode with DRAM upload - not implemented");
|
||||
WARN_LOG_FMT(DSPHLE, "Trying to boot new ucode with DRAM upload - not implemented");
|
||||
}
|
||||
|
||||
m_dsphle->SwapUCode(ector_crc);
|
||||
@@ -225,19 +225,19 @@ std::unique_ptr<UCodeInterface> UCodeFactory(u32 crc, DSPHLE* dsphle, bool wii)
|
||||
switch (crc)
|
||||
{
|
||||
case UCODE_ROM:
|
||||
INFO_LOG(DSPHLE, "Switching to ROM ucode");
|
||||
INFO_LOG_FMT(DSPHLE, "Switching to ROM ucode");
|
||||
return std::make_unique<ROMUCode>(dsphle, crc);
|
||||
|
||||
case UCODE_INIT_AUDIO_SYSTEM:
|
||||
INFO_LOG(DSPHLE, "Switching to INIT ucode");
|
||||
INFO_LOG_FMT(DSPHLE, "Switching to INIT ucode");
|
||||
return std::make_unique<INITUCode>(dsphle, crc);
|
||||
|
||||
case 0x65d6cc6f: // CARD
|
||||
INFO_LOG(DSPHLE, "Switching to CARD ucode");
|
||||
INFO_LOG_FMT(DSPHLE, "Switching to CARD ucode");
|
||||
return std::make_unique<CARDUCode>(dsphle, crc);
|
||||
|
||||
case 0xdd7e72d5:
|
||||
INFO_LOG(DSPHLE, "Switching to GBA ucode");
|
||||
INFO_LOG_FMT(DSPHLE, "Switching to GBA ucode");
|
||||
return std::make_unique<GBAUCode>(dsphle, crc);
|
||||
|
||||
case 0x3ad3b7ac: // Naruto 3, Paper Mario - The Thousand Year Door
|
||||
@@ -252,7 +252,7 @@ std::unique_ptr<UCodeInterface> UCodeFactory(u32 crc, DSPHLE* dsphle, bool wii)
|
||||
// Zelda:OOT, Tony Hawk, Viewtiful Joe
|
||||
case 0xe2136399: // Billy Hatcher, Dragon Ball Z, Mario Party 5, TMNT, 1080° Avalanche
|
||||
case 0x3389a79e: // MP1/MP2 Wii (Metroid Prime Trilogy)
|
||||
INFO_LOG(DSPHLE, "CRC %08x: AX ucode chosen", crc);
|
||||
INFO_LOG_FMT(DSPHLE, "CRC {:08x}: AX ucode chosen", crc);
|
||||
return std::make_unique<AXUCode>(dsphle, crc);
|
||||
|
||||
case 0x86840740: // Zelda WW - US
|
||||
@@ -277,24 +277,26 @@ std::unique_ptr<UCodeInterface> UCodeFactory(u32 crc, DSPHLE* dsphle, bool wii)
|
||||
case 0xadbc06bd: // Elebits
|
||||
case 0x4cc52064: // Bleach: Versus Crusade
|
||||
case 0xd9c4bf34: // WiiMenu
|
||||
INFO_LOG(DSPHLE, "CRC %08x: Wii - AXWii chosen", crc);
|
||||
INFO_LOG_FMT(DSPHLE, "CRC {:08x}: Wii - AXWii chosen", crc);
|
||||
return std::make_unique<AXWiiUCode>(dsphle, crc);
|
||||
|
||||
default:
|
||||
if (wii)
|
||||
{
|
||||
PanicAlertT("This title might be incompatible with DSP HLE emulation. Try using LLE if this "
|
||||
"is homebrew.\n\n"
|
||||
"Unknown ucode (CRC = %08x) - forcing AXWii.",
|
||||
crc);
|
||||
PanicAlertFmtT(
|
||||
"This title might be incompatible with DSP HLE emulation. Try using LLE if this "
|
||||
"is homebrew.\n\n"
|
||||
"Unknown ucode (CRC = {0:08x}) - forcing AXWii.",
|
||||
crc);
|
||||
return std::make_unique<AXWiiUCode>(dsphle, crc);
|
||||
}
|
||||
else
|
||||
{
|
||||
PanicAlertT("This title might be incompatible with DSP HLE emulation. Try using LLE if this "
|
||||
"is homebrew.\n\n"
|
||||
"DSPHLE: Unknown ucode (CRC = %08x) - forcing AX.",
|
||||
crc);
|
||||
PanicAlertFmtT(
|
||||
"This title might be incompatible with DSP HLE emulation. Try using LLE if this "
|
||||
"is homebrew.\n\n"
|
||||
"DSPHLE: Unknown ucode (CRC = {0:08x}) - forcing AX.",
|
||||
crc);
|
||||
return std::make_unique<AXUCode>(dsphle, crc);
|
||||
}
|
||||
|
||||
|
||||
@@ -119,12 +119,12 @@ ZeldaUCode::ZeldaUCode(DSPHLE* dsphle, u32 crc) : UCodeInterface(dsphle, crc)
|
||||
{
|
||||
auto it = UCODE_FLAGS.find(crc);
|
||||
if (it == UCODE_FLAGS.end())
|
||||
PanicAlert("No flags definition found for Zelda CRC %08x", crc);
|
||||
PanicAlertFmt("No flags definition found for Zelda CRC {:08x}", crc);
|
||||
|
||||
m_flags = it->second;
|
||||
m_renderer.SetFlags(m_flags);
|
||||
|
||||
INFO_LOG(DSPHLE, "Zelda UCode loaded, crc=%08x, flags=%08x", crc, m_flags);
|
||||
INFO_LOG_FMT(DSPHLE, "Zelda UCode loaded, crc={:08x}, flags={:08x}", crc, m_flags);
|
||||
}
|
||||
|
||||
ZeldaUCode::~ZeldaUCode()
|
||||
@@ -202,7 +202,7 @@ void ZeldaUCode::HandleMailDefault(u32 mail)
|
||||
{
|
||||
if ((mail >> 16) != 0xCDD1)
|
||||
{
|
||||
PanicAlert("Rendering end mail without prefix CDD1: %08x", mail);
|
||||
PanicAlertFmt("Rendering end mail without prefix CDD1: {:08x}", mail);
|
||||
}
|
||||
|
||||
switch (mail & 0xFFFF)
|
||||
@@ -210,13 +210,13 @@ void ZeldaUCode::HandleMailDefault(u32 mail)
|
||||
case 1:
|
||||
m_cmd_can_execute = true;
|
||||
RunPendingCommands();
|
||||
NOTICE_LOG(DSPHLE, "UCode being replaced.");
|
||||
NOTICE_LOG_FMT(DSPHLE, "UCode being replaced.");
|
||||
m_upload_setup_in_progress = true;
|
||||
SetMailState(MailState::WAITING);
|
||||
break;
|
||||
|
||||
case 2:
|
||||
NOTICE_LOG(DSPHLE, "UCode being rebooted to ROM.");
|
||||
NOTICE_LOG_FMT(DSPHLE, "UCode being rebooted to ROM.");
|
||||
SetMailState(MailState::HALTED);
|
||||
m_dsphle->SetUCode(UCODE_ROM);
|
||||
break;
|
||||
@@ -227,9 +227,10 @@ void ZeldaUCode::HandleMailDefault(u32 mail)
|
||||
break;
|
||||
|
||||
default:
|
||||
NOTICE_LOG(DSPHLE, "Unknown end rendering action. Halting.");
|
||||
NOTICE_LOG_FMT(DSPHLE, "Unknown end rendering action. Halting.");
|
||||
[[fallthrough]];
|
||||
case 0:
|
||||
NOTICE_LOG(DSPHLE, "UCode asked to halt. Stopping any processing.");
|
||||
NOTICE_LOG_FMT(DSPHLE, "UCode asked to halt. Stopping any processing.");
|
||||
SetMailState(MailState::HALTED);
|
||||
break;
|
||||
}
|
||||
@@ -242,8 +243,8 @@ void ZeldaUCode::HandleMailDefault(u32 mail)
|
||||
}
|
||||
else
|
||||
{
|
||||
NOTICE_LOG(DSPHLE, "Sync mail (%08x) received when rendering was not active. Halting.",
|
||||
mail);
|
||||
NOTICE_LOG_FMT(DSPHLE,
|
||||
"Sync mail ({:08x}) received when rendering was not active. Halting.", mail);
|
||||
SetMailState(MailState::HALTED);
|
||||
}
|
||||
}
|
||||
@@ -290,7 +291,7 @@ void ZeldaUCode::HandleMailDefault(u32 mail)
|
||||
break;
|
||||
|
||||
case MailState::HALTED:
|
||||
WARN_LOG(DSPHLE, "Received mail %08x while we're halted.", mail);
|
||||
WARN_LOG_FMT(DSPHLE, "Received mail {:08x} while we're halted.", mail);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -302,8 +303,8 @@ void ZeldaUCode::HandleMailLight(u32 mail)
|
||||
switch (m_mail_current_state)
|
||||
{
|
||||
case MailState::WAITING:
|
||||
if (!(mail & 0x80000000))
|
||||
PanicAlert("Mail received in waiting state has MSB=0: %08x", mail);
|
||||
if ((mail & 0x80000000) == 0)
|
||||
PanicAlertFmt("Mail received in waiting state has MSB=0: {:08x}", mail);
|
||||
|
||||
// Start of a command. We have to hardcode the number of mails required
|
||||
// for each command - the alternative is to rewrite command handling as
|
||||
@@ -336,7 +337,7 @@ void ZeldaUCode::HandleMailLight(u32 mail)
|
||||
break;
|
||||
|
||||
default:
|
||||
PanicAlert("Received unknown command in light protocol: %08x", mail);
|
||||
PanicAlertFmt("Received unknown command in light protocol: {:08x}", mail);
|
||||
break;
|
||||
}
|
||||
if (m_mail_expected_cmd_mails)
|
||||
@@ -362,7 +363,7 @@ void ZeldaUCode::HandleMailLight(u32 mail)
|
||||
|
||||
case MailState::RENDERING:
|
||||
if (mail != 0)
|
||||
PanicAlert("Sync mail is not zero: %08x", mail);
|
||||
PanicAlertFmt("Sync mail is not zero: {:08x}", mail);
|
||||
|
||||
// No per-voice syncing in the light protocol.
|
||||
m_sync_max_voice_id = 0xFFFFFFFF;
|
||||
@@ -372,14 +373,13 @@ void ZeldaUCode::HandleMailLight(u32 mail)
|
||||
break;
|
||||
|
||||
case MailState::HALTED:
|
||||
WARN_LOG(DSPHLE, "Received mail %08x while we're halted.", mail);
|
||||
WARN_LOG_FMT(DSPHLE, "Received mail {:08x} while we're halted.", mail);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void ZeldaUCode::SetMailState(MailState new_state)
|
||||
{
|
||||
// WARN_LOG(DSPHLE, "MailState %d -> %d", m_mail_current_state, new_state);
|
||||
m_mail_current_state = new_state;
|
||||
}
|
||||
|
||||
@@ -387,7 +387,7 @@ u32 ZeldaUCode::Read32()
|
||||
{
|
||||
if (m_read_offset == m_write_offset)
|
||||
{
|
||||
ERROR_LOG(DSPHLE, "Reading too many command params");
|
||||
ERROR_LOG_FMT(DSPHLE, "Reading too many command params");
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -413,13 +413,13 @@ void ZeldaUCode::RunPendingCommands()
|
||||
|
||||
while (m_pending_commands_count)
|
||||
{
|
||||
u32 cmd_mail = Read32();
|
||||
if (!(cmd_mail & 0x80000000))
|
||||
const u32 cmd_mail = Read32();
|
||||
if ((cmd_mail & 0x80000000) == 0)
|
||||
continue;
|
||||
|
||||
u32 command = (cmd_mail >> 24) & 0x7f;
|
||||
u32 sync = cmd_mail >> 16;
|
||||
u32 extra_data = cmd_mail & 0xFFFF;
|
||||
const u32 command = (cmd_mail >> 24) & 0x7f;
|
||||
const u32 sync = cmd_mail >> 16;
|
||||
const u32 extra_data = cmd_mail & 0xFFFF;
|
||||
|
||||
m_pending_commands_count--;
|
||||
|
||||
@@ -431,7 +431,7 @@ void ZeldaUCode::RunPendingCommands()
|
||||
case 0x0F:
|
||||
// NOP commands. Log anyway in case we encounter a new version
|
||||
// where these are not NOPs anymore.
|
||||
NOTICE_LOG(DSPHLE, "Received a NOP command: %d", command);
|
||||
NOTICE_LOG_FMT(DSPHLE, "Received a NOP command: {}", command);
|
||||
SendCommandAck(CommandAck::STANDARD, sync);
|
||||
break;
|
||||
|
||||
@@ -440,7 +440,7 @@ void ZeldaUCode::RunPendingCommands()
|
||||
// since it's going directly back to the dispatcher with no ack.
|
||||
if (m_flags & LIGHT_PROTOCOL)
|
||||
{
|
||||
PanicAlert("Received a 03 command on light protocol.");
|
||||
PanicAlertFmt("Received a 03 command on light protocol.");
|
||||
break;
|
||||
}
|
||||
SendCommandAck(CommandAck::STANDARD, sync);
|
||||
@@ -457,7 +457,7 @@ void ZeldaUCode::RunPendingCommands()
|
||||
//
|
||||
// TODO: These are not crashes on light protocol, however I've never seen
|
||||
// them used so far.
|
||||
NOTICE_LOG(DSPHLE, "Received a crashy command: %d", command);
|
||||
NOTICE_LOG_FMT(DSPHLE, "Received a crashy command: {}", command);
|
||||
SetMailState(MailState::HALTED);
|
||||
return;
|
||||
|
||||
@@ -547,12 +547,12 @@ void ZeldaUCode::RunPendingCommands()
|
||||
else if (m_flags & WEIRD_CMD_0C)
|
||||
{
|
||||
// TODO
|
||||
NOTICE_LOG(DSPHLE, "Received an unhandled 0C command, params: %08x %08x", Read32(),
|
||||
Read32());
|
||||
NOTICE_LOG_FMT(DSPHLE, "Received an unhandled 0C command, params: {:08x} {:08x}", Read32(),
|
||||
Read32());
|
||||
}
|
||||
else
|
||||
{
|
||||
WARN_LOG(DSPHLE, "Received a NOP 0C command. Flags=%08x", m_flags);
|
||||
WARN_LOG_FMT(DSPHLE, "Received a NOP 0C command. Flags={:08x}", m_flags);
|
||||
}
|
||||
SendCommandAck(CommandAck::STANDARD, sync);
|
||||
break;
|
||||
@@ -561,12 +561,12 @@ void ZeldaUCode::RunPendingCommands()
|
||||
case 0x0D:
|
||||
if (m_flags & NO_CMD_0D)
|
||||
{
|
||||
WARN_LOG(DSPHLE, "Received a 0D command which is NOP'd on this UCode.");
|
||||
WARN_LOG_FMT(DSPHLE, "Received a 0D command which is NOP'd on this UCode.");
|
||||
SendCommandAck(CommandAck::STANDARD, sync);
|
||||
break;
|
||||
}
|
||||
|
||||
WARN_LOG(DSPHLE, "CMD0D: %08x", Read32());
|
||||
WARN_LOG_FMT(DSPHLE, "CMD0D: {:08x}", Read32());
|
||||
SendCommandAck(CommandAck::STANDARD, sync);
|
||||
break;
|
||||
|
||||
@@ -574,14 +574,14 @@ void ZeldaUCode::RunPendingCommands()
|
||||
// because the Wii does not have an ARAM, so it simulates it with MRAM
|
||||
// and DMAs.
|
||||
case 0x0E:
|
||||
if (!(m_flags & NO_ARAM))
|
||||
PanicAlert("Setting base ARAM addr on non Wii DAC.");
|
||||
if ((m_flags & NO_ARAM) == 0)
|
||||
PanicAlertFmt("Setting base ARAM addr on non Wii DAC.");
|
||||
m_renderer.SetARAMBaseAddr(Read32());
|
||||
SendCommandAck(CommandAck::STANDARD, sync);
|
||||
break;
|
||||
|
||||
default:
|
||||
NOTICE_LOG(DSPHLE, "Received a non-existing command (%d), halting.", command);
|
||||
NOTICE_LOG_FMT(DSPHLE, "Received a non-existing command ({}), halting.", command);
|
||||
SetMailState(MailState::HALTED);
|
||||
return;
|
||||
}
|
||||
@@ -621,7 +621,7 @@ void ZeldaUCode::RenderAudio()
|
||||
{
|
||||
if (!RenderingInProgress())
|
||||
{
|
||||
WARN_LOG(DSPHLE, "Trying to render audio while no rendering should be happening.");
|
||||
WARN_LOG_FMT(DSPHLE, "Trying to render audio while no rendering should be happening.");
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -980,7 +980,7 @@ void ZeldaAudioRenderer::PrepareFrame()
|
||||
// uses this AFAICT. PanicAlert to help me find places that use this.
|
||||
#ifdef STRICT_ZELDA_HLE
|
||||
if (!(m_flags & LIGHT_PROTOCOL) && (m_buf_back_left[0] != 0 || m_buf_back_right[0] != 0))
|
||||
PanicAlert("Zelda HLE using back mixing buffers");
|
||||
PanicAlertFmt("Zelda HLE using back mixing buffers");
|
||||
#endif
|
||||
|
||||
// Add reverb data from previous frame.
|
||||
@@ -1027,7 +1027,7 @@ void ZeldaAudioRenderer::ApplyReverb(bool post_rendering)
|
||||
if (!m_reverb_pb_base_addr)
|
||||
{
|
||||
#ifdef STRICT_ZELDA_HLE
|
||||
PanicAlert("Trying to apply reverb without available parameters.");
|
||||
PanicAlertFmt("Trying to apply reverb without available parameters.");
|
||||
#endif
|
||||
return;
|
||||
}
|
||||
@@ -1102,7 +1102,7 @@ void ZeldaAudioRenderer::ApplyReverb(bool post_rendering)
|
||||
if (!dest_buffer)
|
||||
{
|
||||
#ifdef STRICT_ZELDA_HLE
|
||||
PanicAlert("RPB mixing to an unknown buffer: %04x", dest.buffer_id);
|
||||
PanicAlertFmt("RPB mixing to an unknown buffer: {:04x}", dest.buffer_id);
|
||||
#endif
|
||||
continue;
|
||||
}
|
||||
@@ -1292,7 +1292,7 @@ void ZeldaAudioRenderer::AddVoice(u16 voice_id)
|
||||
if (!dst_buffer)
|
||||
{
|
||||
#ifdef STRICT_ZELDA_HLE
|
||||
PanicAlert("Mixing to an unmapped buffer: %04x", vpb.channels[i].id);
|
||||
PanicAlertFmt("Mixing to an unmapped buffer: {:04x}", vpb.channels[i].id);
|
||||
#endif
|
||||
continue;
|
||||
}
|
||||
@@ -1480,7 +1480,7 @@ void ZeldaAudioRenderer::LoadInputSamples(MixingBuffer* buffer, VPB* vpb)
|
||||
break;
|
||||
|
||||
default:
|
||||
PanicAlert("Using an unknown/unimplemented sample source: %04x", vpb->samples_source_type);
|
||||
PanicAlertFmt("Using an unknown/unimplemented sample source: {:04x}", vpb->samples_source_type);
|
||||
buffer->fill(0);
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -19,7 +19,7 @@ namespace DSP::LLE
|
||||
{
|
||||
void DSPPatches::Patch(std::size_t index)
|
||||
{
|
||||
PanicAlert("Patch functionality not supported in DSP module.");
|
||||
PanicAlertFmt("Patch functionality not supported in DSP module.");
|
||||
}
|
||||
|
||||
DSPDebugInterface::DSPDebugInterface() = default;
|
||||
@@ -252,12 +252,12 @@ bool DSPDebugInterface::IsMemCheck(u32 address, size_t size) const
|
||||
|
||||
void DSPDebugInterface::ClearAllMemChecks()
|
||||
{
|
||||
PanicAlert("MemCheck functionality not supported in DSP module.");
|
||||
PanicAlertFmt("MemCheck functionality not supported in DSP module.");
|
||||
}
|
||||
|
||||
void DSPDebugInterface::ToggleMemCheck(u32 address, bool read, bool write, bool log)
|
||||
{
|
||||
PanicAlert("MemCheck functionality not supported in DSP module.");
|
||||
PanicAlertFmt("MemCheck functionality not supported in DSP module.");
|
||||
}
|
||||
|
||||
// =======================================================
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user