diff options
author | notaz | 2011-02-17 02:18:15 +0200 |
---|---|---|
committer | notaz | 2011-02-17 17:05:11 +0200 |
commit | fb4074479c536e12f7668aa5dfff48b146562d57 (patch) | |
tree | 8609b628a639dcc5e60654434e68ddcc199d5418 | |
parent | f51dc36c05395bf077ff3b76452f36477581c8e1 (diff) | |
download | pcsx_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
-rw-r--r-- | libpcsxcore/new_dynarec/new_dynarec.c | 10 |
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++; |