4 * $FreeBSD: src/sys/i386/isa/sound/sbcard.h,v 1.4 1999/12/27 04:37:19 tanimura Exp $
5 * $DragonFly: src/sys/i386/isa/sound/Attic/sbcard.h,v 1.3 2005/02/27 10:57:24 swildner Exp $
9 extern int sbc_major, sbc_minor ;
11 * sound blaster registers
14 #define DSP_RESET (sbc_base + 0x6)
15 #define DSP_READ (sbc_base + 0xA)
16 #define DSP_WRITE (sbc_base + 0xC)
17 #define DSP_COMMAND (sbc_base + 0xC)
18 #define DSP_STATUS (sbc_base + 0xC)
19 #define DSP_DATA_AVAIL (sbc_base + 0xE)
20 #define DSP_DATA_AVL16 (sbc_base + 0xF)
21 #define MIXER_ADDR (sbc_base + 0x4)
22 #define MIXER_DATA (sbc_base + 0x5)
23 #define OPL3_LEFT (sbc_base + 0x0)
24 #define OPL3_RIGHT (sbc_base + 0x2)
25 #define OPL3_BOTH (sbc_base + 0x8)
28 * DSP Commands. There are many, and in many cases they are used explicitly
31 #define DSP_CMD_SPKON 0xD1
32 #define DSP_CMD_SPKOFF 0xD3
33 #define DSP_CMD_DMAON 0xD0 /* ??? the comment says Halt DMA */
34 #define DSP_CMD_DMAOFF 0xD4 /* ??? comment says continue dma */
36 #define DSP_CMD_DMAHALT 0xD0
37 #define DSP_CMD_TCONST 0x40 /* set time constant */
38 #define DSP_CMD_HSSIZE 0x48 /* high speed dma count */
39 #define DSP_CMD_HSDAC 0x91 /* high speed dac */
40 #define DSP_CMD_HSADC 0x99 /* high speed adc */
41 #define DSP_CMD_DAC8 0x14 /* 8-bit dac (dma count) */
42 #define DSP_CMD_ADC8 0x24 /* 8-bit adc (dma count) */
44 #define DSP_CMD_GETVER 0xE1
45 #define DSP_CMD_GETID 0xE7 /* return id bytes */
47 #if 0 /*** unknown ***/
52 #define IMODE_OUTPUT PCM_ENABLE_OUTPUT
53 #define IMODE_INPUT PCM_ENABLE_INPUT