drc: fix PCSX HLE hack for armv5
[pcsx_rearmed.git] / libpcsxcore / psxcounters.c
index ebfe629..fc4c5b1 100644 (file)
@@ -22,6 +22,7 @@
  */
 
 #include "psxcounters.h"
+#include "debug.h"
 
 /******************************************************************************/
 
@@ -66,7 +67,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 +101,7 @@ void verboseLog( s32 level, const char *str, ... )
         vsprintf( buf, str, va );
         va_end( va );
 
-        printf( buf );
+        printf( "%s", buf );
         fflush( stdout );
     }
 }
@@ -286,7 +287,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 +298,11 @@ void psxRcntUpdate()
         {
             hSyncCount = 0;
 
-            GPU_vBlank( 0 );
+            GPU_vBlank( 0, &hSyncCount );
             setIrq( 0x01 );
 
-            GPU_updateLace();
             EmuUpdate();
+            GPU_updateLace();
         }
     }
 
@@ -461,6 +462,9 @@ void psxRcntInit()
         _psxRcntWcount( i, 0 );
     }
 
+    hSyncCount = 0;
+    spuSyncCount = 0;
+
     psxRcntSet();
 }