summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSND\ckain_cp <SND\ckain_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2014-03-01 01:02:46 +0000
committerSND\ckain_cp <SND\ckain_cp@e17a0e51-4ae3-4d35-97c3-1a29b211df97>2014-03-01 01:02:46 +0000
commit9c1a5a9c319901c17e040ef154b77c74e7c3f7ff (patch)
tree1fc62fdba106cf2cab7897f719c72e4757f708bc
parentfb2006a065129496c7f223ccab2008be4da4b8f8 (diff)
downloadpcsxr-9c1a5a9c319901c17e040ef154b77c74e7c3f7ff.tar.gz
MML speed fix.
git-svn-id: https://pcsxr.svn.codeplex.com/svn/pcsxr@89233 e17a0e51-4ae3-4d35-97c3-1a29b211df97
-rwxr-xr-xlibpcsxcore/psxhw.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/libpcsxcore/psxhw.c b/libpcsxcore/psxhw.c
index 08e16f83..c00b8ab8 100755
--- a/libpcsxcore/psxhw.c
+++ b/libpcsxcore/psxhw.c
@@ -746,7 +746,10 @@ void psxHwWrite32(u32 add, u32 value) {
#endif
// 0x1F means irq request, so fulfill it here because plugin can't and won't
// Probably no need to send this to plugin in first place...
- if (value == 0x01f00000) {
+ // MML/Tronbonne is known to use this.
+ // TODO FIFO is not implemented properly so commands are not exact
+ // and thus we rely on hack that counter/cdrom irqs are enabled at same time
+ if (SWAPu32(value) == 0x1f00000 && (psxHu32ref(0x1070) & 0x44)) {
setIrq( 0x01 );
}
GPU_writeData(value); return;