X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=aica%2Farm%2Faica.h;fp=aica%2Farm%2Faica.h;h=15c45ead89179997500c9e2176568043c5b3c90e;hb=e02aa6cf5cbd5680016beaf879d7e1118124cb61;hp=0000000000000000000000000000000000000000;hpb=a8eb754461e1c033ecaf531dde9e312f9962ca0c;p=linux-libre-firmware.git diff --git a/aica/arm/aica.h b/aica/arm/aica.h new file mode 100644 index 0000000..15c45ea --- /dev/null +++ b/aica/arm/aica.h @@ -0,0 +1,27 @@ +#ifndef __AICA_H +#define __AICA_H + +/* volatile unsigned char *dc_snd_base = (unsigned char *)0x00800000; */ +#define dc_snd_base ((volatile unsigned char *)0x00800000) + +/* Some convienence macros */ +#define SNDREG32A(x) ((volatile unsigned long *)(dc_snd_base + (x))) +#define SNDREG32(x) (*SNDREG32A(x)) +#define SNDREG8A(x) (dc_snd_base + (x)) +#define SNDREG8(x) (*SNDREG8A(x)) +#define CHNREG32A(chn, x) SNDREG32A(0x80*(chn) + (x)) +#define CHNREG32(chn, x) (*CHNREG32A(chn, x)) +#define CHNREG8A(chn, x) SNDREG8A(0x80*(chn) + (x)) +#define CHNREG8(chn, x) (*CHNREG8A(chn, x)) + +void aica_init(); +void aica_play(int ch, int delay); +void aica_sync_play(uint32 chmap); +void aica_stop(int ch); +void aica_vol(int ch); +void aica_pan(int ch); +void aica_freq(int ch); +int aica_get_pos(int ch); + +#endif /* __AICA_H */ +