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

📄 draw_logo.lst

📁 action mp3 devo,eki e,eikf, kdife l
💻 LST
📖 第 1 页 / 共 2 页
字号:
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       12/Apr/106  09:56:18 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d35f\ap\ap_main\draw_logo.c               #
#       List file     =  d:\case_i_d35f\ap\ap_main\list\draw_logo.lst        #
#       Object file   =  d:\case_i_d35f\ap\ap_main\release\obj\draw_logo.r01 #
#       Command line  =  -v0 -mb -OD:\case_i_d35f\ap\ap_main\release\Obj\    #
#                        -e -K -w -gA -s9 -RCODE -r0 -DNAPDEBUG              #
#                        -LD:\case_i_d35f\ap\ap_main\List\ -q -t8 -X         #
#                        -Id:\sdk_i_35f\inc\ -Id:\case_i_d35f\inc\           #
#                        d:\case_i_d35f\AP\AP_MAIN\draw_logo.c               #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    draw_logo(17)
   \   0000                    RSEG    CODE(0)
   \   0000                    RSEG    CSTR(0)
   \   0000                    RSEG    CONST(0)
   \   0000                    EXTERN  ClearScreen
   \   0000                    EXTERN  ResClose
   \   0000                    EXTERN  ResOpen
   \   0000                    EXTERN  ResShowLogo
   \   0000                    EXTERN  ResShowString
   \   0000                    EXTERN  UpdateScreen
   \   0000                    EXTERN  ap_get_message
   \   0000                    EXTERN  ap_sleep
   \   0000                    PUBLIC  convert_bmp
   \   0000                    PUBLIC  draw_logo
   \   0000                    PUBLIC  draw_staff
   \   0000                    PUBLIC  draw_system_logo
   \   0000                    PUBLIC  draw_user_logo
   \   0000                    EXTERN  res_fp
   \   0000                    EXTERN  sKY_OpenBacklight
   \   0000                    PUBLIC  staff
   \   0000                    EXTERN  ui_auto_update
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?SS_DIV_L02
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_FAST_LEAVE_L08
   \   0000                    RSEG    CODE
   \   0000            convert_bmp:
      1          /*
      2          *******************************************************************************
      3          *                ACTOS AP
      4          *        main ap of sdk 3.0
      5          *
      6          *        (c) Copyright, Actions Co,Ld.                             
      7          *             All Right Reserved                          
      8          *
      9          *******************************************************************************
     10          */ 
     11          #include "actos.h"
     12          #include "ap_common.h"
     13          
     14          extern comval_t g_comval;  //use at:"sKY_SetBLightColor(g_comval.BLightColor);"add by ccm
     15          
     16          //char logo_buf[512];
     17          //char file_buf[512];
     18          
     19          /* 使用 logo.res, id: 1~14
     20          const WORD system_logo[] = 
     21          {
     22              BOOT1, BOOT2, BOOT3, BOOT4, BOOT5, BOOT6, BOOT7,
     23              BOOT8, BOOT9, BOOT10, BOOT11, BOOT12, BOOT13, BOOT14
     24          };
     25          */
     26          const WORD staff[] = 
     27          {
     28              STAFF1, STAFF2, STAFF3, STAFF4, STAFF5, STAFF6, 
     29              STAFF7, STAFF8, STAFF9, STAFF10, STAFF11, STAFF12
     30          };
     31          
     32          /*
     33          ********************************************************************************
     34          * Description : todo
     35          *
     36          * Arguments   :
     37          *
     38          * Returns     :
     39          *
     40          * Notes       :
     41                  convert file_buf -> logo_buf
     42          *
     43          ********************************************************************************
     44          */
     45          void convert_bmp(int width)
     46          {
   \   0000  D5                PUSH    DE
     47          }
   \   0001  E1                POP     HL
   \   0002  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0005            draw_user_logo:
     48          /*
     49          ********************************************************************************
     50          * Description : todo
     51          *
     52          * Arguments   :
     53          *
     54          * Returns     :
     55          *
     56          * Notes       :
     57                  read logo.bmp
     58                  width = 128
     59                  height = n*32
     60          *
     61          ********************************************************************************
     62          */
     63          BOOL draw_user_logo(BOOL wait_key_up)
     64          {
   \   0005  C5                PUSH    BC
   \   0006  FDE5              PUSH    IY
   \   0008  DDE5              PUSH    IX
   \   000A  D5                PUSH    DE
     65              int i;
     66              int height;
     67          
     68              //check if user file exist
     69              return FALSE;
   \   000B  2E00              LD      L,0
     70              
     71              //read bmp header
     72          
     73              //parse format
     74          
     75              for(i=0; i<height/32; i++)
   \   000D            ?0003:
   \   000D            ?0004:
     76              {
     77                  //read bit stream
     78          
     79                  //convert it
     80          
     81                  //show it    
     82              }
     83          }
   \   000D            ?0002:
   \   000D            ?0006:
   \   000D            ?0052:
   \   000D  F1                POP     AF
   \   000E  DDE1              POP     IX
   \   0010  FDE1              POP     IY
   \   0012  C1                POP     BC
   \   0013  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0016            draw_system_logo:
     84          /*
     85          ********************************************************************************
     86          * Description : 显示系统开机动画
     87          *
     88          * Arguments   : wait_key_up, 是否要等待按键
     89          *
     90          * Returns     : TRUE, 正常
     91                  FALSE, 资源文件格式错误
     92          *
     93          * Notes       :
     94          *
     95          ********************************************************************************
     96          */
     97          BOOL draw_system_logo(BOOL wait_key_up)
     98          {
   \   0016  C5                PUSH    BC
   \   0017  FDE5              PUSH    IY
   \   0019  DDE5              PUSH    IX
   \   001B  D5                PUSH    DE
   \   001C  F5                PUSH    AF
   \   001D  F5                PUSH    AF
     99              int i;
    100              int result;
    101              //int logo_num = sizeof(system_logo)/sizeof(system_logo[0]);
    102              WORD timer;
    103              BOOL need_wait_keyup=wait_key_up;
    104              char key;
    105          
    106              //use logo.res
    107              ResClose(res_fp);
   \   001E  ED5B0000          LD      DE,(res_fp)
   \   0022  3E00              LD      A,BYTE3 ResClose
   \   0024  210000            LD      HL,LWRD ResClose
   \   0027  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    108                  res_fp = ResOpen("logo.res");
   \   002A  110000            LD      DE,?0007
   \   002D  3E00              LD      A,BYTE3 ResOpen
   \   002F  210000            LD      HL,LWRD ResOpen
   \   0032  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0035  220000            LD      (res_fp),HL
    109                  ASSERT( res_fp != NULL);
    110              
    111              for(i=1; i<=14; i++)
   \   0038  210100            LD      HL,1
   \   003B  39                ADD     HL,SP
   \   003C  E5                PUSH    HL
   \   003D  23                INC     HL
   \   003E  23                INC     HL
   \   003F  23                INC     HL
   \   0040  46                LD      B,(HL)
   \   0041  E1                POP     HL
   \   0042  70                LD      (HL),B
   \   0043  FD210100          LD      IY,1
   \   0047            ?0009:
   \   0047  FDE5              PUSH    IY
   \   0049  C1                POP     BC
   \   004A  210E00            LD      HL,14
   \   004D  F680              OR      128
   \   004F  ED42              SBC     HL,BC
   \   0051  E25500            JP      PO,?0048
   \   0054  AC                XOR     H
   \   0055            ?0048:
   \   0055  FA9A00            JP      M,?0008
   \   0058            ?0010:
    112              {
    113                  result = ResShowLogo(i);
   \   0058  FDE5              PUSH    IY
   \   005A  D1                POP     DE
   \   005B  3E00              LD      A,BYTE3 ResShowLogo
   \   005D  210000            LD      HL,LWRD ResShowLogo
   \   0060  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0063  4D                LD      C,L
   \   0064  44                LD      B,H
    114                  
    115                  //sKY_SetBLightColor((i-1)/2);  //变换7彩背光颜色值(变换14次:"(i-1)%7" ; 7次:"(i-1)/2")。 for s2 by ccm
    116                  sKY_OpenBacklight();          //点亮"(i-1)%7"对应的彩色背光.for s2 by ccm
   \   0065  CD0000            CALL    LWRD sKY_OpenBacklight
    117                  
    118                  if(result == 0)
   \   0068  79                LD      A,C
   \   0069  B0                OR      B
   \   006A  2003              JR      NZ,?0013
   \   006C            ?0012:
    119                  {
    120                      //sKY_SetBLightColor(g_comval.BLightColor);  //退出前恢复系统设置的背光颜色。for s2 add by ccm
    121                          
    122                      return FALSE;    //format error
   \   006C  6F                LD      L,A
    123                  }
   \   006D  1863              JR      ?0030
   \   006F            ?0013:
    124          
    125                  //result = ap_sleep(1);
    126                  //if(result != 0) return TRUE;    //user press keys
    127          
    128                  //software timer
    129                  timer = 6000;
   \   006F  DD217017          LD      IX,6000
   \   0073            ?0015:
    130                  while(--timer > 0)
   \   0073  DD2B              DEC     IX
   \   0075  DDE5              PUSH    IX
   \   0077  E1                POP     HL
   \   0078  7D                LD      A,L
   \   0079  B4                OR      H
   \   007A  2813              JR      Z,?0014
   \   007C            ?0016:
    131                  {
    132                      key = ap_get_message();
   \   007C  CD0000            CALL    LWRD ap_get_message
   \   007F  210000            LD      HL,0
   \   0082  39                ADD     HL,SP
   \   0083  77                LD      (HL),A
    133          
    134                      //check key up
    135                      if( (key & AP_KEY_UP) != 0 )
   \   0084  CB6E              BIT     5,(HL)
   \   0086  28EB              JR      Z,?0015
   \   0088            ?0017:
    136                      {
    137                          need_wait_keyup = FALSE;
   \   0088  23                INC     HL
   \   0089  3600              LD      (HL),0
    138          
    139                          //user press mode to skip
    140                          if(key == (AP_KEY_MODE | AP_KEY_UP)) break;
   \   008B  FE30              CP      48
   \   008D  20E4              JR      NZ,?0015

⌨️ 快捷键说明

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