linux/sound/oss/msnd_classic.h
<<
>>
Prefs
   1/*********************************************************************
   2 *
   3 * msnd_classic.h
   4 *
   5 * Turtle Beach MultiSound Sound Card Driver for Linux
   6 *
   7 * Some parts of this header file were derived from the Turtle Beach
   8 * MultiSound Driver Development Kit.
   9 *
  10 * Copyright (C) 1998 Andrew Veliath
  11 * Copyright (C) 1993 Turtle Beach Systems, Inc.
  12 *
  13 * This program is free software; you can redistribute it and/or modify
  14 * it under the terms of the GNU General Public License as published by
  15 * the Free Software Foundation; either version 2 of the License, or
  16 * (at your option) any later version.
  17 *
  18 * This program is distributed in the hope that it will be useful,
  19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
  20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  21 * GNU General Public License for more details.
  22 *
  23 * You should have received a copy of the GNU General Public License
  24 * along with this program; if not, write to the Free Software
  25 * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  26 * 
  27 ********************************************************************/
  28#ifndef __MSND_CLASSIC_H
  29#define __MSND_CLASSIC_H
  30
  31
  32#define DSP_NUMIO                               0x10
  33
  34#define HP_MEMM                                 0x08
  35
  36#define HP_BITM                                 0x0E
  37#define HP_WAIT                                 0x0D
  38#define HP_DSPR                                 0x0A
  39#define HP_PROR                                 0x0B
  40#define HP_BLKS                                 0x0C
  41
  42#define HPPRORESET_OFF                          0
  43#define HPPRORESET_ON                           1
  44
  45#define HPDSPRESET_OFF                          0
  46#define HPDSPRESET_ON                           1
  47
  48#define HPBLKSEL_0                              0
  49#define HPBLKSEL_1                              1
  50
  51#define HPWAITSTATE_0                           0
  52#define HPWAITSTATE_1                           1
  53
  54#define HPBITMODE_16                            0
  55#define HPBITMODE_8                             1
  56
  57#define HIDSP_INT_PLAY_UNDER                    0x00
  58#define HIDSP_INT_RECORD_OVER                   0x01
  59#define HIDSP_INPUT_CLIPPING                    0x02
  60#define HIDSP_MIDI_IN_OVER                      0x10
  61#define HIDSP_MIDI_OVERRUN_ERR  0x13
  62
  63#define HDEXAR_CLEAR_PEAKS                      1
  64#define HDEXAR_IN_SET_POTS                      2
  65#define HDEXAR_AUX_SET_POTS                     3
  66#define HDEXAR_CAL_A_TO_D                       4
  67#define HDEXAR_RD_EXT_DSP_BITS                  5
  68
  69#define TIME_PRO_RESET_DONE                     0x028A
  70#define TIME_PRO_SYSEX                          0x0040
  71#define TIME_PRO_RESET                          0x0032
  72
  73#define AGND                                    0x01
  74#define SIGNAL                                  0x02
  75
  76#define EXT_DSP_BIT_DCAL                        0x0001
  77#define EXT_DSP_BIT_MIDI_CON                    0x0002
  78
  79#define BUFFSIZE                                0x8000
  80#define HOSTQ_SIZE                              0x40
  81
  82#define SRAM_CNTL_START                         0x7F00
  83#define SMA_STRUCT_START                        0x7F40
  84
  85#define DAP_BUFF_SIZE                           0x2400
  86#define DAR_BUFF_SIZE                           0x2000
  87
  88#define DAPQ_STRUCT_SIZE                        0x10
  89#define DARQ_STRUCT_SIZE                        0x10
  90#define DAPQ_BUFF_SIZE                          (3 * 0x10)
  91#define DARQ_BUFF_SIZE                          (3 * 0x10)
  92#define MODQ_BUFF_SIZE                          0x400
  93#define MIDQ_BUFF_SIZE                          0x200
  94#define DSPQ_BUFF_SIZE                          0x40
  95
  96#define DAPQ_DATA_BUFF                          0x6C00
  97#define DARQ_DATA_BUFF                          0x6C30
  98#define MODQ_DATA_BUFF                          0x6C60
  99#define MIDQ_DATA_BUFF                          0x7060
 100#define DSPQ_DATA_BUFF                          0x7260
 101
 102#define DAPQ_OFFSET                             SRAM_CNTL_START
 103#define DARQ_OFFSET                             (SRAM_CNTL_START + 0x08)
 104#define MODQ_OFFSET                             (SRAM_CNTL_START + 0x10)
 105#define MIDQ_OFFSET                             (SRAM_CNTL_START + 0x18)
 106#define DSPQ_OFFSET                             (SRAM_CNTL_START + 0x20)
 107
 108#define MOP_SYNTH                               0x10
 109#define MOP_EXTOUT                              0x32
 110#define MOP_EXTTHRU                             0x02
 111#define MOP_OUTMASK                             0x01
 112
 113#define MIP_EXTIN                               0x01
 114#define MIP_SYNTH                               0x00
 115#define MIP_INMASK                              0x32
 116
 117/* Classic SMA Common Data */
 118#define SMA_wCurrPlayBytes                      0x0000
 119#define SMA_wCurrRecordBytes                    0x0002
 120#define SMA_wCurrPlayVolLeft                    0x0004
 121#define SMA_wCurrPlayVolRight                   0x0006
 122#define SMA_wCurrInVolLeft                      0x0008
 123#define SMA_wCurrInVolRight                     0x000a
 124#define SMA_wUser_3                             0x000c
 125#define SMA_wUser_4                             0x000e
 126#define SMA_dwUser_5                            0x0010
 127#define SMA_dwUser_6                            0x0014
 128#define SMA_wUser_7                             0x0018
 129#define SMA_wReserved_A                         0x001a
 130#define SMA_wReserved_B                         0x001c
 131#define SMA_wReserved_C                         0x001e
 132#define SMA_wReserved_D                         0x0020
 133#define SMA_wReserved_E                         0x0022
 134#define SMA_wReserved_F                         0x0024
 135#define SMA_wReserved_G                         0x0026
 136#define SMA_wReserved_H                         0x0028
 137#define SMA_wCurrDSPStatusFlags                 0x002a
 138#define SMA_wCurrHostStatusFlags                0x002c
 139#define SMA_wCurrInputTagBits                   0x002e
 140#define SMA_wCurrLeftPeak                       0x0030
 141#define SMA_wCurrRightPeak                      0x0032
 142#define SMA_wExtDSPbits                         0x0034
 143#define SMA_bExtHostbits                        0x0036
 144#define SMA_bBoardLevel                         0x0037
 145#define SMA_bInPotPosRight                      0x0038
 146#define SMA_bInPotPosLeft                       0x0039
 147#define SMA_bAuxPotPosRight                     0x003a
 148#define SMA_bAuxPotPosLeft                      0x003b
 149#define SMA_wCurrMastVolLeft                    0x003c
 150#define SMA_wCurrMastVolRight                   0x003e
 151#define SMA_bUser_12                            0x0040
 152#define SMA_bUser_13                            0x0041
 153#define SMA_wUser_14                            0x0042
 154#define SMA_wUser_15                            0x0044
 155#define SMA_wCalFreqAtoD                        0x0046
 156#define SMA_wUser_16                            0x0048
 157#define SMA_wUser_17                            0x004a
 158#define SMA__size                               0x004c
 159
 160#ifdef HAVE_DSPCODEH
 161#  include "msndperm.c"
 162#  include "msndinit.c"
 163#  define PERMCODE              msndperm
 164#  define INITCODE              msndinit
 165#  define PERMCODESIZE          sizeof(msndperm)
 166#  define INITCODESIZE          sizeof(msndinit)
 167#else
 168#  ifndef CONFIG_MSNDCLAS_INIT_FILE
 169#    define CONFIG_MSNDCLAS_INIT_FILE                           \
 170                                "/etc/sound/msndinit.bin"
 171#  endif
 172#  ifndef CONFIG_MSNDCLAS_PERM_FILE
 173#    define CONFIG_MSNDCLAS_PERM_FILE                           \
 174                                "/etc/sound/msndperm.bin"
 175#  endif
 176#  define PERMCODEFILE          CONFIG_MSNDCLAS_PERM_FILE
 177#  define INITCODEFILE          CONFIG_MSNDCLAS_INIT_FILE
 178#  define PERMCODE              dspini
 179#  define INITCODE              permini
 180#  define PERMCODESIZE          sizeof_dspini
 181#  define INITCODESIZE          sizeof_permini
 182#endif
 183#define LONGNAME                "MultiSound (Classic/Monterey/Tahiti)"
 184
 185#endif /* __MSND_CLASSIC_H */
 186