5
approximation of the sid6581 chip
6
this part is for one chip,
9
#include "includes/sid6581.h"
14
typedef struct _SID6581 {
17
int mixer_channel; /* mame stream/ mixer channel */
19
int (*ad_read) (int which);
23
uword PCMfreq; /* samplerate of the current systems soundcard/DAC */
24
udword PCMsid, PCMsidNoise;
27
/* following depends on type */
28
ptr2sidVoidFunc ModeNormalTable[16];
29
ptr2sidVoidFunc ModeRingTable[16];
30
/* for speed reason it could be better to make them global! */
38
/* bool sidKeysOn[0x20], sidKeysOff[0x20]; */
41
uword masterVolumeAmplIndex;
47
filterfloat Dy, ResDy;
51
sidOperator optr1, optr2, optr3;
55
void sid6581_init (SID6581 *This);
57
bool sidEmuReset(SID6581 *This);
59
int sid6581_port_r (SID6581 *This, int offset);
60
void sid6581_port_w (SID6581 *This, int offset, int data);
62
void sid_set_type(SID6581 *This, SIDTYPE type);
64
void initMixerEngine(void);
65
void filterTableInit(void);
66
extern void MixerInit(bool threeVoiceAmplify);
68
void sidEmuFillBuffer(SID6581 *This, void* buffer, udword bufferLen );
71
void sidFilterTableInit(void);