From 3d624f890e4350179851e958fe071b2fd7a56bec Mon Sep 17 00:00:00 2001 From: notaz Date: Sat, 20 Nov 2010 23:29:12 +0200 Subject: try to make drc more configurable and break it more I guess --- libpcsxcore/new_dynarec/emu_if.h | 47 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 libpcsxcore/new_dynarec/emu_if.h (limited to 'libpcsxcore/new_dynarec/emu_if.h') diff --git a/libpcsxcore/new_dynarec/emu_if.h b/libpcsxcore/new_dynarec/emu_if.h new file mode 100644 index 0000000..50dc2a8 --- /dev/null +++ b/libpcsxcore/new_dynarec/emu_if.h @@ -0,0 +1,47 @@ +#include "../r3000a.h" + +extern char invalid_code[0x100000]; + +/* weird stuff */ +#define EAX 0 +#define ECX 1 + +/* same as psxRegs */ +extern int reg[]; + +/* same as psxRegs.GPR.n.* */ +extern int hi, lo; + +/* same as psxRegs.CP0.n.* */ +#define Status psxRegs.CP0.n.Status +#define Cause psxRegs.CP0.n.Cause +#define EPC psxRegs.CP0.n.EPC +#define BadVAddr psxRegs.CP0.n.BadVAddr +#define Context psxRegs.CP0.n.Context +#define EntryHi psxRegs.CP0.n.EntryHi +#define Count psxRegs.CP0.n.Count + +/* dummy */ +extern int FCR0, FCR31; + +/* mem */ +extern void (*readmem[0x10000])(); +extern void (*readmemb[0x10000])(); +extern void (*readmemh[0x10000])(); +extern void (*readmemd[0x10000])(); +extern void (*writemem[0x10000])(); +extern void (*writememb[0x10000])(); +extern void (*writememh[0x10000])(); +extern void (*writememd[0x10000])(); + +extern unsigned int address, word; +extern unsigned char byte; +extern unsigned short hword; + +/* cycles */ +extern unsigned int next_interupt; + +/* called by drc */ +void MFC0(); +void MTC0(); + -- cgit v1.2.3