this may cause missed interrupts in very rare cases,
but performance penalty this makes is surely not worth it.
static const u32 HSyncTotal[] = { 263, 313 };
static const u32 SpuUpdInterval[] = { 32, 32 };
static const u32 HSyncTotal[] = { 263, 313 };
static const u32 SpuUpdInterval[] = { 32, 32 };
-static const s32 VerboseLevel = 0;
+#define VERBOSE_LEVEL 0
+static const s32 VerboseLevel = VERBOSE_LEVEL;
/******************************************************************************/
/******************************************************************************/
-void verboseLog( s32 level, const char *str, ... )
+void verboseLog( u32 level, const char *str, ... )
if( level <= VerboseLevel )
{
va_list va;
if( level <= VerboseLevel )
{
va_list va;
printf( "%s", buf );
fflush( stdout );
}
printf( "%s", buf );
fflush( stdout );
}
}
/******************************************************************************/
}
/******************************************************************************/
{
verboseLog( 2, "[RCNT %i] wcount: %x\n", index, value );
{
verboseLog( 2, "[RCNT %i] wcount: %x\n", index, value );
_psxRcntWcount( index, value );
psxRcntSet();
}
_psxRcntWcount( index, value );
psxRcntSet();
}
{
verboseLog( 1, "[RCNT %i] wmode: %x\n", index, value );
{
verboseLog( 1, "[RCNT %i] wmode: %x\n", index, value );
rcnts[index].mode = value;
rcnts[index].irqState = 0;
rcnts[index].mode = value;
rcnts[index].irqState = 0;
{
verboseLog( 1, "[RCNT %i] wtarget: %x\n", index, value );
{
verboseLog( 1, "[RCNT %i] wtarget: %x\n", index, value );
rcnts[index].target = value;
_psxRcntWcount( index, _psxRcntRcount( index ) );
rcnts[index].target = value;
_psxRcntWcount( index, _psxRcntRcount( index ) );
count = _psxRcntRcount( index );
// Parasite Eve 2 fix.
count = _psxRcntRcount( index );
// Parasite Eve 2 fix.
mode = rcnts[index].mode;
rcnts[index].mode &= 0xe7ff;
mode = rcnts[index].mode;
rcnts[index].mode &= 0xe7ff;