games/snes: implement DSP noise
I'm not sure if this LFSR is the same one used by the hardware or is arbitrary, but it matches the noise sequence used by all other snes emulators I looked at.
This commit is contained in:
parent
52b54097bf
commit
f1d29a9d12
1 changed files with 3 additions and 1 deletions
|
@ -6,7 +6,7 @@
|
|||
#include "fns.h"
|
||||
|
||||
u8int dsp[256], dspstate;
|
||||
u16int dspcounter, noise;
|
||||
u16int dspcounter, noise = 0x8000;
|
||||
static s16int samp[2], echoin[2];
|
||||
|
||||
enum {
|
||||
|
@ -517,6 +517,8 @@ dspstep(void)
|
|||
}
|
||||
if(dspcounter-- == 0)
|
||||
dspcounter = 0x77ff;
|
||||
if(envyes(dsp[FLG] & 0x1f))
|
||||
noise = (noise << 13 ^ noise << 14) & 0x8000 | noise >> 1 & ~1;
|
||||
break;
|
||||
case 31: voice(0, 4); voice(2, 1); break;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue