notaz.gp2x.de
/
pcsx_rearmed.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
libretro: adjust some option text
[pcsx_rearmed.git]
/
libpcsxcore
/
psxcounters.c
diff --git
a/libpcsxcore/psxcounters.c
b/libpcsxcore/psxcounters.c
index
02191c7
..
c627120
100644
(file)
--- a/
libpcsxcore/psxcounters.c
+++ b/
libpcsxcore/psxcounters.c
@@
-22,6
+22,7
@@
*/
#include "psxcounters.h"
*/
#include "psxcounters.h"
+#include "psxevents.h"
#include "gpu.h"
//#include "debug.h"
#define DebugVSync()
#include "gpu.h"
//#include "debug.h"
#define DebugVSync()
@@
-117,11
+118,7
@@
void verboseLog( u32 level, const char *str, ... )
static inline
void _psxRcntWcount( u32 index, u32 value )
{
static inline
void _psxRcntWcount( u32 index, u32 value )
{
- if( value > 0xffff )
- {
- verboseLog( 1, "[RCNT %i] wcount > 0xffff: %x\n", index, value );
- value &= 0xffff;
- }
+ value &= 0xffff;
rcnts[index].cycleStart = psxRegs.cycle;
rcnts[index].cycleStart -= value * rcnts[index].rate;
rcnts[index].cycleStart = psxRegs.cycle;
rcnts[index].cycleStart -= value * rcnts[index].rate;
@@
-232,8
+229,7
@@
void psxRcntSet()
}
}
}
}
- psxRegs.interrupt |= (1 << PSXINT_RCNT);
- new_dyna_set_event(PSXINT_RCNT, psxNextCounter);
+ set_event(PSXINT_RCNT, psxNextCounter);
}
/******************************************************************************/
}
/******************************************************************************/
@@
-397,6
+393,8
@@
void psxRcntUpdate()
}
HW_GPU_STATUS = SWAP32(status);
GPU_vBlank(0, field);
}
HW_GPU_STATUS = SWAP32(status);
GPU_vBlank(0, field);
+ if ((s32)(psxRegs.gpuIdleAfter - psxRegs.cycle) < 0)
+ psxRegs.gpuIdleAfter = psxRegs.cycle - 1; // prevent overflow
if ((rcnts[0].mode & 7) == (RcSyncModeEnable | Rc01UnblankReset) ||
(rcnts[0].mode & 7) == (RcSyncModeEnable | Rc01UnblankReset2))
if ((rcnts[0].mode & 7) == (RcSyncModeEnable | Rc01UnblankReset) ||
(rcnts[0].mode & 7) == (RcSyncModeEnable | Rc01UnblankReset2))