Lines Matching +full:op +full:- +full:mode
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
6 * Definitions of the OPL-3 registers.
9 * Hannu Savolainen 1993-1996
11 * The OPL-3 mode is switched on by writing 0x01, to the offset 5
15 * a bit mask defining which voices are used as 4 OP voices.
17 * The percussive mode is implemented in the left side only.
21 * A 4 OP voice can be created by setting the corresponding
25 * first voice on the right side to the 4 OP mode. The fourth
28 * If a voice is set to the 2 OP mode, it works like 2 OP modes
31 * even be left unconnected. This works with 4 OP voices also.
34 * register of the voice (0xC0-0xC8). In 4 OP voices these bits are
72 #define OPL3_OPL3_ENABLE 0x01 /* OPL3 mode */
73 #define OPL3_OPL4_ENABLE 0x02 /* OPL4 mode */
76 #define OPL3_COMPOSITE_SINE_WAVE_MODE 0x80 /* Don't use with OPL-3? */
107 #define OPL3_TOTAL_LEVEL_MASK 0x3f /* Strength (volume) of OP */
133 * F-Number low bits (0xA0 to 0xA8).
138 * F-number high bits / Key on / Block (octave) (0xB0 to 0xB8)
148 * These registers have two new bits when the OPL-3 mode
150 * to the stereo channels. For 4 OP voices this bit is
154 * For 4 OP voices the connection bit is used in the
158 #define OPL3_FEEDBACK_MASK 0x0e /* Valid just for 1st OP of a voice */
161 * In the 4 OP mode there is four possible configurations how the
162 * operators can be connected together (in 2 OP modes there is just
163 * AM or FM). The 4 OP connection mode is defined by the rightmost
164 * bit of the FEEDBACK_CONNECTION (0xC0-0xC8) on the both halves.
166 * First half Second half Mode
168 * +---+
170 * 0 0 >+-1-+--2--3--4-->
174 * +---+
176 * 0 1 >+-1-+--2-+
177 * |->
178 * >--3----4-+
180 * +---+
182 * 1 0 >+-1-+-----+
183 * |->
184 * >--2--3--4-+
186 * +---+
188 * 1 1 >+-1-+--+
190 * >--2--3-+->
192 * >--4----+
194 #define OPL3_STEREO_BITS 0x30 /* OPL-3 only */
236 struct fm_operator op[4]; member
268 #define SNDRV_OPL3_ST_ON_2OP 1 /* 2op voice is allocated */
269 #define SNDRV_OPL3_ST_ON_4OP 2 /* 4op voice is allocated */
270 #define SNDRV_OPL3_ST_NOT_AVAIL -1 /* voice is not available */
275 unsigned long note_off; /* note-off time */
276 int note_off_check; /* check note-off time */
303 unsigned char fm_mode; /* OPL mode, see SNDRV_DM_FM_MODE_XXX */
304 unsigned char rhythm; /* percussion mode flag */
307 #define SNDRV_OPL3_MODE_SYNTH 0 /* OSS - voices allocated by application */
308 #define SNDRV_OPL3_MODE_SEQ 1 /* ALSA - driver handles voice allocation */
309 int synth_mode; /* synth mode */
331 struct timer_list tlist; /* timer for note-offs and effects */