Moar Teak LLE
Co-Authored-By: PSISP <12768103+psi-rockin@users.noreply.github.com>
This commit is contained in:
@@ -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));
|
||||
|
||||
Reference in New Issue
Block a user