notaz.gp2x.de
/
fceu.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
merge PCM code from FCEUX
[fceu.git]
/
sound.h
diff --git
a/sound.h
b/sound.h
index
53c397b
..
7a21d41
100644
(file)
--- a/
sound.h
+++ b/
sound.h
@@
-27,18
+27,21
@@
typedef struct {
void (*Fill)(int Count);
void (*RChange)(void);
void (*Kill)(void);
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;
} 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 uint32 PSG_base;
-extern int32 PCMIRQCount;
void SetSoundVariables(void);
void SetSoundVariables(void);
-void PowerSound(void);
-void ResetSound(void);
extern uint8 decvolume[];
extern int vdis;
extern uint8 decvolume[];
extern int vdis;
@@
-47,10
+50,6
@@
extern uint16 nreg;
extern uint8 trimode;
extern uint8 tricoop;
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];
extern uint8 sweepon[2];
extern int32 curfreq[2];
@@
-62,12
+61,26
@@
extern uint8 fcnt;
extern int32 fhcnt;
extern int32 fhinc;
extern int32 fhcnt;
extern int32 fhinc;
-void GetSoundBuffer(int32 **W);
+uint8 FCEU_GetJoyJoy(void);
+
+int GetSoundBuffer(int16 **W);
int FlushEmulateSound(void);
int FlushEmulateSound(void);
-extern uint32 Wave[2048];
-extern int32 WaveFinal[2048];
+extern uint32 Wave[2048+512];
+extern int16 WaveFinalMono[2048+512];
+extern int32 WaveHi[];
extern uint32 soundtsinc;
extern uint32 soundtsinc;
+extern uint32 soundtsoffs;
+#define SOUNDTS (timestamp + soundtsoffs)
+
void SetNESSoundMap(void);
void FrameSoundUpdate(void);
void FixOldSaveStateSFreq(void);
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);