|
|
|
@ -4,7 +4,6 @@
|
|
|
|
|
|
|
|
|
|
#include "audio_core/audio_types.h"
|
|
|
|
|
#include "common/assert.h"
|
|
|
|
|
#include "common/hash.h"
|
|
|
|
|
#include "common/logging/log.h"
|
|
|
|
|
#include "core/core.h"
|
|
|
|
|
#include "core/hle/ipc_helpers.h"
|
|
|
|
@ -173,23 +172,16 @@ void DSP_DSP::LoadComponent(Kernel::HLERequestContext& ctx) {
|
|
|
|
|
|
|
|
|
|
IPC::RequestBuilder rb = rp.MakeBuilder(2, 2);
|
|
|
|
|
rb.Push(RESULT_SUCCESS);
|
|
|
|
|
rb.Push(true); /// Pretend that we actually loaded the DSP firmware
|
|
|
|
|
rb.Push(true);
|
|
|
|
|
rb.PushMappedBuffer(buffer);
|
|
|
|
|
|
|
|
|
|
// TODO(bunnei): Implement real DSP firmware loading
|
|
|
|
|
|
|
|
|
|
std::vector<u8> component_data(size);
|
|
|
|
|
buffer.Read(component_data.data(), 0, size);
|
|
|
|
|
|
|
|
|
|
LOG_INFO(Service_DSP, "Firmware hash: {:#018x}",
|
|
|
|
|
Common::ComputeHash64(component_data.data(), component_data.size()));
|
|
|
|
|
// Some versions of the firmware have the location of DSP structures listed here.
|
|
|
|
|
if (size > 0x37C) {
|
|
|
|
|
LOG_INFO(Service_DSP, "Structures hash: {:#018x}",
|
|
|
|
|
Common::ComputeHash64(component_data.data() + 0x340, 60));
|
|
|
|
|
}
|
|
|
|
|
LOG_WARNING(Service_DSP, "(STUBBED) called size=0x{:X}, prog_mask=0x{:08X}, data_mask=0x{:08X}",
|
|
|
|
|
size, prog_mask, data_mask);
|
|
|
|
|
system.DSP().LoadComponent(component_data);
|
|
|
|
|
|
|
|
|
|
LOG_INFO(Service_DSP, "(STUBBED) called size=0x{:X}, prog_mask=0x{:08X}, data_mask=0x{:08X}",
|
|
|
|
|
size, prog_mask, data_mask);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void DSP_DSP::FlushDataCache(Kernel::HLERequestContext& ctx) {
|
|
|
|
|