37 lines
759 B
C
37 lines
759 B
C
/* Copyright holders: Sarah Walker
|
|
see COPYING for more details
|
|
*/
|
|
enum
|
|
{
|
|
SN76496,
|
|
NCR8496,
|
|
PSSJ
|
|
};
|
|
|
|
extern device_t sn76489_device;
|
|
extern device_t ncr8496_device;
|
|
|
|
extern int sn76489_mute;
|
|
|
|
typedef struct sn76489_t
|
|
{
|
|
int stat[4];
|
|
int64_t latch[4], count[4];
|
|
int freqlo[4], freqhi[4];
|
|
int vol[4];
|
|
uint32_t shift;
|
|
uint8_t noise;
|
|
int lasttone;
|
|
uint8_t firstdat;
|
|
int type;
|
|
int extra_divide;
|
|
|
|
int16_t buffer[SOUNDBUFLEN];
|
|
int pos;
|
|
|
|
double psgconst;
|
|
} sn76489_t;
|
|
|
|
void sn76489_init(sn76489_t *sn76489, uint16_t base, uint16_t size, int type, int freq);
|
|
void sn74689_set_extra_divide(sn76489_t *sn76489, int enable);
|