Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
alexbevi
GitHub Repository: alexbevi/BizHawk
Path: blob/master/libsnes/bsnes/snes/chip/hitachidsp/hitachidsp.hpp
2 views
1
//Hitachi HG51B169
2
3
class HitachiDSP : public Coprocessor {
4
public:
5
6
//zero 01-sep-2014 - dont clobber these when reconstructing!
7
static unsigned frequency;
8
static uint24 dataROM[1024];
9
10
uint8 dataRAM[3072];
11
uint24 stack[8];
12
uint16 opcode;
13
enum class State : unsigned { Idle, DMA, Execute } state;
14
#include "registers.hpp"
15
16
static void Enter();
17
void enter();
18
19
void init();
20
void load();
21
void unload();
22
void power();
23
void reset();
24
25
//memory.cpp
26
uint8 bus_read(unsigned addr);
27
void bus_write(unsigned addr, uint8 data);
28
29
uint8 rom_read(unsigned addr);
30
void rom_write(unsigned addr, uint8 data);
31
32
uint8 dsp_read(unsigned addr);
33
void dsp_write(unsigned addr, uint8 data);
34
35
//opcodes.cpp
36
void push();
37
void pull();
38
unsigned sa();
39
unsigned ri();
40
unsigned np();
41
void exec();
42
43
//registers.cpp
44
unsigned reg_read(unsigned n) const;
45
void reg_write(unsigned n, unsigned data);
46
47
void serialize(serializer&);
48
};
49
50
extern HitachiDSP hitachidsp;
51
52