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

📄 maresmgr.h

📁 是一个手机功能的模拟程序
💻 H
字号:
/****************************************************************************
 *																			*
 *		Copyright (C) 2001-2003 YAMAHA CORPORATION. All rights reserved.	*
 *																			*
 *		Module		: maresmgr.h											*
 *																			*
 *		Description	: MA Resource Manager									*
 *																			*
 * 		Version		: 1.3.15.3	2003.03.17									*
 *																			*
 ****************************************************************************/

#ifndef __MARESMGR_H__
#define __MARESMGR_H__


#include "mamachdep.h"
#include "madebug.h"
#include "madevdrv.h"
#include "madefs.h"


#define MA_CH_MAP_MASK		(0x0000FFFF)	/* Channel */
#define MA_FM_MAP_MASK		(0xFFFFFFFF)	/* FM voice */
#define MA_WT_MAP_MASK		(0x000000FF)	/* WT voice */
#define MA_RB_MAP_MASK		(0x000000FF)	/* RAM block */
#define MA_TM_MAP_MASK		(0x00000007)	/* Timer */
#define MA_SI_MAP_MASK		(0x0000000F)	/* Software Interrupt */
#define MA_SA_MAP_MASK		(0x00000003)	/* Stream Audio */
#define MA_LD_MAP_MASK		(0x00000001)	/* LED */
#define MA_MT_MAP_MASK		(0x00000001)	/* Motor */
#define MA_SQ_MAP_MASK		(0x00000003)	/* Sequencer */

#define MASMW_MAX_WAVEID	(31)			/* maximum value of wave id */


typedef struct _MA_STREAM
{
	UINT8	format;							/* wave format */
	UINT8 *	wave_ptr;						/* pointer to the wave data */
	UINT32	wave_size;						/* size of the wave data */
	UINT32	seek_pos;						/* seek point */
} MA_STREAM, * PMA_STREAM;

typedef struct _MA_RESOURCE_INFO
{
	UINT32	ch_map;							/* Channle */
	UINT32	fm_map;							/* FM voice */
	UINT32	wt_map;							/* WT voice */
	UINT32	tm_map;							/* Timer */
	UINT32	si_map;							/* Software interrupt */
	UINT32	sa_map;							/* Stream audio */
	UINT32	rb_map;							/* RAM block */
	UINT32	ld_map;							/* Led */
	UINT32	mt_map;							/* Motor */
	UINT32	sq_map;							/* Sequencer */
	MA_STREAM	stream_audio[MA_MAX_REG_STREAM_AUDIO];

} MA_RESOURCE_INFO, * PMA_RESOURCE_INFO;


PMA_RESOURCE_INFO MaResMgr_GetResourceInfo( void );

SINT32	MaResMgr_Initialize			( void );

SINT32	MaResMgr_GetDefWaveAddress	( UINT8 wave_id );
SINT32	MaResMgr_GetDefVoiceAddress	( UINT8 prog );
SINT32	MaResMgr_GetDefVoiceSynth	( UINT8 prog );
SINT32	MaResMgr_GetDefVoiceKey		( UINT8 prog );
SINT32	MaResMgr_GetStreamAudioInfo	( UINT8 wave_id, UINT8 * format, UINT8 ** wave_ptr, UINT32 * wave_size, UINT32 * seek_pos );
SINT32	MaResMgr_RegStreamAudio		( UINT8 wave_id, UINT8 format, UINT8 * wave_ptr, UINT32 wave_size );
SINT32	MaResMgr_DelStreamAudio		( UINT8 wave_id );
SINT32	MaResMgr_SetStreamSeekPos	( UINT8 wave_id, UINT32 seek_pos );

SINT32	MaResMgr_AllocStreamAudio	( UINT32 sa_map );
SINT32	MaResMgr_FreeStreamAudio	( UINT32 sa_map );
SINT32	MaResMgr_AllocCh			( UINT32 ch_map );
SINT32 	MaResMgr_FreeCh				( UINT32 ch_map );
SINT32	MaResMgr_AllocRam			( UINT32 rb_map );
SINT32 	MaResMgr_FreeRam			( UINT32 rb_map );
SINT32 	MaResMgr_AllocFmVoice		( UINT32 fm_map );
SINT32	MaResMgr_FreeFmVoice		( UINT32 fm_map );
SINT32	MaResMgr_AllocWtVoice		( UINT32 wt_map );
SINT32 	MaResMgr_FreeWtVoice		( UINT32 wt_map );
SINT32 	MaResMgr_AllocSoftInt		( UINT32 si_map );
SINT32 	MaResMgr_FreeSoftInt		( UINT32 si_map );
SINT32 	MaResMgr_AllocLed			( UINT32 ld_map );
SINT32 	MaResMgr_FreeLed			( UINT32 ld_map );
SINT32 	MaResMgr_AllocMotor			( UINT32 mt_map );
SINT32 	MaResMgr_FreeMotor			( UINT32 mt_map );
SINT32 	MaResMgr_AllocTimer			( UINT8 timer_id, UINT8 base_time, UINT8 time_count, UINT8 mode, UINT8 one_shot );
SINT32 	MaResMgr_FreeTimer			( UINT8 timer_id );
SINT32	MaResMgr_AllocSequencer		( UINT8 seq_id, UINT16 base_time );
SINT32	MaResMgr_FreeSequencer		( UINT8 seq_id );


#endif /*__MARESMGR_H__*/

⌨️ 快捷键说明

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