162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0-or-later */
262306a36Sopenharmony_ci/*********************************************************************
362306a36Sopenharmony_ci *
462306a36Sopenharmony_ci * msnd_classic.h
562306a36Sopenharmony_ci *
662306a36Sopenharmony_ci * Turtle Beach MultiSound Sound Card Driver for Linux
762306a36Sopenharmony_ci *
862306a36Sopenharmony_ci * Some parts of this header file were derived from the Turtle Beach
962306a36Sopenharmony_ci * MultiSound Driver Development Kit.
1062306a36Sopenharmony_ci *
1162306a36Sopenharmony_ci * Copyright (C) 1998 Andrew Veliath
1262306a36Sopenharmony_ci * Copyright (C) 1993 Turtle Beach Systems, Inc.
1362306a36Sopenharmony_ci *
1462306a36Sopenharmony_ci ********************************************************************/
1562306a36Sopenharmony_ci#ifndef __MSND_CLASSIC_H
1662306a36Sopenharmony_ci#define __MSND_CLASSIC_H
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci#define DSP_NUMIO				0x10
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci#define	HP_MEMM					0x08
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ci#define	HP_BITM					0x0E
2362306a36Sopenharmony_ci#define	HP_WAIT					0x0D
2462306a36Sopenharmony_ci#define	HP_DSPR					0x0A
2562306a36Sopenharmony_ci#define	HP_PROR					0x0B
2662306a36Sopenharmony_ci#define	HP_BLKS					0x0C
2762306a36Sopenharmony_ci
2862306a36Sopenharmony_ci#define	HPPRORESET_OFF				0
2962306a36Sopenharmony_ci#define HPPRORESET_ON				1
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci#define HPDSPRESET_OFF				0
3262306a36Sopenharmony_ci#define HPDSPRESET_ON				1
3362306a36Sopenharmony_ci
3462306a36Sopenharmony_ci#define HPBLKSEL_0				0
3562306a36Sopenharmony_ci#define HPBLKSEL_1				1
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ci#define HPWAITSTATE_0				0
3862306a36Sopenharmony_ci#define HPWAITSTATE_1				1
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ci#define HPBITMODE_16				0
4162306a36Sopenharmony_ci#define HPBITMODE_8				1
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci#define	HIDSP_INT_PLAY_UNDER			0x00
4462306a36Sopenharmony_ci#define	HIDSP_INT_RECORD_OVER			0x01
4562306a36Sopenharmony_ci#define	HIDSP_INPUT_CLIPPING			0x02
4662306a36Sopenharmony_ci#define	HIDSP_MIDI_IN_OVER			0x10
4762306a36Sopenharmony_ci#define	HIDSP_MIDI_OVERRUN_ERR  0x13
4862306a36Sopenharmony_ci
4962306a36Sopenharmony_ci#define TIME_PRO_RESET_DONE			0x028A
5062306a36Sopenharmony_ci#define TIME_PRO_SYSEX				0x0040
5162306a36Sopenharmony_ci#define TIME_PRO_RESET				0x0032
5262306a36Sopenharmony_ci
5362306a36Sopenharmony_ci#define DAR_BUFF_SIZE				0x2000
5462306a36Sopenharmony_ci
5562306a36Sopenharmony_ci#define MIDQ_BUFF_SIZE				0x200
5662306a36Sopenharmony_ci#define DSPQ_BUFF_SIZE				0x40
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ci#define DSPQ_DATA_BUFF				0x7260
5962306a36Sopenharmony_ci
6062306a36Sopenharmony_ci#define MOP_SYNTH				0x10
6162306a36Sopenharmony_ci#define MOP_EXTOUT				0x32
6262306a36Sopenharmony_ci#define MOP_EXTTHRU				0x02
6362306a36Sopenharmony_ci#define MOP_OUTMASK				0x01
6462306a36Sopenharmony_ci
6562306a36Sopenharmony_ci#define MIP_EXTIN				0x01
6662306a36Sopenharmony_ci#define MIP_SYNTH				0x00
6762306a36Sopenharmony_ci#define MIP_INMASK				0x32
6862306a36Sopenharmony_ci
6962306a36Sopenharmony_ci/* Classic SMA Common Data */
7062306a36Sopenharmony_ci#define SMA_wCurrPlayBytes			0x0000
7162306a36Sopenharmony_ci#define SMA_wCurrRecordBytes			0x0002
7262306a36Sopenharmony_ci#define SMA_wCurrPlayVolLeft			0x0004
7362306a36Sopenharmony_ci#define SMA_wCurrPlayVolRight			0x0006
7462306a36Sopenharmony_ci#define SMA_wCurrInVolLeft			0x0008
7562306a36Sopenharmony_ci#define SMA_wCurrInVolRight			0x000a
7662306a36Sopenharmony_ci#define SMA_wUser_3				0x000c
7762306a36Sopenharmony_ci#define SMA_wUser_4				0x000e
7862306a36Sopenharmony_ci#define SMA_dwUser_5				0x0010
7962306a36Sopenharmony_ci#define SMA_dwUser_6				0x0014
8062306a36Sopenharmony_ci#define SMA_wUser_7				0x0018
8162306a36Sopenharmony_ci#define SMA_wReserved_A				0x001a
8262306a36Sopenharmony_ci#define SMA_wReserved_B				0x001c
8362306a36Sopenharmony_ci#define SMA_wReserved_C				0x001e
8462306a36Sopenharmony_ci#define SMA_wReserved_D				0x0020
8562306a36Sopenharmony_ci#define SMA_wReserved_E				0x0022
8662306a36Sopenharmony_ci#define SMA_wReserved_F				0x0024
8762306a36Sopenharmony_ci#define SMA_wReserved_G				0x0026
8862306a36Sopenharmony_ci#define SMA_wReserved_H				0x0028
8962306a36Sopenharmony_ci#define SMA_wCurrDSPStatusFlags			0x002a
9062306a36Sopenharmony_ci#define SMA_wCurrHostStatusFlags		0x002c
9162306a36Sopenharmony_ci#define SMA_wCurrInputTagBits			0x002e
9262306a36Sopenharmony_ci#define SMA_wCurrLeftPeak			0x0030
9362306a36Sopenharmony_ci#define SMA_wCurrRightPeak			0x0032
9462306a36Sopenharmony_ci#define SMA_wExtDSPbits				0x0034
9562306a36Sopenharmony_ci#define SMA_bExtHostbits			0x0036
9662306a36Sopenharmony_ci#define SMA_bBoardLevel				0x0037
9762306a36Sopenharmony_ci#define SMA_bInPotPosRight			0x0038
9862306a36Sopenharmony_ci#define SMA_bInPotPosLeft			0x0039
9962306a36Sopenharmony_ci#define SMA_bAuxPotPosRight			0x003a
10062306a36Sopenharmony_ci#define SMA_bAuxPotPosLeft			0x003b
10162306a36Sopenharmony_ci#define SMA_wCurrMastVolLeft			0x003c
10262306a36Sopenharmony_ci#define SMA_wCurrMastVolRight			0x003e
10362306a36Sopenharmony_ci#define SMA_bUser_12				0x0040
10462306a36Sopenharmony_ci#define SMA_bUser_13				0x0041
10562306a36Sopenharmony_ci#define SMA_wUser_14				0x0042
10662306a36Sopenharmony_ci#define SMA_wUser_15				0x0044
10762306a36Sopenharmony_ci#define SMA_wCalFreqAtoD			0x0046
10862306a36Sopenharmony_ci#define SMA_wUser_16				0x0048
10962306a36Sopenharmony_ci#define SMA_wUser_17				0x004a
11062306a36Sopenharmony_ci#define SMA__size				0x004c
11162306a36Sopenharmony_ci
11262306a36Sopenharmony_ci#define INITCODEFILE		"turtlebeach/msndinit.bin"
11362306a36Sopenharmony_ci#define PERMCODEFILE		"turtlebeach/msndperm.bin"
11462306a36Sopenharmony_ci#define LONGNAME		"MultiSound (Classic/Monterey/Tahiti)"
11562306a36Sopenharmony_ci
11662306a36Sopenharmony_ci#endif /* __MSND_CLASSIC_H */
117