X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=sound.c;h=f0eeaf87c0b7c496afd454536dcad5a67c86bd1e;hb=3ac1cc0b221c10cd9a82ba3c12d111597dc554e7;hp=f95b0505abd111b22532bde7d4fd0e84cd84cafa;hpb=0ab4d38fa6197f853b9111104948df09996aa5dc;p=fceu.git diff --git a/sound.c b/sound.c index f95b050..f0eeaf8 100644 --- a/sound.c +++ b/sound.c @@ -40,6 +40,7 @@ #include "sound.h" uint32 Wave[2048+512]; +int32 WaveHi[40000]; // unused int16 WaveFinalMono[2048+512]; EXPSOUND GameExpSound={0,0,0,0,0,0}; @@ -554,6 +555,31 @@ static void FASTAPASS(1) CalcRectAmp(int P) *b=V; } +void FCEU_SoundCPUHook(int cycles48) +{ + fhcnt-=cycles48; + if(fhcnt<=0) + { + FrameSoundUpdate(); + fhcnt+=fhinc; + } + + if(PCMIRQCount>0) + { + PCMIRQCount-=cycles48; + if(PCMIRQCount<=0) + { + vdis=1; + if((PSG[0x10]&0x80) && !(PSG[0x10]&0x40)) + { + extern uint8 SIRQStat; + SIRQStat|=0x80; + X6502_IRQBegin(FCEU_IQDPCM); + } + } + } +} + static void RDoPCM(int32 end) { int32 V;