mirror of
https://github.com/wheremyfoodat/Panda3DS.git
synced 2025-06-04 04:47:22 +12:00
[DSP] HLE DSP state & some of the audio pipe
This commit is contained in:
parent
a44ac89c78
commit
fdeb45d188
2 changed files with 81 additions and 1 deletions
|
@ -43,6 +43,12 @@ public:
|
|||
}
|
||||
};
|
||||
|
||||
namespace DSPPipeType {
|
||||
enum : u32 {
|
||||
Debug = 0, DMA = 1, Audio = 2, Binary = 3
|
||||
};
|
||||
}
|
||||
|
||||
// Circular dependencies!
|
||||
class Kernel;
|
||||
|
||||
|
@ -52,9 +58,14 @@ class DSPService {
|
|||
Kernel& kernel;
|
||||
MAKE_LOG_FUNCTION(log, dspServiceLogger)
|
||||
|
||||
enum class DSPState : u32 {
|
||||
Off, On, Slep
|
||||
};
|
||||
|
||||
// Number of DSP pipes
|
||||
static constexpr size_t pipeCount = 8;
|
||||
DSPPipe audioPipe;
|
||||
DSPState dspState;
|
||||
|
||||
// DSP service event handles
|
||||
using DSPEvent = std::optional<Handle>;
|
||||
|
@ -78,6 +89,8 @@ class DSPService {
|
|||
void invalidateDCache(u32 messagePointer);
|
||||
void loadComponent(u32 messagePointer);
|
||||
void readPipeIfPossible(u32 messagePointer);
|
||||
void recvData(u32 messagePointer);
|
||||
void recvDataIsReady(u32 messagePointer);
|
||||
void registerInterruptEvents(u32 messagePointer);
|
||||
void setSemaphore(u32 messagePointer);
|
||||
void setSemaphoreMask(u32 messagePointer);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue