ui_stop.lst

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

LST
978
字号
   \   009F  1E04              LD      E,4
   \   00A1  3E00              LD      A,BYTE3 fselSetMode
   \   00A3  210000            LD      HL,LWRD fselSetMode
   \   00A6  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
     74                  fselGetLocation(& g_amv_vars.location);         //add by ybfu 2004-12-22 15:26
   \   00A9  CD6601            CALL    LWRD ?0146
     75                  make_dirname();   
   \   00AC  3E00              LD      A,BYTE3 make_dirname
   \   00AE  210000            LD      HL,LWRD make_dirname
   \   00B1  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
     76                  g_currentMusicType = CheckMusicType(g_amv_vars.location.filename);
   \   00B4  111F00            LD      DE,g_amv_vars+31
   \   00B7  3E00              LD      A,BYTE3 CheckMusicType
   \   00B9  210000            LD      HL,LWRD CheckMusicType
   \   00BC  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   00BF  7D                LD      A,L
   \   00C0  320000            LD      (g_currentMusicType),A
     77                
     78                   g_result = FSELGetNext(g_amv_vars.location.filename);    
   \   00C3  111F00            LD      DE,g_amv_vars+31
   \   00C6  3E00              LD      A,BYTE3 fselGetNextFile
   \   00C8  210000            LD      HL,LWRD fselGetNextFile
   \   00CB  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   00CE  2600              LD      H,0
     79                   fselGetLocation(& g_amv_vars.location); 
   \   00D0  CD6301            CALL    LWRD ?0147
     80                   GetInformation(); //取文件信息
   \   00D3  CD3401            CALL    LWRD ?0142
     81                   memcpy(g_TagInfoBuf1, g_TagInfoBuf, 20);
     82                   //g_TagInfoBuf1[18]=0;
     83                   g_TagInfoBuf1[20]=0;
     84                   g_result = FSELGetPrev(g_amv_vars.location.filename); 
   \   00D6  111F00            LD      DE,g_amv_vars+31
   \   00D9  3E00              LD      A,BYTE3 fselGetPrevFile
   \   00DB  210000            LD      HL,LWRD fselGetPrevFile
   \   00DE  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   00E1  60                LD      H,B
     85                   fselGetLocation(& g_amv_vars.location);  
   \   00E2  CD6301            CALL    LWRD ?0147
     86                   GetInformation(); //取文件信息   
   \   00E5  CD5B01            CALL    LWRD ?0143
     87                   
     88                  PlayStatus = StopSta;
   \   00E8  AF                XOR     A
   \   00E9  320000            LD      (PlayStatus),A
     89                  need_draw = TRUE;
   \   00EC  3E01              LD      A,1
   \   00EE  320000            LD      (need_draw),A
     90                  FSELSetMode(g_amv_vars.repeat_mode);
   \   00F1  ED5B0300          LD      DE,(g_amv_vars+3)
   \   00F5  3E00              LD      A,BYTE3 fselSetMode
   \   00F7  210000            LD      HL,LWRD fselSetMode
   \   00FA  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
     91                  g_result = ui_stop_loop();
   \   00FD  3E00              LD      A,BYTE3 ui_stop_loop
   \   00FF  217101            LD      HL,LWRD ui_stop_loop
   \   0102  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0105  220000            LD      (g_result),HL
     92          
     93              }while( (g_result == RESULT_CURR_UI)
     94                          || (g_result == RESULT_UI_STOP)
     95                          || (g_result == RESULT_UI_STOP2) );//还保持在ui_stop界面
   \   0108  7D                LD      A,L
   \   0109  B4                OR      H
   \   010A  CA5A00            JP      Z,?0011
   \   010D  3E66              LD      A,102
   \   010F  AD                XOR     L
   \   0110  B4                OR      H
   \   0111  CA5A00            JP      Z,?0011
   \   0114  3E67              LD      A,103
   \   0116  AD                XOR     L
   \   0117  B4                OR      H
   \   0118  CA5A00            JP      Z,?0011
   \   011B            ?0009:
     96              if (g_result == RESULT_LAST_UI)
   \   011B  3E65              LD      A,101
   \   011D  AD                XOR     L
   \   011E  B4                OR      H
   \   011F  2003              JR      NZ,?0022
   \   0121            ?0021:
     97              {
     98                  return NULL;//不带参数回到上一级
   \   0121            ?0119:
   \   0121  210000            LD      HL,0
     99              }
   \   0124            ?0022:
    100              return g_result;//带参数回到上一级
    101          }
   \   0124            ?0023:
   \   0124  D1                POP     DE
   \   0125  C1                POP     BC
   \   0126  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0129            ?0140:
   \   0129  110000            LD      DE,0
   \   012C            ?0141:
   \   012C  3E00              LD      A,BYTE3 ap_message_init
   \   012E  210000            LD      HL,LWRD ap_message_init
   \   0131  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   0134            ?0142:
   \   0134  3E00              LD      A,BYTE3 GetInformation
   \   0136  210000            LD      HL,LWRD GetInformation
   \   0139  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   013C  011400            LD      BC,20
   \   013F  110000            LD      DE,g_TagInfoBuf1
   \   0142  210000            LD      HL,g_TagInfoBuf
   \   0145  EDB0              LDIR
   \   0147  AF                XOR     A
   \   0148  321400            LD      (g_TagInfoBuf1+20),A
   \   014B  C9                RET
   \   014C            ?0144:
   \   014C  1E04              LD      E,4
   \   014E            ?0145:
   \   014E  3E00              LD      A,BYTE3 ChangeMusic
   \   0150  210000            LD      HL,LWRD ChangeMusic
   \   0153  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0156  2600              LD      H,0
   \   0158  220000            LD      (g_result),HL
   \   015B            ?0143:
   \   015B  3E00              LD      A,BYTE3 GetInformation
   \   015D  210000            LD      HL,LWRD GetInformation
   \   0160  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   0163            ?0147:
   \   0163  220000            LD      (g_result),HL
   \   0166            ?0146:
   \   0166  110500            LD      DE,g_amv_vars+5
   \   0169  3E00              LD      A,BYTE3 fselGetLocation
   \   016B  210000            LD      HL,LWRD fselGetLocation
   \   016E  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   0171            ui_stop_loop:
    102          //======================================================================================
    103          
    104          int ui_stop_loop()
    105          {
   \   0171  C5                PUSH    BC
   \   0172  D5                PUSH    DE
   \   0173  DDE5              PUSH    IX
   \   0175  F5                PUSH    AF
    106               char key;
    107              int  result;
    108          
    109              if(time_cmp(&g_amv_vars.amvfilebreakpoint,
    110                              &Totaltime) > 0)
   \   0176  010000            LD      BC,Totaltime
   \   0179  112E00            LD      DE,g_amv_vars+46
   \   017C  3E00              LD      A,BYTE3 time_cmp
   \   017E  210000            LD      HL,LWRD time_cmp
   \   0181  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0184  4D                LD      C,L
   \   0185  44                LD      B,H
   \   0186  210000            LD      HL,0
   \   0189  F680              OR      128
   \   018B  ED42              SBC     HL,BC
   \   018D  E29101            JP      PO,?0131
   \   0190  AC                XOR     H
   \   0191            ?0131:
   \   0191  F29C01            JP      P,?0025
   \   0194            ?0024:
    111              {
    112                  ClearTimePara();//时间断点参数从0开始
   \   0194  3E00              LD      A,BYTE3 ClearTimePara
   \   0196  210000            LD      HL,LWRD ClearTimePara
   \   0199  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   019C            ?0025:
   \   019C            ?0027:
    113              }
    114          
    115              while (1)
    116              {
    117                  if (need_draw)
   \   019C  3A0000            LD      A,(need_draw)
   \   019F  B7                OR      A
   \   01A0  280C              JR      Z,?0030
   \   01A2            ?0029:
    118                  {
    119                      RefreshMainScreen();
   \   01A2  3E00              LD      A,BYTE3 RefreshMainScreen
   \   01A4  210000            LD      HL,LWRD RefreshMainScreen
   \   01A7  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    120                      need_draw = FALSE;
   \   01AA  AF                XOR     A
   \   01AB  320000            LD      (need_draw),A
   \   01AE            ?0030:
    121                  }
    122          
    123                  key = ap_get_message();
   \   01AE  CD0000            CALL    LWRD ap_get_message
    124          
    125                  switch (key)
   \   01B1  5F                LD      E,A
   \   01B2  CD0000            CALL    LWRD ?C_V_SWITCH_L06
   \   01B5  1100              DEFW    17
   \   01B7  03                DEFB    3
   \   01B8  04                DEFB    4
   \   01B9  05                DEFB    5
   \   01BA  06                DEFB    6
   \   01BB  10                DEFB    16
   \   01BC  1B                DEFB    27
   \   01BD  1C                DEFB    28
   \   01BE  21                DEFB    33
   \   01BF  25                DEFB    37
   \   01C0  26                DEFB    38
   \   01C1  30                DEFB    48
   \   01C2  37                DEFB    55
   \   01C3  43                DEFB    67
   \   01C4  44                DEFB    68
   \   01C5  45                DEFB    69
   \   01C6  46                DEFB    70
   \   01C7  81                DEFB    129
   \   01C8  CD03              DEFW    ?0106
   \   01CA  EC01              DEFW    ?0032
   \   01CC  5103              DEFW    ?0095
   \   01CE  1C03              DEFW    ?0085
   \   01D0  7D03              DEFW    ?0099
   \   01D2  7D03              DEFW    ?0099
   \   01D4  A603              DEFW    ?0103
   \   01D6  E602              DEFW    ?0074
   \   01D8  4803              DEFW    ?0091
   \   01DA  1303              DEFW    ?0081
   \   01DC  F201              DEFW    ?0033
   \   01DE  8D03              DEFW    ?0102
   \   01E0  8D03              DEFW    ?0102
   \   01E2  0B03              DEFW    ?0076
   \   01E4  5103              DEFW    ?0095
   \   01E6  1C03              DEFW    ?0085
   \   01E8  7D03              DEFW    ?0099
   \   01EA  7D03              DEFW    ?0099
   \   01EC            ?0032:
    126                  {
    127                      case AP_KEY_PLAY | AP_KEY_LONG:
    128                          return RESULT_STANDBY;
   \   01EC  210200            LD      HL,2
    129                          break;
   \   01EF  C3E903            JP      LWRD ?0112
   \   01F2            ?0033:
    130          
    131                      case AP_KEY_PLAY | AP_KEY_UP:
    132                           ui_run_realtime = TRUE;
   \   01F2  3E01              LD      A,1
   \   01F4  320000            LD      (ui_run_realtime),A
    133          //                g_changevolume=0x00;
    134                       {
    135                         //comval_t g_comval;
    136                         //LightOnOff(1);
    137                         VMRead(& g_comval, VM_SYSTEM, sizeof(g_comval));
   \   01F7  212000            LD      HL,32

⌨️ 快捷键说明

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