mirror of
https://github.com/wheremyfoodat/Panda3DS.git
synced 2025-04-20 20:49:12 +12:00
Better DSP scheduling
This commit is contained in:
parent
f58354af06
commit
33eb096ef8
8 changed files with 44 additions and 27 deletions
|
@ -65,14 +65,22 @@ namespace Audio {
|
|||
bool signalledData;
|
||||
bool signalledSemaphore;
|
||||
|
||||
// Run 1 slice of DSP instructions
|
||||
void runSlice() {
|
||||
if (running) {
|
||||
teakra.Run(Audio::lleSlice);
|
||||
}
|
||||
}
|
||||
|
||||
public:
|
||||
TeakraDSP(Memory& mem, DSPService& dspService);
|
||||
TeakraDSP(Memory& mem, Scheduler& scheduler, DSPService& dspService);
|
||||
|
||||
void reset() override;
|
||||
|
||||
// Run 1 slice of DSP instructions and schedule the next audio frame
|
||||
void runAudioFrame() override {
|
||||
if (running) {
|
||||
teakra.Run(16384);
|
||||
}
|
||||
runSlice();
|
||||
scheduler.addEvent(Scheduler::EventType::RunDSP, scheduler.currentTimestamp + Audio::lleSlice * 2);
|
||||
}
|
||||
|
||||
u8* getDspMemory() override { return teakra.GetDspMemory().data(); }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue