ui_follow.lst

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

LST
1,135
字号
    346              wma_play_status_t status_buf;
    347          
    348              if (!ReturnNotInit)
   \   0336  3A0000            LD      A,(ReturnNotInit)
   \   0339  B7                OR      A
   \   033A  2008              JR      NZ,?0054
   \   033C            ?0053:
    349              {
    350                  OpenMusic();
   \   033C  3E00              LD      A,BYTE3 OpenMusic
   \   033E  210000            LD      HL,LWRD OpenMusic
   \   0341  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0344            ?0054:
    351              }
    352              ReturnNotInit = FALSE;
   \   0344  AF                XOR     A
   \   0345  320000            LD      (ReturnNotInit),A
    353              UpDisplayFlag = UpDisplayFlag | up_MPRLmode;
   \   0348  210000            LD      HL,UpDisplayFlag
   \   034B  23                INC     HL
   \   034C  CBDE              SET     3,(HL)
    354              need_draw = TRUE;
   \   034E  3E01              LD      A,1
   \   0350  320000            LD      (need_draw),A
   \   0353            ?0056:
    355          
    356              while (1)
    357              {
    358                  if (need_draw)
   \   0353  3A0000            LD      A,(need_draw)
   \   0356  B7                OR      A
   \   0357  2814              JR      Z,?0059
   \   0359            ?0058:
    359                  {
    360                      Show_time_FC(); //显示比特率
   \   0359  3E00              LD      A,BYTE3 Show_time_FC
   \   035B  210000            LD      HL,LWRD Show_time_FC
   \   035E  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    361                      RefreshMainScreen();
   \   0361  3E00              LD      A,BYTE3 RefreshMainScreen
   \   0363  210000            LD      HL,LWRD RefreshMainScreen
   \   0366  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    362                      need_draw = FALSE;
   \   0369  AF                XOR     A
   \   036A  320000            LD      (need_draw),A
   \   036D            ?0059:
    363                  }
    364          
    365                  key = ap_get_message();
   \   036D  CD1403            CALL    LWRD ?0139
    366          
    367                  switch (key)
   \   0370  CD0000            CALL    LWRD ?S_V_SWITCH_L06
   \   0373  0900              DEFW    9
   \   0375  0300              DEFW    3
   \   0377  0400              DEFW    4
   \   0379  1C00              DEFW    28
   \   037B  1D00              DEFW    29
   \   037D  2100              DEFW    33
   \   037F  2500              DEFW    37
   \   0381  2600              DEFW    38
   \   0383  3000              DEFW    48
   \   0385  3100              DEFW    49
   \   0387  0804              DEFW    ?0070
   \   0389  BA03              DEFW    ?0065
   \   038B  C403              DEFW    ?0066
   \   038D  BA03              DEFW    ?0065
   \   038F  C803              DEFW    ?0067
   \   0391  9B03              DEFW    ?0062
   \   0393  2B04              DEFW    ?0060
   \   0395  D903              DEFW    ?0069
   \   0397  CD03              DEFW    ?0068
   \   0399  CD03              DEFW    ?0068
   \   039B            ?0061:
    368                  {
    369                      case AP_MSG_STANDBY:
    370                          break;
   \   039B            ?0062:
    371          
    372                      case AP_KEY_PLAY | AP_KEY_UP:
    373                            {     //Jerry Xie Add for test
    374                                                  g_volcounter = 0;
   \   039B  AF                XOR     A
   \   039C  320000            LD      (g_volcounter),A
    375                                                                  g_rSetPlayStatus = TRUE;
   \   039F  3E01              LD      A,1
   \   03A1  320000            LD      (g_rSetPlayStatus),A
    376                                          }
    377                          g_result = DealPlayKey();
   \   03A4  3E00              LD      A,BYTE3 DealPlayKey
   \   03A6  210000            LD      HL,LWRD DealPlayKey
   \   03A9  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   03AC  220000            LD      (g_result),HL
    378                          if (g_result != 0)
   \   03AF  7D                LD      A,L
   \   03B0  B4                OR      H
   \   03B1  C27604            JP      NZ,?0078
   \   03B4            ?0063:
    379                          {
    380                              return g_result;
    381                          }
   \   03B4            ?0064:
    382                          return RESULT_UI_STOP;
   \   03B4  216600            LD      HL,102
    383          
    384                      case AP_KEY_AB | AP_KEY_UP:
   \   03B7  C37604            JP      LWRD ?0078
   \   03BA            ?0065:
    385                      case AP_KEY_NEXT | AP_KEY_UP:
    386                          ReturnNotInit = TRUE; //要求进入比较AB时不要初始化
   \   03BA  3E01              LD      A,1
   \   03BC  320000            LD      (ReturnNotInit),A
    387                          RePlayStatus = CompareAB;
   \   03BF  3E07              LD      A,7
   \   03C1  C37004            JP      LWRD ?0125
    388                          return NULL;
    389          
    390                      case AP_KEY_MODE | AP_KEY_UP:
   \   03C4            ?0066:
    391                          RePlayStatus = NormalPlay;
   \   03C4  AF                XOR     A
   \   03C5  C37004            JP      LWRD ?0125
    392                          return NULL;
    393          
    394                      case AP_KEY_PREV | AP_KEY_UP:
   \   03C8            ?0067:
    395                          RePlayStatus = ABLoopPlay;
   \   03C8  3E03              LD      A,3
   \   03CA  C37004            JP      LWRD ?0125
    396                          return NULL;
    397          
    398                      case AP_KEY_VOLSUB:
   \   03CD            ?0068:
    399                      case AP_KEY_VOLADD:
    400                          ChangeVolume();
   \   03CD  3E00              LD      A,BYTE3 ChangeVolume
   \   03CF  210000            LD      HL,LWRD ChangeVolume
   \   03D2  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    401                          //SetFullInterface();
    402                          need_draw = TRUE;
   \   03D5  3E01              LD      A,1
   \   03D7  1846              JR      ?0128
    403                          break;
   \   03D9            ?0069:
    404          
    405                      case AP_MSG_RTC:
    406                          UpDisplayFlag = UpDisplayFlag | up_musiccurrenttime ;
   \   03D9  210000            LD      HL,UpDisplayFlag
   \   03DC  23                INC     HL
   \   03DD  CBCE              SET     1,(HL)
    407                          Show_time_FC(); //显示比特率
   \   03DF  3E00              LD      A,BYTE3 Show_time_FC
   \   03E1  210000            LD      HL,LWRD Show_time_FC
   \   03E4  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    408                          ShowNowTime(TRUE);
   \   03E7  1E01              LD      E,1
   \   03E9  3E00              LD      A,BYTE3 ShowNowTime
   \   03EB  210000            LD      HL,LWRD ShowNowTime
   \   03EE  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    409                          ui_show_batt( GetBattery(), g_comval.BatteryType,0);//need_draw = TRUE;
   \   03F1  48                LD      C,B
   \   03F2  C5                PUSH    BC
   \   03F3  ED4B0F00          LD      BC,(g_comval+15)
   \   03F7  CD0000            CALL    LWRD GetBattery
   \   03FA  5F                LD      E,A
   \   03FB  1600              LD      D,0
   \   03FD  3E00              LD      A,BYTE3 ui_show_batt
   \   03FF  210000            LD      HL,LWRD ui_show_batt
   \   0402  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0405  E1                POP     HL
    410                          break;
   \   0406  1823              JR      ?0060
   \   0408            ?0070:
    411          
    412                      default:
    413                          key = ap_handle_hotkey(key);
   \   0408  CD2003            CALL    LWRD ?0140
    414                          if (key == RESULT_REDRAW)
   \   040B  2017              JR      NZ,?0072
   \   040D            ?0071:
    415                          {
    416                              SetFullInterface();
   \   040D  320000            LD      (ui_auto_update),A
   \   0410  210000            LD      HL,UpDisplayFlag
   \   0413  7E                LD      A,(HL)
   \   0414  F6C1              OR      193
   \   0416  77                LD      (HL),A
   \   0417  23                INC     HL
   \   0418  36FF              LD      (HL),255
    417                              return_to_play=1;
   \   041A  3E01              LD      A,1
   \   041C  320000            LD      (return_to_play),A
    418                              need_draw = TRUE;
   \   041F            ?0128:
   \   041F  320000            LD      (need_draw),A
   \   0422  1807              JR      ?0060
   \   0424            ?0072:
    419                          }
    420                          else if(key != 0)
   \   0424  FDE5              PUSH    IY
   \   0426  E1                POP     HL
   \   0427  7D                LD      A,L
   \   0428  B4                OR      H
   \   0429  204B              JR      NZ,?0078
   \   042B            ?0074:
    421                          {
    422                              return key;
    423                          }
   \   042B            ?0075:
   \   042B            ?0073:
    424                          break;
   \   042B            ?0060:
    425                  }
    426          
    427                  musicpSendCommand(MC_GETSTATUS, (int)& status_buf);
   \   042B  210200            LD      HL,2
   \   042E  39                ADD     HL,SP
   \   042F  4D                LD      C,L
   \   0430  44                LD      B,H
   \   0431  1E83              LD      E,131
   \   0433  3E00              LD      A,BYTE3 musicpSendCommand
   \   0435  210000            LD      HL,LWRD musicpSendCommand
   \   0438  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    428                  if (status_buf.signal == SIGNAL_REACH_B)
   \   043B  DD46F9            LD      B,(IX-7)
   \   043E  05                DEC     B
   \   043F  05                DEC     B
   \   0440  2039              JR      NZ,?0077
   \   0442            ?0076:
    429                  {
    430                      Show_time_FC(); //显示比特率
   \   0442  3E00              LD      A,BYTE3 Show_time_FC
   \   0444  210000            LD      HL,LWRD Show_time_FC
   \   0447  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    431                      RefreshMainScreen();
   \   044A  3E00              LD      A,BYTE3 RefreshMainScreen
   \   044C  210000            LD      HL,LWRD RefreshMainScreen
   \   044F  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    432                      need_draw = FALSE;
   \   0452  AF                XOR     A
   \   0453  320000            LD      (need_draw),A
    433          
    434                      musicpSendCommand(MC_STOP, NULL);
   \   0456  48                LD      C,B
   \   0457  1E06              LD      E,6
   \   0459  3E00              LD      A,BYTE3 musicpSendCommand
   \   045B  210000            LD      HL,LWRD musicpSendCommand
   \   045E  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    435                      musicpSendCommand(MC_CLOSE, NULL);
   \   0461  010000            LD      BC,0
   \   0464  1E02              LD      E,2
   \   0466  3E00              LD      A,BYTE3 musicpSendCommand
   \   0468  210000            LD      HL,LWRD musicpSendCommand
   \   046B  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    436                      RePlayStatus = FollowRec;
   \   046E  3E04              LD      A,4
   \   0470            ?0125:
   \   0470  320000            LD      (RePlayStatus),A
    437                      return NULL;
   \   0473  210000            LD      HL,0
    438                  }
   \   0476            ?0078:
   \   0476  FDE1              POP     IY
   \   0478  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   047B            ?0077:
    439              }
    440          }
   \   047B  C35303            JP      LWRD ?0056
   \   0000                    RSEG    CSTR
   \   0000            ?0004:
   \   0000  24245445          DEFB    '$$TEMP$$WAV'
   \   0004  4D502424
   \   0008  574156
   \   000B  00                DEFB    0
   \   000C                    END

Errors: none
Warnings: none
Code size: 1150
Constant size: 12
Static variable size: Data(0) Iram(0)

⌨️ 快捷键说明

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