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
frontend: clean up some hacks
[pcsx_rearmed.git]
/
libpcsxcore
/
psxhw.c
diff --git
a/libpcsxcore/psxhw.c
b/libpcsxcore/psxhw.c
index
54e03f6
..
ebdff87
100644
(file)
--- a/
libpcsxcore/psxhw.c
+++ b/
libpcsxcore/psxhw.c
@@
-24,6
+24,7
@@
#include "psxhw.h"
#include "mdec.h"
#include "cdrom.h"
#include "psxhw.h"
#include "mdec.h"
#include "cdrom.h"
+#include "gpu.h"
//#undef PSXHW_LOG
//#define PSXHW_LOG printf
//#undef PSXHW_LOG
//#define PSXHW_LOG printf
@@
-37,6
+38,7
@@
void psxHwReset() {
mdecInit(); // initialize mdec decoder
cdrReset();
psxRcntInit();
mdecInit(); // initialize mdec decoder
cdrReset();
psxRcntInit();
+ HW_GPU_STATUS = 0x14802000;
}
u8 psxHwRead8(u32 add) {
}
u8 psxHwRead8(u32 add) {
@@
-238,7
+240,10
@@
u32 psxHwRead32(u32 add) {
#endif
return hard;
case 0x1f801814:
#endif
return hard;
case 0x1f801814:
- hard = GPU_readStatus();
+ gpuSyncPluginSR();
+ hard = HW_GPU_STATUS;
+ if (hSyncCount < 240 && (HW_GPU_STATUS & PSXGPU_ILACE_BITS) != PSXGPU_ILACE_BITS)
+ hard |= PSXGPU_LCF & (psxRegs.cycle << 20);
#ifdef PSXHW_LOG
PSXHW_LOG("GPU STATUS 32bit read %x\n", hard);
#endif
#ifdef PSXHW_LOG
PSXHW_LOG("GPU STATUS 32bit read %x\n", hard);
#endif
@@
-682,7
+687,9
@@
void psxHwWrite32(u32 add, u32 value) {
#ifdef PSXHW_LOG
PSXHW_LOG("GPU STATUS 32bit write %x\n", value);
#endif
#ifdef PSXHW_LOG
PSXHW_LOG("GPU STATUS 32bit write %x\n", value);
#endif
- GPU_writeStatus(value); return;
+ GPU_writeStatus(value);
+ gpuSyncPluginSR();
+ return;
case 0x1f801820:
mdecWrite0(value); break;
case 0x1f801820:
mdecWrite0(value); break;