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

📄 blndma.c

📁 凌阳32位单片机开发的小游戏
💻 C
📖 第 1 页 / 共 4 页
字号:
	*P_BLNDMA_TRANSPARENT=color_key;	*P_BLNDMA_ADDR_MODE=(*P_BLNDMA_ADDR_MODE|0x00010101);	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_linear2linear_BlendwithDest                * *                                                                        * *  Purposes:                                                             * *      								  								  * *  Descriptions:                                                         * *                                                                        * *  Arguments:                                                            * *      src_addr      : source 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_BlendwithDest(						U32 src_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=src_addr;	*P_BLNDMA_SRCB_ADDR=dest_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_BlendwithDest                 * *                                                                        * *  Purposes:                                                             * *      								  								  * *  Descriptions:                                                         * *                                                                        * *  Arguments:                                                            * *      src_addr      : source 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_BlendwithDest(						U32 src_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=src_addr;	*P_BLNDMA_BBASE_ADDR=dest_base_addr;	*P_BLNDMA_BOFFSET_XY=(dest_offset_y<<16)+dest_offset_x;	*P_BLNDMA_B_BG=(dest_bg_heigh<<8)+dest_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;	*P_BLNDMA_TRANSPARENT=color_key;	*P_BLNDMA_ADDR_MODE=((*P_BLNDMA_ADDR_MODE|0x00010100)&0xfffffffe);		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_BlendwithDest                 * *                                                                        * *  Purposes:                                                             * *      								  								  * *  Descriptions:                                                         * *                                                                        * *  Arguments:                                                            * *      src_base_addr : source base address (28 bits)                     * *		src_offset_x  : (11 bits), maximum = 2048						  * *      src_offset_y  : (11 bits), maximum = 2048                         *  *      dest_addr     : destination address (28 bits)                     * *      src_bg_width  : (3 bits)		             		              * *						0 : 256											  * *						1 : 320								              * *						2 : 512											  * *						3 : 640											  * *						4 : 1024  									      * *						5 : 2048										  * *						6,7 : reserved									  * *      src_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_BlendwithDest(						U32 src_base_addr, 						U32 src_offset_x,						U32 src_offset_y,						U8  src_bg_width,						U8  src_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=src_base_addr;	*P_BLNDMA_AOFFSET_XY=(src_offset_y<<16)+src_offset_x;	*P_BLNDMA_A_BG=(src_bg_heigh<<8)+src_bg_width;				*P_BLNDMA_SRCB_ADDR=dest_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|0x00000001)&0xfffefeff);	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_BlendwithDest                  * *                                                                        * *  Purposes:                                                             * *      								  								  * *  Descriptions:                                                         * *                                                                        * *  Arguments:                                                            * *      src_base_addr : source base address (28 bits)                     * *		src_offset_x  : (11 bits), maximum = 2048						  * *      src_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                         *    *      src_bg_width/dest_bg_width : (3 bits)		                      * *						0 : 256											  * *						1 : 320								              * *						2 : 512											  * *						3 : 640											  * *						4 : 1024  									      * *						5 : 2048										  * *						6,7 : reserved									  * *      src_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_BlendwithDest(						U32 src_base_addr, 						U32 src_offset_x,						U32 src_offset_y,						U8  src_bg_width,						U8  src_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=src_base_addr;	*P_BLNDMA_AOFFSET_XY=(src_offset_y<<16)+src_offset_x;	*P_BLNDMA_A_BG=(src_bg_heigh<<8)+src_bg_width;			*P_BLNDMA_BBASE_ADDR=dest_base_addr;	*P_BLNDMA_BOFFSET_XY=(dest_offset_y<<16)+dest_offset_x;	*P_BLNDMA_B_BG=(dest_bg_heigh<<8)+dest_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;	*P_BLNDMA_TRANSPARENT=color_key;	*P_BLNDMA_ADDR_MODE=(*P_BLNDMA_ADDR_MODE|0x00010101);	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;		}	}*/

⌨️ 快捷键说明

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