drc: fix unsaved register
[pcsx_rearmed.git] / libpcsxcore / new_dynarec / emu_if.h
1 #include "new_dynarec.h"
2 #include "../r3000a.h"
3
4 extern char invalid_code[0x100000];
5
6 /* weird stuff */
7 #define EAX 0
8 #define ECX 1
9
10 /* same as psxRegs */
11 extern int reg[];
12
13 /* same as psxRegs.GPR.n.* */
14 extern int hi, lo;
15
16 /* same as psxRegs.CP0.n.* */
17 extern int reg_cop0[];
18 #define Status   psxRegs.CP0.n.Status
19 #define Cause    psxRegs.CP0.n.Cause
20 #define EPC      psxRegs.CP0.n.EPC
21 #define BadVAddr psxRegs.CP0.n.BadVAddr
22 #define Context  psxRegs.CP0.n.Context
23 #define EntryHi  psxRegs.CP0.n.EntryHi
24 #define Count    psxRegs.CP0.n.Count
25
26 /* dummy */
27 extern int FCR0, FCR31;
28
29 /* mem */
30 extern void (*readmem[0x10000])();
31 extern void (*readmemb[0x10000])();
32 extern void (*readmemh[0x10000])();
33 extern void (*writemem[0x10000])();
34 extern void (*writememb[0x10000])();
35 extern void (*writememh[0x10000])();
36
37 extern unsigned int address;
38 extern unsigned int readmem_word; /* same as readmem_dword */
39 extern unsigned int word;       /* write */
40 extern unsigned short hword;
41 extern unsigned char byte;
42
43 /* cycles/irqs */
44 extern unsigned int next_interupt;
45 extern int pending_exception;
46
47 /* called by drc */
48 void MTC0_();
49 #define MTC0 MTC0_ /* don't call interpreter with wrong args */
50
51 /* misc */
52 extern void *psxHLEt_addr;