Fixed LSR opcode (shift would always be a crazy value like 65479 instead of 7).
Now SMG ucode jumps to the right command handlers. Unfortunately still no sound :( git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3705 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
parent
92e63e3ac4
commit
6c7aadd5ab
|
@ -609,7 +609,7 @@ void lsl(const UDSPInstruction& opc)
|
||||||
// calculated by negating sign extended bits 0-6.
|
// calculated by negating sign extended bits 0-6.
|
||||||
void lsr(const UDSPInstruction& opc)
|
void lsr(const UDSPInstruction& opc)
|
||||||
{
|
{
|
||||||
u16 shift = -opc.ushift;
|
u16 shift = (u16) -(((s8)(opc.ushift << 2)) >> 2);
|
||||||
u64 acc = dsp_get_long_acc(opc.areg);
|
u64 acc = dsp_get_long_acc(opc.areg);
|
||||||
// Lop off the extraneous sign extension our 64-bit fake accum causes
|
// Lop off the extraneous sign extension our 64-bit fake accum causes
|
||||||
acc &= 0x000000FFFFFFFFFFULL;
|
acc &= 0x000000FFFFFFFFFFULL;
|
||||||
|
|
Loading…
Reference in New Issue