Trying clr15/set15, this is an educated guess after looking at ucodes. Please test it and tell me if you see any

real difference in sound beside on hermes' demo


git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@2985 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
nakeee 2009-04-16 21:46:55 +00:00
parent e6dbfb4f24
commit 42726a7576
2 changed files with 6 additions and 1 deletions

View File

@ -840,6 +840,9 @@ void orf(const UDSPInstruction& opc)
//------------------------------------------------------------- //-------------------------------------------------------------
// NX
// 1000 -000 xxxx xxxx
// No operation, but can be extended with extended opcode.
void nx(const UDSPInstruction& opc) void nx(const UDSPInstruction& opc)
{ {
// This opcode is supposed to do nothing - it's used if you want to use // This opcode is supposed to do nothing - it's used if you want to use
@ -1461,10 +1464,13 @@ void srbith(const UDSPInstruction& opc)
// 15-bit precision? clamping? no idea :( // 15-bit precision? clamping? no idea :(
// CLR15 seems to be the default. // CLR15 seems to be the default.
// nakee: It seems to come around mul operation, and it explains what sets the mul bit. But if so why not set/clr14?
case 0xc: // CLR15 case 0xc: // CLR15
g_dsp.r[DSP_REG_SR] |= SR_MUL_MODIFY;
//ERROR_LOG(DSPLLE, "CLR15"); //ERROR_LOG(DSPLLE, "CLR15");
break; break;
case 0xd: // SET15 case 0xd: // SET15
g_dsp.r[DSP_REG_SR] &= ~SR_MUL_MODIFY;
//ERROR_LOG(DSPLLE, "SET15"); //ERROR_LOG(DSPLLE, "SET15");
break; break;

View File

@ -306,7 +306,6 @@ void gdsp_step()
u16 opc = dsp_fetch_code(); u16 opc = dsp_fetch_code();
ExecuteInstruction(UDSPInstruction(opc)); ExecuteInstruction(UDSPInstruction(opc));
gdsp_handle_loop(); gdsp_handle_loop();
} }