draw_logo.lst

来自「MP3 整个 SDK」· LST 代码 · 共 433 行 · 第 1/2 页

LST
433
字号
   \   0068  44                LD      B,H
    112          
    113                  //sKY_SetBLightColor((i-1)/2);  //变换7彩背光颜色值(变换14次:"(i-1)%7" ; 7次:"(i-1)/2")。 for s2 by ccm
    114                  sKY_OpenBacklight();          //点亮"(i-1)%7"对应的彩色背光.for s2 by ccm
   \   0069  CD0000            CALL    LWRD sKY_OpenBacklight
    115          
    116                  if(result == 0)
   \   006C  79                LD      A,C
   \   006D  B0                OR      B
   \   006E  282B              JR      Z,?0008
   \   0070            ?0012:
    117                  {
    118                      //sKY_SetBLightColor(g_comval.BLightColor);  //退出前恢复系统设置的背光颜色。for s2 add by ccm
    119                      break;
   \   0070            ?0013:
    120                     // return FALSE;    //format error
    121                  }
    122          
    123                  //result = ap_sleep(1);
    124                  //if(result != 0) return TRUE;    //user press keys
    125          
    126                  //software timer
    127                  timer = 6000;
   \   0070  DD217017          LD      IX,6000
   \   0074            ?0015:
    128                  while(--timer > 0)
   \   0074  DD2B              DEC     IX
   \   0076  DDE5              PUSH    IX
   \   0078  E1                POP     HL
   \   0079  7D                LD      A,L
   \   007A  B4                OR      H
   \   007B  2813              JR      Z,?0014
   \   007D            ?0016:
    129                  {
    130                      key = ap_get_message();
   \   007D  CD0000            CALL    LWRD ap_get_message
   \   0080  210000            LD      HL,0
   \   0083  39                ADD     HL,SP
   \   0084  77                LD      (HL),A
    131          
    132                      //check key up
    133                      if( (key & AP_KEY_UP) != 0 )
   \   0085  CB6E              BIT     5,(HL)
   \   0087  28EB              JR      Z,?0015
   \   0089            ?0017:
    134                      {
    135                          need_wait_keyup = FALSE;
   \   0089  23                INC     HL
   \   008A  3600              LD      (HL),0
    136          
    137                          //user press mode to skip
    138                          if(key == (AP_KEY_MODE | AP_KEY_UP)) break;
   \   008C  FE30              CP      48
   \   008E  20E4              JR      NZ,?0015
   \   0090            ?0019:
   \   0090            ?0020:
   \   0090            ?0018:
   \   0090            ?0014:
    139                      }
    140                  }
    141                  if(timer != 0) break;    //user skip
   \   0090  DDE5              PUSH    IX
   \   0092  E1                POP     HL
   \   0093  7D                LD      A,L
   \   0094  B4                OR      H
   \   0095  2004              JR      NZ,?0008
   \   0097            ?0021:
   \   0097            ?0022:
   \   0097  FD23              INC     IY
   \   0099  18AC              JR      ?0009
   \   009B            ?0008:
    142              }
    143          
    144              //use ui30.res
    145               ResClose(res_fp);
   \   009B  ED5B0000          LD      DE,(res_fp)
   \   009F  3E00              LD      A,BYTE3 ResClose
   \   00A1  210000            LD      HL,LWRD ResClose
   \   00A4  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    146               res_fp = ResOpen("ui30.res");
   \   00A7  110900            LD      DE,?0023
   \   00AA  3E00              LD      A,BYTE3 ResOpen
   \   00AC  210000            LD      HL,LWRD ResOpen
   \   00AF  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   00B2  220000            LD      (res_fp),HL
    147               ASSERT( res_fp != NULL);
    148          
    149              //wait for key up
    150              if(need_wait_keyup)
   \   00B5  210100            LD      HL,1
   \   00B8  39                ADD     HL,SP
   \   00B9  AF                XOR     A
   \   00BA  B6                OR      (HL)
   \   00BB  2809              JR      Z,?0025
   \   00BD            ?0024:
   \   00BD            ?0027:
    151              {
    152                  while((ap_get_message() & AP_KEY_UP) == 0) {;}
   \   00BD  CD0000            CALL    LWRD ap_get_message
   \   00C0  CB6F              BIT     5,A
   \   00C2  200D              JR      NZ,?0029
   \   00C4            ?0028:
    153              }
   \   00C4  18F7              JR      ?0024
   \   00C6            ?0026:
   \   00C6            ?0025:
    154              else ap_sleep(2);
   \   00C6  110200            LD      DE,2
   \   00C9  3E00              LD      A,BYTE3 ap_sleep
   \   00CB  210000            LD      HL,LWRD ap_sleep
   \   00CE  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   00D1            ?0029:
    155          
    156              //sKY_SetBLightColor(g_comval.BLightColor);  //恢复系统设置的背光颜色。for s2 add by ccm
    157          
    158              return TRUE;
   \   00D1  2E01              LD      L,1
    159          }
   \   00D3  F1                POP     AF
   \   00D4  F1                POP     AF
   \   00D5  C30D00            JP      LWRD ?0042
   \   00D8            draw_logo:
    160          /*
    161          ********************************************************************************
    162          * Description : 按照以下优先级, 显示系统开机画面
    163                  1. 用户自定义动画
    164                  2. 系统开机动画
    165                  3. 系统开机画面
    166          *
    167          * Arguments   : wait_key_up, 是否要等待按键
    168          *
    169          * Returns     :
    170          *
    171          * Notes       :
    172          *
    173          ********************************************************************************
    174          */
    175          void draw_logo(BOOL wait_key_up)
    176          {
   \   00D8  D5                PUSH    DE
    177          
    178              //try to show user logo
    179              if(draw_user_logo(wait_key_up)) return;
   \   00D9  3E00              LD      A,BYTE3 draw_user_logo
   \   00DB  210500            LD      HL,LWRD draw_user_logo
   \   00DE  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   00E1  2C                INC     L
   \   00E2  2D                DEC     L
   \   00E3  201A              JR      NZ,?0034
   \   00E5            ?0030:
   \   00E5            ?0031:
    180          
    181              //try to show system logo
    182              else if(draw_system_logo(wait_key_up)) return;
   \   00E5  65                LD      H,L
   \   00E6  39                ADD     HL,SP
   \   00E7  5E                LD      E,(HL)
   \   00E8  3E00              LD      A,BYTE3 draw_system_logo
   \   00EA  211600            LD      HL,LWRD draw_system_logo
   \   00ED  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   00F0  2C                INC     L
   \   00F1  2D                DEC     L
   \   00F2  200B              JR      NZ,?0034
   \   00F4            ?0032:
    183          
    184              //try to show BOOTLOGO
    185              else
   \   00F4            ?0033:
    186              {
    187          //        ResShowLogo_1(BOOTLOGO,0,16);
    188                  ap_sleep(2);
   \   00F4  110200            LD      DE,2
   \   00F7  3E00              LD      A,BYTE3 ap_sleep
   \   00F9  210000            LD      HL,LWRD ap_sleep
   \   00FC  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    189              }
    190          }
   \   00FF            ?0034:
   \   00FF  E1                POP     HL
   \   0100  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0103            draw_staff:
    191          /*
    192          ********************************************************************************
    193          * Description : 显示制作人员信息
    194          *
    195          * Arguments   :
    196          *
    197          * Returns     :
    198          *
    199          * Notes       :
    200          *
    201          ********************************************************************************
    202          */
    203          void draw_staff(void)
    204          {
    205          
    206          }
   \   0103  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0000                    RSEG    CSTR
   \   0000            ?0007:
   \   0000  6C6F676F          DEFB    'logo.res'
   \   0004  2E726573
   \   0008  00                DEFB    0
   \   0009            ?0023:
   \   0009  75693330          DEFB    'ui30.res'
   \   000D  2E726573
   \   0011  00                DEFB    0
   \   0012                    END

Errors: none
Warnings: none
Code size: 262
Constant size: 18
Static variable size: Data(0) Iram(0)

⌨️ 快捷键说明

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