diff options
author | 2010-07-22 02:25:53 +0000 | |
---|---|---|
committer | 2010-07-22 02:25:53 +0000 | |
commit | 9433e80b419b79f99faffa8d49fde4f5bc9c3fb7 (patch) | |
tree | 9a7ef262cfbc86c72f0773e10fed982f4615cbe5 /src | |
parent | 073e655c0aa32574722ef6c603bb87f355c4dc4f (diff) |
RSP: Fix sign issue in VCL opcode [angrylion]
Diffstat (limited to 'src')
-rw-r--r-- | src/emu/cpu/rsp/rsp.c | 2 | ||||
-rw-r--r-- | src/emu/cpu/rsp/rspdrc.c | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/src/emu/cpu/rsp/rsp.c b/src/emu/cpu/rsp/rsp.c index a7667431b3f..3cdea5d8414 100644 --- a/src/emu/cpu/rsp/rsp.c +++ b/src/emu/cpu/rsp/rsp.c @@ -1892,7 +1892,7 @@ static void handle_vector_ops(rsp_state *rsp, UINT32 op) { if (rsp->flag[2] & (1 << (del))) { - if (((UINT32)(INT16)(s1) + (UINT32)(INT16)(s2)) > 0x10000) + if (((UINT32)(UINT16)(s1) + (UINT32)(UINT16)(s2)) > 0x10000) { W_ACCUM_L(del, s1); CLEAR_COMPARE_FLAG(del); diff --git a/src/emu/cpu/rsp/rspdrc.c b/src/emu/cpu/rsp/rspdrc.c index e3f120ee539..44265df787a 100644 --- a/src/emu/cpu/rsp/rspdrc.c +++ b/src/emu/cpu/rsp/rspdrc.c @@ -5151,7 +5151,7 @@ INLINE void cfunc_rsp_vcl(void *param) { if (rsp->flag[2] & (1 << (del))) { - if (((UINT32)(INT16)(s1) + (UINT32)(INT16)(s2)) > 0x10000) + if (((UINT32)(UINT16)(s1) + (UINT32)(UINT16)(s2)) > 0x10000) { W_ACCUM_L(del, s1); CLEAR_COMPARE_FLAG(del); |