⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 matable.h

📁 是一个手机功能的模拟程序
💻 H
📖 第 1 页 / 共 4 页
字号:
/****************************************************************************
 *																			*
 *		Copyright (C) 2001-2002 YAMAHA CORPORATION. All rights reserved.	*
 *																			*
 *		Module		: matable.h												*
 *																			*
 *		Description	: table of data for MA SMW								*
 *																			*
 * 		Version		: 1.3.7.1	2002.08.21									*
 *																			*
 ****************************************************************************/

#ifndef __MATABLE_H__
#define __MATABLE_H__

/* for Create */

static const UINT8 ma_resmode_index[17] = 
	{ 0, 1, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 6 };

static const UINT8 ma_resmode_chnum[7] = { 16,  1,  4,  8, 12, 15, 16 };
static const UINT8 ma_resmode_fmnum[7] = { 16,  1,  4,  8, 12, 15, 16 };
static const UINT8 ma_resmode_wtnum[7] = {  8,  1,  2,  3,  5,  6,  7 };
static const UINT8 ma_resmode_rbnum[7] = {  8,  1,  2,  3,  5,  6,  7 };

static const UINT8 ma_resmode_minslot[2][2][7] =
{
	{										/* delayed */
		{  0,  0,  0,  0,  0,  0,  0 },				/* FM */
		{ 32, 32, 32, 32, 32, 32, 32 }				/* WT */
	},
	{										/* direct */
		{  0, 15, 12,  8,  4,  1,  0 },				/* FM */
		{ 32, 38, 37, 36, 34, 33, 32 }				/* WT */
	}
};

static const UINT8 ma_resmode_maxslot[2][2][7] =
{
	{										/* delayed */
		{ 31,  0,  3,  7, 11, 14, 15 },				/* FM */
		{ 39, 32, 33, 34, 36, 37, 38 }				/* WT */
	},
	{										/* direct */
		{ 31, 15, 15, 15, 15, 15, 15 },				/* FM */
		{ 39, 38, 38, 38, 38, 38, 38 }				/* WT */
	}
};

static const UINT32 ma_resmode_chmap[MASMW_NUM_SEQTYPE][7] =
{
	{ 0x0000FFFF, 0x00000001, 0x0000000F, 0x000000FF, 0x00000FFF, 0x00007FFF, 0x0000FFFF },
	{ 0x0000FFFF, 0x00008000, 0x0000F000, 0x0000FF00, 0x0000FFF0, 0x0000FFFE, 0x0000FFFF },
	{ 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
};
static const UINT32 ma_resmode_fmmap[MASMW_NUM_SEQTYPE][7] =
{
	{ 0x0000FFFF, 0x00000001, 0x0000000F, 0x000000FF, 0x00000FFF, 0x00007FFF, 0x0000FFFF },
	{ 0x0000FFFF, 0x00008000, 0x0000F000, 0x0000FF00, 0x0000FFF0, 0x0000FFFE, 0x0000FFFF },
	{ 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
};
static const UINT32 ma_resmode_wtmap[MASMW_NUM_SEQTYPE][7] =
{
	{ 0x000000FF, 0x00000001, 0x00000003, 0x00000007, 0x0000001F, 0x0000003F, 0x0000007F },
	{ 0x000000FF, 0x00000040, 0x00000060, 0x00000070, 0x0000007C, 0x0000007E, 0x0000007F },
	{ 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
};
static const UINT32 ma_resmode_rbmap[MASMW_NUM_SEQTYPE][7] =
{
	{ 0x000000FF, 0x00000001, 0x00000003, 0x00000007, 0x0000001F, 0x0000003F, 0x0000007F },
	{ 0x000000FF, 0x00000040, 0x00000060, 0x00000070, 0x0000007C, 0x0000007E, 0x0000007F },
	{ 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
};

/* dB table */

static const UINT8	db_table[128] =
{
	192, 168, 144, 130, 120, 112, 106, 101,		/*   0-  7 */
	 96,  92,  88,	85,	 82,  79,  77,	74,		/*   8- 15 */
	 72,  70,  68,	66,	 64,  63,  61,	59,		/*  16- 23 */
	 58,  56,  55,	54,	 53,  51,  50,	49,		/*  24- 31 */
	 48,  47,  46,	45,	 44,  43,  42,	41,		/*  32- 39 */
	 40,  39,  38,	38,	 37,  36,  35,	35,		/*  40- 47 */
	 34,  33,  32,	32,	 31,  30,  30,	29,		/*  48- 55 */
	 28,  28,  27,	27,	 26,  25,  25,	24,		/*  56- 63 */
	 24,  23,  23,	22,	 22,  21,  21,	20,		/*  64- 71 */
	 20,  19,  19,	18,	 18,  17,  17,	16,		/*  72- 79 */
	 16,  16,  15,	15,	 14,  14,  14,	13,		/*  80- 87 */
	 13,  12,  12,	12,	 11,  11,  10,	10,		/*  88- 95 */
	 10,   9,	9,	 9,	  8,   8,	8,	 7,		/*  96-103 */
	  7,   7,	6,	 6,	  6,   5,	5,	 5,		/* 104-111 */
	  4,   4,	4,	 3,	  3,   3,	3,	 2,		/* 112-119 */
	  2,   2,	1,	 1,	  1,   1,	0,	 0		/* 120-127 */
};

/* volume table */

static const UINT8	vol_table[193] =
{
	 127,  123,	 120,  116,	 113,  110,	 107,  104,
	 101,	98,	  95,	93,	  90,	87,	  85,	82,
	  80,	78,	  76,	74,	  71,	69,	  67,	66,
	  64,	62,	  60,	58,	  57,	55,	  54,	52,
	  51,	49,	  48,	46,	  45,	44,	  43,	41,
	  40,	39,	  38,	37,	  36,	35,	  34,	33,
	  32,	31,	  30,	29,	  28,	28,	  27,	26,
	  25,	25,	  24,	23,	  23,	22,	  21,	21,
	  20,	20,	  19,	18,	  18,	17,	  17,	16,
	  16,	16,	  15,	15,	  14,	14,	  13,	13,
	  13,	12,	  12,	12,	  11,	11,	  11,	10,
	  10,	10,	  10,	 9,	   9,	 9,	   8,	 8,
	   8,	 8,	   8,	 7,	   7,	 7,	   7,	 7,
	   6,	 6,	   6,	 6,	   6,	 6,	   5,	 5,
	   5,	 5,	   5,	 5,	   5,	 4,	   4,	 4,
	   4,	 4,	   4,	 4,	   4,	 3,	   3,	 3,
	   3,	 3,	   3,	 3,	   3,	 3,	   3,	 3,
	   3,	 2,	   2,	 2,	   2,	 2,	   2,	 2,
	   2,	 2,	   2,	 2,	   2,	 2,	   2,	 2,
	   2,	 2,	   2,	 1,	   1,	 1,	   1,	 1,
	   1,	 1,	   1,	 1,	   1,	 1,	   1,	 1,
	   1,	 1,	   1,	 1,	   1,	 1,	   1,	 1,
	   1,	 1,	   1,	 1,	   1,	 1,	   1,	 1,
	   1,	 1,	   1,	 1,	   1,	 1,	   1,	 1,
	   0
};

static const UINT16 ma_timebase[18] = {			/* 1ms, ..., 18ms */
	0x0360, 0x06C0, 0x0A20, 0x0D80, 0x10E0, 0x1440, 0x17A0, 0x1B00, 0x1E60,
	0x21C0, 0x2520, 0x2880, 0x2BE0, 0x2F40, 0x32A0, 0x3600, 0x3960, 0x3CC0
};

/* FM Block & Fnum */

static const UINT16 ma_fm_block_100[128] =
{
	0x0433, 0x043E, 0x0449, 0x0454, 0x0461, 0x046E, 0x047D, 0x080D,
	0x081C, 0x082D, 0x083F, 0x0850, 0x0866, 0x087A, 0x0C12, 0x0C28,
	0x0C42, 0x0C5C, 0x0C79, 0x1017, 0x1038, 0x1059, 0x107C, 0x1423,
	0x144A, 0x1476, 0x1822, 0x1852, 0x1C04, 0x1C3B, 0x1C73, 0x1097,
	0x10B7, 0x10D8, 0x10FD, 0x14A2, 0x14CA, 0x14F5, 0x18A1, 0x18D2,
	0x1C84, 0x1CB9, 0x1CF2, 0x1117, 0x1137, 0x1158, 0x117C, 0x1522,
	0x154A, 0x1575, 0x1922, 0x1951, 0x1D04, 0x1D39, 0x1D72, 0x1197,
	0x11B7, 0x11D8, 0x11FC, 0x15A2, 0x15CA, 0x15F5, 0x19A2, 0x19D1,
	0x1D84, 0x1DB9, 0x1DF2, 0x1217, 0x1237, 0x1258, 0x127C, 0x1622,
	0x164A, 0x1674, 0x1A22, 0x1A51, 0x1E04, 0x1E39, 0x1E72, 0x1297,
	0x12B7, 0x12D8, 0x12FC, 0x16A2, 0x16CA, 0x16F4, 0x1AA2, 0x1AD1,
	0x1E84, 0x1EB9, 0x1EF2, 0x1317, 0x1337, 0x1358, 0x137C, 0x1722,
	0x174A, 0x1774, 0x1B22, 0x1B51, 0x1F04, 0x1F39, 0x1F72, 0x1397,
	0x13B7, 0x13D8, 0x13FC, 0x17A2, 0x17CA, 0x17F4, 0x1BA2, 0x1BD1,
	0x1F84, 0x1FB9, 0x1FF2, 0x1397, 0x13B7, 0x13D8, 0x13FC, 0x17A2,
	0x17CA, 0x17F4, 0x1BA1, 0x1BD1, 0x1F84, 0x1FB9, 0x1FF2, 0x1397
};

static const UINT16 ma_fm_block_50a[128] =
{
	0x10A7, 0x10B7, 0x10C7, 0x10D9, 0x10EA, 0x10FC, 0x148F, 0x14A2,
	0x14B6, 0x14CA, 0x14DF, 0x14F5, 0x188B, 0x18A2, 0x18B9, 0x18D1,
	0x18EA, 0x1C84, 0x1C9E, 0x1CB9, 0x1CD5, 0x1CF2, 0x1108, 0x1117,
	0x1127, 0x1137, 0x1147, 0x1158, 0x116A, 0x117C, 0x150F, 0x1522,
	0x1536, 0x154A, 0x155F, 0x1575, 0x190B, 0x1922, 0x1939, 0x1951,
	0x196A, 0x1D04, 0x1D1E, 0x1D39, 0x1D55, 0x1D72, 0x1188, 0x1197,
	0x11A6, 0x11B7, 0x11C7, 0x11D8, 0x11EA, 0x11FC, 0x158F, 0x15A2,
	0x15B6, 0x15CA, 0x15DF, 0x15F4, 0x198B, 0x19A1, 0x19B9, 0x19D1,
	0x19EA, 0x1D84, 0x1D9E, 0x1DB9, 0x1DD5, 0x1DF2, 0x1208, 0x1217,
	0x1226, 0x1237, 0x1247, 0x1258, 0x126A, 0x127C, 0x160F, 0x1622,
	0x1636, 0x164A, 0x165F, 0x1674, 0x1A0B, 0x1A21, 0x1A39, 0x1A51,
	0x1A6A, 0x1E04, 0x1E1E, 0x1E39, 0x1E55, 0x1E72, 0x1287, 0x1297,
	0x12A6, 0x12B7, 0x12C7, 0x12D8, 0x12EA, 0x12FC, 0x168F, 0x16A2,
	0x16B6, 0x16CA, 0x16DF, 0x16F4, 0x1A8B, 0x1AA1, 0x1AB9, 0x1AD1,
	0x1AEA, 0x1E84, 0x1E9E, 0x1EB9, 0x1ED5, 0x1EF2, 0x1307, 0x1317,
	0x1326, 0x1337, 0x1347, 0x1358, 0x136A, 0x137C, 0x170F, 0x1722
};

static const UINT16 ma_fm_block_50b[128] =
{
	0x0848, 0x0851, 0x085B, 0x0865, 0x0870, 0x087A, 0x0C06, 0x0C11,
	0x0C1D, 0x0C29, 0x0C35, 0x0C42, 0x0C4F, 0x0C5D, 0x0C6B, 0x0C79,
	0x1008, 0x1017, 0x1027, 0x1037, 0x1048, 0x1059, 0x106A, 0x107C,
	0x140F, 0x1422, 0x1436, 0x144A, 0x145F, 0x1475, 0x180B, 0x1822,
	0x1839, 0x1852, 0x186A, 0x1C04, 0x1C1E, 0x1C3A, 0x1C56, 0x1C72,
	0x1088, 0x1097, 0x10A7, 0x10B7, 0x10C7, 0x10D8, 0x10EA, 0x10FC,
	0x148F, 0x14A2, 0x14B6, 0x14CA, 0x14DF, 0x14F5, 0x188B, 0x18A2,
	0x18B9, 0x18D1, 0x18EA, 0x1C84, 0x1C9E, 0x1CB9, 0x1CD5, 0x1CF2,
	0x1108, 0x1117, 0x1127, 0x1137, 0x1147, 0x1158, 0x116A, 0x117C,
	0x150F, 0x1522, 0x1536, 0x154A, 0x155F, 0x1575, 0x190B, 0x1922,
	0x1939, 0x1951, 0x196A, 0x1D04, 0x1D1E, 0x1D39, 0x1D55, 0x1D72,
	0x1188, 0x1197, 0x11A6, 0x11B7, 0x11C7, 0x11D8, 0x11EA, 0x11FC,
	0x158F, 0x15A2, 0x15B6, 0x15CA, 0x15DF, 0x15F4, 0x198B, 0x19A1,
	0x19B9, 0x19D1, 0x19EA, 0x1D84, 0x1D9E, 0x1DB9, 0x1DD5, 0x1DF2,
	0x1207, 0x1217, 0x1226, 0x1237, 0x1247, 0x1258, 0x126A, 0x127C,
	0x160F, 0x1622, 0x1636, 0x164A, 0x165F, 0x1674, 0x1A0B, 0x1A21
};

static const UINT16 ma_fm_block_50c[128] =
{
	0x1839, 0x1852, 0x186B, 0x1C04, 0x1C1F, 0x1C3A, 0x1C56, 0x1C72,
	0x1088, 0x1097, 0x10A7, 0x10B7, 0x10C7, 0x10D9, 0x10EA, 0x10FC,
	0x148F, 0x14A2, 0x14B6, 0x14CA, 0x14DF, 0x14F5, 0x188B, 0x18A2,
	0x18B9, 0x18D1, 0x18EA, 0x1C84, 0x1C9E, 0x1CB9, 0x1CD5, 0x1CF2,
	0x1108, 0x1117, 0x1127, 0x1137, 0x1147, 0x1158, 0x116A, 0x117C,
	0x150F, 0x1522, 0x1536, 0x154A, 0x155F, 0x1575, 0x190B, 0x1922,
	0x1939, 0x1951, 0x196A, 0x1D04, 0x1D1E, 0x1D39, 0x1D55, 0x1D72,
	0x1188, 0x1197, 0x11A6, 0x11B7, 0x11C7, 0x11D8, 0x11EA, 0x11FC,
	0x158F, 0x15A2, 0x15B6, 0x15CA, 0x15DF, 0x15F5, 0x198B, 0x19A2,
	0x19B9, 0x19D1, 0x19EA, 0x1D84, 0x1D9E, 0x1DB9, 0x1DD5, 0x1DF2,
	0x1208, 0x1217, 0x1226, 0x1237, 0x1247, 0x1258, 0x126A, 0x127C,
	0x160F, 0x1622, 0x1636, 0x164A, 0x165F, 0x1674, 0x1A0B, 0x1A21,
	0x1A39, 0x1A51, 0x1A6A, 0x1E04, 0x1E1E, 0x1E39, 0x1E55, 0x1E72,
	0x1288, 0x1297, 0x12A6, 0x12B7, 0x12C7, 0x12D8, 0x12EA, 0x12FC,
	0x168F, 0x16A2, 0x16B6, 0x16CA, 0x16DF, 0x16F4, 0x1A8B, 0x1AA1,
	0x1AB9, 0x1AD1, 0x1AEA, 0x1E84, 0x1E9E, 0x1EB9, 0x1ED5, 0x1EF2
};

static const UINT16 ma_fm_block_50[128] =
{
	0x148F, 0x14A2, 0x14B6, 0x14CA, 0x14DF, 0x14F5, 0x188B, 0x18A2,
	0x18B9, 0x18D1, 0x18EA, 0x1C84, 0x1C9E, 0x1CB9, 0x1CD5, 0x1CF2,
	0x1108, 0x1117, 0x1127, 0x1137, 0x1147, 0x1158, 0x116A, 0x117C,
	0x150F, 0x1522, 0x1536, 0x154A, 0x155F, 0x1575, 0x190B, 0x1922,
	0x1939, 0x1951, 0x196A, 0x1D04, 0x1D1E, 0x1D39, 0x1D55, 0x1D72,
	0x1188, 0x1197, 0x11A6, 0x11B7, 0x11C7, 0x11D8, 0x11EA, 0x11FC,
	0x158F, 0x15A2, 0x15B6, 0x15CA, 0x15DF, 0x15F4, 0x198B, 0x19A1,
	0x19B9, 0x19D1, 0x19EA, 0x1D84, 0x1D9E, 0x1DB9, 0x1DD5, 0x1DF2,
	0x1207, 0x1217, 0x1226, 0x1237, 0x1247, 0x1258, 0x126A, 0x127C,
	0x160F, 0x1622, 0x1636, 0x164A, 0x165F, 0x1674, 0x1A0B, 0x1A21,
	0x1A39, 0x1A51, 0x1A6A, 0x1E04, 0x1E1E, 0x1E39, 0x1E55, 0x1E72,
	0x1287, 0x1297, 0x12A6, 0x12B7, 0x12C7, 0x12D8, 0x12EA, 0x12FC,
	0x168F, 0x16A2, 0x16B6, 0x16CA, 0x16DF, 0x16F4, 0x1A8B, 0x1AA1,
	0x1AB9, 0x1AD1, 0x1AEA, 0x1E84, 0x1E9E, 0x1EB9, 0x1ED5, 0x1EF2,
	0x1307, 0x1317, 0x1326, 0x1337, 0x1347, 0x1358, 0x136A, 0x137C,
	0x170F, 0x1722, 0x1736, 0x174A, 0x175F, 0x1774, 0x1B0B, 0x1B21
};

static const UINT16 ma_fm_block_20[128] =
{
	0x119D, 0x11A3, 0x11AA, 0x11B0, 0x11B7, 0x11BD, 0x11C4, 0x11CB,
	0x11D1, 0x11D8, 0x11DF, 0x11E6, 0x11ED, 0x11F5, 0x11FC, 0x1583,
	0x158B, 0x1592, 0x159A, 0x15A2, 0x15AA, 0x15B2, 0x15BA, 0x15C2,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -