;***************************************************************************** ; This file is a base code template for assembley code generation on the 8PE53. ;***************************************************************************** ;* TITLE : ;* REVISION : ;* AUTHOR : ;* COMPANY : ;* DATE : ;* CHIP :8PE53 ;* CONFIG : ;***************************************************************************** ;---------------Include files Segment----------------------------------------- #include <8PE53.ASH> ;---------------Custom define segment----------------------------------------- RG_INT_ACCTMP REG 0x10 ;example register definition RG_INT_STATMP REG 0x11 ;example register definition RG_INT_PCHTMP REG 0x12 ;example register definition ;--- RG_TEMP REG 0x13 ;example register definition RG_COUNT0 REG 0x15 RG_COUNT1 REG 0x16 RG_COUNT2 REG 0x17 RG_COUNT3 REG 0x18 ;---------------vaule segment------------------------------------------------- EQ_AAA EQU 0x55 ;example value definition ;---------------Program segment----------------------------------------------- ORG 0x000 ;---------------Software Interrupt Vector segment----------------------------- ORG 0x002 ;Software INT vector ;Software interrupt program is written here. ;---------------Hardware Interrupt Vector segment----------------------------- ORG 0x008 ;Hardware INT vector MOVAR RG_INT_ACCTMP SWAPR STATUS,A MOVAR RG_INT_STATMP SWAPR PCHBUF,A MOVAR RG_INT_PCHTMP ;Save ACC STATUS PCHBUF template code ;--- INCR RG_COUNT0, 1;Increament RGCOUNT0 BTRSC STATUS, 2;Test STATUS Z bit INCR RG_COUNT1, 1;If RG_COUNT0 is verflow, increse RG_COUNT1 ANDIA 0X04 ;--- MOVIA 0X00 ;Hardware interrupt program is written here. MOVAR INTFLAG;Clear interrupt FLA FLAG ;--- INT_EXIT: SWAPR RG_INT_PCHTMP,A MOVAR PCHBUF SWAPR RG_INT_STATMP,A MOVAR STATUS SWAPR RG_INT_ACCTMP,R SWAPR RG_INT_ACCTMP,A RETFIE ;Restore ACC STATUS PCHBUF template code ;--------------------init--------------------- INIT: CLRA MOVAR PORTB MOVIA 0X00 IOST PORTB ;Set PortB to output mode, IOB3 is input only MOVIA 0X00 OPTION ;Use internel clock source MOVIA 0X81 MOVAR INTEN;Enable time0 intr CLRA MOVAR RG_COUNT0;Init counter MOVAR RG_COUNT1 MOVAR RG_COUNT2 MOVAR RG_COUNT3 GOTO MAIN ;---------------------main-------------------- MAIN: BTRSS RG_COUNT0, 0 GOTO INIT GOTO MAIN ;---------------MCU Boot/Reset Vector segment--------------------------------- ORG 0x3FF ;MCU reset vector GOTO INIT
用DDraw封装的一个GradEffect函数,初始化一个DDraw对象,CreateOffScreenSuface创建几个离屏页面,目的在于做效果,这里是800*480的,用了7个离屏页面,接着创建一个源页面和目标页面,SrcSurface和DestSurface,分别将传过来的两张要做效果的图放在这两个离屏页面上,利用
g_DDraw.DrawImageToSurface(pDDS1,&rcDest,SrcSurface,&rcSrc);
函数,将源页面缩小到rcSrc后画到离屏页面中,可以缩小三次,一次缩小(25,15),第四次将目标页面
g_DDraw.DrawImageToSurface(pDDS4,&rcMin,DestSurface,&rcDest);
从rcDest(0,0,800,480)画到rcMin区域中,这时再将源页面和离屏页面混合
g_DDraw.AlphaBltSurface(pDDS4,&rcDest,SrcSurface,&rcSrcRc,80);
这里的80就是混合值,接着把目标页面放大两次到离屏页面中,再把所有的源页面、目标页面和离屏页面恢复到800*480。
先说Tornado服务器开启gzip压缩,很简单,查阅文档http://www.tornadoweb.org/documentation/web.html?highlight=gzip可知只需配置gzip=True即可。
再来说HttpClient开启gzip压缩,网上有很多资料,经过实践都不靠谱,靠谱的做法是为HttpClient添加两个Interceptor,一个是RequestInterceptor,负责
发送数据时压缩数据,另外一个是ResponseInterceptor,负责接收数据时解压缩数据。这个靠谱的做法来自apache官方的源代码,可以直接谷歌搜索“ClientGZipContentCompression.java”。