snes9xgx/source/snes9x/apu/apu.h
saulfabreg Wii VC Project 42c1e491ed
Snes9x - Add new audio filters (CUBIC/SINC) from Snes9x 1.61 (niuus, Tanooki16) (#1014)
* New audio filters (CUBIC/SINC) taken from Snes9x 1.61 (niuus, Tanooki16)

* New audio filters (CUBIC/SINC) taken from Snes9x 1.61 (niuus, Tanooki16)

* New audio filters (CUBIC/SINC) taken from Snes9x 1.61 (niuus, Tanooki16)

* New audio filters (CUBIC/SINC) taken from Snes9x 1.61 (niuus, Tanooki16)
2022-06-03 13:51:07 -06:00

56 lines
1.6 KiB
C

/*****************************************************************************\
Snes9x - Portable Super Nintendo Entertainment System (TM) emulator.
This file is licensed under the Snes9x License.
For further information, consult the LICENSE file in the root directory.
\*****************************************************************************/
#ifndef _APU_H_
#define _APU_H_
#include "../snes9x.h"
#include "SNES_SPC.h"
typedef void (*apu_callback) (void *);
#define SPC_SAVE_STATE_BLOCK_SIZE (SNES_SPC::state_size + 8)
bool8 S9xInitAPU (void);
void S9xDeinitAPU (void);
void S9xResetAPU (void);
void S9xSoftResetAPU (void);
uint8 S9xAPUReadPort (int);
void S9xAPUWritePort (int, uint8);
void S9xAPUExecute (void);
void S9xAPUEndScanline (void);
void S9xAPUSetReferenceTime (int32);
void S9xAPUTimingSetSpeedup (int);
void S9xAPUAllowTimeOverflow (bool);
void S9xAPULoadState (uint8 *);
void S9xAPUSaveState (uint8 *);
void S9xDumpSPCSnapshot (void);
bool8 S9xSPCDump (const char *);
bool8 S9xInitSound (int, int);
bool8 S9xOpenSoundDevice (void);
bool8 S9xSyncSound (void);
int S9xGetSampleCount (void);
void S9xSetSoundControl (uint8);
void S9xSetSoundMute (bool8);
void S9xLandSamples (void);
void S9xFinalizeSamples (void);
void S9xClearSamples (void);
bool8 S9xMixSamples (uint8 *, int);
void S9xSetSamplesAvailableCallback (apu_callback, void *);
void S9xUpdateDynamicRate (double rate);
extern SNES_SPC *spc_core;
#define DSP_INTERPOLATION_NONE 0
#define DSP_INTERPOLATION_LINEAR 1
#define DSP_INTERPOLATION_GAUSSIAN 2
#define DSP_INTERPOLATION_CUBIC 3
#define DSP_INTERPOLATION_SINC 4
#endif