blob: 024ecb95097bafccd81f0bc5417bb9bea0554750 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
// ARM shit
#ifndef ARM_H
#define ARM_H
#include "types.h"
#include "NDS.h"
class ARM
{
public:
ARM(u32 num);
~ARM(); // destroy shit
void JumpTo(u32 addr);
s32 Execute(s32 cycles);
u32 Read32(u32 addr)
{
if (Num) return NDS::ARM7Read32(addr);
else return NDS::ARM9Read32(addr);
}
u32 Num;
u32 R[16]; // heh
u32 CPSR;
u32 R_FIQ[8]; // holding SPSR too
u32 R_SVC[3];
u32 R_ABT[3];
u32 R_IRQ[3];
u32 R_UND[3];
u32 CurInstr;
u32 NextInstr;
u32 ExceptionBase;
};
#endif // ARM_H
|