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

📄 sub_function2.lst

📁 MP3 整个 SDK
💻 LST
📖 第 1 页 / 共 5 页
字号:
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       25/Dec/106  17:00:48 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d90f\ap\ap_music\sub_function2.c          #
#       List file     =  d:\case_i_d90f\ap\ap_music\list\sub_function2.lst   #
#       Object file   =  d:\case_i_d90f\ap\ap_music\obj\sub_function2.r01    #
#       ASM file      =  d:\case_i_d90f\ap\ap_music\list\sub_function2.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\sub_function2.c          #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    sub_function2(17)
   \   0000                    RSEG    CODE(0)
   \   0000                    RSEG    CSTR(0)
   \   0000                    RSEG    CONST(0)
   \   0000                    RSEG    IDATA0(0)
   \   0000                    RSEG    CDATA0(0)
   \   0000                    EXTERN  BankSwitch
   \   0000                    PUBLIC  ChangeVolume
   \   0000                    PUBLIC  CheckMusicType
   \   0000                    PUBLIC  CheckPlayrateLimit
   \   0000                    PUBLIC  CheckReplaygapLimit
   \   0000                    PUBLIC  CheckReplaytimesLimit
   \   0000                    PUBLIC  CheckVolumeLimit
   \   0000                    EXTERN  ClearScreen
   \   0000                    PUBLIC  ClearTimePara
   \   0000                    PUBLIC  ClosePA
   \   0000                    PUBLIC  DealForDRMsong
   \   0000                    EXTERN  DisablePA
   \   0000                    EXTERN  DisplayErrMsg
   \   0000                    PUBLIC  DisplayTimeRollback
   \   0000                    EXTERN  EnableDAC
   \   0000                    EXTERN  EnablePA
   \   0000                    EXTERN  FS_Backup
   \   0000                    EXTERN  FS_CD
   \   0000                    EXTERN  FS_GetName
   \   0000                    EXTERN  FS_Restore
   \   0000                    EXTERN  GetAPEInfoByNo
   \   0000                    EXTERN  GetDefaultComval
   \   0000                    PUBLIC  GetInformation
   \   0000                    EXTERN  OutPutVolume
   \   0000                    EXTERN  RePlayStatus
   \   0000                    EXTERN  ResShowMultiString
   \   0000                    EXTERN  SetBackgdColor
   \   0000                    EXTERN  SetPenColor
   \   0000                    EXTERN  UpDisplayFlag
   \   0000                    EXTERN  VMRead
   \   0000                    EXTERN  ap_get_message
   \   0000                    EXTERN  ap_message_init
   \   0000                    EXTERN  ap_sleep
   \   0000                    EXTERN  dir_name
   \   0000                    EXTERN  fselGetLocation
   \   0000                    EXTERN  g_OldSecTempBackup
   \   0000                    EXTERN  g_PAOpenFlag
   \   0000                    EXTERN  g_PowerOffFlag
   \   0000                    EXTERN  g_TagInfoBuf
   \   0000                    EXTERN  g_comval
   \   0000                    EXTERN  g_currentMusicType
   \   0000                    EXTERN  g_introCNT
   \   0000                    EXTERN  g_introCntMode
   \   0000                    EXTERN  g_lyricflag
   \   0000                    EXTERN  g_music_vars
   \   0000                    EXTERN  g_result
   \   0000                    EXTERN  lyricLoad
   \   0000                    EXTERN  lyricQueryExist
   \   0000                    PUBLIC  make_dirname
   \   0000                    EXTERN  mp3GetID3Info
   \   0000                    EXTERN  musicpSendCommand
   \   0000                    EXTERN  need_draw
   \   0000                    PUBLIC  openDAC
   \   0000                    PUBLIC  openPA
   \   0000                    PUBLIC  read_var
   \   0000                    EXTERN  return_to_play
   \   0000                    EXTERN  slider
   \   0000                    EXTERN  speed_callback
   \   0000                    PUBLIC  temp_buffer
   \   0000                    EXTERN  ui_auto_update
   \   0000                    EXTERN  ui_dialog
   \   0000                    EXTERN  ui_slider
   \   0000                    EXTERN  unitochar
   \   0000                    EXTERN  volume_callback
   \   0000                    EXTERN  wmaGetTAGInfo
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_LEAVE_DIRECT_L08
   \   0000                    EXTERN  ?BANK_FAST_LEAVE_L08
   \   0000                    EXTERN  ?ENT_AUTO_DIRECT_L09
   \   0000                    EXTERN  ?STRCPY_L11
   \   0000                    EXTERN  ?STRCAT_L11
   \   0000                    EXTERN  ?MEMSET_L11
   \   0000                    EXTERN  ?STRCMP_L11
   \   0000                    RSEG    CODE
   \   0000            CheckVolumeLimit:
      1          /*
      2          *******************************************************************************
      3          *                ACTOS AP
      4          *        This program demostrates how to build an AP
      5          *
      6          *        (c) Copyright Actions Co,Ld.
      7          *
      8          *  $Id: sub_function2.c,v 1.1.1.1 2006/05/22 03:24:01 selina Exp $
      9          *******************************************************************************
     10          */
     11          #include "ap_music.h"
     12          
     13          extern char g_TagInfoBuf[90];
     14          extern SD_FILE* g_Resfp_Sav;
     15          extern char return_to_play ; 
     16           
     17          //extern bool ActiveDriveOK;
     18          
     19          char temp_buffer[6] = { 0 };
     20          void OutPutVolume(int vol);
     21          int DealForDRMsong(void);
     22          int ui_dialog(dialog_t *dialog,int string_id);
     23          BOOL GetAPEInfoByNo(char *filename, ID3Info_t *ID3, BYTE mode);
     24          
     25          void CheckVolumeLimit( void )
     26          {
   \   0000  C5                PUSH    BC
     27              if (g_music_vars.volume>31) g_music_vars.volume = 31;
   \   0001  3A0000            LD      A,(g_music_vars)
   \   0004  47                LD      B,A
   \   0005  3E1F              LD      A,31
   \   0007  90                SUB     B
   \   0008  E20D00            JP      PO,?0135
   \   000B  EE80              XOR     128
   \   000D            ?0135:
   \   000D  F21500            JP      P,?0003
   \   0010            ?0002:
   \   0010  3E1F              LD      A,31
   \   0012  320000            LD      (g_music_vars),A
   \   0015            ?0003:
     28          
     29              if (g_music_vars.volume<0) g_music_vars.volume = 0;
   \   0015  3A0000            LD      A,(g_music_vars)
   \   0018  B7                OR      A
   \   0019  F22000            JP      P,?0005
   \   001C            ?0004:
   \   001C  AF                XOR     A
   \   001D  320000            LD      (g_music_vars),A
   \   0020            ?0005:
     30          }
   \   0020  C1                POP     BC
   \   0021  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0024            CheckPlayrateLimit:
     31          
     32          void CheckPlayrateLimit( void )
     33          {
   \   0024  C5                PUSH    BC
     34              if (g_music_vars.play_rate > 8)
   \   0025  3A0300            LD      A,(g_music_vars+3)
   \   0028  47                LD      B,A
   \   0029  3E08              LD      A,8
   \   002B  90                SUB     B
   \   002C  E23100            JP      PO,?0136
   \   002F  EE80              XOR     128
   \   0031            ?0136:
   \   0031  F23900            JP      P,?0007
   \   0034            ?0006:
     35              {
     36                  g_music_vars.play_rate = 8;
   \   0034  3E08              LD      A,8
   \   0036  320300            LD      (g_music_vars+3),A
   \   0039            ?0007:
     37              }
     38              if (g_music_vars.play_rate < -8)
   \   0039  3A0300            LD      A,(g_music_vars+3)
   \   003C  EE80              XOR     128
   \   003E  FE78              CP      120
   \   0040  3005              JR      NC,?0009
   \   0042            ?0008:
     39              {
     40                  g_music_vars.play_rate = -8;
   \   0042  3EF8              LD      A,248
   \   0044  320300            LD      (g_music_vars+3),A
   \   0047            ?0009:
     41              }
     42          }
   \   0047  C1                POP     BC
   \   0048  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   004B            CheckReplaygapLimit:
     43          
     44          void CheckReplaygapLimit( void )
     45          {
   \   004B  C5                PUSH    BC
     46              if (g_music_vars.replaygap<1)
   \   004C  3A0500            LD      A,(g_music_vars+5)
   \   004F  FE01              CP      1
   \   0051  3005              JR      NC,?0011
   \   0053            ?0010:
     47              {
     48                  g_music_vars.replaygap = 1;
   \   0053  3E01              LD      A,1
   \   0055  320500            LD      (g_music_vars+5),A
   \   0058            ?0011:
     49              }
     50              if (g_music_vars.replaygap>10)
   \   0058  47                LD      B,A
   \   0059  3E0A              LD      A,10
   \   005B  B8                CP      B
   \   005C  3003              JR      NC,?0013
   \   005E            ?0012:
     51              {
     52                  g_music_vars.replaygap = 10;
   \   005E  320500            LD      (g_music_vars+5),A
   \   0061            ?0013:
     53              }
     54          }
   \   0061  C1                POP     BC
   \   0062  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   0065            CheckReplaytimesLimit:
     55          
     56          void CheckReplaytimesLimit( void )
     57          {
   \   0065  C5                PUSH    BC
     58              if (g_music_vars.replaytimes<1)
   \   0066  3A0400            LD      A,(g_music_vars+4)
   \   0069  FE01              CP      1
   \   006B  3005              JR      NC,?0015
   \   006D            ?0014:
     59              {
     60                  g_music_vars.replaytimes = 1;
   \   006D  3E01              LD      A,1
   \   006F  320400            LD      (g_music_vars+4),A
   \   0072            ?0015:
     61              }
     62              if (g_music_vars.replaytimes>10)
   \   0072  47                LD      B,A
   \   0073  3E0A              LD      A,10
   \   0075  B8                CP      B
   \   0076  3003              JR      NC,?0017
   \   0078            ?0016:
     63              {
     64                  g_music_vars.replaytimes = 10;
   \   0078  320400            LD      (g_music_vars+4),A
   \   007B            ?0017:
     65              }
     66          }
   \   007B  C1                POP     BC
   \   007C  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   007F            CheckMusicType:
     67          
     68          //-------------------------------------
     69          /*
     70          ********************************************************************************
     71          *             void StartIntro( bool mode )
     72          *
     73          * Description : 启动INTRO模式 mode = true 为 从头开始 = false 为从当前开始
     74          *
     75          * Arguments   : bool mode
     76          *
     77          * Returns     : void
     78          *
     79          * Notes       :
     80          *
     81          ********************************************************************************
     82          */
     83          //
     84          //void StartIntro( bool mode )
     85          //{
     86          //    g_introCntMode = mode;
     87          //    /* 用来比较出秒的变化 */
     88          //    //g_OldSecTempBackup = 0;
     89          //    g_OldSecTempBackup = g_music_vars.BreakPTDisTime.second;
     90          //    g_introCNT = 0;
     91          //}
     92          //
     93          /*
     94          ********************************************************************************

⌨️ 快捷键说明

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