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

📄 ui_lyric.lst

📁 MP3 整个 SDK
💻 LST
📖 第 1 页 / 共 3 页
字号:
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       25/Dec/106  17:01:00 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d90f\ap\ap_music\ui_lyric.c               #
#       List file     =  d:\case_i_d90f\ap\ap_music\list\ui_lyric.lst        #
#       Object file   =  d:\case_i_d90f\ap\ap_music\obj\ui_lyric.r01         #
#       ASM file      =  d:\case_i_d90f\ap\ap_music\list\ui_lyric.s01        #
#       Command line  =  -v0 -mb -OD:\case_i_d90f\ap\ap_music\Obj\ -e -K -w  #
#                        -gA -z9 -RCODE -r0 -DNAPDEBUG                       #
#                        -LD:\case_i_d90f\ap\ap_music\List\ -q -t8           #
#                        -AD:\case_i_d90f\ap\ap_music\List\                  #
#                        -ND:\case_i_d90f\ap\ap_music\List\ -X               #
#                        -Id:\sdk_i_90f\inc\ -Id:\case_i_d90f\inc\           #
#                        d:\case_i_d90f\AP\AP_MUSIC\ui_lyric.c               #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    ui_lyric(17)
   \   0000                    RSEG    AP_UIA_LRC(0)
   \   0000                    RSEG    APD_UI_LRC(0)
   \   0000                    RSEG    APD_UIA_LRC(0)
   \   0000                    EXTERN  BackupCurrentTime
   \   0000                    EXTERN  DealMusicFileEnd
   \   0000                    EXTERN  DisInFBHead
   \   0000                    EXTERN  DisplayErrMsg
   \   0000                    PUBLIC  DisplayLyricStr
   \   0000                    EXTERN  FadeOut
   \   0000                    PUBLIC  GetNowTime
   \   0000                    PUBLIC  LyricStrBuf
   \   0000                    EXTERN  PlayStatus
   \   0000                    EXTERN  PrevMusicInPlay
   \   0000                    EXTERN  PutS
   \   0000                    PUBLIC  RT_buf
   \   0000                    EXTERN  RefreshMainScreen
   \   0000                    EXTERN  ResShowPic
   \   0000                    EXTERN  SelectCurMusic
   \   0000                    EXTERN  SetPenColor
   \   0000                    EXTERN  SetTextOutMode
   \   0000                    EXTERN  SetTextPos
   \   0000                    EXTERN  ToNextMusic
   \   0000                    EXTERN  UpDisplayFlag
   \   0000                    EXTERN  VMRead
   \   0000                    EXTERN  ap_get_message
   \   0000                    EXTERN  ap_handle_hotkey
   \   0000                    EXTERN  ap_message_init
   \   0000                    EXTERN  g_2HZ_CNT
   \   0000                    EXTERN  g_TagInfoBuf
   \   0000                    EXTERN  g_comval
   \   0000                    EXTERN  g_lyricflag
   \   0000                    EXTERN  g_music_vars
   \   0000                    EXTERN  g_result
   \   0000                    EXTERN  lyricGetNext
   \   0000                    EXTERN  lyricGetPrev
   \   0000                    EXTERN  lyricQueryOutof
   \   0000                    EXTERN  lyricSeekFor
   \   0000                    EXTERN  musicpSendCommand
   \   0000                    EXTERN  need_draw
   \   0000                    EXTERN  ui_auto_update
   \   0000                    PUBLIC  ui_lyric
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?S_V_SWITCH_L06
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_LEAVE_DIRECT_L08
   \   0000                    EXTERN  ?BANK_FAST_LEAVE_L08
   \   0000                    EXTERN  ?ENT_PARM_DIRECT_L09
   \   0000                    EXTERN  ?ENT_AUTO_DIRECT_L09
   \   0000                    RSEG    AP_UIA_LRC
   \   0000            GetNowTime:
      1          /*
      2          *******************************************************************************
      3          *                ACTOS AP
      4          *        voice player stop program.
      5          *
      6          *        (c) Copyright, Actions Co,Ld.
      7          *             All Right Reserved
      8          *
      9          *  $Id: ui_lyric.c,v 1.2 2006/06/26 01:14:24 tangwh Exp $
     10          *******************************************************************************
     11          */
     12          
     13          #pragma codeseg(AP_UIA_LRC)
     14          #include "ap_music.h"
     15          
     16          #define ExproTimeDef 5//浏览的延时值
     17          
     18          #pragma memory=dataseg(APD_UI_LRC)
     19          char LyricStrBuf[88];               // 
     20          #pragma memory=default
     21          
     22          
     23          #pragma memory=dataseg(APD_UIA_LRC)
     24          
     25          //char LyricStrBuf[87];
     26          
     27          BYTE RT_buf[4]; //当前时间
     28          //wma_play_status_t  status_buf;//不能开在这,因为查状态调用时要换BANK
     29          
     30          #pragma memory=default
     31          
     32          #pragma memory=constseg(APC_UIA_LRC)
     33          #pragma memory=default
     34          
     35          void DisInFBHead(char DisMod);
     36          
     37          
     38          void GetNowTime( void )
     39          {
   \   0000  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   0003  FAFF              DEFW    65530
     40              Full_time_t curtime_buf;
     41          
     42              BYTE temp;
     43          
     44              if (!musicpSendCommand(MC_GETTIME, (int)& curtime_buf))
   \   0005  210000            LD      HL,0
   \   0008  39                ADD     HL,SP
   \   0009  4D                LD      C,L
   \   000A  44                LD      B,H
   \   000B  1E80              LD      E,128
   \   000D  CD4900            CALL    LWRD ?0103
   \   0010  2C                INC     L
   \   0011  2D                DEC     L
   \   0012  200C              JR      NZ,?0003
   \   0014            ?0002:
     45              {
     46                  *(long *)RT_buf = 0;
   \   0014  4D                LD      C,L
   \   0015  45                LD      B,L
   \   0016  ED430000          LD      (RT_buf),BC
   \   001A  ED430200          LD      (RT_buf+2),BC
     47                  return;
     48              }
   \   001E  1823              JR      ?0004
   \   0020            ?0003:
     49              //以下三句是把时间分,秒,毫秒合成LONG形与表中数据进行比较(只比较大小)
     50              * (WORD* )RT_buf = curtime_buf.TimeMs;
   \   0020  DD6EFA            LD      L,(IX-6)
   \   0023  DD66FB            LD      H,(IX-5)
   \   0026  220000            LD      (RT_buf),HL
     51              //由于原来的MS不是按WORD方式送出的,所以这里要倒一下
     52              temp = RT_buf[0];
   \   0029  3A0000            LD      A,(RT_buf)
   \   002C  5F                LD      E,A
     53              RT_buf[0] = RT_buf[1];
   \   002D  3A0100            LD      A,(RT_buf+1)
   \   0030  320000            LD      (RT_buf),A
     54              RT_buf[1] = temp;
   \   0033  7B                LD      A,E
   \   0034  320100            LD      (RT_buf+1),A
     55          
     56              //时间格式|MIN|SEC|MS_L|MS_H| //取出实时时间表
     57              RT_buf[2] = curtime_buf.TimeSecond;
   \   0037  DD7EFC            LD      A,(IX-4)
   \   003A  320200            LD      (RT_buf+2),A
     58              RT_buf[3] = curtime_buf.TimeMinute;
   \   003D  DD7EFD            LD      A,(IX-3)
   \   0040  320300            LD      (RT_buf+3),A
     59              return;
     60          }
   \   0043            ?0004:
   \   0043  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   0046            ?0105:
   \   0046  48                LD      C,B
   \   0047            ?0104:
   \   0047  1E07              LD      E,7
   \   0049            ?0103:
   \   0049  3E00              LD      A,BYTE3 musicpSendCommand
   \   004B  210000            LD      HL,LWRD musicpSendCommand
   \   004E  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   0051            DisplayLyricStr:
     61          
     62          
     63          void DisplayLyricStr( char * str ) //显示驱自动换行
     64          {
   \   0051  CD0000            CALL    LWRD ?ENT_PARM_DIRECT_L09
     65              ResShowPic(MLRCBCK,0,0);
   \   0054  0E00              LD      C,0
   \   0056  C5                PUSH    BC
   \   0057  CDD200            CALL    LWRD ?0106
   \   005A  F1                POP     AF
     66              SetTextOutMode(0x0f);
   \   005B  1E0F              LD      E,15
   \   005D  CD0000            CALL    LWRD SetTextOutMode
     67              SetTextPos(42, 14);
   \   0060  0E0E              LD      C,14
   \   0062  1E2A              LD      E,42
   \   0064  CD0000            CALL    LWRD SetTextPos
     68              SetPenColor(Color_WHITE_def);
   \   0067  010000            LD      BC,0
   \   006A  11FFFF            LD      DE,65535
   \   006D  CD0000            CALL    LWRD SetPenColor
     69              PutS(g_TagInfoBuf, -1);
   \   0070  0EFF              LD      C,255
   \   0072  110000            LD      DE,g_TagInfoBuf
   \   0075  CD0000            CALL    LWRD PutS
     70              SetTextPos(POSITION_LRCMID, POSITIONY_LRCMID);
   \   0078  0E63              LD      C,99
   \   007A  1E28              LD      E,40
   \   007C  CD0000            CALL    LWRD SetTextPos
     71              SetPenColor(Color_BULE1_def);
   \   007F  010000            LD      BC,0
   \   0082  113E75            LD      DE,30014
   \   0085  CD0000            CALL    LWRD SetPenColor
     72              PutS(str, -1);
   \   0088  0EFF              LD      C,255
   \   008A  DD5E02            LD      E,(IX+2)
   \   008D  DD5603            LD      D,(IX+3)
   \   0090  CD0000            CALL    LWRD PutS
     73          
     74              SetPenColor(0x00008410);
   \   0093  010000            LD      BC,0
   \   0096  111084            LD      DE,33808
   \   0099  CD0000            CALL    LWRD SetPenColor
     75              if(lyricGetPrev(LyricStrBuf, sizeof(LyricStrBuf)))//前一句
   \   009C  CDF000            CALL    LWRD ?0108
   \   009F  280D              JR      Z,?0006
   \   00A1            ?0005:
     76              {
     77                  SetTextPos(POSITION_LRCTOP, POSITIONY_LRCTOP);
   \   00A1  0E88              LD      C,136
   \   00A3  CDDD00            CALL    LWRD ?0107
     78                  PutS(LyricStrBuf, -1);
     79                  lyricGetNext(LyricStrBuf, sizeof(LyricStrBuf));
   \   00A6  3E00              LD      A,BYTE3 lyricGetNext
   \   00A8  210000            LD      HL,LWRD lyricGetNext
   \   00AB  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   00AE            ?0006:
     80              }
     81              if(lyricGetNext(LyricStrBuf, sizeof(LyricStrBuf)))//后一句
   \   00AE  0E58              LD      C,88
   \   00B0  110000            LD      DE,LyricStrBuf
   \   00B3  3E00              LD      A,BYTE3 lyricGetNext
   \   00B5  210000            LD      HL,LWRD lyricGetNext
   \   00B8  CDFA00            CALL    LWRD ?0109
   \   00BB  280D              JR      Z,?0008
   \   00BD            ?0007:
     82              {
     83                  SetTextPos(POSITION_LRCBOT, POSITIONY_LRCBOT);
   \   00BD  0E3C              LD      C,60
   \   00BF  CDDD00            CALL    LWRD ?0107
     84                  PutS(LyricStrBuf, -1);
     85                  lyricGetPrev(LyricStrBuf, sizeof(LyricStrBuf));
   \   00C2  3E00              LD      A,BYTE3 lyricGetPrev
   \   00C4  210000            LD      HL,LWRD lyricGetPrev
   \   00C7  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   00CA            ?0008:
     86              }
     87              SetTextOutMode(NOCLARITY);
   \   00CA  1E00              LD      E,0
   \   00CC  CD0000            CALL    LWRD SetTextOutMode
     88          }
   \   00CF  C30000            JP      LWRD ?BANK_LEAVE_DIRECT_L08
   \   00D2            ?0106:
   \   00D2  118100            LD      DE,129
   \   00D5  3E00              LD      A,BYTE3 ResShowPic
   \   00D7  210000            LD      HL,LWRD ResShowPic
   \   00DA  C30000            JP      LWRD ?BANK_CALL_DIRECT_L08
   \   00DD            ?0107:
   \   00DD  1E28              LD      E,40
   \   00DF  CD0000            CALL    LWRD SetTextPos
   \   00E2  0EFF              LD      C,255
   \   00E4  110000            LD      DE,LyricStrBuf
   \   00E7  CD0000            CALL    LWRD PutS
   \   00EA  0E58              LD      C,88
   \   00EC  110000            LD      DE,LyricStrBuf
   \   00EF  C9                RET
   \   00F0            ?0108:
   \   00F0  0E58              LD      C,88
   \   00F2  110000            LD      DE,LyricStrBuf
   \   00F5  3E00              LD      A,BYTE3 lyricGetPrev
   \   00F7  210000            LD      HL,LWRD lyricGetPrev
   \   00FA            ?0109:
   \   00FA  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   00FD  2C                INC     L
   \   00FE  2D                DEC     L
   \   00FF  C9                RET
   \   0100            ui_lyric:
     89          
     90          
     91          int ui_lyric( void )
     92          {
   \   0100  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   0103  F4FF              DEFW    65524
     93              int key;
     94          
     95              bool KeyUpFlag = FALSE;
     96              //lyric_t *LRCTimeTabPT;
     97              bool ExproFlag = FALSE; //true: 在浏览模式
     98          
     99              wma_play_status_t status_buf;
    100          
    101              //先刷屏
    102                  //ResShowPic(MENUTWO,0,0);
    103                   //关闭背光时间
    104              VMRead(& g_comval, VM_SYSTEM, sizeof(g_comval));
   \   0105  212000            LD      HL,32
   \   0108  E5                PUSH    HL
   \   0109  010002            LD      BC,512
   \   010C  110000            LD      DE,g_comval
   \   010F  CD0000            CALL    LWRD VMRead
   \   0112  E1                POP     HL
    105                g_comval.LightTime = 0;

⌨️ 快捷键说明

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