DSPLLE: remove the if 0 around SR_MUL_UNSIGNED in hope to figure out why it makes AX games sound bad

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@3892 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
nakeee 2009-07-27 16:41:11 +00:00
parent 9d10f9355d
commit 6a92924636
3 changed files with 3 additions and 4 deletions

View file

@ -421,7 +421,7 @@ void ldm(const UDSPInstruction& opc)
// xxxx xxxx 11dr 11ss
void ldnm(const UDSPInstruction& opc)
{
u8 dreg = (opc.hex >> 5) & 0x1;
u8 dreg = (opc.hex >> 5) & 0x1;
u8 rreg = (opc.hex >> 4) & 0x1;
u8 sreg = opc.hex & 0x3;

View file

@ -196,7 +196,7 @@ const DSPOPCTemplate opcodes[] =
{"ILRR", 0x0210, 0xfefc, DSPInterpreter::ilrr, nop, 1, 2, {{P_ACCM, 1, 0, 8, 0x0100}, {P_PRG, 1, 0, 0, 0x0003}}, false},
{"ILRRD", 0x0214, 0xfefc, DSPInterpreter::ilrrd, nop, 1, 2, {{P_ACCM, 1, 0, 8, 0x0100}, {P_PRG, 1, 0, 0, 0x0003}}, false}, // Hermes doesn't list this
{"ILRRI", 0x0218, 0xfefc, DSPInterpreter::ilrri, nop, 1, 2, {{P_ACCM, 1, 0, 8, 0x0100}, {P_PRG, 1, 0, 0, 0x0003}}, false},
{"ILRRN", 0x022c, 0xfefc, DSPInterpreter::ilrrn, nop, 1, 2, {{P_ACCM, 1, 0, 8, 0x0100}, {P_PRG, 1, 0, 0, 0x0003}}, false},
{"ILRRN", 0x021c, 0xfefc, DSPInterpreter::ilrrn, nop, 1, 2, {{P_ACCM, 1, 0, 8, 0x0100}, {P_PRG, 1, 0, 0, 0x0003}}, false},
// load and store value pointed by indexing reg and increment; LRR/SRR variants
{"LRR", 0x1800, 0xff80, DSPInterpreter::lrr, nop, 1, 2, {{P_REG, 1, 0, 0, 0x001f}, {P_PRG, 1, 0, 5, 0x0060}}, false},

View file

@ -32,11 +32,10 @@ namespace DSPInterpreter {
s64 dsp_multiply_conditional_unsigned(u16 a, u16 b)
{
s64 prod;
#if 0 // Makes AX games sound horrible. TODO: activate and figure out why - it's been verified through DSPSpy :/
// FIXME: Makes AX games sound horrible. Verified through DSPSpy :/
if (g_dsp.r[DSP_REG_SR] & SR_MUL_UNSIGNED)
prod = (u64)a * (u64)b; // won't overflow 32-bits
else
#endif
prod = (s32)(s16)a * (s32)(s16)b; // won't overflow 32-bits
// Conditionally multiply by 2.