ui_stop.lst

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

LST
978
字号
   \   01FA  E5                PUSH    HL
   \   01FB  010002            LD      BC,512
   \   01FE  110000            LD      DE,g_comval
   \   0201  CD0000            CALL    LWRD VMRead
   \   0204  E1                POP     HL
    138                         g_comval.LightTime = 0;
   \   0205  AF                XOR     A
   \   0206  320900            LD      (g_comval+9),A
    139                         SetContrast(g_comval.DisplayContrast);
   \   0209  ED5B0800          LD      DE,(g_comval+8)
   \   020D  CD0000            CALL    LWRD SetContrast
    140                         ap_message_init(&g_comval);
   \   0210  110000            LD      DE,g_comval
   \   0213  CD2C01            CALL    LWRD ?0141
    141                         SetBackgdColor(Color_BLACK_def);
   \   0216  010000            LD      BC,0
   \   0219  59                LD      E,C
   \   021A  50                LD      D,B
   \   021B  CD0000            CALL    LWRD SetBackgdColor
    142                         g_result = ui_play();
   \   021E  3E00              LD      A,BYTE3 ui_play
   \   0220  210000            LD      HL,LWRD ui_play
   \   0223  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0226  220000            LD      (g_result),HL
    143                         SetBackgdColor(Color_MENU_def);
   \   0229  010000            LD      BC,0
   \   022C  11C0FC            LD      DE,64704
   \   022F  CD0000            CALL    LWRD SetBackgdColor
    144                         VMRead(& g_comval, VM_SYSTEM, sizeof(g_comval));
   \   0232  212000            LD      HL,32
   \   0235  E5                PUSH    HL
   \   0236  010002            LD      BC,512
   \   0239  110000            LD      DE,g_comval
   \   023C  CD0000            CALL    LWRD VMRead
   \   023F  E1                POP     HL
    145                         ap_message_init(&g_comval);
   \   0240  110000            LD      DE,g_comval
   \   0243  CD2C01            CALL    LWRD ?0141
    146                      }                        
    147          /////////////////////////////////////////////               
    148                     //安装驱动
    149           
    150                      if(g_comval.langid == 0)    //简体
   \   0246  3A0C00            LD      A,(g_comval+12)
   \   0249  B7                OR      A
   \   024A  200E              JR      NZ,?0035
   \   024C            ?0034:
    151                       {
    152                        if(!DRV_Install("UI_S0724.DRV",1)) while(1) {;}
   \   024C  010100            LD      BC,1
   \   024F  110000            LD      DE,?0038
   \   0252  CD0000            CALL    LWRD DRV_Install
   \   0255  B7                OR      A
   \   0256  2033              JR      NZ,?0062
   \   0258            ?0036:
   \   0258            ?0040:
    153                       }
   \   0258  18FE              JR      ?0036
   \   025A            ?0037:
   \   025A            ?0035:
    154                      else if(g_comval.langid == 2)    //繁体
   \   025A  3D                DEC     A
   \   025B  3D                DEC     A
   \   025C  200E              JR      NZ,?0044
   \   025E            ?0043:
    155                       {
    156                        if(!DRV_Install("UI_T0724.DRV",1)) while(1) {;}
   \   025E  010100            LD      BC,1
   \   0261  110D00            LD      DE,?0047
   \   0264  CD0000            CALL    LWRD DRV_Install
   \   0267  B7                OR      A
   \   0268  2021              JR      NZ,?0062
   \   026A            ?0045:
   \   026A            ?0049:
    157                       }
   \   026A  18FE              JR      ?0045
   \   026C            ?0046:
   \   026C            ?0044:
    158                       else if(g_comval.langid == LAN_ID_ENGLISH)   //LAN_ID_ENGLISH=1: EN ASCII & Latin1. add by ccm
   \   026C  3A0C00            LD      A,(g_comval+12)
   \   026F  3D                DEC     A
   \   0270  010100            LD      BC,1
   \   0273  200B              JR      NZ,?0053
   \   0275            ?0052:
    159                       {
    160                        if(!DRV_Install("UI_L0724.DRV",1)) while(1) {;}  //UI_L0724.DRV->ASCII & Latin1 Driver.
   \   0275  111A00            LD      DE,?0056
   \   0278  CD0000            CALL    LWRD DRV_Install
   \   027B  B7                OR      A
   \   027C  200D              JR      NZ,?0062
   \   027E            ?0054:
   \   027E            ?0058:
    161                       }
   \   027E  18FE              JR      ?0054
   \   0280            ?0055:
    162           
    163                      else                //其他
   \   0280            ?0053:
    164                       {
    165                         if(!DRV_Install("UI_S0724.DRV",1)) while(1) {;}
   \   0280  110000            LD      DE,?0038
   \   0283  CD0000            CALL    LWRD DRV_Install
   \   0286  B7                OR      A
   \   0287  2002              JR      NZ,?0062
   \   0289            ?0061:
   \   0289            ?0064:
    166                       }
   \   0289  18FE              JR      ?0061
   \   028B            ?0062:
   \   028B            ?0060:
   \   028B            ?0051:
   \   028B            ?0042:
    167                       //打开lcd
    168                        StandbyScreen(TRUE);
   \   028B  1E01              LD      E,1
   \   028D  CD0000            CALL    LWRD StandbyScreen
    169                        SetBackgdColor(Color_BLACK_def);
   \   0290  010000            LD      BC,0
   \   0293  59                LD      E,C
   \   0294  50                LD      D,B
   \   0295  CD0000            CALL    LWRD SetBackgdColor
    170                        SetContrast(g_comval.DisplayContrast);               
   \   0298  ED5B0800          LD      DE,(g_comval+8)
   \   029C  CD0000            CALL    LWRD SetContrast
    171          /////////////////////////////////////// 退出播放状态 重新安装一下显示驱动               
    172          
    173                          ap_message_init(NULL);//开始算STANDBY 时间
   \   029F  CD2901            CALL    LWRD ?0140
    174                          ui_run_realtime = FALSE;
   \   02A2  AF                XOR     A
   \   02A3  320000            LD      (ui_run_realtime),A
    175                          if(g_result==0)  
   \   02A6  2A0000            LD      HL,(g_result)
   \   02A9  7D                LD      A,L
   \   02AA  B4                OR      H
   \   02AB  2832              JR      Z,?0132
   \   02AD            ?0066:
    176                           { 
    177                             need_draw=TRUE;                   
    178                             return g_result;
    179                           }
   \   02AD            ?0067:
    180                       
    181                          else if(g_result==RESULT_UI_STOP2)   
   \   02AD  3E67              LD      A,103
   \   02AF  AD                XOR     L
   \   02B0  B4                OR      H
   \   02B1  2052              JR      NZ,?0080
   \   02B3            ?0068:
    182                           {
    183                             //byte Reg_27h=input8(0x27);
    184                             output8(0x27,input8(0x27)&0xfe);            //关Dsp中断 防止花屏  zxs add
   \   02B3  DB27              IN      A,(39)
   \   02B5  CB87              RES     0,A
   \   02B7  D327              OUT     (39),A
    185                             ui_show_msg (CARDPULL, CARDPULL, g_langid);                            
   \   02B9  ED4B0000          LD      BC,(g_langid)
   \   02BD  0600              LD      B,0
   \   02BF  C5                PUSH    BC
   \   02C0  019101            LD      BC,401
   \   02C3  59                LD      E,C
   \   02C4  50                LD      D,B
   \   02C5  3E00              LD      A,BYTE3 ui_show_msg
   \   02C7  210000            LD      HL,LWRD ui_show_msg
   \   02CA  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   02CD  F1                POP     AF
   \   02CE            ?0071:
    186                             while( ap_get_message() != NULL ); //清空消息池
   \   02CE  CD0000            CALL    LWRD ap_get_message
   \   02D1  B7                OR      A
   \   02D2  20FA              JR      NZ,?0071
   \   02D4            ?0072:
   \   02D4            ?0070:
    187                             ap_sleep(4);
   \   02D4  110400            LD      DE,4
   \   02D7  3E00              LD      A,BYTE3 ap_sleep
   \   02D9  210000            LD      HL,LWRD ap_sleep
   \   02DC  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    188                             need_draw = TRUE;  
   \   02DF            ?0132:
   \   02DF  3E01              LD      A,1
   \   02E1  320000            LD      (need_draw),A
    189                             return g_result; 
   \   02E4  181F              JR      ?0080
    190                          
    191                           }
   \   02E6            ?0069:
    192                          
    193                          else return g_result;
    194                  
    195                   case  AP_KEY_MODE: 
   \   02E6            ?0073:
    196                         g_menu_active=TRUE;   
    197                         break;     
   \   02E6            ?0074:
    198                   case AP_KEY_MODE | AP_KEY_UP: //短按MODE
    199                        if(g_menu_active)
   \   02E6  3A0000            LD      A,(g_menu_active)
   \   02E9  B7                OR      A
   \   02EA  281F              JR      Z,?0076
   \   02EC            ?0075:
    200                         {
    201                           g_result = ui_stop_menu();
   \   02EC  3E00              LD      A,BYTE3 ui_stop_menu
   \   02EE  210000            LD      HL,LWRD ui_stop_menu
   \   02F1  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   02F4  220000            LD      (g_result),HL
    202          
    203                           if (g_result == RESULT_SD_OUT)
   \   02F7  3E36              LD      A,54
   \   02F9  AD                XOR     L
   \   02FA  B4                OR      H
   \   02FB  CAC803            JP      Z,?0136
   \   02FE            ?0077:
    204                           {
    205                               return RESULT_CURR_UI;
    206                           }
   \   02FE            ?0078:
    207                           if (g_result == RESULT_IGNORE)
   \   02FE  3E34              LD      A,52
   \   0300  AD                XOR     L
   \   0301  B4                OR      H
   \   0302  CAD903            JP      Z,?0139
   \   0305            ?0079:
    208                           {
    209                              need_draw = TRUE;
    210                              break;
   \   0305            ?0080:
    211                           }
    212                          return g_result;//热键或等于0时返回
   \   0305  2A0000            LD      HL,(g_result)
    213                        }
   \   0308  C3E903            JP      LWRD ?0112
   \   030B            ?0076:
    214                     else
    215                         g_menu_active=TRUE;
   \   030B  3E01              LD      A,1
   \   030D  320000            LD      (g_menu_active),A
    216                         break;
   \   0310  C39C01            JP      LWRD ?0025
   \   0313            ?0081:
   \   0313            ?0083:
    217          
    218                  //break;
    219                 //     case AP_KEY_MODE | AP_KEY_HOLD: //长按MODE

⌨️ 快捷键说明

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