2005-04-17 02:20:36 +04:00
/*
* Information about the Yamaha YRW801 wavetable ROM chip
*
* Copyright ( c ) 2003 by Clemens Ladisch < clemens @ ladisch . de >
* All rights reserved .
*
* Redistribution and use in source and binary forms , with or without
* modification , are permitted provided that the following conditions
* are met :
* 1. Redistributions of source code must retain the above copyright
* notice , this list of conditions , and the following disclaimer ,
* without modification .
* 2. The name of the author may not be used to endorse or promote products
* derived from this software without specific prior written permission .
*
* Alternatively , this software may be distributed and / or modified under the
* terms of the GNU General Public License as published by the Free Software
* Foundation ; either version 2 of the License , or ( at your option ) any later
* version .
*
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ` ` AS IS ' ' AND
* ANY EXPRESS OR IMPLIED WARRANTIES , INCLUDING , BUT NOT LIMITED TO , THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED . IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT , INDIRECT , INCIDENTAL , SPECIAL , EXEMPLARY , OR CONSEQUENTIAL
* DAMAGES ( INCLUDING , BUT NOT LIMITED TO , PROCUREMENT OF SUBSTITUTE GOODS
* OR SERVICES ; LOSS OF USE , DATA , OR PROFITS ; OR BUSINESS INTERRUPTION )
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY , WHETHER IN CONTRACT , STRICT
* LIABILITY , OR TORT ( INCLUDING NEGLIGENCE OR OTHERWISE ) ARISING IN ANY WAY
* OUT OF THE USE OF THIS SOFTWARE , EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE .
*/
# include "opl4_local.h"
2005-11-17 16:13:47 +03:00
int snd_yrw801_detect ( struct snd_opl4 * opl4 )
2005-04-17 02:20:36 +04:00
{
char buf [ 15 ] ;
snd_opl4_read_memory ( opl4 , buf , 0x001200 , 15 ) ;
if ( memcmp ( buf , " CopyrightYAMAHA " , 15 ) )
return - ENODEV ;
snd_opl4_read_memory ( opl4 , buf , 0x1ffffe , 2 ) ;
if ( buf [ 0 ] ! = 0x01 )
return - ENODEV ;
snd_printdd ( " YRW801 ROM version %02x.%02x \n " , buf [ 0 ] , buf [ 1 ] ) ;
return 0 ;
}
/*
* The instrument definitions are stored statically because , in practice , the
* OPL4 is always coupled with a YRW801 . Dynamic instrument loading would be
* required if downloading sample data to external SRAM was actually supported
* by this driver .
*/
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_00 [ ] = { /* Acoustic Grand Piano */
2005-04-17 02:20:36 +04:00
{ 0x14 , 0x27 , { 0x12c , 7474 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x20 , 0xf2 , 0x13 , 0x08 , 0x0 } } ,
{ 0x28 , 0x2d , { 0x12d , 6816 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x20 , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x2e , 0x33 , { 0x12e , 5899 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x20 , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x34 , 0x39 , { 0x12f , 5290 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x20 , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x3a , 0x3f , { 0x130 , 4260 , 100 , 0 , 0 , 0x0a , 0xc8 , 0x20 , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x40 , 0x45 , { 0x131 , 3625 , 100 , 0 , 0 , 0x0a , 0xc8 , 0x20 , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x46 , 0x4b , { 0x132 , 3116 , 100 , 0 , 0 , 0x04 , 0xc8 , 0x20 , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x4c , 0x52 , { 0x133 , 2081 , 100 , 0 , 0 , 0x03 , 0xc8 , 0x20 , 0xf2 , 0x14 , 0x18 , 0x0 } } ,
{ 0x53 , 0x58 , { 0x134 , 1444 , 100 , 0 , 0 , 0x07 , 0xc8 , 0x20 , 0xf3 , 0x14 , 0x18 , 0x0 } } ,
{ 0x59 , 0x6d , { 0x135 , 1915 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x20 , 0xf4 , 0x15 , 0x08 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_01 [ ] = { /* Bright Acoustic Piano */
2005-04-17 02:20:36 +04:00
{ 0x14 , 0x2d , { 0x12c , 7474 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x20 , 0xf2 , 0x13 , 0x08 , 0x0 } } ,
{ 0x2e , 0x33 , { 0x12d , 6816 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x20 , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x34 , 0x39 , { 0x12e , 5899 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x20 , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x3a , 0x3f , { 0x12f , 5290 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x20 , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x40 , 0x45 , { 0x130 , 4260 , 100 , 0 , 0 , 0x0a , 0xc8 , 0x20 , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x46 , 0x4b , { 0x131 , 3625 , 100 , 0 , 0 , 0x0a , 0xc8 , 0x20 , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x4c , 0x52 , { 0x132 , 3116 , 100 , 0 , 0 , 0x04 , 0xc8 , 0x20 , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x53 , 0x58 , { 0x133 , 2081 , 100 , 0 , 0 , 0x07 , 0xc8 , 0x20 , 0xf2 , 0x14 , 0x18 , 0x0 } } ,
{ 0x59 , 0x5e , { 0x134 , 1444 , 100 , 0 , 0 , 0x0a , 0xc8 , 0x20 , 0xf3 , 0x14 , 0x18 , 0x0 } } ,
{ 0x5f , 0x6d , { 0x135 , 1915 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x20 , 0xf4 , 0x15 , 0x08 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_02 [ ] = { /* Electric Grand Piano */
2005-04-17 02:20:36 +04:00
{ 0x14 , 0x2d , { 0x12c , 7476 , 100 , 1 , 0 , 0x00 , 0xae , 0x20 , 0xf2 , 0x13 , 0x07 , 0x0 } } ,
{ 0x2e , 0x33 , { 0x12d , 6818 , 100 , 1 , 0 , 0x00 , 0xae , 0x20 , 0xf2 , 0x14 , 0x07 , 0x0 } } ,
{ 0x34 , 0x39 , { 0x12e , 5901 , 100 , 1 , 0 , 0x00 , 0xae , 0x20 , 0xf2 , 0x14 , 0x07 , 0x0 } } ,
{ 0x3a , 0x3f , { 0x12f , 5292 , 100 , 1 , 0 , 0x00 , 0xae , 0x20 , 0xf2 , 0x14 , 0x07 , 0x0 } } ,
{ 0x40 , 0x45 , { 0x130 , 4262 , 100 , 1 , 0 , 0x00 , 0xae , 0x20 , 0xf2 , 0x14 , 0x07 , 0x0 } } ,
{ 0x46 , 0x4b , { 0x131 , 3627 , 100 , 1 , 0 , 0x00 , 0xae , 0x20 , 0xf2 , 0x14 , 0x07 , 0x0 } } ,
{ 0x4c , 0x52 , { 0x132 , 3118 , 100 , 1 , 0 , 0x00 , 0xae , 0x20 , 0xf2 , 0x14 , 0x07 , 0x0 } } ,
{ 0x53 , 0x58 , { 0x133 , 2083 , 100 , 1 , 0 , 0x00 , 0xae , 0x20 , 0xf2 , 0x14 , 0x17 , 0x0 } } ,
{ 0x59 , 0x5e , { 0x134 , 1446 , 100 , 1 , 0 , 0x00 , 0xae , 0x20 , 0xf3 , 0x14 , 0x17 , 0x0 } } ,
{ 0x5f , 0x6d , { 0x135 , 1917 , 100 , 1 , 0 , 0x00 , 0xae , 0x20 , 0xf4 , 0x15 , 0x07 , 0x0 } } ,
{ 0x00 , 0x7f , { 0x06c , 6375 , 100 , - 1 , 0 , 0x00 , 0xc2 , 0x28 , 0xf4 , 0x23 , 0x18 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_03 [ ] = { /* Honky-Tonk Piano */
2005-04-17 02:20:36 +04:00
{ 0x14 , 0x27 , { 0x12c , 7474 , 100 , 0 , 0 , 0x00 , 0xb4 , 0x20 , 0xf2 , 0x13 , 0x08 , 0x0 } } ,
{ 0x28 , 0x2d , { 0x12d , 6816 , 100 , 0 , 0 , 0x00 , 0xb4 , 0x20 , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x2e , 0x33 , { 0x12e , 5899 , 100 , 0 , 0 , 0x00 , 0xb4 , 0x20 , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x34 , 0x39 , { 0x12f , 5290 , 100 , 0 , 0 , 0x00 , 0xb4 , 0x20 , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x3a , 0x3f , { 0x130 , 4260 , 100 , 0 , 0 , 0x0a , 0xb4 , 0x20 , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x40 , 0x45 , { 0x131 , 3625 , 100 , 0 , 0 , 0x0a , 0xb4 , 0x20 , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x46 , 0x4b , { 0x132 , 3116 , 100 , 0 , 0 , 0x04 , 0xb4 , 0x20 , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x4c , 0x52 , { 0x133 , 2081 , 100 , 0 , 0 , 0x03 , 0xb4 , 0x20 , 0xf2 , 0x14 , 0x18 , 0x0 } } ,
{ 0x53 , 0x58 , { 0x134 , 1444 , 100 , 0 , 0 , 0x07 , 0xb4 , 0x20 , 0xf3 , 0x14 , 0x18 , 0x0 } } ,
{ 0x59 , 0x6d , { 0x135 , 1915 , 100 , 0 , 0 , 0x00 , 0xb4 , 0x20 , 0xf4 , 0x15 , 0x08 , 0x0 } } ,
{ 0x14 , 0x27 , { 0x12c , 7486 , 100 , 0 , 0 , 0x00 , 0xb4 , 0x20 , 0xf2 , 0x13 , 0x08 , 0x0 } } ,
{ 0x28 , 0x2d , { 0x12d , 6803 , 100 , 0 , 0 , 0x00 , 0xb4 , 0x20 , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x2e , 0x33 , { 0x12e , 5912 , 100 , 0 , 0 , 0x00 , 0xb4 , 0x20 , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x34 , 0x39 , { 0x12f , 5275 , 100 , 0 , 0 , 0x00 , 0xb4 , 0x20 , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x3a , 0x3f , { 0x130 , 4274 , 100 , 0 , 0 , 0x0a , 0xb4 , 0x20 , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x40 , 0x45 , { 0x131 , 3611 , 100 , 0 , 0 , 0x0a , 0xb4 , 0x20 , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x46 , 0x4b , { 0x132 , 3129 , 100 , 0 , 0 , 0x04 , 0xb4 , 0x20 , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x4c , 0x52 , { 0x133 , 2074 , 100 , 0 , 0 , 0x07 , 0xb4 , 0x20 , 0xf2 , 0x14 , 0x18 , 0x0 } } ,
{ 0x53 , 0x58 , { 0x134 , 1457 , 100 , 0 , 0 , 0x01 , 0xb4 , 0x20 , 0xf3 , 0x14 , 0x18 , 0x0 } } ,
{ 0x59 , 0x6d , { 0x135 , 1903 , 100 , 0 , 0 , 0x00 , 0xb4 , 0x20 , 0xf4 , 0x15 , 0x08 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_04 [ ] = { /* Electric Piano 1 */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x00b , 6570 , 100 , 0 , 0 , 0x00 , 0x28 , 0x38 , 0xf0 , 0x00 , 0x0c , 0x0 } } ,
{ 0x00 , 0x7f , { 0x06c , 6375 , 100 , 0 , 2 , 0x00 , 0xb0 , 0x22 , 0xf4 , 0x23 , 0x19 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_05 [ ] = { /* Electric Piano 2 */
2005-04-17 02:20:36 +04:00
{ 0x14 , 0x27 , { 0x12c , 7476 , 100 , 0 , 3 , 0x00 , 0xa2 , 0x1b , 0xf2 , 0x13 , 0x08 , 0x0 } } ,
{ 0x28 , 0x2d , { 0x12d , 6818 , 100 , 0 , 3 , 0x00 , 0xa2 , 0x1b , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x2e , 0x33 , { 0x12e , 5901 , 100 , 0 , 3 , 0x00 , 0xa2 , 0x1b , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x34 , 0x39 , { 0x12f , 5292 , 100 , 0 , 3 , 0x00 , 0xa2 , 0x1b , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x3a , 0x3f , { 0x130 , 4262 , 100 , 0 , 3 , 0x0a , 0xa2 , 0x1b , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x40 , 0x45 , { 0x131 , 3627 , 100 , 0 , 3 , 0x0a , 0xa2 , 0x1b , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x46 , 0x4b , { 0x132 , 3118 , 100 , 0 , 3 , 0x04 , 0xa2 , 0x1b , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x4c , 0x52 , { 0x133 , 2083 , 100 , 0 , 3 , 0x03 , 0xa2 , 0x1b , 0xf2 , 0x14 , 0x18 , 0x0 } } ,
{ 0x53 , 0x58 , { 0x134 , 1446 , 100 , 0 , 3 , 0x07 , 0xa2 , 0x1b , 0xf3 , 0x14 , 0x18 , 0x0 } } ,
{ 0x59 , 0x6d , { 0x135 , 1917 , 100 , 0 , 3 , 0x00 , 0xa2 , 0x1b , 0xf4 , 0x15 , 0x08 , 0x0 } } ,
{ 0x14 , 0x2d , { 0x12c , 7472 , 100 , 0 , 0 , 0x00 , 0xa2 , 0x18 , 0xf2 , 0x13 , 0x08 , 0x0 } } ,
{ 0x2e , 0x33 , { 0x12d , 6814 , 100 , 0 , 0 , 0x00 , 0xa2 , 0x18 , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x34 , 0x39 , { 0x12e , 5897 , 100 , 0 , 0 , 0x00 , 0xa2 , 0x18 , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x3a , 0x3f , { 0x12f , 5288 , 100 , 0 , 0 , 0x00 , 0xa2 , 0x18 , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x40 , 0x45 , { 0x130 , 4258 , 100 , 0 , 0 , 0x0a , 0xa2 , 0x18 , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x46 , 0x4b , { 0x131 , 3623 , 100 , 0 , 0 , 0x0a , 0xa2 , 0x18 , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x4c , 0x52 , { 0x132 , 3114 , 100 , 0 , 0 , 0x04 , 0xa2 , 0x18 , 0xf2 , 0x14 , 0x08 , 0x0 } } ,
{ 0x53 , 0x58 , { 0x133 , 2079 , 100 , 0 , 0 , 0x07 , 0xa2 , 0x18 , 0xf2 , 0x14 , 0x18 , 0x0 } } ,
{ 0x59 , 0x5e , { 0x134 , 1442 , 100 , 0 , 0 , 0x0a , 0xa2 , 0x18 , 0xf3 , 0x14 , 0x18 , 0x0 } } ,
{ 0x5f , 0x6d , { 0x135 , 1913 , 100 , 0 , 0 , 0x00 , 0xa2 , 0x18 , 0xf4 , 0x15 , 0x08 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_06 [ ] = { /* Harpsichord */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x39 , { 0x080 , 5158 , 100 , 0 , 0 , 0x00 , 0xb2 , 0x20 , 0xf5 , 0x24 , 0x19 , 0x0 } } ,
{ 0x3a , 0x3f , { 0x081 , 4408 , 100 , 0 , 0 , 0x00 , 0xb2 , 0x20 , 0xf5 , 0x25 , 0x09 , 0x0 } } ,
{ 0x40 , 0x45 , { 0x082 , 3622 , 100 , 0 , 0 , 0x00 , 0xb2 , 0x20 , 0xf5 , 0x25 , 0x09 , 0x0 } } ,
{ 0x46 , 0x4d , { 0x083 , 2843 , 100 , 0 , 0 , 0x00 , 0xb2 , 0x20 , 0xf5 , 0x25 , 0x19 , 0x0 } } ,
{ 0x4e , 0x6c , { 0x084 , 1307 , 100 , 0 , 0 , 0x00 , 0xb2 , 0x20 , 0xf5 , 0x25 , 0x29 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_07 [ ] = { /* Clavinet */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x51 , { 0x027 , 5009 , 100 , 0 , 0 , 0x00 , 0xd2 , 0x28 , 0xf5 , 0x13 , 0x2b , 0x0 } } ,
{ 0x52 , 0x6c , { 0x028 , 3495 , 100 , 0 , 0 , 0x00 , 0xd2 , 0x28 , 0xf5 , 0x13 , 0x3b , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_08 [ ] = { /* Celesta */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x02b , 3267 , 100 , 0 , 0 , 0x00 , 0xdc , 0x20 , 0xf4 , 0x15 , 0x07 , 0x3 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_09 [ ] = { /* Glockenspiel */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x78 , { 0x0f3 , 285 , 100 , 0 , 0 , 0x00 , 0xc2 , 0x28 , 0xf6 , 0x25 , 0x25 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_0a [ ] = { /* Music Box */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x0f3 , 3362 , 100 , 0 , 0 , 0x00 , 0xb6 , 0x20 , 0xa6 , 0x25 , 0x25 , 0x0 } } ,
{ 0x15 , 0x6c , { 0x101 , 4773 , 100 , 0 , 0 , 0x00 , 0xaa , 0x20 , 0xd4 , 0x14 , 0x16 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_0b [ ] = { /* Vibraphone */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x101 , 4778 , 100 , 0 , 0 , 0x00 , 0xc0 , 0x28 , 0xf4 , 0x14 , 0x16 , 0x4 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_0c [ ] = { /* Marimba */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x3f , { 0x0f4 , 4778 , 100 , 0 , 0 , 0x00 , 0xc4 , 0x38 , 0xf7 , 0x47 , 0x08 , 0x0 } } ,
{ 0x40 , 0x4c , { 0x0f5 , 3217 , 100 , 0 , 0 , 0x00 , 0xc4 , 0x38 , 0xf7 , 0x47 , 0x08 , 0x0 } } ,
{ 0x4d , 0x5a , { 0x0f5 , 3217 , 100 , 0 , 0 , 0x00 , 0xc4 , 0x38 , 0xf7 , 0x48 , 0x08 , 0x0 } } ,
{ 0x5b , 0x7f , { 0x0f5 , 3218 , 100 , 0 , 0 , 0x00 , 0xc4 , 0x38 , 0xf7 , 0x48 , 0x18 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_0d [ ] = { /* Xylophone */
2005-04-17 02:20:36 +04:00
{ 0x00 , 0x7f , { 0x136 , 1729 , 100 , 0 , 0 , 0x00 , 0xd2 , 0x38 , 0xf0 , 0x06 , 0x36 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_0e [ ] = { /* Tubular Bell */
2005-04-17 02:20:36 +04:00
{ 0x01 , 0x7f , { 0x0ff , 3999 , 100 , 0 , 1 , 0x00 , 0x90 , 0x21 , 0xf4 , 0xa3 , 0x25 , 0x1 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_0f [ ] = { /* Dulcimer */
2005-04-17 02:20:36 +04:00
{ 0x00 , 0x7f , { 0x03f , 4236 , 100 , 0 , 1 , 0x00 , 0xbc , 0x29 , 0xf5 , 0x16 , 0x07 , 0x0 } } ,
{ 0x00 , 0x7f , { 0x040 , 4236 , 100 , 0 , 2 , 0x0e , 0x94 , 0x2a , 0xf5 , 0x16 , 0x07 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_10 [ ] = { /* Drawbar Organ */
2005-04-17 02:20:36 +04:00
{ 0x01 , 0x7f , { 0x08e , 4394 , 100 , 0 , 2 , 0x14 , 0xc2 , 0x3a , 0xf0 , 0x00 , 0x0a , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_11 [ ] = { /* Percussive Organ */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x3b , { 0x08c , 6062 , 100 , 0 , 3 , 0x00 , 0xbe , 0x3b , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x3c , 0x6c , { 0x08d , 2984 , 100 , 0 , 3 , 0x00 , 0xbe , 0x3b , 0xf0 , 0x00 , 0x09 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_12 [ ] = { /* Rock Organ */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x30 , { 0x128 , 6574 , 100 , 0 , 1 , 0x00 , 0xcc , 0x39 , 0xf0 , 0x00 , 0x0a , 0x0 } } ,
{ 0x31 , 0x3c , { 0x129 , 5040 , 100 , 0 , 1 , 0x00 , 0xcc , 0x39 , 0xf0 , 0x00 , 0x0a , 0x0 } } ,
{ 0x3d , 0x48 , { 0x12a , 3498 , 100 , 0 , 1 , 0x00 , 0xcc , 0x39 , 0xf0 , 0x00 , 0x0a , 0x0 } } ,
{ 0x49 , 0x54 , { 0x12b , 1957 , 100 , 0 , 1 , 0x00 , 0xcc , 0x39 , 0xf0 , 0x00 , 0x0a , 0x0 } } ,
{ 0x55 , 0x6c , { 0x127 , 423 , 100 , 0 , 1 , 0x00 , 0xcc , 0x39 , 0xf0 , 0x00 , 0x0a , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_13 [ ] = { /* Church Organ */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x29 , { 0x087 , 7466 , 100 , 0 , 1 , 0x00 , 0xc4 , 0x11 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x2a , 0x30 , { 0x088 , 6456 , 100 , 0 , 1 , 0x00 , 0xc4 , 0x11 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x31 , 0x38 , { 0x089 , 5428 , 100 , 0 , 1 , 0x00 , 0xc4 , 0x11 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x39 , 0x41 , { 0x08a , 4408 , 100 , 0 , 1 , 0x00 , 0xc4 , 0x11 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x42 , 0x6c , { 0x08b , 3406 , 100 , 0 , 1 , 0x00 , 0xc4 , 0x11 , 0xf0 , 0x00 , 0x09 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_14 [ ] = { /* Reed Organ */
2005-04-17 02:20:36 +04:00
{ 0x00 , 0x53 , { 0x0ac , 5570 , 100 , 0 , 0 , 0x06 , 0xc0 , 0x38 , 0xf0 , 0x00 , 0x09 , 0x1 } } ,
{ 0x54 , 0x7f , { 0x0ad , 2497 , 100 , 0 , 0 , 0x00 , 0xc0 , 0x38 , 0xf0 , 0x00 , 0x09 , 0x1 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_15 [ ] = { /* Accordion */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x4c , { 0x006 , 4261 , 100 , 0 , 2 , 0x00 , 0xa4 , 0x22 , 0x90 , 0x00 , 0x09 , 0x0 } } ,
{ 0x4d , 0x6c , { 0x007 , 1530 , 100 , 0 , 2 , 0x00 , 0xa4 , 0x22 , 0x90 , 0x00 , 0x09 , 0x0 } } ,
{ 0x15 , 0x6c , { 0x070 , 4391 , 100 , 0 , 3 , 0x00 , 0x8a , 0x23 , 0xa0 , 0x00 , 0x09 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_16 [ ] = { /* Harmonica */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x070 , 4408 , 100 , 0 , 0 , 0x00 , 0xae , 0x30 , 0xa0 , 0x00 , 0x09 , 0x2 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_17 [ ] = { /* Tango Accordion */
2005-04-17 02:20:36 +04:00
{ 0x00 , 0x53 , { 0x0ac , 5573 , 100 , 0 , 0 , 0x00 , 0xae , 0x38 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x54 , 0x7f , { 0x0ad , 2500 , 100 , 0 , 0 , 0x00 , 0xae , 0x38 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x15 , 0x6c , { 0x041 , 8479 , 100 , 0 , 2 , 0x00 , 0x6a , 0x3a , 0x75 , 0x20 , 0x0a , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_18 [ ] = { /* Nylon Guitar */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x2f , { 0x0b3 , 6964 , 100 , 0 , 0 , 0x05 , 0xca , 0x28 , 0xf5 , 0x34 , 0x09 , 0x0 } } ,
{ 0x30 , 0x36 , { 0x0b7 , 5567 , 100 , 0 , 0 , 0x0c , 0xca , 0x28 , 0xf5 , 0x34 , 0x09 , 0x0 } } ,
{ 0x37 , 0x3c , { 0x0b5 , 4653 , 100 , 0 , 0 , 0x00 , 0xca , 0x28 , 0xf6 , 0x34 , 0x09 , 0x0 } } ,
{ 0x3d , 0x43 , { 0x0b4 , 3892 , 100 , 0 , 0 , 0x00 , 0xca , 0x28 , 0xf6 , 0x35 , 0x09 , 0x0 } } ,
{ 0x44 , 0x60 , { 0x0b6 , 2723 , 100 , 0 , 0 , 0x00 , 0xca , 0x28 , 0xf6 , 0x35 , 0x19 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_19 [ ] = { /* Steel Guitar */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x31 , { 0x00c , 6937 , 100 , 0 , 0 , 0x00 , 0xbc , 0x28 , 0xf0 , 0x04 , 0x19 , 0x0 } } ,
{ 0x32 , 0x38 , { 0x00d , 5410 , 100 , 0 , 0 , 0x00 , 0xbc , 0x28 , 0xf0 , 0x05 , 0x09 , 0x0 } } ,
{ 0x39 , 0x47 , { 0x00e , 4379 , 100 , 0 , 0 , 0x00 , 0xbc , 0x28 , 0xf5 , 0x94 , 0x09 , 0x0 } } ,
{ 0x48 , 0x6c , { 0x00f , 2843 , 100 , 0 , 0 , 0x00 , 0xbc , 0x28 , 0xf6 , 0x95 , 0x09 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_1a [ ] = { /* Jazz Guitar */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x31 , { 0x05a , 6832 , 100 , 0 , 0 , 0x00 , 0xca , 0x28 , 0xf6 , 0x34 , 0x09 , 0x0 } } ,
{ 0x32 , 0x3f , { 0x05b , 4897 , 100 , 0 , 0 , 0x00 , 0xca , 0x28 , 0xf6 , 0x34 , 0x09 , 0x0 } } ,
{ 0x40 , 0x6c , { 0x05c , 3218 , 100 , 0 , 0 , 0x00 , 0xca , 0x28 , 0xf6 , 0x34 , 0x09 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_1b [ ] = { /* Clean Guitar */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x2c , { 0x061 , 7053 , 100 , 0 , 1 , 0x00 , 0xb4 , 0x29 , 0xf5 , 0x54 , 0x0a , 0x0 } } ,
{ 0x2d , 0x31 , { 0x060 , 6434 , 100 , 0 , 1 , 0x00 , 0xb4 , 0x29 , 0xf5 , 0x54 , 0x0a , 0x0 } } ,
{ 0x32 , 0x38 , { 0x063 , 5764 , 100 , 0 , 1 , 0x00 , 0xbe , 0x29 , 0xf5 , 0x55 , 0x0a , 0x0 } } ,
{ 0x39 , 0x3f , { 0x062 , 4627 , 100 , 0 , 1 , 0x00 , 0xb4 , 0x29 , 0xf5 , 0x55 , 0x0a , 0x0 } } ,
{ 0x40 , 0x44 , { 0x065 , 3963 , 100 , 0 , 1 , 0x00 , 0xb4 , 0x29 , 0xf5 , 0x55 , 0x1a , 0x0 } } ,
{ 0x45 , 0x4b , { 0x064 , 3313 , 100 , 0 , 1 , 0x00 , 0xb4 , 0x29 , 0xf5 , 0x55 , 0x1a , 0x0 } } ,
{ 0x4c , 0x54 , { 0x066 , 2462 , 100 , 0 , 1 , 0x00 , 0xb4 , 0x29 , 0xf5 , 0x55 , 0x2a , 0x0 } } ,
{ 0x55 , 0x6c , { 0x067 , 1307 , 100 , 0 , 1 , 0x00 , 0xb4 , 0x29 , 0xf6 , 0x56 , 0x0a , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_1c [ ] = { /* Muted Guitar */
2005-04-17 02:20:36 +04:00
{ 0x01 , 0x7f , { 0x068 , 4408 , 100 , 0 , 0 , 0x00 , 0xcc , 0x28 , 0xf6 , 0x15 , 0x09 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_1d [ ] = { /* Overdriven Guitar */
2005-04-17 02:20:36 +04:00
{ 0x00 , 0x40 , { 0x0a5 , 6589 , 100 , 0 , 1 , 0x00 , 0xc0 , 0x29 , 0xf2 , 0x11 , 0x09 , 0x0 } } ,
{ 0x41 , 0x7f , { 0x0a6 , 5428 , 100 , 0 , 1 , 0x00 , 0xc0 , 0x29 , 0xf2 , 0x11 , 0x09 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_1e [ ] = { /* Distortion Guitar */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x2a , { 0x051 , 6928 , 100 , 0 , 1 , 0x00 , 0xbc , 0x21 , 0xa2 , 0x12 , 0x0a , 0x0 } } ,
{ 0x2b , 0x2e , { 0x052 , 6433 , 100 , 0 , 1 , 0x00 , 0xbc , 0x21 , 0xa2 , 0x12 , 0x0a , 0x0 } } ,
{ 0x2f , 0x32 , { 0x053 , 5944 , 100 , 0 , 1 , 0x00 , 0xbc , 0x21 , 0xa2 , 0x12 , 0x0a , 0x0 } } ,
{ 0x33 , 0x36 , { 0x054 , 5391 , 100 , 0 , 1 , 0x00 , 0xbc , 0x21 , 0xa2 , 0x12 , 0x0a , 0x0 } } ,
{ 0x37 , 0x3a , { 0x055 , 4897 , 100 , 0 , 1 , 0x00 , 0xbc , 0x21 , 0xa2 , 0x12 , 0x0a , 0x0 } } ,
{ 0x3b , 0x3e , { 0x056 , 4408 , 100 , 0 , 1 , 0x00 , 0xbc , 0x21 , 0xa2 , 0x12 , 0x0a , 0x0 } } ,
{ 0x3f , 0x42 , { 0x057 , 3892 , 100 , 0 , 1 , 0x00 , 0xbc , 0x21 , 0xa2 , 0x12 , 0x0a , 0x0 } } ,
{ 0x43 , 0x46 , { 0x058 , 3361 , 100 , 0 , 1 , 0x00 , 0xbc , 0x21 , 0xa2 , 0x12 , 0x0a , 0x0 } } ,
{ 0x47 , 0x6c , { 0x059 , 2784 , 100 , 0 , 1 , 0x00 , 0xbc , 0x21 , 0xa2 , 0x12 , 0x0a , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_1f [ ] = { /* Guitar Harmonics */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x44 , { 0x05e , 5499 , 100 , 0 , 0 , 0x00 , 0xce , 0x28 , 0xf4 , 0x24 , 0x09 , 0x0 } } ,
{ 0x45 , 0x49 , { 0x05d , 4850 , 100 , 0 , 0 , 0x00 , 0xe2 , 0x28 , 0xf4 , 0x24 , 0x09 , 0x0 } } ,
{ 0x4a , 0x6c , { 0x05f , 4259 , 100 , 0 , 0 , 0x00 , 0xce , 0x28 , 0xf4 , 0x24 , 0x09 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_20 [ ] = { /* Acoustic Bass */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x30 , { 0x004 , 8053 , 100 , 0 , 0 , 0x00 , 0xe2 , 0x18 , 0xf5 , 0x15 , 0x09 , 0x0 } } ,
{ 0x31 , 0x6c , { 0x005 , 4754 , 100 , 0 , 0 , 0x00 , 0xe2 , 0x18 , 0xf5 , 0x15 , 0x09 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_21 [ ] = { /* Fingered Bass */
2005-04-17 02:20:36 +04:00
{ 0x01 , 0x20 , { 0x04a , 8762 , 100 , 0 , 0 , 0x00 , 0xde , 0x18 , 0xf6 , 0x14 , 0x09 , 0x0 } } ,
{ 0x21 , 0x25 , { 0x04b , 8114 , 100 , 0 , 0 , 0x00 , 0xde , 0x18 , 0xf6 , 0x14 , 0x09 , 0x0 } } ,
{ 0x26 , 0x2a , { 0x04c , 7475 , 100 , 0 , 0 , 0x00 , 0xde , 0x18 , 0xf6 , 0x14 , 0x09 , 0x0 } } ,
{ 0x2b , 0x7f , { 0x04d , 6841 , 100 , 0 , 0 , 0x00 , 0xde , 0x18 , 0xf6 , 0x14 , 0x09 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_22 [ ] = { /* Picked Bass */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x23 , { 0x04f , 7954 , 100 , 0 , 0 , 0x00 , 0xcc , 0x18 , 0xf3 , 0x90 , 0x0a , 0x0 } } ,
{ 0x24 , 0x2a , { 0x050 , 7318 , 100 , 0 , 0 , 0x05 , 0xcc , 0x18 , 0xf3 , 0x90 , 0x1a , 0x0 } } ,
{ 0x2b , 0x2f , { 0x06b , 6654 , 100 , 0 , 0 , 0x00 , 0xcc , 0x18 , 0xf3 , 0x90 , 0x2a , 0x0 } } ,
{ 0x30 , 0x47 , { 0x069 , 6031 , 100 , 0 , 0 , 0x00 , 0xcc , 0x18 , 0xf5 , 0xb0 , 0x0a , 0x0 } } ,
{ 0x48 , 0x6c , { 0x06a , 5393 , 100 , 0 , 0 , 0x00 , 0xcc , 0x18 , 0xf5 , 0xb0 , 0x0a , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_23 [ ] = { /* Fretless Bass */
2005-04-17 02:20:36 +04:00
{ 0x01 , 0x7f , { 0x04e , 5297 , 100 , 0 , 0 , 0x00 , 0xd2 , 0x10 , 0xf3 , 0x63 , 0x19 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_24 [ ] = { /* Slap Bass 1 */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x0a3 , 7606 , 100 , 0 , 1 , 0x00 , 0xde , 0x19 , 0xf5 , 0x32 , 0x1a , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_25 [ ] = { /* Slap Bass 2 */
2005-04-17 02:20:36 +04:00
{ 0x01 , 0x7f , { 0x0a2 , 6694 , 100 , 0 , 0 , 0x00 , 0xda , 0x20 , 0xb0 , 0x02 , 0x09 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_26 [ ] = { /* Synth Bass 1 */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x0be , 7466 , 100 , 0 , 1 , 0x00 , 0xb8 , 0x39 , 0xf4 , 0x14 , 0x09 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_27 [ ] = { /* Synth Bass 2 */
2005-04-17 02:20:36 +04:00
{ 0x00 , 0x7f , { 0x117 , 8103 , 100 , 0 , 1 , 0x00 , 0xca , 0x39 , 0xf3 , 0x50 , 0x08 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_28 [ ] = { /* Violin */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x3a , { 0x105 , 5158 , 100 , 0 , 3 , 0x00 , 0xcc , 0x3b , 0xf3 , 0x20 , 0x09 , 0x0 } } ,
{ 0x3b , 0x3f , { 0x102 , 4754 , 100 , 0 , 3 , 0x00 , 0xcc , 0x3b , 0xf3 , 0x20 , 0x09 , 0x0 } } ,
{ 0x40 , 0x41 , { 0x106 , 4132 , 100 , 0 , 3 , 0x00 , 0xcc , 0x3b , 0xf3 , 0x20 , 0x09 , 0x0 } } ,
{ 0x42 , 0x44 , { 0x107 , 4033 , 100 , 0 , 3 , 0x00 , 0xcc , 0x3b , 0xf3 , 0x20 , 0x09 , 0x0 } } ,
{ 0x45 , 0x47 , { 0x108 , 3580 , 100 , 0 , 3 , 0x00 , 0xcc , 0x3b , 0xf3 , 0x20 , 0x09 , 0x0 } } ,
{ 0x48 , 0x4a , { 0x10a , 2957 , 100 , 0 , 3 , 0x00 , 0xcc , 0x3b , 0xf3 , 0x20 , 0x09 , 0x0 } } ,
{ 0x4b , 0x4c , { 0x10b , 2724 , 100 , 0 , 3 , 0x00 , 0xcc , 0x3b , 0xf3 , 0x20 , 0x09 , 0x0 } } ,
{ 0x4d , 0x4e , { 0x10c , 2530 , 100 , 0 , 3 , 0x00 , 0xcc , 0x3b , 0xf3 , 0x20 , 0x09 , 0x0 } } ,
{ 0x4f , 0x51 , { 0x10d , 2166 , 100 , 0 , 3 , 0x00 , 0xcc , 0x3b , 0xf3 , 0x20 , 0x09 , 0x0 } } ,
{ 0x52 , 0x6c , { 0x109 , 1825 , 100 , 0 , 3 , 0x00 , 0xcc , 0x3b , 0xf3 , 0x20 , 0x09 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_29 [ ] = { /* Viola */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x32 , { 0x103 , 5780 , 100 , 0 , 3 , 0x00 , 0xc4 , 0x3b , 0xa3 , 0x20 , 0x09 , 0x0 } } ,
{ 0x33 , 0x35 , { 0x104 , 5534 , 100 , 0 , 3 , 0x00 , 0xc4 , 0x3b , 0xa3 , 0x20 , 0x09 , 0x0 } } ,
{ 0x36 , 0x38 , { 0x105 , 5158 , 100 , 0 , 3 , 0x00 , 0xc4 , 0x3b , 0xa3 , 0x20 , 0x09 , 0x0 } } ,
{ 0x39 , 0x3d , { 0x102 , 4754 , 100 , 0 , 3 , 0x00 , 0xca , 0x3b , 0xa3 , 0x20 , 0x09 , 0x0 } } ,
{ 0x3e , 0x3f , { 0x106 , 4132 , 100 , 0 , 3 , 0x00 , 0xc4 , 0x3b , 0xa3 , 0x20 , 0x09 , 0x0 } } ,
{ 0x40 , 0x42 , { 0x107 , 4033 , 100 , 0 , 3 , 0x00 , 0xc4 , 0x3b , 0xa3 , 0x20 , 0x09 , 0x0 } } ,
{ 0x43 , 0x45 , { 0x108 , 3580 , 100 , 0 , 3 , 0x00 , 0xd0 , 0x3b , 0xa3 , 0x20 , 0x09 , 0x0 } } ,
{ 0x46 , 0x48 , { 0x10a , 2957 , 100 , 0 , 3 , 0x00 , 0xca , 0x3b , 0xa3 , 0x20 , 0x09 , 0x0 } } ,
{ 0x49 , 0x4a , { 0x10b , 2724 , 100 , 0 , 3 , 0x00 , 0xd0 , 0x3b , 0xa3 , 0x20 , 0x09 , 0x0 } } ,
{ 0x4b , 0x4c , { 0x10c , 2530 , 100 , 0 , 3 , 0x00 , 0xca , 0x3b , 0xa3 , 0x20 , 0x09 , 0x0 } } ,
{ 0x4d , 0x4f , { 0x10d , 2166 , 100 , 0 , 3 , 0x00 , 0xd0 , 0x3b , 0xa3 , 0x20 , 0x09 , 0x0 } } ,
{ 0x50 , 0x6c , { 0x109 , 1825 , 100 , 0 , 3 , 0x00 , 0xd0 , 0x3b , 0xa3 , 0x20 , 0x09 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_2a [ ] = { /* Cello */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x2d , { 0x112 , 6545 , 100 , 0 , 3 , 0x00 , 0xc0 , 0x33 , 0xa0 , 0x00 , 0x08 , 0x0 } } ,
{ 0x2e , 0x37 , { 0x113 , 5764 , 100 , 0 , 3 , 0x00 , 0xc0 , 0x33 , 0xa0 , 0x00 , 0x08 , 0x0 } } ,
{ 0x38 , 0x3e , { 0x115 , 4378 , 100 , 0 , 3 , 0x00 , 0xc0 , 0x33 , 0xa0 , 0x00 , 0x18 , 0x0 } } ,
{ 0x3f , 0x44 , { 0x116 , 3998 , 100 , 0 , 3 , 0x00 , 0xc0 , 0x33 , 0xa0 , 0x00 , 0x18 , 0x0 } } ,
{ 0x45 , 0x6c , { 0x114 , 3218 , 100 , 0 , 3 , 0x00 , 0xc0 , 0x33 , 0xa0 , 0x00 , 0x18 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_2b [ ] = { /* Contrabass */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x29 , { 0x110 , 7713 , 100 , 0 , 1 , 0x00 , 0xc2 , 0x19 , 0x90 , 0x00 , 0x09 , 0x0 } } ,
{ 0x2a , 0x6c , { 0x111 , 6162 , 100 , 0 , 1 , 0x00 , 0xc2 , 0x19 , 0x90 , 0x00 , 0x09 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_2c [ ] = { /* Tremolo Strings */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x3b , { 0x0b0 , 4810 , 100 , 0 , 0 , 0x0a , 0xde , 0x38 , 0xf0 , 0x00 , 0x07 , 0x6 } } ,
{ 0x3c , 0x41 , { 0x035 , 4035 , 100 , 0 , 0 , 0x05 , 0xde , 0x38 , 0xf0 , 0x00 , 0x07 , 0x6 } } ,
{ 0x42 , 0x47 , { 0x033 , 3129 , 100 , 0 , 0 , 0x05 , 0xde , 0x38 , 0xf0 , 0x00 , 0x07 , 0x6 } } ,
{ 0x48 , 0x52 , { 0x034 , 2625 , 100 , 0 , 0 , 0x05 , 0xde , 0x38 , 0xf0 , 0x00 , 0x07 , 0x6 } } ,
{ 0x53 , 0x6c , { 0x0af , 936 , 100 , 0 , 0 , 0x00 , 0xde , 0x38 , 0xf0 , 0x00 , 0x07 , 0x6 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_2d [ ] = { /* Pizzicato Strings */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x32 , { 0x0b8 , 6186 , 100 , 0 , 0 , 0x00 , 0xbc , 0x28 , 0xf0 , 0x00 , 0x05 , 0x0 } } ,
{ 0x33 , 0x3b , { 0x0b9 , 5031 , 100 , 0 , 0 , 0x00 , 0xbc , 0x28 , 0xf0 , 0x00 , 0x05 , 0x0 } } ,
{ 0x3c , 0x42 , { 0x0bb , 4146 , 100 , 0 , 0 , 0x00 , 0xbc , 0x28 , 0xf0 , 0x00 , 0x05 , 0x0 } } ,
{ 0x43 , 0x48 , { 0x0ba , 3245 , 100 , 0 , 0 , 0x00 , 0xc2 , 0x28 , 0xf0 , 0x00 , 0x05 , 0x0 } } ,
{ 0x49 , 0x6c , { 0x0bc , 2352 , 100 , 0 , 0 , 0x00 , 0xbc , 0x28 , 0xf0 , 0x00 , 0x05 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_2e [ ] = { /* Harp */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x46 , { 0x07e , 3740 , 100 , 0 , 1 , 0x00 , 0xd2 , 0x29 , 0xf5 , 0x25 , 0x07 , 0x0 } } ,
{ 0x47 , 0x6c , { 0x07f , 2319 , 100 , 0 , 1 , 0x00 , 0xd2 , 0x29 , 0xf5 , 0x25 , 0x07 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_2f [ ] = { /* Timpani */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x100 , 6570 , 100 , 0 , 0 , 0x00 , 0xf8 , 0x28 , 0xf0 , 0x05 , 0x16 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_30 [ ] = { /* Strings */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x3b , { 0x13c , 4806 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x20 , 0x80 , 0x00 , 0x07 , 0x0 } } ,
{ 0x3c , 0x41 , { 0x13e , 4035 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x20 , 0x80 , 0x00 , 0x07 , 0x0 } } ,
{ 0x42 , 0x47 , { 0x13d , 3122 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x20 , 0x80 , 0x00 , 0x07 , 0x0 } } ,
{ 0x48 , 0x52 , { 0x13f , 2629 , 100 , 0 , 0 , 0x00 , 0xbe , 0x20 , 0x80 , 0x00 , 0x07 , 0x0 } } ,
{ 0x53 , 0x6c , { 0x140 , 950 , 100 , 0 , 0 , 0x00 , 0xbe , 0x20 , 0x80 , 0x00 , 0x07 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_31 [ ] = { /* Slow Strings */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x3b , { 0x0b0 , 4810 , 100 , 0 , 1 , 0x0a , 0xbe , 0x19 , 0xf0 , 0x00 , 0x07 , 0x0 } } ,
{ 0x3c , 0x41 , { 0x035 , 4035 , 100 , 0 , 1 , 0x05 , 0xbe , 0x19 , 0xf0 , 0x00 , 0x07 , 0x0 } } ,
{ 0x42 , 0x47 , { 0x033 , 3129 , 100 , 0 , 1 , 0x05 , 0xbe , 0x19 , 0xf0 , 0x00 , 0x07 , 0x0 } } ,
{ 0x48 , 0x52 , { 0x034 , 2625 , 100 , 0 , 1 , 0x05 , 0xbe , 0x19 , 0xf0 , 0x00 , 0x07 , 0x0 } } ,
{ 0x53 , 0x6c , { 0x0af , 936 , 100 , 0 , 1 , 0x00 , 0xbe , 0x19 , 0xf0 , 0x00 , 0x07 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_32 [ ] = { /* Synth Strings 1 */
2005-04-17 02:20:36 +04:00
{ 0x05 , 0x71 , { 0x002 , 6045 , 100 , - 2 , 0 , 0x00 , 0xa6 , 0x20 , 0x93 , 0x22 , 0x06 , 0x0 } } ,
{ 0x15 , 0x6c , { 0x0ae , 3261 , 100 , 2 , 0 , 0x00 , 0xc6 , 0x20 , 0x70 , 0x01 , 0x06 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_33 [ ] = { /* Synth Strings 2 */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x002 , 4513 , 100 , 5 , 1 , 0x00 , 0xb4 , 0x19 , 0x70 , 0x00 , 0x06 , 0x0 } } ,
{ 0x15 , 0x6c , { 0x002 , 4501 , 100 , - 5 , 1 , 0x00 , 0xb4 , 0x19 , 0x70 , 0x00 , 0x06 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_34 [ ] = { /* Choir Aahs */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x3a , { 0x018 , 5010 , 100 , 0 , 2 , 0x00 , 0xc2 , 0x1a , 0x70 , 0x00 , 0x08 , 0x0 } } ,
{ 0x3b , 0x40 , { 0x019 , 4370 , 100 , 0 , 2 , 0x00 , 0xc2 , 0x1a , 0x70 , 0x00 , 0x08 , 0x0 } } ,
{ 0x41 , 0x47 , { 0x01a , 3478 , 100 , 0 , 2 , 0x00 , 0xc2 , 0x1a , 0x70 , 0x00 , 0x08 , 0x0 } } ,
{ 0x48 , 0x6c , { 0x01b , 2197 , 100 , 0 , 2 , 0x00 , 0xc2 , 0x1a , 0x70 , 0x00 , 0x08 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_35 [ ] = { /* Voice Oohs */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x029 , 3596 , 100 , 0 , 0 , 0x00 , 0xe6 , 0x20 , 0xf7 , 0x20 , 0x08 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_36 [ ] = { /* Synth Voice */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x02a , 3482 , 100 , 0 , 1 , 0x00 , 0xc2 , 0x19 , 0x85 , 0x21 , 0x07 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_37 [ ] = { /* Orchestra Hit */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x049 , 4394 , 100 , 0 , 0 , 0x00 , 0xfe , 0x30 , 0x80 , 0x05 , 0x05 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_38 [ ] = { /* Trumpet */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x3c , { 0x0f6 , 4706 , 100 , 0 , 2 , 0x00 , 0xd6 , 0x32 , 0xf3 , 0x20 , 0x0a , 0x0 } } ,
{ 0x3d , 0x43 , { 0x0f8 , 3894 , 100 , 0 , 2 , 0x00 , 0xd6 , 0x32 , 0xf3 , 0x20 , 0x0a , 0x0 } } ,
{ 0x44 , 0x48 , { 0x0f7 , 3118 , 100 , 0 , 2 , 0x00 , 0xd6 , 0x32 , 0xf3 , 0x20 , 0x0a , 0x0 } } ,
{ 0x49 , 0x4e , { 0x0fa , 2322 , 100 , 0 , 2 , 0x00 , 0xd6 , 0x32 , 0xf3 , 0x20 , 0x0a , 0x0 } } ,
{ 0x4f , 0x55 , { 0x0f9 , 1634 , 100 , 0 , 2 , 0x00 , 0xd6 , 0x32 , 0xf3 , 0x20 , 0x0a , 0x0 } } ,
{ 0x56 , 0x6c , { 0x0fb , 786 , 100 , 0 , 2 , 0x00 , 0xd6 , 0x32 , 0xf3 , 0x20 , 0x0a , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_39 [ ] = { /* Trombone */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x3a , { 0x0f0 , 5053 , 100 , 0 , 1 , 0x00 , 0xd6 , 0x21 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x3b , 0x3f , { 0x0f1 , 4290 , 100 , 0 , 1 , 0x00 , 0xd6 , 0x21 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x40 , 0x6c , { 0x0f2 , 3580 , 100 , 0 , 1 , 0x00 , 0xd6 , 0x21 , 0xf0 , 0x00 , 0x09 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_3a [ ] = { /* Tuba */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x2d , { 0x085 , 7096 , 100 , 0 , 1 , 0x00 , 0xde , 0x21 , 0xf5 , 0x10 , 0x09 , 0x0 } } ,
{ 0x2e , 0x6c , { 0x086 , 6014 , 100 , 0 , 1 , 0x00 , 0xde , 0x21 , 0xf5 , 0x10 , 0x09 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_3b [ ] = { /* Muted Trumpet */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x45 , { 0x0b1 , 4135 , 100 , 0 , 0 , 0x00 , 0xcc , 0x28 , 0xf3 , 0x10 , 0x0a , 0x1 } } ,
{ 0x46 , 0x6c , { 0x0b2 , 2599 , 100 , 0 , 0 , 0x00 , 0xcc , 0x28 , 0x83 , 0x10 , 0x0a , 0x1 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_3c [ ] = { /* French Horns */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x49 , { 0x07c , 3624 , 100 , 0 , 2 , 0x00 , 0xd0 , 0x1a , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x4a , 0x6c , { 0x07d , 2664 , 100 , 0 , 2 , 0x00 , 0xd0 , 0x1a , 0xf0 , 0x00 , 0x09 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_3d [ ] = { /* Brass Section */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x42 , { 0x0fc , 4375 , 100 , 0 , 0 , 0x00 , 0xd6 , 0x28 , 0xf0 , 0x00 , 0x0a , 0x0 } } ,
{ 0x43 , 0x6c , { 0x0fd , 2854 , 100 , 0 , 0 , 0x00 , 0xd6 , 0x28 , 0xf0 , 0x00 , 0x0a , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_3e [ ] = { /* Synth Brass 1 */
2005-04-17 02:20:36 +04:00
{ 0x01 , 0x27 , { 0x0d3 , 9094 , 100 , - 1 , 0 , 0x00 , 0xbe , 0x18 , 0xa5 , 0x11 , 0x08 , 0x0 } } ,
{ 0x28 , 0x2d , { 0x0da , 8335 , 100 , - 1 , 0 , 0x00 , 0xbe , 0x18 , 0xa5 , 0x11 , 0x08 , 0x0 } } ,
{ 0x2e , 0x33 , { 0x0d4 , 7558 , 100 , - 1 , 0 , 0x00 , 0xbe , 0x18 , 0xa5 , 0x11 , 0x08 , 0x0 } } ,
{ 0x34 , 0x39 , { 0x0db , 6785 , 100 , - 1 , 0 , 0x00 , 0xbe , 0x18 , 0xa5 , 0x11 , 0x08 , 0x0 } } ,
{ 0x3a , 0x3f , { 0x0d5 , 6042 , 100 , - 1 , 0 , 0x00 , 0xbe , 0x18 , 0xa5 , 0x11 , 0x08 , 0x0 } } ,
{ 0x40 , 0x45 , { 0x0dc , 5257 , 100 , - 1 , 0 , 0x00 , 0xbe , 0x18 , 0xa5 , 0x11 , 0x08 , 0x0 } } ,
{ 0x46 , 0x4b , { 0x0d6 , 4493 , 100 , - 1 , 0 , 0x00 , 0xbe , 0x18 , 0xa5 , 0x11 , 0x08 , 0x0 } } ,
{ 0x4c , 0x51 , { 0x0dd , 3741 , 100 , - 1 , 0 , 0x00 , 0xbe , 0x18 , 0xa5 , 0x11 , 0x08 , 0x0 } } ,
{ 0x52 , 0x57 , { 0x0d7 , 3012 , 100 , - 1 , 0 , 0x00 , 0xbe , 0x18 , 0xa5 , 0x11 , 0x08 , 0x0 } } ,
{ 0x58 , 0x5d , { 0x0de , 2167 , 100 , - 1 , 0 , 0x00 , 0xbe , 0x18 , 0xa5 , 0x11 , 0x08 , 0x0 } } ,
{ 0x5e , 0x63 , { 0x0d8 , 1421 , 100 , - 1 , 0 , 0x00 , 0xbe , 0x18 , 0xa5 , 0x11 , 0x08 , 0x0 } } ,
{ 0x64 , 0x7f , { 0x0d9 , - 115 , 100 , - 1 , 0 , 0x00 , 0xbe , 0x18 , 0xa5 , 0x11 , 0x08 , 0x0 } } ,
{ 0x01 , 0x27 , { 0x118 , 9103 , 100 , 1 , 1 , 0x00 , 0xbe , 0x19 , 0x85 , 0x23 , 0x08 , 0x0 } } ,
{ 0x28 , 0x2d , { 0x119 , 8340 , 100 , 1 , 1 , 0x00 , 0xbe , 0x19 , 0x85 , 0x23 , 0x08 , 0x0 } } ,
{ 0x2e , 0x33 , { 0x11a , 7565 , 100 , 1 , 1 , 0x00 , 0xbe , 0x19 , 0x85 , 0x23 , 0x08 , 0x0 } } ,
{ 0x34 , 0x39 , { 0x11b , 6804 , 100 , 1 , 1 , 0x00 , 0xbe , 0x19 , 0x85 , 0x23 , 0x08 , 0x0 } } ,
{ 0x3a , 0x3f , { 0x11c , 6042 , 100 , 1 , 1 , 0x00 , 0xbe , 0x19 , 0x85 , 0x23 , 0x08 , 0x0 } } ,
{ 0x40 , 0x45 , { 0x11d , 5277 , 100 , 1 , 1 , 0x00 , 0xbe , 0x19 , 0x85 , 0x23 , 0x08 , 0x0 } } ,
{ 0x46 , 0x4b , { 0x11e , 4520 , 100 , 1 , 1 , 0x00 , 0xbe , 0x19 , 0x85 , 0x23 , 0x08 , 0x0 } } ,
{ 0x4c , 0x51 , { 0x11f , 3741 , 100 , 1 , 1 , 0x00 , 0xbe , 0x19 , 0x85 , 0x23 , 0x08 , 0x0 } } ,
{ 0x52 , 0x57 , { 0x120 , 3012 , 100 , 1 , 1 , 0x00 , 0xbe , 0x19 , 0x85 , 0x23 , 0x08 , 0x0 } } ,
{ 0x58 , 0x5d , { 0x121 , 2166 , 100 , 1 , 1 , 0x00 , 0xbe , 0x19 , 0x85 , 0x23 , 0x08 , 0x0 } } ,
{ 0x5e , 0x64 , { 0x122 , 1421 , 100 , 1 , 1 , 0x00 , 0xbe , 0x19 , 0x85 , 0x23 , 0x08 , 0x0 } } ,
{ 0x65 , 0x7f , { 0x123 , - 115 , 100 , 1 , 1 , 0x00 , 0xbe , 0x19 , 0x85 , 0x23 , 0x08 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_3f [ ] = { /* Synth Brass 2 */
2005-04-17 02:20:36 +04:00
{ 0x01 , 0x27 , { 0x118 , 9113 , 100 , 3 , 6 , 0x00 , 0xae , 0x26 , 0x85 , 0x23 , 0x08 , 0x0 } } ,
{ 0x28 , 0x2d , { 0x119 , 8350 , 100 , 3 , 6 , 0x00 , 0xae , 0x26 , 0x85 , 0x23 , 0x08 , 0x0 } } ,
{ 0x2e , 0x33 , { 0x11a , 7575 , 100 , 3 , 6 , 0x00 , 0xae , 0x26 , 0x85 , 0x23 , 0x08 , 0x0 } } ,
{ 0x34 , 0x39 , { 0x11b , 6814 , 100 , 3 , 6 , 0x00 , 0xae , 0x26 , 0x85 , 0x23 , 0x08 , 0x0 } } ,
{ 0x3a , 0x3f , { 0x11c , 6052 , 100 , 3 , 6 , 0x00 , 0xae , 0x26 , 0x85 , 0x23 , 0x08 , 0x0 } } ,
{ 0x40 , 0x45 , { 0x11d , 5287 , 100 , 3 , 6 , 0x00 , 0xae , 0x26 , 0x85 , 0x23 , 0x08 , 0x0 } } ,
{ 0x46 , 0x4b , { 0x11e , 4530 , 100 , 3 , 6 , 0x00 , 0xae , 0x26 , 0x85 , 0x23 , 0x08 , 0x0 } } ,
{ 0x4c , 0x51 , { 0x11f , 3751 , 100 , 3 , 6 , 0x00 , 0xae , 0x26 , 0x85 , 0x23 , 0x08 , 0x0 } } ,
{ 0x52 , 0x57 , { 0x120 , 3022 , 100 , 3 , 6 , 0x00 , 0xae , 0x26 , 0x85 , 0x23 , 0x08 , 0x0 } } ,
{ 0x58 , 0x5d , { 0x121 , 2176 , 100 , 3 , 6 , 0x00 , 0xae , 0x26 , 0x85 , 0x23 , 0x08 , 0x0 } } ,
{ 0x5e , 0x64 , { 0x122 , 1431 , 100 , 3 , 6 , 0x00 , 0xae , 0x26 , 0x85 , 0x23 , 0x08 , 0x0 } } ,
{ 0x65 , 0x7f , { 0x123 , - 105 , 100 , 3 , 6 , 0x00 , 0xae , 0x26 , 0x85 , 0x23 , 0x08 , 0x0 } } ,
{ 0x00 , 0x7f , { 0x124 , 4034 , 100 , - 3 , 2 , 0x00 , 0xea , 0x22 , 0x85 , 0x23 , 0x08 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_40 [ ] = { /* Soprano Sax */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x3f , { 0x0e3 , 4228 , 100 , 0 , 1 , 0x00 , 0xc8 , 0x21 , 0xf5 , 0x20 , 0x0a , 0x0 } } ,
{ 0x40 , 0x45 , { 0x0e4 , 3495 , 100 , 0 , 1 , 0x00 , 0xc8 , 0x21 , 0xf5 , 0x20 , 0x0a , 0x0 } } ,
{ 0x46 , 0x4b , { 0x0e5 , 2660 , 100 , 0 , 1 , 0x00 , 0xd6 , 0x21 , 0xf5 , 0x20 , 0x0a , 0x0 } } ,
{ 0x4c , 0x51 , { 0x0e6 , 2002 , 100 , 0 , 1 , 0x00 , 0xd6 , 0x21 , 0xf5 , 0x20 , 0x0a , 0x0 } } ,
{ 0x52 , 0x59 , { 0x0e7 , 1186 , 100 , 0 , 1 , 0x00 , 0xd6 , 0x21 , 0xf5 , 0x20 , 0x0a , 0x0 } } ,
{ 0x59 , 0x6c , { 0x0e8 , 1730 , 100 , 0 , 1 , 0x00 , 0xc8 , 0x21 , 0xf5 , 0x20 , 0x0a , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_41 [ ] = { /* Alto Sax */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x32 , { 0x092 , 6204 , 100 , 0 , 1 , 0x00 , 0xbe , 0x19 , 0xf5 , 0x20 , 0x0b , 0x0 } } ,
{ 0x33 , 0x35 , { 0x096 , 5812 , 100 , 0 , 1 , 0x00 , 0xbe , 0x19 , 0xf5 , 0x20 , 0x0b , 0x0 } } ,
{ 0x36 , 0x3a , { 0x099 , 5318 , 100 , 0 , 1 , 0x00 , 0xbe , 0x19 , 0xf5 , 0x20 , 0x0b , 0x0 } } ,
{ 0x3b , 0x3b , { 0x08f , 5076 , 100 , 0 , 1 , 0x00 , 0xbe , 0x19 , 0xf5 , 0x20 , 0x0b , 0x0 } } ,
{ 0x3c , 0x3e , { 0x093 , 4706 , 100 , 0 , 1 , 0x00 , 0xbe , 0x19 , 0xf5 , 0x20 , 0x0b , 0x0 } } ,
{ 0x3f , 0x41 , { 0x097 , 4321 , 100 , 0 , 1 , 0x00 , 0xbe , 0x19 , 0xf5 , 0x20 , 0x0b , 0x0 } } ,
{ 0x42 , 0x44 , { 0x09a , 3893 , 100 , 0 , 1 , 0x00 , 0xbe , 0x19 , 0xf5 , 0x20 , 0x0b , 0x0 } } ,
{ 0x45 , 0x47 , { 0x090 , 3497 , 100 , 0 , 1 , 0x00 , 0xbe , 0x19 , 0xf5 , 0x20 , 0x0b , 0x0 } } ,
{ 0x48 , 0x4a , { 0x094 , 3119 , 100 , 0 , 1 , 0x00 , 0xbe , 0x19 , 0xf5 , 0x20 , 0x0b , 0x0 } } ,
{ 0x4b , 0x4d , { 0x098 , 2726 , 100 , 0 , 1 , 0x00 , 0xbe , 0x19 , 0xf5 , 0x20 , 0x0b , 0x0 } } ,
{ 0x4e , 0x50 , { 0x09b , 2393 , 100 , 0 , 1 , 0x00 , 0xbe , 0x19 , 0xf5 , 0x20 , 0x0b , 0x0 } } ,
{ 0x51 , 0x53 , { 0x091 , 2088 , 100 , 0 , 1 , 0x00 , 0xbe , 0x19 , 0xf5 , 0x20 , 0x0b , 0x0 } } ,
{ 0x54 , 0x6c , { 0x095 , 1732 , 100 , 0 , 1 , 0x00 , 0xbe , 0x19 , 0xf5 , 0x20 , 0x0b , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_42 [ ] = { /* Tenor Sax */
2005-04-17 02:20:36 +04:00
{ 0x24 , 0x30 , { 0x0e9 , 6301 , 100 , 0 , 1 , 0x00 , 0xbc , 0x19 , 0xf4 , 0x10 , 0x0b , 0x0 } } ,
{ 0x31 , 0x34 , { 0x0ea , 5781 , 100 , 0 , 1 , 0x00 , 0xbc , 0x19 , 0xf4 , 0x10 , 0x0b , 0x0 } } ,
{ 0x35 , 0x3a , { 0x0eb , 5053 , 100 , 0 , 1 , 0x00 , 0xbc , 0x19 , 0xf4 , 0x10 , 0x0b , 0x0 } } ,
{ 0x3b , 0x41 , { 0x0ed , 4165 , 100 , 0 , 1 , 0x00 , 0xbc , 0x19 , 0xf4 , 0x10 , 0x0b , 0x0 } } ,
{ 0x42 , 0x47 , { 0x0ec , 3218 , 100 , 0 , 1 , 0x00 , 0xbc , 0x19 , 0xf4 , 0x10 , 0x0b , 0x0 } } ,
{ 0x48 , 0x51 , { 0x0ee , 2462 , 100 , 0 , 1 , 0x00 , 0xbc , 0x19 , 0xf4 , 0x10 , 0x0b , 0x0 } } ,
{ 0x52 , 0x6c , { 0x0ef , 1421 , 100 , 0 , 1 , 0x00 , 0xbc , 0x19 , 0xf4 , 0x10 , 0x0b , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_43 [ ] = { /* Baritone Sax */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x2d , { 0x0df , 6714 , 100 , 0 , 1 , 0x00 , 0xce , 0x19 , 0xf0 , 0x00 , 0x0a , 0x0 } } ,
{ 0x2e , 0x34 , { 0x0e1 , 5552 , 100 , 0 , 1 , 0x00 , 0xce , 0x19 , 0xf0 , 0x00 , 0x0a , 0x0 } } ,
{ 0x35 , 0x39 , { 0x0e2 , 5178 , 100 , 0 , 1 , 0x00 , 0xce , 0x19 , 0xf0 , 0x00 , 0x0a , 0x0 } } ,
{ 0x3a , 0x6c , { 0x0e0 , 4437 , 100 , 0 , 1 , 0x00 , 0xce , 0x19 , 0xf0 , 0x00 , 0x0a , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_44 [ ] = { /* Oboe */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x3c , { 0x042 , 4493 , 100 , 0 , 1 , 0x00 , 0xe6 , 0x39 , 0xf4 , 0x10 , 0x0a , 0x0 } } ,
{ 0x3d , 0x43 , { 0x044 , 3702 , 100 , 0 , 1 , 0x00 , 0xdc , 0x39 , 0xf4 , 0x10 , 0x0a , 0x0 } } ,
{ 0x44 , 0x49 , { 0x043 , 2956 , 100 , 0 , 1 , 0x00 , 0xdc , 0x39 , 0xf4 , 0x10 , 0x0a , 0x0 } } ,
{ 0x4a , 0x4f , { 0x046 , 2166 , 100 , 0 , 1 , 0x00 , 0xdc , 0x39 , 0xf4 , 0x10 , 0x0a , 0x0 } } ,
{ 0x50 , 0x55 , { 0x045 , 1420 , 100 , 0 , 1 , 0x00 , 0xdc , 0x39 , 0xf4 , 0x10 , 0x0a , 0x0 } } ,
{ 0x56 , 0x6c , { 0x047 , 630 , 100 , 0 , 1 , 0x00 , 0xe6 , 0x39 , 0xf4 , 0x10 , 0x0a , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_45 [ ] = { /* English Horn */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x38 , { 0x03c , 5098 , 100 , 0 , 1 , 0x00 , 0xc4 , 0x31 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x39 , 0x3e , { 0x03b , 4291 , 100 , 0 , 1 , 0x00 , 0xc4 , 0x31 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x3f , 0x6c , { 0x03d , 3540 , 100 , 0 , 1 , 0x00 , 0xc4 , 0x31 , 0xf0 , 0x00 , 0x09 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_46 [ ] = { /* Bassoon */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x22 , { 0x038 , 7833 , 100 , 0 , 1 , 0x00 , 0xc6 , 0x31 , 0xf0 , 0x00 , 0x0b , 0x0 } } ,
{ 0x23 , 0x2e , { 0x03a , 7070 , 100 , 0 , 1 , 0x00 , 0xc6 , 0x31 , 0xf0 , 0x00 , 0x0b , 0x0 } } ,
{ 0x2f , 0x6c , { 0x039 , 6302 , 100 , 0 , 1 , 0x00 , 0xc6 , 0x31 , 0xf0 , 0x00 , 0x0b , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_47 [ ] = { /* Clarinet */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x3b , { 0x09e , 5900 , 100 , 0 , 1 , 0x00 , 0xc8 , 0x29 , 0xf3 , 0x20 , 0x0a , 0x0 } } ,
{ 0x3c , 0x41 , { 0x0a0 , 5158 , 100 , 0 , 1 , 0x00 , 0xc8 , 0x29 , 0xf3 , 0x20 , 0x0a , 0x0 } } ,
{ 0x42 , 0x4a , { 0x09f , 4260 , 100 , 0 , 1 , 0x00 , 0xc8 , 0x29 , 0xf3 , 0x20 , 0x0a , 0x0 } } ,
{ 0x4b , 0x6c , { 0x0a1 , 2957 , 100 , 0 , 1 , 0x00 , 0xc8 , 0x29 , 0xf3 , 0x20 , 0x0a , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_48 [ ] = { /* Piccolo */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x40 , { 0x071 , 4803 , 100 , 0 , 0 , 0x00 , 0xe6 , 0x38 , 0xf0 , 0x00 , 0x0a , 0x2 } } ,
{ 0x41 , 0x4d , { 0x072 , 3314 , 100 , 0 , 0 , 0x00 , 0xe6 , 0x38 , 0xf0 , 0x00 , 0x0a , 0x2 } } ,
{ 0x4e , 0x53 , { 0x073 , 1731 , 100 , 0 , 0 , 0x00 , 0xe6 , 0x38 , 0xf0 , 0x00 , 0x0a , 0x2 } } ,
{ 0x54 , 0x5f , { 0x074 , 2085 , 100 , 0 , 0 , 0x00 , 0xe6 , 0x38 , 0xf0 , 0x00 , 0x0a , 0x2 } } ,
{ 0x60 , 0x6c , { 0x075 , 1421 , 100 , 0 , 0 , 0x00 , 0xe6 , 0x38 , 0xf0 , 0x00 , 0x0a , 0x2 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_49 [ ] = { /* Flute */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x40 , { 0x071 , 4803 , 100 , 0 , 0 , 0x00 , 0xdc , 0x38 , 0xf0 , 0x00 , 0x0a , 0x2 } } ,
{ 0x41 , 0x4d , { 0x072 , 3314 , 100 , 0 , 0 , 0x00 , 0xdc , 0x38 , 0xf0 , 0x00 , 0x0a , 0x2 } } ,
{ 0x4e , 0x6c , { 0x073 , 1731 , 100 , 0 , 0 , 0x00 , 0xe6 , 0x38 , 0xf0 , 0x00 , 0x0a , 0x2 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_4a [ ] = { /* Recorder */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6f , { 0x0bd , 4897 , 100 , 0 , 0 , 0x00 , 0xec , 0x30 , 0x70 , 0x00 , 0x09 , 0x1 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_4b [ ] = { /* Pan Flute */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x077 , 2359 , 100 , 0 , 0 , 0x00 , 0xde , 0x38 , 0xf0 , 0x00 , 0x09 , 0x3 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_4c [ ] = { /* Bottle Blow */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x077 , 2359 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x38 , 0xf0 , 0x00 , 0x09 , 0x1 } } ,
{ 0x01 , 0x7f , { 0x125 , 7372 , 100 , 0 , 0 , 0x1e , 0x80 , 0x00 , 0xf0 , 0x00 , 0x09 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_4d [ ] = { /* Shakuhachi */
2005-04-17 02:20:36 +04:00
{ 0x00 , 0x7f , { 0x0ab , 4548 , 100 , 0 , 0 , 0x00 , 0xd6 , 0x30 , 0xf0 , 0x00 , 0x0a , 0x3 } } ,
{ 0x15 , 0x6c , { 0x076 , 3716 , 100 , 0 , 0 , 0x00 , 0xa2 , 0x28 , 0x70 , 0x00 , 0x09 , 0x2 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_4e [ ] = { /* Whistle */
2005-04-17 02:20:36 +04:00
{ 0x00 , 0x7f , { 0x0aa , 1731 , 100 , 0 , 4 , 0x00 , 0xd2 , 0x2c , 0x70 , 0x00 , 0x0a , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_4f [ ] = { /* Ocarina */
2005-04-17 02:20:36 +04:00
{ 0x00 , 0x7f , { 0x0aa , 1731 , 100 , 0 , 1 , 0x00 , 0xce , 0x29 , 0x90 , 0x00 , 0x0a , 0x1 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_50 [ ] = { /* Square Lead */
2005-04-17 02:20:36 +04:00
{ 0x01 , 0x2a , { 0x0cc , 9853 , 100 , 3 , 0 , 0x00 , 0xac , 0x38 , 0xc6 , 0x21 , 0x09 , 0x0 } } ,
{ 0x2b , 0x36 , { 0x0cd , 6785 , 100 , 3 , 0 , 0x00 , 0xac , 0x38 , 0xc6 , 0x21 , 0x09 , 0x0 } } ,
{ 0x37 , 0x42 , { 0x0ca , 5248 , 100 , 3 , 0 , 0x00 , 0xac , 0x38 , 0xc6 , 0x21 , 0x09 , 0x0 } } ,
{ 0x43 , 0x4e , { 0x0cf , 3713 , 100 , 3 , 0 , 0x00 , 0xac , 0x38 , 0xc6 , 0x21 , 0x09 , 0x0 } } ,
{ 0x4f , 0x5a , { 0x0ce , 2176 , 100 , 3 , 0 , 0x00 , 0xac , 0x38 , 0xc6 , 0x21 , 0x09 , 0x0 } } ,
{ 0x5b , 0x7f , { 0x0cb , 640 , 100 , 3 , 0 , 0x00 , 0xac , 0x38 , 0xc6 , 0x21 , 0x09 , 0x0 } } ,
{ 0x01 , 0x2a , { 0x0cc , 9844 , 100 , - 3 , 0 , 0x00 , 0xac , 0x08 , 0xc6 , 0x21 , 0x09 , 0x0 } } ,
{ 0x2b , 0x36 , { 0x0cd , 6776 , 100 , - 3 , 0 , 0x00 , 0xac , 0x08 , 0xc6 , 0x21 , 0x09 , 0x0 } } ,
{ 0x37 , 0x42 , { 0x0ca , 5239 , 100 , - 3 , 0 , 0x00 , 0xac , 0x08 , 0xc6 , 0x21 , 0x09 , 0x0 } } ,
{ 0x43 , 0x4e , { 0x0cf , 3704 , 100 , - 3 , 0 , 0x00 , 0xac , 0x08 , 0xc6 , 0x21 , 0x09 , 0x0 } } ,
{ 0x4f , 0x5a , { 0x0ce , 2167 , 100 , - 3 , 0 , 0x00 , 0xac , 0x08 , 0xc6 , 0x21 , 0x09 , 0x0 } } ,
{ 0x5b , 0x7f , { 0x0cb , 631 , 100 , - 3 , 0 , 0x00 , 0xac , 0x08 , 0xc6 , 0x21 , 0x09 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_51 [ ] = { /* Sawtooth Lead */
2005-04-17 02:20:36 +04:00
{ 0x01 , 0x27 , { 0x118 , 9108 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x30 , 0xf2 , 0x22 , 0x0a , 0x0 } } ,
{ 0x28 , 0x2d , { 0x119 , 8345 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x30 , 0xf2 , 0x22 , 0x0a , 0x0 } } ,
{ 0x2e , 0x33 , { 0x11a , 7570 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x30 , 0xf2 , 0x22 , 0x0a , 0x0 } } ,
{ 0x34 , 0x39 , { 0x11b , 6809 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x30 , 0xf2 , 0x22 , 0x0a , 0x0 } } ,
{ 0x3a , 0x3f , { 0x11c , 6047 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x30 , 0xf2 , 0x22 , 0x0a , 0x0 } } ,
{ 0x40 , 0x45 , { 0x11d , 5282 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x30 , 0xf2 , 0x22 , 0x0a , 0x0 } } ,
{ 0x46 , 0x4b , { 0x11e , 4525 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x30 , 0xf2 , 0x22 , 0x0a , 0x0 } } ,
{ 0x4c , 0x51 , { 0x11f , 3746 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x30 , 0xf2 , 0x22 , 0x0a , 0x0 } } ,
{ 0x52 , 0x57 , { 0x120 , 3017 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x30 , 0xf2 , 0x22 , 0x0a , 0x0 } } ,
{ 0x58 , 0x5d , { 0x121 , 2171 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x30 , 0xf2 , 0x22 , 0x0a , 0x0 } } ,
{ 0x5e , 0x66 , { 0x122 , 1426 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x30 , 0xf2 , 0x22 , 0x0a , 0x0 } } ,
{ 0x67 , 0x7f , { 0x123 , - 110 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x30 , 0xf2 , 0x22 , 0x0a , 0x0 } } ,
{ 0x01 , 0x27 , { 0x118 , 9098 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x30 , 0xf2 , 0x22 , 0x0a , 0x0 } } ,
{ 0x28 , 0x2d , { 0x119 , 8335 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x30 , 0xf2 , 0x22 , 0x0a , 0x0 } } ,
{ 0x2e , 0x33 , { 0x11a , 7560 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x30 , 0xf2 , 0x22 , 0x0a , 0x0 } } ,
{ 0x34 , 0x39 , { 0x11b , 6799 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x30 , 0xf2 , 0x22 , 0x0a , 0x0 } } ,
{ 0x3a , 0x3f , { 0x11c , 6037 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x30 , 0xf2 , 0x22 , 0x0a , 0x0 } } ,
{ 0x40 , 0x45 , { 0x11d , 5272 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x30 , 0xf2 , 0x22 , 0x0a , 0x0 } } ,
{ 0x46 , 0x4b , { 0x11e , 4515 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x30 , 0xf2 , 0x22 , 0x0a , 0x0 } } ,
{ 0x4c , 0x51 , { 0x11f , 3736 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x30 , 0xf2 , 0x22 , 0x0a , 0x0 } } ,
{ 0x52 , 0x57 , { 0x120 , 3007 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x30 , 0xf2 , 0x22 , 0x0a , 0x0 } } ,
{ 0x58 , 0x5d , { 0x121 , 2161 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x30 , 0xf2 , 0x22 , 0x0a , 0x0 } } ,
{ 0x5e , 0x66 , { 0x122 , 1416 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x30 , 0xf2 , 0x22 , 0x0a , 0x0 } } ,
{ 0x67 , 0x7f , { 0x123 , - 120 , 100 , 0 , 0 , 0x00 , 0xc8 , 0x30 , 0xf2 , 0x22 , 0x0a , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_52 [ ] = { /* Calliope Lead */
2005-04-17 02:20:36 +04:00
{ 0x00 , 0x7f , { 0x0aa , 1731 , 100 , 0 , 0 , 0x00 , 0xc2 , 0x28 , 0x90 , 0x00 , 0x0a , 0x2 } } ,
{ 0x15 , 0x6c , { 0x076 , 3716 , 100 , 0 , 0 , 0x00 , 0xb6 , 0x28 , 0xb0 , 0x00 , 0x09 , 0x2 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_53 [ ] = { /* Chiffer Lead */
2005-04-17 02:20:36 +04:00
{ 0x00 , 0x7f , { 0x13a , 3665 , 100 , 0 , 2 , 0x00 , 0xcc , 0x2a , 0xf0 , 0x10 , 0x09 , 0x1 } } ,
{ 0x01 , 0x7f , { 0x0fe , 3660 , 100 , 0 , 0 , 0x00 , 0xbe , 0x28 , 0xf3 , 0x10 , 0x17 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_54 [ ] = { /* Charang Lead */
2005-04-17 02:20:36 +04:00
{ 0x00 , 0x40 , { 0x0a5 , 6594 , 100 , 0 , 3 , 0x00 , 0xba , 0x33 , 0xf2 , 0x11 , 0x09 , 0x0 } } ,
{ 0x41 , 0x7f , { 0x0a6 , 5433 , 100 , 0 , 3 , 0x00 , 0xba , 0x33 , 0xf2 , 0x11 , 0x09 , 0x0 } } ,
{ 0x01 , 0x27 , { 0x118 , 9098 , 100 , 0 , 2 , 0x00 , 0xa4 , 0x2a , 0xf2 , 0x22 , 0x0e , 0x0 } } ,
{ 0x28 , 0x2d , { 0x119 , 8335 , 100 , 0 , 2 , 0x00 , 0xa4 , 0x2a , 0xf2 , 0x22 , 0x0e , 0x0 } } ,
{ 0x2e , 0x33 , { 0x11a , 7560 , 100 , 0 , 2 , 0x00 , 0xa4 , 0x2a , 0xf2 , 0x22 , 0x0e , 0x0 } } ,
{ 0x34 , 0x39 , { 0x11b , 6799 , 100 , 0 , 2 , 0x00 , 0xa4 , 0x2a , 0xf2 , 0x22 , 0x0e , 0x0 } } ,
{ 0x3a , 0x3f , { 0x11c , 6037 , 100 , 0 , 2 , 0x00 , 0xa4 , 0x2a , 0xf2 , 0x22 , 0x0e , 0x0 } } ,
{ 0x40 , 0x45 , { 0x11d , 5272 , 100 , 0 , 2 , 0x00 , 0xa4 , 0x2a , 0xf2 , 0x22 , 0x0e , 0x0 } } ,
{ 0x46 , 0x4b , { 0x11e , 4515 , 100 , 0 , 2 , 0x00 , 0xa4 , 0x2a , 0xf2 , 0x22 , 0x0e , 0x0 } } ,
{ 0x4c , 0x51 , { 0x11f , 3736 , 100 , 0 , 2 , 0x00 , 0xa4 , 0x2a , 0xf2 , 0x22 , 0x0e , 0x0 } } ,
{ 0x52 , 0x57 , { 0x120 , 3007 , 100 , 0 , 2 , 0x00 , 0xa4 , 0x2a , 0xf2 , 0x22 , 0x0e , 0x0 } } ,
{ 0x58 , 0x5d , { 0x121 , 2161 , 100 , 0 , 2 , 0x00 , 0xa4 , 0x2a , 0xf2 , 0x22 , 0x0e , 0x0 } } ,
{ 0x5e , 0x66 , { 0x122 , 1416 , 100 , 0 , 2 , 0x00 , 0xa4 , 0x2a , 0xf2 , 0x22 , 0x0e , 0x0 } } ,
{ 0x67 , 0x7f , { 0x123 , - 120 , 100 , 0 , 2 , 0x00 , 0xa4 , 0x2a , 0xf2 , 0x22 , 0x0e , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_55 [ ] = { /* Voice Lead */
2005-04-17 02:20:36 +04:00
{ 0x00 , 0x7f , { 0x0aa , 1739 , 100 , 0 , 6 , 0x00 , 0x8c , 0x2e , 0x90 , 0x00 , 0x0a , 0x0 } } ,
{ 0x15 , 0x6c , { 0x02a , 3474 , 100 , 0 , 1 , 0x00 , 0xd8 , 0x29 , 0xf0 , 0x05 , 0x0a , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_56 [ ] = { /* 5ths Lead */
2005-04-17 02:20:36 +04:00
{ 0x01 , 0x27 , { 0x118 , 8468 , 100 , 0 , 2 , 0x00 , 0xd0 , 0x32 , 0xf5 , 0x20 , 0x08 , 0x0 } } ,
{ 0x28 , 0x2d , { 0x119 , 7705 , 100 , 0 , 2 , 0x00 , 0xd0 , 0x32 , 0xf5 , 0x20 , 0x08 , 0x0 } } ,
{ 0x2e , 0x33 , { 0x11a , 6930 , 100 , 0 , 2 , 0x00 , 0xd0 , 0x32 , 0xf5 , 0x20 , 0x08 , 0x0 } } ,
{ 0x34 , 0x39 , { 0x11b , 6169 , 100 , 0 , 2 , 0x00 , 0xd0 , 0x32 , 0xf5 , 0x20 , 0x08 , 0x0 } } ,
{ 0x3a , 0x3f , { 0x11c , 5407 , 100 , 0 , 2 , 0x00 , 0xd0 , 0x32 , 0xf5 , 0x20 , 0x08 , 0x0 } } ,
{ 0x40 , 0x45 , { 0x11d , 4642 , 100 , 0 , 2 , 0x00 , 0xd0 , 0x32 , 0xf5 , 0x20 , 0x08 , 0x0 } } ,
{ 0x46 , 0x4b , { 0x11e , 3885 , 100 , 0 , 2 , 0x00 , 0xd0 , 0x32 , 0xf5 , 0x20 , 0x08 , 0x0 } } ,
{ 0x4c , 0x51 , { 0x11f , 3106 , 100 , 0 , 2 , 0x00 , 0xd0 , 0x32 , 0xf5 , 0x20 , 0x08 , 0x0 } } ,
{ 0x52 , 0x57 , { 0x120 , 2377 , 100 , 0 , 2 , 0x00 , 0xd0 , 0x32 , 0xf5 , 0x20 , 0x08 , 0x0 } } ,
{ 0x58 , 0x5d , { 0x121 , 1531 , 100 , 0 , 2 , 0x00 , 0xd0 , 0x32 , 0xf5 , 0x20 , 0x08 , 0x0 } } ,
{ 0x5e , 0x64 , { 0x122 , 786 , 100 , 0 , 2 , 0x00 , 0xd0 , 0x32 , 0xf5 , 0x20 , 0x08 , 0x0 } } ,
{ 0x65 , 0x7f , { 0x123 , - 750 , 100 , 0 , 2 , 0x00 , 0xd0 , 0x32 , 0xf5 , 0x20 , 0x08 , 0x0 } } ,
{ 0x05 , 0x71 , { 0x002 , 4503 , 100 , 0 , 1 , 0x00 , 0xb8 , 0x31 , 0xb3 , 0x20 , 0x0b , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_57 [ ] = { /* Bass & Lead */
2005-04-17 02:20:36 +04:00
{ 0x00 , 0x7f , { 0x117 , 8109 , 100 , 0 , 1 , 0x00 , 0xbc , 0x29 , 0xf3 , 0x50 , 0x08 , 0x0 } } ,
{ 0x01 , 0x27 , { 0x118 , 9097 , 100 , 0 , 2 , 0x00 , 0xbc , 0x2a , 0xf2 , 0x20 , 0x0a , 0x0 } } ,
{ 0x28 , 0x2d , { 0x119 , 8334 , 100 , 0 , 2 , 0x00 , 0xbc , 0x2a , 0xf2 , 0x20 , 0x0a , 0x0 } } ,
{ 0x2e , 0x33 , { 0x11a , 7559 , 100 , 0 , 2 , 0x00 , 0xbc , 0x2a , 0xf2 , 0x20 , 0x0a , 0x0 } } ,
{ 0x34 , 0x39 , { 0x11b , 6798 , 100 , 0 , 2 , 0x00 , 0xbc , 0x2a , 0xf2 , 0x20 , 0x0a , 0x0 } } ,
{ 0x3a , 0x3f , { 0x11c , 6036 , 100 , 0 , 2 , 0x00 , 0xbc , 0x2a , 0xf2 , 0x20 , 0x0a , 0x0 } } ,
{ 0x40 , 0x45 , { 0x11d , 5271 , 100 , 0 , 2 , 0x00 , 0xbc , 0x2a , 0xf2 , 0x20 , 0x0a , 0x0 } } ,
{ 0x46 , 0x4b , { 0x11e , 4514 , 100 , 0 , 2 , 0x00 , 0xbc , 0x2a , 0xf2 , 0x20 , 0x0a , 0x0 } } ,
{ 0x4c , 0x51 , { 0x11f , 3735 , 100 , 0 , 2 , 0x00 , 0xbc , 0x2a , 0xf2 , 0x20 , 0x0a , 0x0 } } ,
{ 0x52 , 0x57 , { 0x120 , 3006 , 100 , 0 , 2 , 0x00 , 0xbc , 0x2a , 0xf2 , 0x20 , 0x0a , 0x0 } } ,
{ 0x58 , 0x5d , { 0x121 , 2160 , 100 , 0 , 2 , 0x00 , 0xbc , 0x2a , 0xf2 , 0x20 , 0x0a , 0x0 } } ,
{ 0x5e , 0x66 , { 0x122 , 1415 , 100 , 0 , 2 , 0x00 , 0xbc , 0x2a , 0xf2 , 0x20 , 0x0a , 0x0 } } ,
{ 0x67 , 0x7f , { 0x123 , - 121 , 100 , 0 , 2 , 0x00 , 0xbc , 0x2a , 0xf2 , 0x20 , 0x0a , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_58 [ ] = { /* New Age Pad */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x002 , 4501 , 100 , 0 , 4 , 0x00 , 0xa4 , 0x24 , 0x80 , 0x01 , 0x05 , 0x0 } } ,
{ 0x15 , 0x6c , { 0x0f3 , 4253 , 100 , 0 , 3 , 0x00 , 0x8c , 0x23 , 0xa2 , 0x14 , 0x06 , 0x1 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_59 [ ] = { /* Warm Pad */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x04e , 5306 , 100 , 2 , 2 , 0x00 , 0x92 , 0x2a , 0x34 , 0x23 , 0x05 , 0x2 } } ,
{ 0x15 , 0x6c , { 0x029 , 3575 , 100 , - 2 , 2 , 0x00 , 0xbe , 0x22 , 0x31 , 0x23 , 0x06 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_5a [ ] = { /* Polysynth Pad */
2005-04-17 02:20:36 +04:00
{ 0x01 , 0x27 , { 0x118 , 9111 , 100 , 0 , 3 , 0x00 , 0xae , 0x23 , 0xf2 , 0x20 , 0x07 , 0x1 } } ,
{ 0x28 , 0x2d , { 0x119 , 8348 , 100 , 0 , 3 , 0x00 , 0xae , 0x23 , 0xf2 , 0x20 , 0x07 , 0x1 } } ,
{ 0x2e , 0x33 , { 0x11a , 7573 , 100 , 0 , 3 , 0x00 , 0xae , 0x23 , 0xf2 , 0x20 , 0x07 , 0x1 } } ,
{ 0x34 , 0x39 , { 0x11b , 6812 , 100 , 0 , 3 , 0x00 , 0xae , 0x23 , 0xf2 , 0x20 , 0x07 , 0x1 } } ,
{ 0x3a , 0x3f , { 0x11c , 6050 , 100 , 0 , 3 , 0x00 , 0xae , 0x23 , 0xf2 , 0x20 , 0x07 , 0x1 } } ,
{ 0x40 , 0x45 , { 0x11d , 5285 , 100 , 0 , 3 , 0x00 , 0xae , 0x23 , 0xf2 , 0x20 , 0x07 , 0x1 } } ,
{ 0x46 , 0x4b , { 0x11e , 4528 , 100 , 0 , 3 , 0x00 , 0xae , 0x23 , 0xf2 , 0x20 , 0x07 , 0x1 } } ,
{ 0x4c , 0x51 , { 0x11f , 3749 , 100 , 0 , 3 , 0x00 , 0xae , 0x23 , 0xf2 , 0x20 , 0x07 , 0x1 } } ,
{ 0x52 , 0x57 , { 0x120 , 3020 , 100 , 0 , 3 , 0x00 , 0xae , 0x23 , 0xf2 , 0x20 , 0x07 , 0x1 } } ,
{ 0x58 , 0x5d , { 0x121 , 2174 , 100 , 0 , 3 , 0x00 , 0xae , 0x23 , 0xf2 , 0x20 , 0x07 , 0x1 } } ,
{ 0x5e , 0x66 , { 0x122 , 1429 , 100 , 0 , 3 , 0x00 , 0xae , 0x23 , 0xf2 , 0x20 , 0x07 , 0x1 } } ,
{ 0x67 , 0x7f , { 0x123 , - 107 , 100 , 0 , 3 , 0x00 , 0xae , 0x23 , 0xf2 , 0x20 , 0x07 , 0x1 } } ,
{ 0x00 , 0x7f , { 0x124 , 4024 , 100 , 0 , 2 , 0x00 , 0xae , 0x22 , 0xe5 , 0x20 , 0x08 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_5b [ ] = { /* Choir Pad */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x3a , { 0x018 , 5010 , 100 , 0 , 5 , 0x00 , 0xb0 , 0x25 , 0x70 , 0x00 , 0x06 , 0x0 } } ,
{ 0x3b , 0x40 , { 0x019 , 4370 , 100 , 0 , 5 , 0x00 , 0xb0 , 0x25 , 0x70 , 0x00 , 0x06 , 0x0 } } ,
{ 0x41 , 0x47 , { 0x01a , 3478 , 100 , 0 , 5 , 0x00 , 0xb0 , 0x25 , 0x70 , 0x00 , 0x06 , 0x0 } } ,
{ 0x48 , 0x6c , { 0x01b , 2197 , 100 , 0 , 5 , 0x00 , 0xb0 , 0x25 , 0x70 , 0x00 , 0x06 , 0x0 } } ,
{ 0x15 , 0x6c , { 0x02a , 3482 , 100 , 0 , 4 , 0x00 , 0x98 , 0x24 , 0x65 , 0x21 , 0x06 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_5c [ ] = { /* Bowed Pad */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x101 , 4790 , 100 , - 1 , 1 , 0x00 , 0xbe , 0x19 , 0x44 , 0x14 , 0x16 , 0x0 } } ,
{ 0x00 , 0x7f , { 0x0aa , 1720 , 100 , 1 , 1 , 0x00 , 0x94 , 0x19 , 0x40 , 0x00 , 0x06 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_5d [ ] = { /* Metallic Pad */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x31 , { 0x00c , 6943 , 100 , 0 , 2 , 0x00 , 0xa0 , 0x0a , 0x60 , 0x03 , 0x06 , 0x0 } } ,
{ 0x32 , 0x38 , { 0x00d , 5416 , 100 , 0 , 2 , 0x00 , 0xa0 , 0x0a , 0x60 , 0x03 , 0x06 , 0x0 } } ,
{ 0x39 , 0x47 , { 0x00e , 4385 , 100 , 0 , 2 , 0x00 , 0xa0 , 0x0a , 0x60 , 0x03 , 0x06 , 0x0 } } ,
{ 0x48 , 0x6c , { 0x00f , 2849 , 100 , 0 , 2 , 0x00 , 0xa0 , 0x0a , 0x60 , 0x03 , 0x06 , 0x0 } } ,
{ 0x00 , 0x7f , { 0x03f , 4224 , 100 , 0 , 1 , 0x00 , 0x9c , 0x31 , 0x65 , 0x16 , 0x07 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_5e [ ] = { /* Halo Pad */
2005-04-17 02:20:36 +04:00
{ 0x00 , 0x7f , { 0x124 , 4038 , 100 , 0 , 2 , 0x00 , 0xa6 , 0x1a , 0x85 , 0x23 , 0x08 , 0x0 } } ,
{ 0x15 , 0x6c , { 0x02a , 3471 , 100 , 0 , 3 , 0x00 , 0xc0 , 0x1b , 0xc0 , 0x05 , 0x06 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_5f [ ] = { /* Sweep Pad */
2005-04-17 02:20:36 +04:00
{ 0x01 , 0x27 , { 0x0d3 , 9100 , 100 , 0 , 1 , 0x00 , 0xce , 0x19 , 0x13 , 0x11 , 0x06 , 0x0 } } ,
{ 0x28 , 0x2d , { 0x0da , 8341 , 100 , 0 , 1 , 0x00 , 0xce , 0x19 , 0x13 , 0x11 , 0x06 , 0x0 } } ,
{ 0x2e , 0x33 , { 0x0d4 , 7564 , 100 , 0 , 1 , 0x00 , 0xce , 0x19 , 0x13 , 0x11 , 0x06 , 0x0 } } ,
{ 0x34 , 0x39 , { 0x0db , 6791 , 100 , 0 , 1 , 0x00 , 0xce , 0x19 , 0x13 , 0x11 , 0x06 , 0x0 } } ,
{ 0x3a , 0x3f , { 0x0d5 , 6048 , 100 , 0 , 1 , 0x00 , 0xce , 0x19 , 0x13 , 0x11 , 0x06 , 0x0 } } ,
{ 0x40 , 0x45 , { 0x0dc , 5263 , 100 , 0 , 1 , 0x00 , 0xce , 0x19 , 0x13 , 0x11 , 0x06 , 0x0 } } ,
{ 0x46 , 0x4b , { 0x0d6 , 4499 , 100 , 0 , 1 , 0x00 , 0xce , 0x19 , 0x13 , 0x11 , 0x06 , 0x0 } } ,
{ 0x4c , 0x51 , { 0x0dd , 3747 , 100 , 0 , 1 , 0x00 , 0xce , 0x19 , 0x13 , 0x11 , 0x06 , 0x0 } } ,
{ 0x52 , 0x57 , { 0x0d7 , 3018 , 100 , 0 , 1 , 0x00 , 0xce , 0x19 , 0x13 , 0x11 , 0x06 , 0x0 } } ,
{ 0x58 , 0x5d , { 0x0de , 2173 , 100 , 0 , 1 , 0x00 , 0xce , 0x19 , 0x13 , 0x11 , 0x06 , 0x0 } } ,
{ 0x5e , 0x63 , { 0x0d8 , 1427 , 100 , 0 , 1 , 0x00 , 0xce , 0x19 , 0x13 , 0x11 , 0x06 , 0x0 } } ,
{ 0x64 , 0x7f , { 0x0d9 , - 109 , 100 , 0 , 1 , 0x00 , 0xce , 0x19 , 0x13 , 0x11 , 0x06 , 0x0 } } ,
{ 0x01 , 0x27 , { 0x0d3 , 9088 , 100 , 0 , 0 , 0x00 , 0xce , 0x18 , 0x13 , 0x11 , 0x06 , 0x0 } } ,
{ 0x28 , 0x2d , { 0x0da , 8329 , 100 , 0 , 0 , 0x00 , 0xce , 0x18 , 0x13 , 0x11 , 0x06 , 0x0 } } ,
{ 0x2e , 0x33 , { 0x0d4 , 7552 , 100 , 0 , 0 , 0x00 , 0xce , 0x18 , 0x13 , 0x11 , 0x06 , 0x0 } } ,
{ 0x34 , 0x39 , { 0x0db , 6779 , 100 , 0 , 0 , 0x00 , 0xce , 0x18 , 0x13 , 0x11 , 0x06 , 0x0 } } ,
{ 0x3a , 0x3f , { 0x0d5 , 6036 , 100 , 0 , 0 , 0x00 , 0xce , 0x18 , 0x13 , 0x11 , 0x06 , 0x0 } } ,
{ 0x40 , 0x45 , { 0x0dc , 5251 , 100 , 0 , 0 , 0x00 , 0xce , 0x18 , 0x13 , 0x11 , 0x06 , 0x0 } } ,
{ 0x46 , 0x4b , { 0x0d6 , 4487 , 100 , 0 , 0 , 0x00 , 0xce , 0x18 , 0x13 , 0x11 , 0x06 , 0x0 } } ,
{ 0x4c , 0x51 , { 0x0dd , 3735 , 100 , 0 , 0 , 0x00 , 0xce , 0x18 , 0x13 , 0x11 , 0x06 , 0x0 } } ,
{ 0x52 , 0x57 , { 0x0d7 , 3006 , 100 , 0 , 0 , 0x00 , 0xce , 0x18 , 0x13 , 0x11 , 0x06 , 0x0 } } ,
{ 0x58 , 0x5d , { 0x0de , 2161 , 100 , 0 , 0 , 0x00 , 0xce , 0x18 , 0x13 , 0x11 , 0x06 , 0x0 } } ,
{ 0x5e , 0x63 , { 0x0d8 , 1415 , 100 , 0 , 0 , 0x00 , 0xce , 0x18 , 0x13 , 0x11 , 0x06 , 0x0 } } ,
{ 0x64 , 0x7f , { 0x0d9 , - 121 , 100 , 0 , 0 , 0x00 , 0xce , 0x18 , 0x13 , 0x11 , 0x06 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_60 [ ] = { /* Ice Rain */
2005-04-17 02:20:36 +04:00
{ 0x01 , 0x7f , { 0x04e , 9345 , 100 , 0 , 2 , 0x00 , 0xcc , 0x22 , 0xa3 , 0x63 , 0x17 , 0x0 } } ,
{ 0x00 , 0x7f , { 0x143 , 5586 , 20 , 0 , 2 , 0x00 , 0x6e , 0x2a , 0xf0 , 0x05 , 0x05 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_61 [ ] = { /* Soundtrack */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x002 , 4501 , 100 , 0 , 2 , 0x00 , 0xb6 , 0x2a , 0x60 , 0x01 , 0x05 , 0x0 } } ,
{ 0x15 , 0x6c , { 0x0f3 , 1160 , 100 , 0 , 5 , 0x00 , 0xa8 , 0x2d , 0x52 , 0x14 , 0x06 , 0x2 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_62 [ ] = { /* Crystal */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x0f3 , 1826 , 100 , 0 , 3 , 0x00 , 0xb8 , 0x33 , 0xf6 , 0x25 , 0x25 , 0x0 } } ,
{ 0x15 , 0x2c , { 0x06d , 7454 , 100 , 0 , 3 , 0x00 , 0xac , 0x3b , 0x85 , 0x24 , 0x06 , 0x0 } } ,
{ 0x2d , 0x36 , { 0x06e , 5925 , 100 , 0 , 3 , 0x00 , 0xac , 0x3b , 0x85 , 0x24 , 0x06 , 0x0 } } ,
{ 0x37 , 0x6c , { 0x06f , 4403 , 100 , 0 , 3 , 0x09 , 0xac , 0x3b , 0x85 , 0x24 , 0x06 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_63 [ ] = { /* Atmosphere */
2005-04-17 02:20:36 +04:00
{ 0x05 , 0x71 , { 0x002 , 4509 , 100 , 0 , 2 , 0x00 , 0xc8 , 0x32 , 0x73 , 0x22 , 0x06 , 0x1 } } ,
{ 0x15 , 0x2f , { 0x0b3 , 6964 , 100 , 0 , 2 , 0x05 , 0xc2 , 0x32 , 0xf5 , 0x34 , 0x07 , 0x2 } } ,
{ 0x30 , 0x36 , { 0x0b7 , 5567 , 100 , 0 , 2 , 0x0c , 0xc2 , 0x32 , 0xf5 , 0x34 , 0x07 , 0x2 } } ,
{ 0x37 , 0x3c , { 0x0b5 , 4653 , 100 , 0 , 2 , 0x00 , 0xc2 , 0x32 , 0xf6 , 0x34 , 0x07 , 0x2 } } ,
{ 0x3d , 0x43 , { 0x0b4 , 3892 , 100 , 0 , 2 , 0x00 , 0xc2 , 0x32 , 0xf6 , 0x35 , 0x07 , 0x2 } } ,
{ 0x44 , 0x60 , { 0x0b6 , 2723 , 100 , 0 , 2 , 0x00 , 0xc2 , 0x32 , 0xf6 , 0x35 , 0x17 , 0x2 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_64 [ ] = { /* Brightness */
2005-04-17 02:20:36 +04:00
{ 0x00 , 0x7f , { 0x137 , 5285 , 100 , 0 , 2 , 0x00 , 0xbe , 0x2a , 0xa5 , 0x18 , 0x08 , 0x0 } } ,
{ 0x15 , 0x6c , { 0x02a , 3481 , 100 , 0 , 1 , 0x00 , 0xc8 , 0x29 , 0x80 , 0x05 , 0x05 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_65 [ ] = { /* Goblins */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x002 , 4501 , 100 , - 1 , 2 , 0x00 , 0xca , 0x2a , 0x40 , 0x01 , 0x05 , 0x0 } } ,
{ 0x15 , 0x6c , { 0x009 , 9679 , 20 , 1 , 4 , 0x00 , 0x3c , 0x0c , 0x22 , 0x11 , 0x06 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_66 [ ] = { /* Echoes */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x02a , 3487 , 100 , 0 , 3 , 0x00 , 0xae , 0x2b , 0xf5 , 0x21 , 0x06 , 0x0 } } ,
{ 0x00 , 0x7f , { 0x124 , 4027 , 100 , 0 , 3 , 0x00 , 0xae , 0x2b , 0x85 , 0x23 , 0x07 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_67 [ ] = { /* Sci-Fi */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x31 , { 0x00c , 6940 , 100 , 0 , 3 , 0x00 , 0xc8 , 0x2b , 0x90 , 0x05 , 0x06 , 0x3 } } ,
{ 0x32 , 0x38 , { 0x00d , 5413 , 100 , 0 , 3 , 0x00 , 0xc8 , 0x2b , 0x90 , 0x05 , 0x06 , 0x3 } } ,
{ 0x39 , 0x47 , { 0x00e , 4382 , 100 , 0 , 3 , 0x00 , 0xc8 , 0x2b , 0x90 , 0x05 , 0x06 , 0x3 } } ,
{ 0x48 , 0x6c , { 0x00f , 2846 , 100 , 0 , 3 , 0x00 , 0xc8 , 0x2b , 0x90 , 0x05 , 0x06 , 0x3 } } ,
{ 0x15 , 0x6c , { 0x002 , 4498 , 100 , 0 , 2 , 0x00 , 0xd4 , 0x22 , 0x80 , 0x01 , 0x05 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_68 [ ] = { /* Sitar */
2005-04-17 02:20:36 +04:00
{ 0x00 , 0x7f , { 0x10f , 4408 , 100 , 0 , 2 , 0x00 , 0xc4 , 0x32 , 0xf4 , 0x15 , 0x16 , 0x1 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_69 [ ] = { /* Banjo */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x34 , { 0x013 , 5685 , 100 , 0 , 0 , 0x00 , 0xdc , 0x38 , 0xf6 , 0x15 , 0x09 , 0x0 } } ,
{ 0x35 , 0x38 , { 0x014 , 5009 , 100 , 0 , 0 , 0x00 , 0xdc , 0x38 , 0xf6 , 0x15 , 0x09 , 0x0 } } ,
{ 0x39 , 0x3c , { 0x012 , 4520 , 100 , 0 , 0 , 0x00 , 0xdc , 0x38 , 0xf6 , 0x15 , 0x09 , 0x0 } } ,
{ 0x3d , 0x44 , { 0x015 , 3622 , 100 , 0 , 0 , 0x00 , 0xdc , 0x38 , 0xf6 , 0x15 , 0x09 , 0x0 } } ,
{ 0x45 , 0x4c , { 0x017 , 2661 , 100 , 0 , 0 , 0x00 , 0xdc , 0x38 , 0xf6 , 0x15 , 0x09 , 0x0 } } ,
{ 0x4d , 0x6d , { 0x016 , 1632 , 100 , 0 , 0 , 0x00 , 0xdc , 0x38 , 0xf6 , 0x15 , 0x09 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_6a [ ] = { /* Shamisen */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x10e , 3273 , 100 , 0 , 0 , 0x00 , 0xc0 , 0x28 , 0xf7 , 0x76 , 0x08 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_6b [ ] = { /* Koto */
2005-04-17 02:20:36 +04:00
{ 0x00 , 0x7f , { 0x0a9 , 4033 , 100 , 0 , 0 , 0x00 , 0xc6 , 0x20 , 0xf0 , 0x06 , 0x07 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_6c [ ] = { /* Kalimba */
2005-04-17 02:20:36 +04:00
{ 0x00 , 0x7f , { 0x137 , 3749 , 100 , 0 , 0 , 0x00 , 0xce , 0x38 , 0xf5 , 0x18 , 0x08 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_6d [ ] = { /* Bagpipe */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x39 , { 0x0a4 , 7683 , 100 , 0 , 4 , 0x00 , 0xc0 , 0x1c , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x15 , 0x39 , { 0x0a7 , 7680 , 100 , 0 , 1 , 0x00 , 0xaa , 0x19 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x3a , 0x6c , { 0x0a8 , 3697 , 100 , 0 , 1 , 0x00 , 0xaa , 0x19 , 0xf0 , 0x00 , 0x09 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_6e [ ] = { /* Fiddle */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x3a , { 0x105 , 5158 , 100 , 0 , 1 , 0x00 , 0xca , 0x31 , 0xf3 , 0x20 , 0x09 , 0x0 } } ,
{ 0x3b , 0x3f , { 0x102 , 4754 , 100 , 0 , 1 , 0x00 , 0xca , 0x31 , 0xf3 , 0x20 , 0x09 , 0x0 } } ,
{ 0x40 , 0x41 , { 0x106 , 4132 , 100 , 0 , 1 , 0x00 , 0xca , 0x31 , 0xf3 , 0x20 , 0x09 , 0x0 } } ,
{ 0x42 , 0x44 , { 0x107 , 4033 , 100 , 0 , 1 , 0x00 , 0xca , 0x31 , 0xf3 , 0x20 , 0x09 , 0x0 } } ,
{ 0x45 , 0x47 , { 0x108 , 3580 , 100 , 0 , 1 , 0x00 , 0xca , 0x31 , 0xf3 , 0x20 , 0x09 , 0x0 } } ,
{ 0x48 , 0x4a , { 0x10a , 2957 , 100 , 0 , 1 , 0x00 , 0xca , 0x31 , 0xf3 , 0x20 , 0x09 , 0x0 } } ,
{ 0x4b , 0x4c , { 0x10b , 2724 , 100 , 0 , 1 , 0x00 , 0xca , 0x31 , 0xf3 , 0x20 , 0x09 , 0x0 } } ,
{ 0x4d , 0x4e , { 0x10c , 2530 , 100 , 0 , 1 , 0x00 , 0xca , 0x31 , 0xf3 , 0x20 , 0x09 , 0x0 } } ,
{ 0x4f , 0x51 , { 0x10d , 2166 , 100 , 0 , 1 , 0x00 , 0xca , 0x31 , 0xf3 , 0x20 , 0x09 , 0x0 } } ,
{ 0x52 , 0x6c , { 0x109 , 1825 , 100 , 0 , 1 , 0x00 , 0xca , 0x31 , 0xf3 , 0x20 , 0x09 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_6f [ ] = { /* Shanai */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x041 , 6946 , 100 , 0 , 1 , 0x00 , 0xc4 , 0x31 , 0x95 , 0x20 , 0x09 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_70 [ ] = { /* Tinkle Bell */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x73 , { 0x0f3 , 1821 , 100 , 0 , 3 , 0x00 , 0xc8 , 0x3b , 0xd6 , 0x25 , 0x25 , 0x0 } } ,
{ 0x00 , 0x7f , { 0x137 , 5669 , 100 , 0 , 3 , 0x00 , 0x66 , 0x3b , 0xf5 , 0x18 , 0x08 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_71 [ ] = { /* Agogo */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x74 , { 0x00b , 2474 , 100 , 0 , 0 , 0x00 , 0xd2 , 0x38 , 0xf0 , 0x00 , 0x09 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_72 [ ] = { /* Steel Drums */
2005-04-17 02:20:36 +04:00
{ 0x01 , 0x7f , { 0x0fe , 3670 , 100 , 0 , 0 , 0x00 , 0xca , 0x38 , 0xf3 , 0x06 , 0x17 , 0x1 } } ,
{ 0x15 , 0x6c , { 0x100 , 9602 , 100 , 0 , 0 , 0x00 , 0x54 , 0x38 , 0xb0 , 0x05 , 0x16 , 0x1 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_73 [ ] = { /* Woodblock */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x02c , 2963 , 50 , 0 , 0 , 0x07 , 0xd4 , 0x00 , 0xf0 , 0x00 , 0x09 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_74 [ ] = { /* Taiko Drum */
2005-04-17 02:20:36 +04:00
{ 0x13 , 0x6c , { 0x03e , 1194 , 50 , 0 , 0 , 0x00 , 0xaa , 0x38 , 0xf0 , 0x04 , 0x04 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_75 [ ] = { /* Melodic Tom */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x0c7 , 6418 , 50 , 0 , 0 , 0x00 , 0xe4 , 0x38 , 0xf0 , 0x05 , 0x01 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_76 [ ] = { /* Synth Drum */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x026 , 3898 , 50 , 0 , 0 , 0x00 , 0xd0 , 0x38 , 0xf0 , 0x04 , 0x04 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_77 [ ] = { /* Reverse Cymbal */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x031 , 4138 , 50 , 0 , 0 , 0x00 , 0xfe , 0x38 , 0x3a , 0xf0 , 0x09 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_78 [ ] = { /* Guitar Fret Noise */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x138 , 5266 , 100 , 0 , 0 , 0x00 , 0xa0 , 0x38 , 0xf0 , 0x00 , 0x09 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_79 [ ] = { /* Breath Noise */
2005-04-17 02:20:36 +04:00
{ 0x01 , 0x7f , { 0x125 , 4269 , 100 , 0 , 0 , 0x1e , 0xd0 , 0x38 , 0xf0 , 0x00 , 0x09 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_7a [ ] = { /* Seashore */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x008 , 2965 , 20 , - 2 , 0 , 0x00 , 0xfe , 0x00 , 0x20 , 0x03 , 0x04 , 0x0 } } ,
{ 0x01 , 0x7f , { 0x037 , 4394 , 20 , 2 , 0 , 0x14 , 0xfe , 0x00 , 0x20 , 0x04 , 0x05 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_7b [ ] = { /* Bird Tweet */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x009 , 8078 , 5 , - 4 , 7 , 0x00 , 0xc2 , 0x0f , 0x22 , 0x12 , 0x07 , 0x0 } } ,
{ 0x15 , 0x6c , { 0x009 , 3583 , 5 , 4 , 5 , 0x00 , 0xae , 0x15 , 0x72 , 0x12 , 0x07 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_7c [ ] = { /* Telephone Ring */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x003 , 3602 , 10 , 0 , 0 , 0x00 , 0xce , 0x00 , 0xf0 , 0x00 , 0x0f , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_7d [ ] = { /* Helicopter */
2005-04-17 02:20:36 +04:00
{ 0x0c , 0x7f , { 0x001 , 2965 , 10 , - 2 , 0 , 0x00 , 0xe0 , 0x08 , 0x30 , 0x01 , 0x07 , 0x0 } } ,
{ 0x01 , 0x7f , { 0x037 , 4394 , 10 , 2 , 0 , 0x44 , 0x76 , 0x00 , 0x30 , 0x01 , 0x07 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_7e [ ] = { /* Applause */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x036 , 8273 , 20 , - 6 , 7 , 0x00 , 0xc4 , 0x0f , 0x70 , 0x01 , 0x05 , 0x0 } } ,
{ 0x15 , 0x6c , { 0x036 , 8115 , 5 , 6 , 7 , 0x00 , 0xc6 , 0x07 , 0x70 , 0x01 , 0x05 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_7f [ ] = { /* Gun Shot */
2005-04-17 02:20:36 +04:00
{ 0x15 , 0x6c , { 0x139 , 2858 , 20 , 0 , 0 , 0x00 , 0xbe , 0x38 , 0xf0 , 0x03 , 0x00 , 0x0 } }
} ;
2005-11-17 16:13:47 +03:00
static const struct opl4_region regions_drums [ ] = {
2005-04-17 02:20:36 +04:00
{ 0x18 , 0x18 , { 0x0cb , 6397 , 100 , 3 , 0 , 0x00 , 0xf4 , 0x38 , 0xc9 , 0x1c , 0x0c , 0x0 } } ,
{ 0x19 , 0x19 , { 0x0c4 , 3714 , 100 , 0 , 0 , 0x00 , 0xe0 , 0x00 , 0x97 , 0x19 , 0x09 , 0x0 } } ,
{ 0x1a , 0x1a , { 0x0c4 , 3519 , 100 , 0 , 0 , 0x00 , 0xea , 0x00 , 0x61 , 0x01 , 0x07 , 0x0 } } ,
{ 0x1b , 0x1b , { 0x0c4 , 3586 , 100 , 0 , 0 , 0x00 , 0xea , 0x00 , 0xf7 , 0x19 , 0x09 , 0x0 } } ,
{ 0x1c , 0x1c , { 0x0c4 , 3586 , 100 , 0 , 0 , 0x00 , 0xea , 0x00 , 0x81 , 0x01 , 0x07 , 0x0 } } ,
{ 0x1e , 0x1e , { 0x0c3 , 4783 , 100 , 0 , 0 , 0x00 , 0xea , 0x00 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x1f , 0x1f , { 0x0d1 , 4042 , 100 , 0 , 0 , 0x00 , 0xd6 , 0x00 , 0xf0 , 0x05 , 0x05 , 0x0 } } ,
{ 0x20 , 0x20 , { 0x0d2 , 5943 , 100 , 0 , 0 , 0x00 , 0xcc , 0x00 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x21 , 0x21 , { 0x011 , 3842 , 100 , 0 , 0 , 0x00 , 0xea , 0x00 , 0xf0 , 0x16 , 0x06 , 0x0 } } ,
{ 0x23 , 0x23 , { 0x011 , 4098 , 100 , 0 , 0 , 0x00 , 0xea , 0x00 , 0xf0 , 0x16 , 0x06 , 0x0 } } ,
{ 0x24 , 0x24 , { 0x011 , 4370 , 100 , 0 , 0 , 0x00 , 0xea , 0x00 , 0xf0 , 0x00 , 0x06 , 0x0 } } ,
{ 0x25 , 0x25 , { 0x0d2 , 4404 , 100 , 0 , 0 , 0x00 , 0xd6 , 0x00 , 0xf0 , 0x00 , 0x06 , 0x0 } } ,
{ 0x26 , 0x26 , { 0x0d1 , 4298 , 100 , 0 , 0 , 0x00 , 0xd6 , 0x00 , 0xf0 , 0x05 , 0x05 , 0x0 } } ,
{ 0x27 , 0x27 , { 0x00a , 4403 , 100 , - 1 , 0 , 0x00 , 0xd6 , 0x00 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x28 , 0x28 , { 0x0d1 , 4554 , 100 , 0 , 0 , 0x00 , 0xdc , 0x00 , 0xf0 , 0x07 , 0x07 , 0x0 } } ,
{ 0x29 , 0x29 , { 0x0c8 , 4242 , 100 , - 4 , 0 , 0x00 , 0xd6 , 0x00 , 0xf6 , 0x16 , 0x06 , 0x0 } } ,
{ 0x2a , 0x2a , { 0x079 , 6160 , 100 , 2 , 0 , 0x00 , 0xe0 , 0x00 , 0xf5 , 0x19 , 0x09 , 0x0 } } ,
{ 0x2b , 0x2b , { 0x0c8 , 4626 , 100 , - 3 , 0 , 0x00 , 0xd6 , 0x00 , 0xf6 , 0x16 , 0x06 , 0x0 } } ,
{ 0x2c , 0x2c , { 0x07b , 6039 , 100 , 2 , 0 , 0x00 , 0xd6 , 0x00 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x2d , 0x2d , { 0x0c8 , 5394 , 100 , - 2 , 0 , 0x00 , 0xd6 , 0x00 , 0xf6 , 0x16 , 0x06 , 0x0 } } ,
{ 0x2e , 0x2e , { 0x07a , 5690 , 100 , 2 , 0 , 0x00 , 0xd6 , 0x00 , 0xf0 , 0x00 , 0x05 , 0x0 } } ,
{ 0x2f , 0x2f , { 0x0c7 , 5185 , 100 , 2 , 0 , 0x00 , 0xe0 , 0x00 , 0xf6 , 0x17 , 0x07 , 0x0 } } ,
{ 0x30 , 0x30 , { 0x0c7 , 5650 , 100 , 3 , 0 , 0x00 , 0xe0 , 0x00 , 0xf6 , 0x17 , 0x07 , 0x0 } } ,
{ 0x31 , 0x31 , { 0x031 , 4395 , 100 , 2 , 0 , 0x00 , 0xea , 0x00 , 0xf0 , 0x05 , 0x05 , 0x0 } } ,
{ 0x32 , 0x32 , { 0x0c7 , 6162 , 100 , 4 , 0 , 0x00 , 0xe0 , 0x00 , 0xf6 , 0x17 , 0x07 , 0x0 } } ,
{ 0x33 , 0x33 , { 0x02e , 4391 , 100 , - 2 , 0 , 0x00 , 0xea , 0x00 , 0xf0 , 0x05 , 0x05 , 0x0 } } ,
{ 0x34 , 0x34 , { 0x07a , 3009 , 100 , - 2 , 0 , 0x00 , 0xea , 0x00 , 0xf2 , 0x15 , 0x05 , 0x0 } } ,
{ 0x35 , 0x35 , { 0x021 , 4522 , 100 , - 3 , 0 , 0x00 , 0xd6 , 0x00 , 0xf0 , 0x05 , 0x05 , 0x0 } } ,
{ 0x36 , 0x36 , { 0x025 , 5163 , 100 , 1 , 0 , 0x00 , 0xe0 , 0x00 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x37 , 0x37 , { 0x031 , 5287 , 100 , - 1 , 0 , 0x00 , 0xea , 0x00 , 0xf5 , 0x16 , 0x06 , 0x0 } } ,
{ 0x38 , 0x38 , { 0x01d , 4395 , 100 , 2 , 0 , 0x00 , 0xe0 , 0x00 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x39 , 0x39 , { 0x031 , 4647 , 100 , - 2 , 0 , 0x00 , 0xea , 0x00 , 0xf4 , 0x16 , 0x06 , 0x0 } } ,
{ 0x3a , 0x3a , { 0x09d , 4426 , 100 , - 4 , 0 , 0x00 , 0xe0 , 0x00 , 0xf4 , 0x17 , 0x07 , 0x0 } } ,
{ 0x3b , 0x3b , { 0x02e , 4659 , 100 , - 2 , 0 , 0x00 , 0xea , 0x00 , 0xf0 , 0x06 , 0x06 , 0x0 } } ,
{ 0x3c , 0x3c , { 0x01c , 4769 , 100 , 4 , 0 , 0x00 , 0xea , 0x00 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x3d , 0x3d , { 0x01c , 4611 , 100 , 4 , 0 , 0x00 , 0xea , 0x00 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x3e , 0x3e , { 0x01e , 4402 , 100 , - 3 , 0 , 0x00 , 0xea , 0x00 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x3f , 0x3f , { 0x01f , 4387 , 100 , - 3 , 0 , 0x00 , 0xea , 0x00 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x40 , 0x40 , { 0x01f , 3983 , 100 , - 2 , 0 , 0x00 , 0xea , 0x00 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x41 , 0x41 , { 0x09c , 4526 , 100 , 2 , 0 , 0x00 , 0xea , 0x00 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x42 , 0x42 , { 0x09c , 4016 , 100 , 2 , 0 , 0x00 , 0xea , 0x00 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x43 , 0x43 , { 0x00b , 4739 , 100 , - 4 , 0 , 0x00 , 0xea , 0x00 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x44 , 0x44 , { 0x00b , 4179 , 100 , - 4 , 0 , 0x00 , 0xea , 0x00 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x45 , 0x45 , { 0x02f , 4787 , 100 , - 4 , 0 , 0x00 , 0xd6 , 0x00 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x46 , 0x46 , { 0x030 , 4665 , 100 , - 4 , 0 , 0x00 , 0xd6 , 0x00 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x47 , 0x47 , { 0x144 , 4519 , 100 , 4 , 0 , 0x00 , 0xea , 0x00 , 0xf0 , 0x00 , 0x0b , 0x0 } } ,
{ 0x48 , 0x48 , { 0x144 , 4111 , 100 , 4 , 0 , 0x00 , 0xea , 0x00 , 0xf0 , 0x00 , 0x0b , 0x0 } } ,
{ 0x49 , 0x49 , { 0x024 , 6408 , 100 , 3 , 0 , 0x00 , 0xe0 , 0x00 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x4a , 0x4a , { 0x024 , 4144 , 100 , 3 , 0 , 0x00 , 0xcc , 0x00 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x4b , 0x4b , { 0x020 , 4001 , 100 , 2 , 0 , 0x00 , 0xe0 , 0x00 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x4c , 0x4c , { 0x02c , 4402 , 100 , 4 , 0 , 0x00 , 0xea , 0x00 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x4d , 0x4d , { 0x02c , 3612 , 100 , 4 , 0 , 0x00 , 0xea , 0x00 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x4e , 0x4e , { 0x022 , 4129 , 100 , - 2 , 0 , 0x00 , 0xea , 0x00 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x4f , 0x4f , { 0x023 , 4147 , 100 , - 2 , 0 , 0x00 , 0xea , 0x00 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x50 , 0x50 , { 0x032 , 4412 , 100 , - 4 , 0 , 0x00 , 0xd6 , 0x00 , 0xf0 , 0x08 , 0x09 , 0x0 } } ,
{ 0x51 , 0x51 , { 0x032 , 4385 , 100 , - 4 , 0 , 0x00 , 0xd6 , 0x00 , 0xf0 , 0x00 , 0x09 , 0x0 } } ,
{ 0x52 , 0x52 , { 0x02f , 5935 , 100 , - 1 , 0 , 0x00 , 0xd6 , 0x00 , 0xf0 , 0x00 , 0x09 , 0x0 } }
} ;
# define REGION(num) { ARRAY_SIZE(regions ## num), regions ## num }
2005-11-17 16:13:47 +03:00
const struct opl4_region_ptr snd_yrw801_regions [ 0x81 ] = {
2005-04-17 02:20:36 +04:00
REGION ( _00 ) , REGION ( _01 ) , REGION ( _02 ) , REGION ( _03 ) ,
REGION ( _04 ) , REGION ( _05 ) , REGION ( _06 ) , REGION ( _07 ) ,
REGION ( _08 ) , REGION ( _09 ) , REGION ( _0a ) , REGION ( _0b ) ,
REGION ( _0c ) , REGION ( _0d ) , REGION ( _0e ) , REGION ( _0f ) ,
REGION ( _10 ) , REGION ( _11 ) , REGION ( _12 ) , REGION ( _13 ) ,
REGION ( _14 ) , REGION ( _15 ) , REGION ( _16 ) , REGION ( _17 ) ,
REGION ( _18 ) , REGION ( _19 ) , REGION ( _1a ) , REGION ( _1b ) ,
REGION ( _1c ) , REGION ( _1d ) , REGION ( _1e ) , REGION ( _1f ) ,
REGION ( _20 ) , REGION ( _21 ) , REGION ( _22 ) , REGION ( _23 ) ,
REGION ( _24 ) , REGION ( _25 ) , REGION ( _26 ) , REGION ( _27 ) ,
REGION ( _28 ) , REGION ( _29 ) , REGION ( _2a ) , REGION ( _2b ) ,
REGION ( _2c ) , REGION ( _2d ) , REGION ( _2e ) , REGION ( _2f ) ,
REGION ( _30 ) , REGION ( _31 ) , REGION ( _32 ) , REGION ( _33 ) ,
REGION ( _34 ) , REGION ( _35 ) , REGION ( _36 ) , REGION ( _37 ) ,
REGION ( _38 ) , REGION ( _39 ) , REGION ( _3a ) , REGION ( _3b ) ,
REGION ( _3c ) , REGION ( _3d ) , REGION ( _3e ) , REGION ( _3f ) ,
REGION ( _40 ) , REGION ( _41 ) , REGION ( _42 ) , REGION ( _43 ) ,
REGION ( _44 ) , REGION ( _45 ) , REGION ( _46 ) , REGION ( _47 ) ,
REGION ( _48 ) , REGION ( _49 ) , REGION ( _4a ) , REGION ( _4b ) ,
REGION ( _4c ) , REGION ( _4d ) , REGION ( _4e ) , REGION ( _4f ) ,
REGION ( _50 ) , REGION ( _51 ) , REGION ( _52 ) , REGION ( _53 ) ,
REGION ( _54 ) , REGION ( _55 ) , REGION ( _56 ) , REGION ( _57 ) ,
REGION ( _58 ) , REGION ( _59 ) , REGION ( _5a ) , REGION ( _5b ) ,
REGION ( _5c ) , REGION ( _5d ) , REGION ( _5e ) , REGION ( _5f ) ,
REGION ( _60 ) , REGION ( _61 ) , REGION ( _62 ) , REGION ( _63 ) ,
REGION ( _64 ) , REGION ( _65 ) , REGION ( _66 ) , REGION ( _67 ) ,
REGION ( _68 ) , REGION ( _69 ) , REGION ( _6a ) , REGION ( _6b ) ,
REGION ( _6c ) , REGION ( _6d ) , REGION ( _6e ) , REGION ( _6f ) ,
REGION ( _70 ) , REGION ( _71 ) , REGION ( _72 ) , REGION ( _73 ) ,
REGION ( _74 ) , REGION ( _75 ) , REGION ( _76 ) , REGION ( _77 ) ,
REGION ( _78 ) , REGION ( _79 ) , REGION ( _7a ) , REGION ( _7b ) ,
REGION ( _7c ) , REGION ( _7d ) , REGION ( _7e ) , REGION ( _7f ) ,
REGION ( _drums )
} ;