Add 3xxx effect to set echo delay buffer length. Add documentation
This commit is contained in:
parent
b3908216f8
commit
e32ef2d881
4 changed files with 30 additions and 1 deletions
|
|
@ -98,6 +98,7 @@ enum DivDispatchCmds {
|
|||
DIV_CMD_SAA_ENVELOPE,
|
||||
|
||||
DIV_CMD_QSOUND_ECHO_FEEDBACK,
|
||||
DIV_CMD_QSOUND_ECHO_DELAY,
|
||||
DIV_CMD_QSOUND_ECHO_LEVEL,
|
||||
|
||||
DIV_ALWAYS_SET_VOLUME,
|
||||
|
|
|
|||
|
|
@ -257,6 +257,9 @@ const char* DivPlatformQSound::getEffectName(unsigned char effect) {
|
|||
case 0x11:
|
||||
return "11xx: Set channel echo level (00 to FF)";
|
||||
break;
|
||||
default:
|
||||
if((effect & 0xf0) == 0x30)
|
||||
return "3xxx: Set echo delay buffer length (000 to AA5)";
|
||||
}
|
||||
return NULL;
|
||||
}
|
||||
|
|
@ -433,6 +436,9 @@ int DivPlatformQSound::dispatch(DivCommand c) {
|
|||
case DIV_CMD_QSOUND_ECHO_FEEDBACK:
|
||||
immWrite(Q1_ECHO_FEEDBACK, c.value << 6);
|
||||
break;
|
||||
case DIV_CMD_QSOUND_ECHO_DELAY:
|
||||
immWrite(Q1_ECHO_LENGTH, (c.value > 2725 ? 0xfff : 0xfff - (2725 - c.value)));
|
||||
break;
|
||||
case DIV_CMD_PITCH:
|
||||
chan[c.chan].pitch=c.value;
|
||||
chan[c.chan].freqChanged=true;
|
||||
|
|
|
|||
|
|
@ -110,6 +110,7 @@ const char* cmdName[DIV_CMD_MAX]={
|
|||
"SAA_ENVELOPE",
|
||||
|
||||
"QSOUND_ECHO_FEEDBACK",
|
||||
"QSOUND_ECHO_DELAY",
|
||||
"QSOUND_ECHO_LEVEL",
|
||||
|
||||
"ALWAYS_SET_VOLUME"
|
||||
|
|
@ -230,7 +231,10 @@ bool DivEngine::perSystemEffect(int ch, unsigned char effect, unsigned char effe
|
|||
dispatchCmd(DivCommand(DIV_CMD_QSOUND_ECHO_LEVEL,ch,effectVal));
|
||||
break;
|
||||
default:
|
||||
return false;
|
||||
if((effect & 0xf0) == 0x30)
|
||||
dispatchCmd(DivCommand(DIV_CMD_QSOUND_ECHO_DELAY,ch,((effect & 0x0f) << 8) | effectVal));
|
||||
else
|
||||
return false;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue