Implement one variant of pipe 3 (#19)

This commit is contained in:
Dragios 2016-04-16 01:48:49 +08:00
parent a9c502c972
commit 58934192df
2 changed files with 18 additions and 0 deletions

View file

@ -144,6 +144,9 @@ void PipeWrite(DspPipe pipe_number, const std::vector<u8>& buffer) {
return; return;
} }
case DspPipe::Binary:
std::copy(buffer.begin(), buffer.end(), std::back_inserter(pipe_data[static_cast<size_t>(DspPipe::Binary)]));
return;
default: default:
LOG_CRITICAL(Audio_DSP, "pipe_number = %u unimplemented", pipe_number); LOG_CRITICAL(Audio_DSP, "pipe_number = %u unimplemented", pipe_number);
UNIMPLEMENTED(); UNIMPLEMENTED();

View file

@ -283,6 +283,21 @@ static void WriteProcessPipe(Service::Interface* self) {
message[i] = Memory::Read8(buffer + i); message[i] = Memory::Read8(buffer + i);
} }
switch (pipe) {
case DSP::HLE::DspPipe::Audio:
ASSERT(message.size() >= 4);
message[2] = 0;
message[3] = 0;
break;
case DSP::HLE::DspPipe::Binary:
ASSERT(message.size() >= 8);
message[4] = 1;
message[5] = 0;
message[6] = 0;
message[7] = 0;
break;
}
DSP::HLE::PipeWrite(pipe, message); DSP::HLE::PipeWrite(pipe, message);
cmd_buff[0] = 0xD0040; cmd_buff[0] = 0xD0040;