mirror of
https://github.com/Marat-Tanalin/bsnes-mt.git
synced 2025-04-02 10:21:42 -04:00
43 lines
783 B
C++
43 lines
783 B
C++
#include <sfc/sfc.hpp>
|
|
#include <processor/hg51b/hg51b.cpp>
|
|
|
|
namespace SuperFamicom {
|
|
|
|
#include "memory.cpp"
|
|
#include "serialization.cpp"
|
|
#include "data-rom.cpp"
|
|
HitachiDSP hitachidsp;
|
|
|
|
auto HitachiDSP::synchronizeCPU() -> void {
|
|
if(clock >= 0) scheduler.resume(cpu.thread);
|
|
}
|
|
|
|
auto HitachiDSP::Enter() -> void {
|
|
while(true) {
|
|
scheduler.synchronize();
|
|
hitachidsp.main();
|
|
}
|
|
}
|
|
|
|
auto HitachiDSP::step(uint clocks) -> void {
|
|
HG51B::step(clocks);
|
|
clock += clocks * (uint64_t)cpu.frequency;
|
|
synchronizeCPU();
|
|
}
|
|
|
|
auto HitachiDSP::halt() -> void {
|
|
HG51B::halt();
|
|
if(io.irq == 0) cpu.irq(r.i = 1);
|
|
}
|
|
|
|
auto HitachiDSP::unload() -> void {
|
|
rom.reset();
|
|
ram.reset();
|
|
}
|
|
|
|
auto HitachiDSP::power() -> void {
|
|
HG51B::power();
|
|
create(HitachiDSP::Enter, Frequency);
|
|
}
|
|
|
|
}
|