3d624f89 |
1 | #include "../r3000a.h" |
2 | |
3 | extern char invalid_code[0x100000]; |
4 | |
5 | /* weird stuff */ |
6 | #define EAX 0 |
7 | #define ECX 1 |
8 | |
9 | /* same as psxRegs */ |
10 | extern int reg[]; |
11 | |
12 | /* same as psxRegs.GPR.n.* */ |
13 | extern int hi, lo; |
14 | |
15 | /* same as psxRegs.CP0.n.* */ |
16 | #define Status psxRegs.CP0.n.Status |
17 | #define Cause psxRegs.CP0.n.Cause |
18 | #define EPC psxRegs.CP0.n.EPC |
19 | #define BadVAddr psxRegs.CP0.n.BadVAddr |
20 | #define Context psxRegs.CP0.n.Context |
21 | #define EntryHi psxRegs.CP0.n.EntryHi |
22 | #define Count psxRegs.CP0.n.Count |
23 | |
24 | /* dummy */ |
25 | extern int FCR0, FCR31; |
26 | |
27 | /* mem */ |
28 | extern void (*readmem[0x10000])(); |
29 | extern void (*readmemb[0x10000])(); |
30 | extern void (*readmemh[0x10000])(); |
31 | extern void (*readmemd[0x10000])(); |
32 | extern void (*writemem[0x10000])(); |
33 | extern void (*writememb[0x10000])(); |
34 | extern void (*writememh[0x10000])(); |
35 | extern void (*writememd[0x10000])(); |
36 | |
37 | extern unsigned int address, word; |
38 | extern unsigned char byte; |
39 | extern unsigned short hword; |
40 | |
41 | /* cycles */ |
42 | extern unsigned int next_interupt; |
43 | |
44 | /* called by drc */ |
45 | void MFC0(); |
46 | void MTC0(); |
47 | |