X-Git-Url: https://notaz.gp2x.de/cgi-bin/gitweb.cgi?p=fceu.git;a=blobdiff_plain;f=sound.h;h=7a21d417d16fdee77b57ba737034b012fb5c5acc;hp=c5adc3ea76f7e2fe915783f56c7210732e2f9b58;hb=527b98f6e7965f464c804ee5279855326c78dc6d;hpb=5232c20c0fa2c80964fe1d3f597c239bcf93d6fc diff --git a/sound.h b/sound.h index c5adc3e..7a21d41 100644 --- a/sound.h +++ b/sound.h @@ -27,18 +27,21 @@ typedef struct { void (*Fill)(int Count); void (*RChange)(void); void (*Kill)(void); + + // from 0.98.15, currently unused + void (*NeoFill)(int32 *Wave, int Count); + void (*HiFill)(void); + void (*HiSync)(int32 ts); } EXPSOUND; extern EXPSOUND GameExpSound; -extern int64 nesincsizeLL; -extern uint8 PSG[]; +//extern int64 nesincsizeLL; +extern int32 nesincsize; +extern uint8 PSG[0x18]; extern uint32 PSG_base; -extern int32 PCMIRQCount; void SetSoundVariables(void); -void PowerSound(void); -void ResetSound(void); extern uint8 decvolume[]; extern int vdis; @@ -47,10 +50,6 @@ extern uint16 nreg; extern uint8 trimode; extern uint8 tricoop; -extern uint8 PCMBitIndex; -extern uint32 PCMAddressIndex; -extern int32 PCMSizeIndex; -extern uint8 PCMBuffer; extern uint8 sweepon[2]; extern int32 curfreq[2]; @@ -62,13 +61,26 @@ extern uint8 fcnt; extern int32 fhcnt; extern int32 fhinc; -void GetSoundBuffer(int32 **W); +uint8 FCEU_GetJoyJoy(void); + +int GetSoundBuffer(int16 **W); int FlushEmulateSound(void); -extern uint32 Wave[2048]; -extern int32 WaveFinal[2048]; -extern int16 WaveFinalMono[2048]; +extern uint32 Wave[2048+512]; +extern int16 WaveFinalMono[2048+512]; +extern int32 WaveHi[]; extern uint32 soundtsinc; +extern uint32 soundtsoffs; +#define SOUNDTS (timestamp + soundtsoffs) + void SetNESSoundMap(void); void FrameSoundUpdate(void); void FixOldSaveStateSFreq(void); + +void FCEUSND_Power(void); +void FCEUSND_Reset(void); +void FCEUSND_SaveState(void); +void FCEUSND_LoadState(int version); + +void FCEU_SoundCPUHook(int cycles48); +DECLFW(Write_IRQFM);