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
physical cdrom readahead
[pcsx_rearmed.git]
/
libpcsxcore
/
psxhw.c
diff --git
a/libpcsxcore/psxhw.c
b/libpcsxcore/psxhw.c
index
8179d95
..
6788112
100644
(file)
--- a/
libpcsxcore/psxhw.c
+++ b/
libpcsxcore/psxhw.c
@@
-27,8
+27,6
@@
#include "cdrom.h"
#include "gpu.h"
#include "cdrom.h"
#include "gpu.h"
-static u32 (*psxHwReadGpuSRptr)(void) = psxHwReadGpuSR;
-
void psxHwReset() {
memset(psxH, 0, 0x10000);
void psxHwReset() {
memset(psxH, 0, 0x10000);
@@
-36,8
+34,6
@@
void psxHwReset() {
cdrReset();
psxRcntInit();
HW_GPU_STATUS = SWAP32(0x10802000);
cdrReset();
psxRcntInit();
HW_GPU_STATUS = SWAP32(0x10802000);
- psxHwReadGpuSRptr = Config.hacks.gpu_busy
- ? psxHwReadGpuSRbusyHack : psxHwReadGpuSR;
}
void psxHwWriteIstat(u32 value)
}
void psxHwWriteIstat(u32 value)
@@
-121,16
+117,10
@@
u32 psxHwReadGpuSR(void)
return v;
}
return v;
}
-// a hack due to poor timing of gpu idle bit
-// to get rid of this, GPU draw times, DMAs, cpu timing has to fall within
-// certain timing window or else games like "ToHeart" softlock
-u32 psxHwReadGpuSRbusyHack(void)
+u32 sio1ReadStat16(void)
{
{
- u32 v = psxHwReadGpuSR();
- static u32 hack;
- if (!(hack++ & 3))
- v &= ~PSXGPU_nBUSY;
- return v;
+ // Armored Core, F1 Link cable misdetection
+ return 0xa0;
}
u8 psxHwRead8(u32 add) {
}
u8 psxHwRead8(u32 add) {
@@
-196,7
+186,7
@@
u16 psxHwRead16(u32 add) {
case 0x1048: hard = sioReadMode16(); break;
case 0x104a: hard = sioReadCtrl16(); break;
case 0x104e: hard = sioReadBaud16(); break;
case 0x1048: hard = sioReadMode16(); break;
case 0x104a: hard = sioReadCtrl16(); break;
case 0x104e: hard = sioReadBaud16(); break;
- case 0x1054: hard =
0x80; break; // Armored Core Link cable misdetection
+ case 0x1054: hard =
sio1ReadStat16(); break;
case 0x1100: hard = psxRcntRcount0(); break;
case 0x1104: hard = psxRcntRmode(0); break;
case 0x1108: hard = psxRcntRtarget(0); break;
case 0x1100: hard = psxRcntRcount0(); break;
case 0x1104: hard = psxRcntRmode(0); break;
case 0x1108: hard = psxRcntRtarget(0); break;
@@
-254,7
+244,7
@@
u32 psxHwRead32(u32 add) {
case 0x1124: hard = psxRcntRmode(2); break;
case 0x1128: hard = psxRcntRtarget(2); break;
case 0x1810: hard = GPU_readData(); break;
case 0x1124: hard = psxRcntRmode(2); break;
case 0x1128: hard = psxRcntRtarget(2); break;
case 0x1810: hard = GPU_readData(); break;
- case 0x1814: hard = psxHwReadGpuSR
ptr
(); break;
+ case 0x1814: hard = psxHwReadGpuSR(); break;
case 0x1820: hard = mdecRead0(); break;
case 0x1824: hard = mdecRead1(); break;
case 0x1820: hard = mdecRead0(); break;
case 0x1824: hard = mdecRead1(); break;