aboutsummaryrefslogtreecommitdiff
path: root/libpcsxcore
diff options
context:
space:
mode:
authornotaz2011-10-05 23:32:35 +0300
committernotaz2011-10-08 03:29:24 +0300
commit2f546f9ace7c7e4b0957aff512dc0616b01b3976 (patch)
treeb9324de11f5211061e98d882ae1ed4e54f6381dd /libpcsxcore
parent983a7cfdccceaa612267a1b045110b4f831d1495 (diff)
downloadpcsx_rearmed-2f546f9ace7c7e4b0957aff512dc0616b01b3976.tar.gz
pcsx_rearmed-2f546f9ace7c7e4b0957aff512dc0616b01b3976.tar.bz2
pcsx_rearmed-2f546f9ace7c7e4b0957aff512dc0616b01b3976.zip
recompilation-caused frameskip workaround
Diffstat (limited to 'libpcsxcore')
-rw-r--r--libpcsxcore/new_dynarec/emu_if.c1
-rw-r--r--libpcsxcore/new_dynarec/new_dynarec.c2
-rw-r--r--libpcsxcore/new_dynarec/new_dynarec.h1
3 files changed, 4 insertions, 0 deletions
diff --git a/libpcsxcore/new_dynarec/emu_if.c b/libpcsxcore/new_dynarec/emu_if.c
index 02433f1..56c6b77 100644
--- a/libpcsxcore/new_dynarec/emu_if.c
+++ b/libpcsxcore/new_dynarec/emu_if.c
@@ -300,6 +300,7 @@ unsigned short hword;
unsigned char byte;
int pending_exception, stop;
unsigned int next_interupt;
+int new_dynarec_did_compile;
void *psxH_ptr;
void new_dynarec_init() {}
void new_dyna_start() {}
diff --git a/libpcsxcore/new_dynarec/new_dynarec.c b/libpcsxcore/new_dynarec/new_dynarec.c
index 0128758..a263564 100644
--- a/libpcsxcore/new_dynarec/new_dynarec.c
+++ b/libpcsxcore/new_dynarec/new_dynarec.c
@@ -136,6 +136,7 @@ struct ll_entry
static const u_int using_tlb=0;
#endif
static u_int sp_in_mirror;
+ int new_dynarec_did_compile;
u_int stop_after_jal;
extern u_char restore_candidate[512];
extern int cycle_count;
@@ -8011,6 +8012,7 @@ int new_recompile_block(int addr)
//rlist();
start = (u_int)addr&~3;
//assert(((u_int)addr&1)==0);
+ new_dynarec_did_compile=1;
#ifdef PCSX
if(!sp_in_mirror&&(signed int)(psxRegs.GPR.n.sp&0xffe00000)>0x80200000&&
0x10000<=psxRegs.GPR.n.sp&&(psxRegs.GPR.n.sp&~0xe0e00000)<RAM_SIZE) {
diff --git a/libpcsxcore/new_dynarec/new_dynarec.h b/libpcsxcore/new_dynarec/new_dynarec.h
index 14319da..2dfc55a 100644
--- a/libpcsxcore/new_dynarec/new_dynarec.h
+++ b/libpcsxcore/new_dynarec/new_dynarec.h
@@ -3,6 +3,7 @@
extern int pcaddr;
extern int pending_exception;
extern int stop;
+extern int new_dynarec_did_compile;
void new_dynarec_init();
void new_dynarec_cleanup();