From 68d066d50d389b889f7f5299896c96c55f23f592 Mon Sep 17 00:00:00 2001 From: Angelo Salese Date: Mon, 11 Feb 2013 13:34:58 +0000 Subject: [PATCH] Actually fixed Sign flag in OR opcode --- src/mame/machine/scudsp.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/mame/machine/scudsp.c b/src/mame/machine/scudsp.c index 4a9c59097ac..1d644579cb9 100644 --- a/src/mame/machine/scudsp.c +++ b/src/mame/machine/scudsp.c @@ -431,13 +431,13 @@ static void dsp_operation(address_space &space) case 0x2: /* OR */ i3 = dsp_reg.acl.si | dsp_reg.pl.si; dsp_reg.alu = (UINT64)(UINT32)i3; + SET_C(0); + SET_S(i3 < 0); /* TODO: Croc and some early Psygnosis games wants Z to be 1 when the result of this one is negative. Needs HW tests ... */ if(i3 < 0) i3 = 0; SET_Z(i3 == 0); - SET_C(0); - SET_S(i3 < 0); break; case 0x3: /* XOR */ i3 = dsp_reg.acl.si ^ dsp_reg.pl.si;