mirror of
https://github.com/wheremyfoodat/Panda3DS.git
synced 2025-06-09 12:31:40 +12:00
Moar Teak LLE
Co-Authored-By: PSISP <12768103+psi-rockin@users.noreply.github.com>
This commit is contained in:
parent
363c71e66c
commit
5dd3c02ffb
10 changed files with 284 additions and 21 deletions
|
@ -24,8 +24,10 @@ Emulator::Emulator()
|
|||
httpServer(this)
|
||||
#endif
|
||||
{
|
||||
dsp = Audio::makeDSPCore(Audio::DSPCore::Type::Teakra, memory);
|
||||
kernel.getServiceManager().getDSP().setDSPCore(dsp.get());
|
||||
DSPService& dspService = kernel.getServiceManager().getDSP();
|
||||
|
||||
dsp = Audio::makeDSPCore(Audio::DSPCore::Type::Teakra, memory, dspService);
|
||||
dspService.setDSPCore(dsp.get());
|
||||
|
||||
#ifdef PANDA3DS_ENABLE_DISCORD_RPC
|
||||
if (config.discordRpcEnabled) {
|
||||
|
@ -49,6 +51,8 @@ void Emulator::reset(ReloadOption reload) {
|
|||
cpu.reset();
|
||||
gpu.reset();
|
||||
memory.reset();
|
||||
dsp->reset();
|
||||
|
||||
// Reset scheduler and add a VBlank event
|
||||
scheduler.reset();
|
||||
|
||||
|
@ -139,13 +143,18 @@ void Emulator::pollScheduler() {
|
|||
ServiceManager& srv = kernel.getServiceManager();
|
||||
srv.sendGPUInterrupt(GPUInterrupt::VBlank0);
|
||||
srv.sendGPUInterrupt(GPUInterrupt::VBlank1);
|
||||
|
||||
|
||||
// Queue next VBlank event
|
||||
scheduler.addEvent(Scheduler::EventType::VBlank, time + CPU::ticksPerSec / 60);
|
||||
break;
|
||||
}
|
||||
|
||||
case Scheduler::EventType::UpdateTimers: kernel.pollTimers(); break;
|
||||
case Scheduler::EventType::RunDSP: {
|
||||
scheduler.addEvent(Scheduler::EventType::RunDSP, time + 16384 * 2);
|
||||
dsp->runAudioFrame();
|
||||
break;
|
||||
}
|
||||
|
||||
default: {
|
||||
Helpers::panic("Scheduler: Unimplemented event type received: %d\n", static_cast<int>(eventType));
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue