4 * $FreeBSD: src/sys/i386/isa/sound/sbcard.h,v 1.4 1999/12/27 04:37:19 tanimura Exp $
5 * $DragonFly: src/sys/platform/pc32/isa/sound/Attic/sbcard.h,v 1.2 2003/06/17 04:28:38 dillon Exp $
9 extern int sbc_major, sbc_minor ;
11 * sound blaster registers
15 #define DSP_RESET (sbc_base + 0x600)
16 #define DSP_READ (sbc_base + 0xA00)
17 #define DSP_WRITE (sbc_base + 0xC00)
18 #define DSP_COMMAND (sbc_base + 0xC00)
19 #define DSP_STATUS (sbc_base + 0xC00)
20 #define DSP_DATA_AVAIL (sbc_base + 0xE00)
21 #define DSP_DATA_AVL16 (sbc_base + 0xF00)
22 #define MIXER_ADDR (sbc_base + 0x400)
23 #define MIXER_DATA (sbc_base + 0x500)
24 #define OPL3_LEFT (sbc_base + 0x000)
25 #define OPL3_RIGHT (sbc_base + 0x200)
26 #define OPL3_BOTH (sbc_base + 0x800)
28 #define DSP_RESET (sbc_base + 0x6)
29 #define DSP_READ (sbc_base + 0xA)
30 #define DSP_WRITE (sbc_base + 0xC)
31 #define DSP_COMMAND (sbc_base + 0xC)
32 #define DSP_STATUS (sbc_base + 0xC)
33 #define DSP_DATA_AVAIL (sbc_base + 0xE)
34 #define DSP_DATA_AVL16 (sbc_base + 0xF)
35 #define MIXER_ADDR (sbc_base + 0x4)
36 #define MIXER_DATA (sbc_base + 0x5)
37 #define OPL3_LEFT (sbc_base + 0x0)
38 #define OPL3_RIGHT (sbc_base + 0x2)
39 #define OPL3_BOTH (sbc_base + 0x8)
43 * DSP Commands. There are many, and in many cases they are used explicitly
46 #define DSP_CMD_SPKON 0xD1
47 #define DSP_CMD_SPKOFF 0xD3
48 #define DSP_CMD_DMAON 0xD0 /* ??? the comment says Halt DMA */
49 #define DSP_CMD_DMAOFF 0xD4 /* ??? comment says continue dma */
51 #define DSP_CMD_DMAHALT 0xD0
52 #define DSP_CMD_TCONST 0x40 /* set time constant */
53 #define DSP_CMD_HSSIZE 0x48 /* high speed dma count */
54 #define DSP_CMD_HSDAC 0x91 /* high speed dac */
55 #define DSP_CMD_HSADC 0x99 /* high speed adc */
56 #define DSP_CMD_DAC8 0x14 /* 8-bit dac (dma count) */
57 #define DSP_CMD_ADC8 0x24 /* 8-bit adc (dma count) */
59 #define DSP_CMD_GETVER 0xE1
60 #define DSP_CMD_GETID 0xE7 /* return id bytes */
62 #if 0 /*** unknown ***/
67 #define IMODE_OUTPUT PCM_ENABLE_OUTPUT
68 #define IMODE_INPUT PCM_ENABLE_INPUT