ui_stop.lst

来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 1,055 行 · 第 1/4 页

LST
1,055
字号
   \   00AE  210000            LD      HL,LWRD make_dirname
   \   00B1  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
     81                   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
     82                
     83                   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
     84                   fselGetLocation(& g_amv_vars.location); 
   \   00D0  CD6301            CALL    LWRD ?0129
     85                   GetInformation(); //取文件信息
   \   00D3  CD3401            CALL    LWRD ?0124
     86                   memcpy(g_TagInfoBuf1, g_TagInfoBuf, 20);
     87                   //g_TagInfoBuf1[18]=0;
     88                   g_TagInfoBuf1[20]=0;
     89                   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
     90                   fselGetLocation(& g_amv_vars.location);  
   \   00E2  CD6301            CALL    LWRD ?0129
     91                   GetInformation(); //取文件信息   
   \   00E5  CD5B01            CALL    LWRD ?0125
     92                   
     93                   PlayStatus = StopSta;
   \   00E8  AF                XOR     A
   \   00E9  320000            LD      (PlayStatus),A
     94                   need_draw = TRUE;
   \   00EC  3E01              LD      A,1
   \   00EE  320000            LD      (need_draw),A
     95                   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
     96                   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
     97          
     98              }while( (g_result == RESULT_CURR_UI)
     99                          || (g_result == RESULT_UI_STOP)
    100                          || (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:
    101              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:
    102              {
    103                  return NULL;//不带参数回到上一级
   \   0121            ?0101:
   \   0121  210000            LD      HL,0
    104              }
   \   0124            ?0022:
    105              return g_result;//带参数回到上一级
    106          }
   \   0124            ?0023:
   \   0124  D1                POP     DE
   \   0125  C1                POP     BC
   \   0126  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0129            ?0122:
   \   0129  110000            LD      DE,0
   \   012C            ?0123:
   \   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            ?0124:
   \   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            ?0126:
   \   014C  1E04              LD      E,4
   \   014E            ?0127:
   \   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            ?0125:
   \   015B  3E00              LD      A,BYTE3 GetInformation
   \   015D  210000            LD      HL,LWRD GetInformation
   \   0160  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   0163            ?0129:
   \   0163  220000            LD      (g_result),HL
   \   0166            ?0128:
   \   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:
    107          //======================================================================================
    108          
    109          int ui_stop_loop()
    110          {
   \   0171  C5                PUSH    BC
   \   0172  D5                PUSH    DE
   \   0173  F5                PUSH    AF
    111              char key;
    112              int  result;
    113          
    114              if(time_cmp(&g_amv_vars.amvfilebreakpoint,
    115                              &Totaltime) > 0)
   \   0174  010000            LD      BC,Totaltime
   \   0177  113000            LD      DE,g_amv_vars+48
   \   017A  3E00              LD      A,BYTE3 time_cmp
   \   017C  210000            LD      HL,LWRD time_cmp
   \   017F  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0182  4D                LD      C,L
   \   0183  44                LD      B,H
   \   0184  210000            LD      HL,0
   \   0187  F680              OR      128
   \   0189  ED42              SBC     HL,BC
   \   018B  E28F01            JP      PO,?0113
   \   018E  AC                XOR     H
   \   018F            ?0113:
   \   018F  F29A01            JP      P,?0025
   \   0192            ?0024:
    116              {
    117                  ClearTimePara();//时间断点参数从0开始
   \   0192  3E00              LD      A,BYTE3 ClearTimePara
   \   0194  210000            LD      HL,LWRD ClearTimePara
   \   0197  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   019A            ?0025:
   \   019A            ?0027:
    118              }
    119          
    120              while (1)
    121              {
    122                  if (need_draw)
   \   019A  3A0000            LD      A,(need_draw)
   \   019D  B7                OR      A
   \   019E  280C              JR      Z,?0030
   \   01A0            ?0029:
    123                  {
    124                      RefreshMainScreen();
   \   01A0  3E00              LD      A,BYTE3 RefreshMainScreen
   \   01A2  210000            LD      HL,LWRD RefreshMainScreen
   \   01A5  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    125                      need_draw = FALSE;
   \   01A8  AF                XOR     A
   \   01A9  320000            LD      (need_draw),A
   \   01AC            ?0030:
    126                  }
    127          
    128                  key = ap_get_message();
   \   01AC  CD0000            CALL    LWRD ap_get_message
   \   01AF  210000            LD      HL,0
   \   01B2  39                ADD     HL,SP
   \   01B3  77                LD      (HL),A
    129                  if(g_from_browser)
   \   01B4  3A0000            LD      A,(g_from_browser)
   \   01B7  B7                OR      A
   \   01B8  2806              JR      Z,?0032
   \   01BA            ?0031:
    130                  {
    131                      key = (AP_KEY_PLAY | AP_KEY_UP);
    132                      g_from_browser = FALSE;
   \   01BA  AF                XOR     A
   \   01BB  320000            LD      (g_from_browser),A
   \   01BE  3621              LD      (HL),33
   \   01C0            ?0032:
    133                  }
    134          
    135                  switch (key)
   \   01C0  5E                LD      E,(HL)
   \   01C1  CD0000            CALL    LWRD ?C_V_SWITCH_L06
   \   01C4  1000              DEFW    16
   \   01C6  03                DEFB    3
   \   01C7  04                DEFB    4
   \   01C8  05                DEFB    5
   \   01C9  06                DEFB    6
   \   01CA  10                DEFB    16
   \   01CB  1B                DEFB    27
   \   01CC  1C                DEFB    28
   \   01CD  21                DEFB    33
   \   01CE  25                DEFB    37
   \   01CF  26                DEFB    38
   \   01D0  30                DEFB    48
   \   01D1  43                DEFB    67
   \   01D2  44                DEFB    68
   \   01D3  45                DEFB    69
   \   01D4  46                DEFB    70
   \   01D5  81                DEFB    129
   \   01D6  D603              DEFW    ?0088
   \   01D8  F801              DEFW    ?0034
   \   01DA  0F03              DEFW    ?0067
   \   01DC  DA02              DEFW    ?0057
   \   01DE  5203              DEFW    ?0077
   \   01E0  3A03              DEFW    ?0071
   \   01E2  A002              DEFW    ?0046
   \   01E4  0603              DEFW    ?0063
   \   01E6  D102              DEFW    ?0053
   \   01E8  FE01              DEFW    ?0035
   \   01EA  9E03              DEFW    ?0083
   \   01EC  9E03              DEFW    ?0083
   \   01EE  C902              DEFW    ?0048
   \   01F0  0F03              DEFW    ?0067
   \   01F2  DA02              DEFW    ?0057
   \   01F4  5203              DEFW    ?0077
   \   01F6  3A03              DEFW    ?0071
   \   01F8            ?0034:
    136                  {
    137                      case AP_KEY_PLAY | AP_KEY_LONG:
    138                          return RESULT_STANDBY;
   \   01F8  210200            LD      HL,2
    139                          break;
   \   01FB  C3F203            JP      LWRD ?0094
   \   01FE            ?0035:
    140          
    141                      case AP_KEY_PLAY | AP_KEY_UP:
    142                           ui_run_realtime = TRUE;             
   \   01FE  3E01              LD      A,1
   \   0200  320000            LD      (ui_run_realtime),A
    143                           #ifdef EAR_PROTECT
    144                              if (g_firstplay_flag)
   \   0203  3A0000            LD      A,(g_firstplay_flag)
   \   0206  B7                OR      A
   \   0207  280A              JR      Z,?0037
   \   0209            ?0036:
    145                              {
    146                                  g_autoswitch_counter = 0;
   \   0209  210000            LD      HL,0
   \   020C  220000            LD      (g_autoswitch_counter),HL
    147                                  g_firstplay_flag = FALSE;
   \   020F  AF                XOR     A
   \   0210  320000            LD      (g_firstplay_flag),A
   \   0213            ?0037:
    148                              }
    149                          #endif
    150                         //LightOnOff(1);
    151                         
    152                         //byte  tempReg4f;
    153                         VMRead(& g_comval, VM_SYSTEM, sizeof(g_comval));

⌨️ 快捷键说明

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