aboutsummaryrefslogtreecommitdiff
path: root/libpcsxcore
diff options
context:
space:
mode:
authornotaz2011-02-17 02:18:15 +0200
committernotaz2011-02-17 17:05:11 +0200
commitfb4074479c536e12f7668aa5dfff48b146562d57 (patch)
tree8609b628a639dcc5e60654434e68ddcc199d5418 /libpcsxcore
parentf51dc36c05395bf077ff3b76452f36477581c8e1 (diff)
downloadpcsx_rearmed-fb4074479c536e12f7668aa5dfff48b146562d57.tar.gz
pcsx_rearmed-fb4074479c536e12f7668aa5dfff48b146562d57.tar.bz2
pcsx_rearmed-fb4074479c536e12f7668aa5dfff48b146562d57.zip
drc: add i/o penalty cycles
.. as done by some other PSX emus
Diffstat (limited to 'libpcsxcore')
-rw-r--r--libpcsxcore/new_dynarec/new_dynarec.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/libpcsxcore/new_dynarec/new_dynarec.c b/libpcsxcore/new_dynarec/new_dynarec.c
index 1435017..1f33c75 100644
--- a/libpcsxcore/new_dynarec/new_dynarec.c
+++ b/libpcsxcore/new_dynarec/new_dynarec.c
@@ -9478,6 +9478,16 @@ int new_recompile_block(int addr)
{
cc=0;
}
+#ifdef PCSX
+ else if(/*itype[i]==LOAD||*/itype[i]==STORE||itype[i]==C1LS) // load causes weird timing issues
+ {
+ cc+=2; // 2 cycle penalty (after CLOCK_DIVIDER)
+ }
+ else if(itype[i]==C2LS)
+ {
+ cc+=4;
+ }
+#endif
else
{
cc++;