Vendor Teakra, make emulator own DSP RAM and add DSP RAM to fastmem (#806)

* DSP: Own DSP RAM and add it to fastmem

* Vendor Teakra

* Add MacOS support to fastmem

* Fix MacOS fastmem paths

* Fix iOS build
This commit is contained in:
wheremyfoodat
2025-08-22 02:12:21 +03:00
committed by GitHub
parent ff100dc5ac
commit 78002be334
132 changed files with 37774 additions and 15 deletions

View File

@@ -146,7 +146,7 @@ namespace Audio {
std::array<std::vector<u8>, pipeCount> pipeData; // The data of each pipe
std::array<Source, Audio::HLE::sourceCount> sources; // DSP voices
Audio::HLE::DspMemory dspRam;
Audio::HLE::DspMemory& dspRam;
Audio::DSPMixer mixer;
std::unique_ptr<Audio::AAC::Decoder> aacDecoder;

View File

@@ -20,6 +20,7 @@ namespace Audio {
// Get a pointer to a data memory address
u8* getDataPointer(u32 address) { return getDspMemory() + Memory::DSP_DATA_MEMORY_OFFSET + address; }
Teakra::UserConfig getTeakraConfig();
enum class PipeDirection {
DSPtoCPU = 0,
@@ -89,7 +90,7 @@ namespace Audio {
}
void setAudioEnabled(bool enable) override;
u8* getDspMemory() override { return teakra.GetDspMemory().data(); }
u8* getDspMemory() override { return teakra.GetDspMemory(); }
void* getRegisters() override;
DSPCore::Type getType() override { return DSPCore::Type::Teakra; }
u16 readProgramWord(u32 address) override { return teakra.ProgramRead(address); }