⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ui_play.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 5 页
字号:
   \   0298            ?0094:
    317                      {
    318                          if(MusicEditSelStatus==MusicEditSelSta_WaitStart)
   \   0298  3A0000            LD      A,(MusicEditSelStatus)
   \   029B  3D                DEC     A
   \   029C  0E14              LD      C,20
   \   029E  C5                PUSH    BC
   \   029F  0E4F              LD      C,79
   \   02A1  2005              JR      NZ,?0097
   \   02A3            ?0096:
    319                                 main_ResShowPic(MRPLSELA,79,20);
   \   02A3  11D900            LD      DE,217
   \   02A6  1803              JR      ?0168
    320                          else
   \   02A8            ?0097:
    321                              main_ResShowPic(MRPLSELB,79,20);                
   \   02A8  11DA00            LD      DE,218
   \   02AB            ?0168:
   \   02AB  CDBE02            CALL    LWRD ?0189
   \   02AE  F1                POP     AF
   \   02AF            ?0098:
   \   02AF            ?0095:
   \   02AF            ?0092:
   \   02AF            ?0089:
    322                      }
    323                  }
    324              }
    325              //***************************************************
    326              return NULL;
   \   02AF  210000            LD      HL,0
    327          }
   \   02B2            ?0099:
   \   02B2  D1                POP     DE
   \   02B3  C1                POP     BC
   \   02B4  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   02B7            ?0190:
   \   02B7  7B                LD      A,E
   \   02B8  C608              ADD     A,8
   \   02BA  4F                LD      C,A
   \   02BB  119900            LD      DE,153
   \   02BE            ?0189:
   \   02BE  3E00              LD      A,BYTE3 main_ResShowPic
   \   02C0  210000            LD      HL,LWRD main_ResShowPic
   \   02C3  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   02C6            musicpSendCommand:
    328          /*
    329          ********************************************************************************
    330          *             bool musicpSendCommand( BYTE cmd, int param )
    331          *
    332          * Description : 根据不同的文件类型来选择发的命令(对MODULE)
    333          *
    334          * Arguments   : cmd 命令 param 参数
    335          *
    336          * Returns     : success/fail
    337          *
    338          * Notes       :
    339          *
    340          ********************************************************************************
    341          */
    342          bool musicpSendCommand(BYTE cmd, int param)
    343          {
   \   02C6  DDE5              PUSH    IX
   \   02C8  D5                PUSH    DE
    344              //清 WATCH_DOG
    345              output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
   \   02C9  DB4E              IN      A,(78)
   \   02CB  CBDF              SET     3,A
   \   02CD  D34E              OUT     (78),A
    346          
    347              switch ( cmd )
   \   02CF  7B                LD      A,E
   \   02D0  FE0D              CP      13
   \   02D2  280C              JR      Z,?0101
   \   02D4  FE80              CP      128
   \   02D6  3844              JR      C,?0102
   \   02D8  FE84              CP      132
   \   02DA  2840              JR      Z,?0102
   \   02DC  FE86              CP      134
   \   02DE  303C              JR      NC,?0102
   \   02E0            ?0101:
    348              {//这几个命令由于经常调用,所以不要切BANK
    349                  case MC_GETTIME:
    350                  case MC_GETSAPLE:
    351                  case MC_GETSTATUS:
    352                  case MC_GETAUDIOFMT:
    353                  case MC_FADEINOUT:
    354                  case MC_GETPOWERVALUE:
    355                      switch ( g_currentMusicType )
   \   02E0  ED5B0000          LD      DE,(g_currentMusicType)
   \   02E4  CD0000            CALL    LWRD ?C_S_SWITCH_L06
   \   02E7  01                DEFB    1
   \   02E8  0600              DEFW    6
   \   02EA  1803              DEFW    ?0107
   \   02EC  F802              DEFW    ?0103
   \   02EE  0003              DEFW    ?0104
   \   02F0  0003              DEFW    ?0104
   \   02F2  0003              DEFW    ?0104
   \   02F4  0803              DEFW    ?0105
   \   02F6  1003              DEFW    ?0106
   \   02F8            ?0103:
    356                      {
    357                      case Music_MP3: //mp3
    358                          return mp3pSendCommand(cmd, param);
   \   02F8  5F                LD      E,A
   \   02F9  3E00              LD      A,BYTE3 mp3pSendCommand
   \   02FB  210000            LD      HL,LWRD mp3pSendCommand
   \   02FE  1821              JR      ?0183
    359          
    360                      case Music_WMA: //wma
   \   0300            ?0104:
    361                      case Music_ASF: //asf
    362                      case Music_WMV: //wmv
    363                          {
    364                              return wmapSendCommand(cmd, param);
   \   0300  5F                LD      E,A
   \   0301  3E00              LD      A,BYTE3 wmapSendCommand
   \   0303  210000            LD      HL,LWRD wmapSendCommand
   \   0306  1819              JR      ?0183
    365                          }
   \   0308            ?0105:
    366                      case Music_OGG:
    367                          return oggpSendCommand(cmd, param);
   \   0308  5F                LD      E,A
   \   0309  3E00              LD      A,BYTE3 oggpSendCommand
   \   030B  210000            LD      HL,LWRD oggpSendCommand
   \   030E  1811              JR      ?0183
    368                      case Music_APE:
   \   0310            ?0106:
    369                          return apepSendCommand(cmd, param); 
   \   0310  5F                LD      E,A
   \   0311  3E00              LD      A,BYTE3 apepSendCommand
   \   0313  210000            LD      HL,LWRD apepSendCommand
   \   0316  1809              JR      ?0183
    370           
    371                      default:
   \   0318            ?0107:
    372                          return FALSE;
   \   0318  2E00              LD      L,0
    373                      }
   \   031A  1808              JR      ?0109
   \   031C            ?0102:
   \   031C            ?0108:
    374          
    375                  default:
    376                      //下面函数放在别的 BANK 里,
    377                      return musicpSendCommand_bank( cmd, param );
   \   031C  3E00              LD      A,BYTE3 musicpSendCommand_bank
   \   031E  210000            LD      HL,LWRD musicpSendCommand_bank
   \   0321            ?0183:
   \   0321  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    378              }
   \   0324            ?0100:
    379              return FALSE;
    380          
    381          
    382          }
   \   0324            ?0109:
   \   0324  F1                POP     AF
   \   0325  DDE1              POP     IX
   \   0327  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   032A            BackupCurrentTime:
    383          /*
    384          ********************************************************************************
    385          *             void Show_Bitrate( void )
    386          *
    387          * Description : 显示比特率
    388          *
    389          * Arguments   : void
    390          *
    391          * Returns     : void
    392          *
    393          * Notes       :
    394          *
    395          ********************************************************************************
    396          */
    397          
    398          void BackupCurrentTime(void)
    399          {
   \   032A  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   032D  FAFF              DEFW    65530
    400              Full_time_t time_buf;
    401              if ( musicpSendCommand(MC_GETTIME, (int)& time_buf) )
   \   032F  210000            LD      HL,0
   \   0332  39                ADD     HL,SP
   \   0333  4D                LD      C,L
   \   0334  44                LD      B,H
   \   0335  1E80              LD      E,128
   \   0337  CDB401            CALL    LWRD ?0187
   \   033A  2C                INC     L
   \   033B  2D                DEC     L
   \   033C  2812              JR      Z,?0111
   \   033E            ?0110:
    402              {
    403                  g_music_vars.BreakPTDisTime.hour = time_buf.TimeHour;
   \   033E  DD7EFE            LD      A,(IX-2)
   \   0341  324D00            LD      (g_music_vars+77),A
    404                  g_music_vars.BreakPTDisTime.minute = time_buf.TimeMinute;
   \   0344  DD7EFD            LD      A,(IX-3)
   \   0347  324E00            LD      (g_music_vars+78),A
    405                  g_music_vars.BreakPTDisTime.second = time_buf.TimeSecond;
   \   034A  DD7EFC            LD      A,(IX-4)
   \   034D  324F00            LD      (g_music_vars+79),A
   \   0350            ?0111:
    406              }
    407          }
   \   0350  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   0353            ShowNowTime:
    408          
    409          
    410          void ShowNowTime(bool para)                       //zxs change for guage display
    411          {
   \   0353  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   0356  F0FF              DEFW    -16
   \   0358  FDE5              PUSH    IY
    412               long  int totaltime,nowtime;
    413               int   num;
    414               int   i;
    415               music_play_status_t status_buf;
    416               
    417               if(g_rSetPlayStatus)
   \   035A  3A0000            LD      A,(g_rSetPlayStatus)
   \   035D  B7                OR      A
   \   035E  2807              JR      Z,?0113
   \   0360            ?0112:
    418               {
    419                          para = FALSE;
    420                          g_rSetPlayStatus = FALSE;
   \   0360  AF                XOR     A
   \   0361  320000            LD      (g_rSetPlayStatus),A
   \   0364  DD7702            LD      (IX+2),A
   \   0367            ?0113:
    421               }
    422               
    423               if (ifSelBuffToltalTimeFlag || (!CaltimeFlag))
   \   0367  3A0000            LD      A,(ifSelBuffToltalTimeFlag)
   \   036A  B7                OR      A
   \   036B  2006              JR      NZ,?0116
   \   036D  3A0000            LD      A,(CaltimeFlag)
   \   0370  B7                OR      A
   \   0371  2014              JR      NZ,?0115
   \   0373            ?0116:
   \   0373            ?0117:
   \   0373            ?0114:
    424               {
    425                   //用 buffer 里的总时间数据
    426                   status_buf.total_time.hour = TimeRateData_sav.TotalTime_sav[0];
   \   0373  3A0300            LD      A,(TimeRateData_sav+3)
   \   0376  DD77F3            LD      (IX-13),A
    427                   status_buf.total_time.minute = TimeRateData_sav.TotalTime_sav[1];
   \   0379  3A0400            LD      A,(TimeRateData_sav+4)
   \   037C  DD77F4            LD      (IX-12),A
    428                   status_buf.total_time.second = TimeRateData_sav.TotalTime_sav[2];
   \   037F  3A0500            LD      A,(TimeRateData_sav+5)
   \   0382  DD77F5            LD      (IX-11),A
    429               }
    430               else
   \   0385  181E              JR      ?0118
   \   0387            ?0115:
    431               {
    432                   musicpSendCommand(MC_GETSTATUS, (int)(& status_buf));
   \   0387  210200            LD      HL,2
   \   038A  39                ADD     HL,SP
   \   038B  CDB001            CALL    LWRD ?0186
    433                   //暂存现在的总时间数据到 buffer
    434                   TimeRateData_sav.TotalTime_sav[0] = status_buf.total_time.hour;
   \   038E  DD7EF3            LD      A,(IX-13)
   \   0391  320300            LD      (TimeRateData_sav+3),A
    435                   TimeRateData_sav.TotalTime_sav[1] = status_buf.total_time.minute;
   \   0394  DD7EF4            LD      A,(IX-12)
   \   0397  320400            LD      (TimeRateData_sav+4),A
    436                   TimeRateData_sav.TotalTime_sav[2] = status_buf.total_time.second;
   \   039A  DD7EF5            LD      A,(IX-11)
   \   039D  320500            LD      (TimeRateData_sav+5),A
    437                   ifSelBuffToltalTimeFlag=1;
   \   03A0  3E01              LD      A,1
   \   03A2  320000            LD      (ifSelBuffToltalTimeFlag),A

⌨️ 快捷键说明

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