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

📄 blndma.c

📁 凌阳32位单片机开发的小游戏
💻 C
📖 第 1 页 / 共 4 页
字号:
	*P_BLNDMA_DBASE_ADDR=dest_base_addr;	*P_BLNDMA_DOFFSET_XY=(dest_offset_y<<16)+dest_offset_x;	*P_BLNDMA_D_BG=(dest_bg_heigh<<8)+dest_bg_width;		*P_BLNDMA_WIDTH_HEIGH=(trans_heigh<<16)+trans_width;	*P_BLNDMA_CONTROL_2=(color_mode<<8)+alpha;		*P_BLNDMA_ADDR_MODE=(*P_BLNDMA_ADDR_MODE|0x00010100);		if (mode==0)	{		*P_BLNDMA_IRQ_CONTROL=0x00000000;		*P_BLNDMA_CONTROL_1=0x01000004;				//		while (*P_BLNDMA_IRQ_CONTROL==0x00000100)
//		{
//			print1("BLNDMA Busy\n");
//		}
	}		if (mode==1)	{		*P_BLNDMA_IRQ_CONTROL=0x00010000;		*P_BLNDMA_CONTROL_1=0x01000004;		}		}*//************************************************************************** *                                                                        * *  Function Name: BlnDmaStart_linear2linear_Blend                        * *                                                                        * *  Purposes:                                                             * *      								  								  * *  Descriptions:                                                         * *                                                                        * *  Arguments:                                                            * *      srca_addr     : source A address (28 bits)                        * *      srcb_addr     : source B address (28 bits)                        * *      dest_addr     : destination address (28 bits)                     * *      trans_width   : transfer width, maximum = 2048                    * *      trans_heigh   : transfer heigh, maximum = 2048                    * *      blend_mode    : (0:+, 1:-)										  * *      blend_a_factor: (6 bits)										  * *      blend_b_factor: (6 bits)										  * *      color_mode    : (0:rgb-565, 1:argb-1555)                          * *      alpha         : (1 bit)                                           * *      transparent_mode  :  (0:disable, 1:enable)                        * *      color_key     : (16 bits)                     					  *  *      mode          : (0:polling mode, 1:interrupt mode)                * *              							  							  * *  Returns:                                                              * *                                                                        * *  See also:                                                             * *                                                                        * **************************************************************************//* void BlnDmaStart_linear2linear_Blend(						U32 srca_addr, 						U32 srcb_addr, 						U32 dest_addr, 						U32 trans_width, 						U32 trans_heigh,						U8  blend_mode,						U8  blend_a_factor,						U8  blend_b_factor, 						U8  color_mode,						U8  alpha,						U8  transparent_mode, 						U32 color_key,  						U8  mode						) {	*P_BLNDMA_SRCA_ADDR=srca_addr;	*P_BLNDMA_SRCB_ADDR=srcb_addr;	*P_BLNDMA_DEST_ADDR=dest_addr;	*P_BLNDMA_WIDTH_HEIGH=(trans_heigh<<16)+trans_width;	*P_BLNDMA_BLEND_FACTOR=(blend_b_factor<<8)+blend_a_factor;	*P_BLNDMA_CONTROL_2=(color_mode<<8)+alpha;	*P_BLNDMA_TRANSPARENT=color_key;	*P_BLNDMA_ADDR_MODE=(*P_BLNDMA_ADDR_MODE&0xfffefefe);	if (mode==0)	{		*P_BLNDMA_IRQ_CONTROL=0x00000000;		*P_BLNDMA_CONTROL_1=(transparent_mode<<16)+(blend_mode<<8)+0x01000002;						while (*P_BLNDMA_IRQ_CONTROL==0x00000100)		{//			print1("BLNDMA Busy\n");		}	}		if (mode==1)	{		*P_BLNDMA_IRQ_CONTROL=0x00010000;		*P_BLNDMA_CONTROL_1=(transparent_mode<<16)+(blend_mode<<8)+0x01000002;		}	}*//************************************************************************** *                                                                        * *  Function Name: BlnDmaStart_linear2block_Blend                         * *                                                                        * *  Purposes:                                                             * *      								  								  * *  Descriptions:                                                         * *                                                                        * *  Arguments:                                                            * *      srca_addr     : source A address (28 bits)                        * *      srcb_addr     : source B address (28 bits)                        * *      dest_base_addr     : destination base address (28 bits)           * *		dest_offset_x : (11 bits), maximum = 2048						  * *      dest_offset_y : (11 bits), maximum = 2048                         *  *      dest_bg_width : (3 bits)		  					              * *						0 : 256											  * *						1 : 320								              * *						2 : 512											  * *						3 : 640											  * *						4 : 1024  									      * *						5 : 2048										  * *						6,7 : reserved									  * *      dest_bg_heigh : (3 bits)							              * *						0 : 240											  * *						1 : 256								              * *						2 : 480											  * *						3 : 512											  * *						4 : 1024  									      * *						5 : 2048										  * *						6,7 : reserved									  * *      trans_width   : transfer width, maximum = 2048                    * *      trans_heigh   : transfer heigh, maximum = 2048                    * *      blend_mode    : (0:+, 1:-)										  * *      blend_a_factor: (6 bits)										  * *      blend_b_factor: (6 bits)										  * *      color_mode    : (0:rgb-565, 1:argb-1555)                          * *      alpha         : (1 bit)                                           * *      transparent_mode  :  (0:disable, 1:enable)                        * *      color_key     : (16 bits)                     					  *  *      mode          : (0:polling mode, 1:interrupt mode)                * *              							  							  * *  Returns:                                                              * *                                                                        * *  See also:                                                             * *                                                                        * **************************************************************************//* void BlnDmaStart_linear2block_Blend(						U32 srca_addr, 						U32 srcb_addr,						U32 dest_base_addr, 						U32 dest_offset_x,						U32 dest_offset_y,						U8  dest_bg_width,						U8  dest_bg_heigh,   						U32 trans_width, 						U32 trans_heigh,						U8  blend_mode,						U8  blend_a_factor,						U8  blend_b_factor, 						U8  color_mode,						U8  alpha,						U8  transparent_mode, 						U32 color_key,  						U8  mode						) {	*P_BLNDMA_SRCA_ADDR=srca_addr;	*P_BLNDMA_SRCB_ADDR=srcb_addr;	*P_BLNDMA_DBASE_ADDR=dest_base_addr;	*P_BLNDMA_DOFFSET_XY=(dest_offset_y<<16)+dest_offset_x;	*P_BLNDMA_D_BG=(dest_bg_heigh<<8)+dest_bg_width;			*P_BLNDMA_WIDTH_HEIGH=(trans_heigh<<16)+trans_width;	*P_BLNDMA_BLEND_FACTOR=(blend_b_factor<<8)+blend_a_factor;	*P_BLNDMA_CONTROL_2=(color_mode<<8)+alpha;	*P_BLNDMA_TRANSPARENT=color_key;	*P_BLNDMA_ADDR_MODE=((*P_BLNDMA_ADDR_MODE|0x00010000)&0xfffffefe);		if (mode==0)	{		*P_BLNDMA_IRQ_CONTROL=0x00000000;		*P_BLNDMA_CONTROL_1=(transparent_mode<<16)+(blend_mode<<8)+0x01000002;				//		while (*P_BLNDMA_IRQ_CONTROL==0x00000100)
//		{
//			print1("BLNDMA Busy\n");
//		}
	}		if (mode==1)	{		*P_BLNDMA_IRQ_CONTROL=0x00010000;		*P_BLNDMA_CONTROL_1=(transparent_mode<<16)+(blend_mode<<8)+0x01000002;		}	}*//************************************************************************** *                                                                        * *  Function Name: BlnDmaStart_block2linear_Blend                         * *                                                                        * *  Purposes:                                                             * *      								  								  * *  Descriptions:                                                         * *                                                                        * *  Arguments:                                                            * *      srca_base_addr: source A base address (28 bits)                   * *		srca_offset_x : (11 bits), maximum = 2048						  * *      srca_offset_y : (11 bits), maximum = 2048                         *  *      srcb_base_addr: source B base address (28 bits)                   * *		srcb_offset_x : (11 bits), maximum = 2048						  * *      srcb_offset_y : (11 bits), maximum = 2048                         *   *      dest_addr     : destination address (28 bits)                     * *      srca_bg_width/srcb_bg_width : (3 bits)		  		              * *						0 : 256											  * *						1 : 320								              * *						2 : 512											  * *						3 : 640											  * *						4 : 1024  									      * *						5 : 2048										  * *						6,7 : reserved									  * *      srca_bg_heigh/srcb_bg_heigh : (3 bits)				              * *						0 : 240											  * *						1 : 256								              * *						2 : 480											  * *						3 : 512											  * *						4 : 1024  									      * *						5 : 2048										  * *						6,7 : reserved									  * *      trans_width   : transfer width, maximum = 2048                    * *      trans_heigh   : transfer heigh, maximum = 2048                    * *      blend_mode    : (0:+, 1:-)										  * *      blend_a_factor: (6 bits)										  * *      blend_b_factor: (6 bits)										  * *      color_mode    : (0:rgb-565, 1:argb-1555)                          * *      alpha         : (1 bit)                                           * *      transparent_mode  :  (0:disable, 1:enable)                        * *      color_key     : (16 bits)                     					  *  *      mode          : (0:polling mode, 1:interrupt mode)                * *              							  							  * *  Returns:                                                              * *                                                                        * *  See also:                                                             * *                                                                        * **************************************************************************//*void BlnDmaStart_block2linear_Blend(						U32 srca_base_addr, 						U32 srca_offset_x,						U32 srca_offset_y,						U8  srca_bg_width,						U8  srca_bg_heigh,  						U32 srcb_base_addr, 						U32 srcb_offset_x,						U32 srcb_offset_y,						U8  srcb_bg_width,						U8  srcb_bg_heigh, 						U32 dest_addr, 						U32 trans_width, 						U32 trans_heigh,						U8  blend_mode,						U8  blend_a_factor,						U8  blend_b_factor, 						U8  color_mode,						U8  alpha,						U8  transparent_mode, 						U32 color_key,  						U8  mode						) {	*P_BLNDMA_ABASE_ADDR=srca_base_addr;	*P_BLNDMA_AOFFSET_XY=(srca_offset_y<<16)+srca_offset_x;	*P_BLNDMA_A_BG=(srca_bg_heigh<<8)+srca_bg_width;			*P_BLNDMA_BBASE_ADDR=srcb_base_addr;	*P_BLNDMA_BOFFSET_XY=(srcb_offset_y<<16)+srcb_offset_x;	*P_BLNDMA_B_BG=(srcb_bg_heigh<<8)+srcb_bg_width;				*P_BLNDMA_DEST_ADDR=dest_addr;		*P_BLNDMA_WIDTH_HEIGH=(trans_heigh<<16)+trans_width;	*P_BLNDMA_BLEND_FACTOR=(blend_b_factor<<8)+blend_a_factor;	*P_BLNDMA_CONTROL_2=(color_mode<<8)+alpha;	*P_BLNDMA_TRANSPARENT=color_key;	*P_BLNDMA_ADDR_MODE=((*P_BLNDMA_ADDR_MODE|0x00000101)&0xfffeffff);	if (mode==0)	{		*P_BLNDMA_IRQ_CONTROL=0x00000000;		*P_BLNDMA_CONTROL_1=(transparent_mode<<16)+(blend_mode<<8)+0x01000002;				//		while (*P_BLNDMA_IRQ_CONTROL==0x00000100)
//		{
//			print1("BLNDMA Busy\n");
//		}
	}		if (mode==1)	{		*P_BLNDMA_IRQ_CONTROL=0x00010000;		*P_BLNDMA_CONTROL_1=(transparent_mode<<16)+(blend_mode<<8)+0x01000002;		}	}*//************************************************************************** *                                                                        * *  Function Name: BlnDmaStart_block2block_Blend                         * *                                                                        * *  Purposes:                                                             * *      								  								  * *  Descriptions:                                                         * *                                                                        * *  Arguments:                                                            * *      srca_base_addr: source A base address (28 bits)                   * *		srca_offset_x : (11 bits), maximum = 2048						  * *      srca_offset_y : (11 bits), maximum = 2048                         *  *      srcb_base_addr: source B base address (28 bits)                   * *		srcb_offset_x : (11 bits), maximum = 2048						  * *      srcb_offset_y : (11 bits), maximum = 2048                         *  *      dest_base_addr: destination base address (28 bits)                * *		dest_offset_x : (11 bits), maximum = 2048						  * *      dest_offset_y : (11 bits), maximum = 2048                         *    *      srca_bg_width/srcb_bg_width/dest_bg_width : (3 bits)		      * *						0 : 256											  * *						1 : 320								              * *						2 : 512											  * *						3 : 640											  * *						4 : 1024  									      * *						5 : 2048										  * *						6,7 : reserved									  * *      srca_bg_heigh/srcb_bg_heigh/dest_bg_heigh : (3 bits)	          * *						0 : 240											  * *						1 : 256								              * *						2 : 480											  * *						3 : 512											  * *						4 : 1024  									      * *						5 : 2048										  * *						6,7 : reserved									  * *      trans_width   : transfer width, maximum = 2048                    * *      trans_heigh   : transfer heigh, maximum = 2048                    * *      blend_mode    : (0:+, 1:-)										  * *      blend_a_factor: (6 bits)										  * *      blend_b_factor: (6 bits)										  * *      color_mode    : (0:rgb-565, 1:argb-1555)                          * *      alpha         : (1 bit)                                           * *      transparent_mode  :  (0:disable, 1:enable)                        * *      color_key     : (16 bits)                     					  *  *      mode          : (0:polling mode, 1:interrupt mode)                * *              							  							  * *  Returns:                                                              * *                                                                        * *  See also:                                                             * *                                                                        * **************************************************************************//*void BlnDmaStart_block2block_Blend(						U32 srca_base_addr, 						U32 srca_offset_x,						U32 srca_offset_y,						U8  srca_bg_width,						U8  srca_bg_heigh,  						U32 srcb_base_addr, 						U32 srcb_offset_x,						U32 srcb_offset_y,						U8  srcb_bg_width,						U8  srcb_bg_heigh,						U32 dest_base_addr, 						U32 dest_offset_x,						U32 dest_offset_y,						U8  dest_bg_width,						U8  dest_bg_heigh,  						U32 trans_width, 						U32 trans_heigh,						U8  blend_mode,						U8  blend_a_factor,						U8  blend_b_factor, 						U8  color_mode,						U8  alpha,						U8  transparent_mode, 						U32 color_key,  						U8  mode						) {	*P_BLNDMA_ABASE_ADDR=srca_base_addr;	*P_BLNDMA_AOFFSET_XY=(srca_offset_y<<16)+srca_offset_x;	*P_BLNDMA_A_BG=(srca_bg_heigh<<8)+srca_bg_width;			*P_BLNDMA_BBASE_ADDR=srcb_base_addr;	*P_BLNDMA_BOFFSET_XY=(srcb_offset_y<<16)+srcb_offset_x;	*P_BLNDMA_B_BG=(srcb_bg_heigh<<8)+srcb_bg_width;	*P_BLNDMA_DBASE_ADDR=dest_base_addr;	*P_BLNDMA_DOFFSET_XY=(dest_offset_y<<16)+dest_offset_x;	*P_BLNDMA_D_BG=(dest_bg_heigh<<8)+dest_bg_width;						*P_BLNDMA_WIDTH_HEIGH=(trans_heigh<<16)+trans_width;	*P_BLNDMA_BLEND_FACTOR=(blend_b_factor<<8)+blend_a_factor;	*P_BLNDMA_CONTROL_2=(color_mode<<8)+alpha;

⌨️ 快捷键说明

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