Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
alexbevi
GitHub Repository: alexbevi/BizHawk
Path: blob/master/libsnes/bsnes/snes/chip/chip.hpp
2 views
1
struct Coprocessor : Processor {
2
alwaysinline void step(unsigned clocks);
3
alwaysinline void synchronize_cpu();
4
};
5
6
#if defined(GAMEBOY)
7
#include <snes/chip/icd2/icd2.hpp>
8
#endif
9
10
#include <snes/chip/nss/nss.hpp>
11
#include <snes/chip/superfx/superfx.hpp>
12
#include <snes/chip/sa1/sa1.hpp>
13
#include <snes/chip/necdsp/necdsp.hpp>
14
#include <snes/chip/hitachidsp/hitachidsp.hpp>
15
#include <snes/chip/armdsp/armdsp.hpp>
16
#include <snes/chip/bsx/bsx.hpp>
17
#include <snes/chip/srtc/srtc.hpp>
18
#include <snes/chip/sdd1/sdd1.hpp>
19
#include <snes/chip/spc7110/spc7110.hpp>
20
#include <snes/chip/obc1/obc1.hpp>
21
#include <snes/chip/sufamiturbo/sufamiturbo.hpp>
22
#include <snes/chip/msu1/msu1.hpp>
23
#include <snes/chip/link/link.hpp>
24
25
void Coprocessor::step(unsigned clocks) {
26
clock += clocks * (uint64)cpu.frequency;
27
}
28
29
void Coprocessor::synchronize_cpu() {
30
if(clock >= 0 && scheduler.sync != Scheduler::SynchronizeMode::All) co_switch(cpu.thread);
31
}
32
33