ALL: Huge upstream synch + PerRom DelaySI & CountPerOp parameters
[mupen64plus-pandora.git] / source / mupen64plus-core / src / r4300 / r4300.c
old mode 100644 (file)
new mode 100755 (executable)
index 9a64fdb..5b57ce6
@@ -45,6 +45,7 @@
 
 unsigned int r4300emu = 0;
 int no_compiled_jump = 0;
+unsigned int count_per_op = 2;
 int llbit, rompause;
 #if NEW_DYNAREC != NEW_DYNAREC_ARM
 int stop;
@@ -60,7 +61,6 @@ long long int local_rs;
 long long int reg_cop1_fgr_64[32];
 tlb tlb_e[32];
 unsigned int delay_slot, skip_jump = 0, dyna_interp = 0, last_addr;
-unsigned long long int debug_count = 0;
 unsigned int CIC_Chip;
 char invalid_code[0x100000];
 
@@ -705,7 +705,7 @@ void update_count(void)
     if (r4300emu != CORE_DYNAREC)
     {
 #endif
-        Count = Count + (PC->addr - last_addr)/2;
+        Count += ((PC->addr - last_addr) >> 2) * count_per_op;
         last_addr = PC->addr;
 #ifdef NEW_DYNAREC
     }
@@ -982,7 +982,6 @@ void r4300_execute(void)
 
     current_instruction_table = cached_interpreter_table;
 
-    debug_count = 0;
     delay_slot=0;
     stop = 0;
     rompause = 0;
@@ -1066,7 +1065,6 @@ void r4300_execute(void)
         free_blocks();
     }
 
-    debug_count+= Count;
     DebugMessage(M64MSG_INFO, "R4300 emulator finished.");
 
     /* print instruction counts */