Move some CMS definitions and function declarations to a header file
This commit is contained in:
35
src/include/86box/snd_cms.h
Normal file
35
src/include/86box/snd_cms.h
Normal file
@@ -0,0 +1,35 @@
|
|||||||
|
#ifndef SOUND_SND_CMS_H
|
||||||
|
# define SOUND_SND_CMS_H
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <86box/sound.h>
|
||||||
|
|
||||||
|
#define MASTER_CLOCK 7159090
|
||||||
|
|
||||||
|
typedef struct cms_t
|
||||||
|
{
|
||||||
|
int addrs[2];
|
||||||
|
uint8_t regs[2][32];
|
||||||
|
uint16_t latch[2][6];
|
||||||
|
int freq[2][6];
|
||||||
|
float count[2][6];
|
||||||
|
int vol[2][6][2];
|
||||||
|
int stat[2][6];
|
||||||
|
uint16_t noise[2][2];
|
||||||
|
uint16_t noisefreq[2][2];
|
||||||
|
int noisecount[2][2];
|
||||||
|
int noisetype[2][2];
|
||||||
|
|
||||||
|
uint8_t latched_data;
|
||||||
|
|
||||||
|
int16_t buffer[SOUNDBUFLEN * 2];
|
||||||
|
|
||||||
|
int pos;
|
||||||
|
} cms_t;
|
||||||
|
|
||||||
|
|
||||||
|
extern void cms_update(cms_t *cms);
|
||||||
|
extern void cms_write(uint16_t addr, uint8_t val, void *p);
|
||||||
|
extern uint8_t cms_read(uint16_t addr, void *p);
|
||||||
|
|
||||||
|
#endif /*SOUND_SND_CMS_H*/
|
@@ -9,32 +9,9 @@
|
|||||||
#include <86box/io.h>
|
#include <86box/io.h>
|
||||||
#include <86box/device.h>
|
#include <86box/device.h>
|
||||||
#include <86box/sound.h>
|
#include <86box/sound.h>
|
||||||
|
#include <86box/snd_cms.h>
|
||||||
|
|
||||||
|
|
||||||
#define MASTER_CLOCK 7159090
|
|
||||||
|
|
||||||
|
|
||||||
typedef struct cms_t
|
|
||||||
{
|
|
||||||
int addrs[2];
|
|
||||||
uint8_t regs[2][32];
|
|
||||||
uint16_t latch[2][6];
|
|
||||||
int freq[2][6];
|
|
||||||
float count[2][6];
|
|
||||||
int vol[2][6][2];
|
|
||||||
int stat[2][6];
|
|
||||||
uint16_t noise[2][2];
|
|
||||||
uint16_t noisefreq[2][2];
|
|
||||||
int noisecount[2][2];
|
|
||||||
int noisetype[2][2];
|
|
||||||
|
|
||||||
uint8_t latched_data;
|
|
||||||
|
|
||||||
int16_t buffer[SOUNDBUFLEN * 2];
|
|
||||||
|
|
||||||
int pos;
|
|
||||||
} cms_t;
|
|
||||||
|
|
||||||
void cms_update(cms_t *cms)
|
void cms_update(cms_t *cms)
|
||||||
{
|
{
|
||||||
for (; cms->pos < sound_pos_global; cms->pos++)
|
for (; cms->pos < sound_pos_global; cms->pos++)
|
||||||
|
Reference in New Issue
Block a user