drc: do modification check in smaller than page granularity
[pcsx_rearmed.git] / libpcsxcore / psxcounters.c
index ebfe629..184a4c9 100644 (file)
@@ -66,7 +66,7 @@ static const u32 CountToTarget    = 1;
 
 static const u32 FrameRate[]      = { 60, 50 };
 static const u32 VBlankStart[]    = { 240, 256 };
-static const u32 HSyncTotal[]     = { 262, 312 };
+static const u32 HSyncTotal[]     = { 263, 313 };
 static const u32 SpuUpdInterval[] = { 23, 22 };
 
 static const s32 VerboseLevel     = 0;
@@ -100,7 +100,7 @@ void verboseLog( s32 level, const char *str, ... )
         vsprintf( buf, str, va );
         va_end( va );
 
-        printf( buf );
+        printf( "%s", buf );
         fflush( stdout );
     }
 }
@@ -286,7 +286,7 @@ void psxRcntUpdate()
         // VSync irq.
         if( hSyncCount == VBlankStart[Config.PsxType] )
         {
-            GPU_vBlank( 1 );
+            GPU_vBlank( 1, &hSyncCount );
             
             // For the best times. :D
             //setIrq( 0x01 );
@@ -297,11 +297,11 @@ void psxRcntUpdate()
         {
             hSyncCount = 0;
 
-            GPU_vBlank( 0 );
+            GPU_vBlank( 0, &hSyncCount );
             setIrq( 0x01 );
 
-            GPU_updateLace();
             EmuUpdate();
+            GPU_updateLace();
         }
     }
 
@@ -461,6 +461,9 @@ void psxRcntInit()
         _psxRcntWcount( i, 0 );
     }
 
+    hSyncCount = 0;
+    spuSyncCount = 0;
+
     psxRcntSet();
 }