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

📄 ui_play_menu.lst

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

   \   0000                    NAME    ui_play_menu(17)
   \   0000                    RSEG    AP_UI_MNU(0)
   \   0000                    RSEG    IDATA0(0)
   \   0000                    RSEG    CDATA0(0)
   \   0000                    RSEG    APC_UI_MNU(0)
   \   0000                    EXTERN  CheckPlayrateLimit
   \   0000                    EXTERN  CheckReplaygapLimit
   \   0000                    EXTERN  CheckReplaytimesLimit
   \   0000                    EXTERN  ClearScreen
   \   0000                    EXTERN  RePlayStatus
   \   0000                    EXTERN  SRSModeFlag
   \   0000                    EXTERN  bass_user_callback
   \   0000                    EXTERN  eq_callback
   \   0000                    PUBLIC  eq_string
   \   0000                    EXTERN  g_OldSecTempBackup
   \   0000                    EXTERN  g_comval
   \   0000                    EXTERN  g_currentMusicType
   \   0000                    EXTERN  g_introCNT
   \   0000                    EXTERN  g_introCntMode
   \   0000                    EXTERN  g_music_vars
   \   0000                    EXTERN  g_result
   \   0000                    EXTERN  list
   \   0000                    EXTERN  loop_callback
   \   0000                    EXTERN  musicpSendCommand
   \   0000                    PUBLIC  play_string
   \   0000                    PUBLIC  repeat_string
   \   0000                    EXTERN  slider
   \   0000                    EXTERN  speed_callback
   \   0000                    EXTERN  srs_callback
   \   0000                    PUBLIC  srs_default_set
   \   0000                    PUBLIC  srs_string
   \   0000                    EXTERN  srs_user_callback
   \   0000                    PUBLIC  srsuser_string
   \   0000                    PUBLIC  ui_EQ_menu
   \   0000                    PUBLIC  ui_SRSUSER_menu
   \   0000                    PUBLIC  ui_SRS_menu
   \   0000                    EXTERN  ui_auto_update
   \   0000                    PUBLIC  ui_loop_menu
   \   0000                    PUBLIC  ui_play_menu
   \   0000                    PUBLIC  ui_play_menu_loop
   \   0000                    EXTERN  ui_popup_list
   \   0000                    EXTERN  ui_slider
   \   0000                    EXTERN  wow_user_callback
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?S_S_SWITCH_L06
   \   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                    RSEG    AP_UI_MNU
   \   0000            ui_play_menu:
      1          /*
      2          *******************************************************************************
      3          *                ACTOS AP
      4          *        This program demostrates how to build an AP
      5          *
      6          *        (c) Copyright Actions Co,Ld.
      7          *
      8          *  $Id: ui_play_menu.c,v 1.1.1.1 2006/05/22 03:24:01 selina Exp $
      9          *******************************************************************************
     10          */
     11          #include "ap_music.h"
     12          
     13          #pragma codeseg(AP_UI_MNU)
     14          #pragma memory=constseg(APC_UI_MNU)
     15          
     16          const WORD eq_string[7] =
     17          {
     18              MEQ1, MEQ2, MEQ3, MEQ4, MEQ5, MEQ6, MEQ7
     19          };
     20          const WORD srsuser_string[4] =
     21          {
     22           SRS3D,SRSTBAS,SRSFOCUS,MPLAY7
     23          };
     24          const WORD srs_string[3]=
     25          {
     26             SRSSET,SRSUSER, DISABSRS
     27          };
     28          
     29          const WORD play_string[8] =
     30          {
     31              MPLAY1, MPLAY2,SRSMAIN, MPLAY3, MPLAY4, MPLAY5, MPLAY6, MPLAY7
     32          };
     33          
     34          const WORD repeat_string[7] =
     35          {
     36              VLOOPM1, VLOOPM2, VLOOPM3, VLOOPM4, VLOOPM5, VLOOPM6, VLOOPM7
     37          };
     38          
     39          #pragma memory=default
     40          
     41          int ui_play_menu_loop(void);
     42          void srs_default_set(void);   
     43          extern byte SRSModeFlag;
     44          //增加这函数的目的是集中处理这函数退出时都要做的一些事
     45                                        //(减小调用处的程序开销)
     46          int ui_play_menu(void)
     47          {
   \   0000  D5                PUSH    DE
     48              int result;
     49              result = ui_play_menu_loop();
   \   0001  3E00              LD      A,BYTE3 ui_play_menu_loop
   \   0003  211D00            LD      HL,LWRD ui_play_menu_loop
   \   0006  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0009  EB                EX      DE,HL
     50              StartIntro(FALSE);
   \   000A  AF                XOR     A
   \   000B  320000            LD      (g_introCntMode),A
   \   000E  3A4D00            LD      A,(g_music_vars+77)
   \   0011  320000            LD      (g_OldSecTempBackup),A
   \   0014  AF                XOR     A
   \   0015  320000            LD      (g_introCNT),A
     51              return result;
   \   0018  EB                EX      DE,HL
     52          }
   \   0019  D1                POP     DE
   \   001A  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   001D            ui_play_menu_loop:
     53          
     54          int ui_play_menu_loop(void)
     55          {
   \   001D  C5                PUSH    BC
   \   001E  D5                PUSH    DE
   \   001F  21EB01            LD      HL,491
   \   0022  220600            LD      (list+6),HL
     56              //int result;
     57              static char PlayMenuactive=0;    //保持选中菜单的序号
     58              
     59              list.headid = PLAYMENU;
     60              list.active = PlayMenuactive;
   \   0025  ED4B0000          LD      BC,(?0002)
   \   0029  0600              LD      B,0
   \   002B  ED430400          LD      (list+4),BC
     61              list.total = 8;
   \   002F  210800            LD      HL,8
   \   0032  220200            LD      (list+2),HL
     62              list.strid = play_string;
   \   0035  211C00            LD      HL,play_string
   \   0038  220000            LD      (list),HL
     63              list.string_id = g_comval.langid;
   \   003B  3A0C00            LD      A,(g_comval+12)
   \   003E  320800            LD      (list+8),A
     64              g_result = ui_popup_list(&list, NULL);
   \   0041  48                LD      C,B
   \   0042  C5                PUSH    BC
   \   0043  C5                PUSH    BC
   \   0044  110000            LD      DE,list
   \   0047  CDD901            CALL    LWRD ?0099
   \   004A  F1                POP     AF
   \   004B  F1                POP     AF
   \   004C  220000            LD      (g_result),HL
     65              PlayMenuactive = list.active;
   \   004F  3A0400            LD      A,(list+4)
   \   0052  320000            LD      (?0002),A
     66              DEBUGP(5);
     67          
     68              if (g_result == RESULT_IGNORE)return 0;
   \   0055  3E34              LD      A,52
   \   0057  AD                XOR     L
   \   0058  B4                OR      H
   \   0059  CAC501            JP      Z,?0007
   \   005C            ?0003:
   \   005C            ?0004:
     69          
     70              if (g_result != 0)return g_result; //是热键
   \   005C  7D                LD      A,L
   \   005D  B4                OR      H
   \   005E  C2C801            JP      NZ,?0033
   \   0061            ?0005:
   \   0061            ?0006:
     71          
     72              switch (list.active)
   \   0061  ED5B0400          LD      DE,(list+4)
   \   0065  CD0000            CALL    LWRD ?S_S_SWITCH_L06
   \   0068  0000              DEFW    0
   \   006A  0800              DEFW    8
   \   006C  C501              DEFW    ?0007
   \   006E  7E00              DEFW    ?0008
   \   0070  8500              DEFW    ?0009
   \   0072  8C00              DEFW    ?0010
   \   0074  AA00              DEFW    ?0015
   \   0076  1301              DEFW    ?0022
   \   0078  2401              DEFW    ?0025
   \   007A  7301              DEFW    ?0028
   \   007C  C501              DEFW    ?0007
   \   007E            ?0008:
     73              {
     74                  case 0: //repeat
     75                      g_result = ui_loop_menu();
   \   007E  3E00              LD      A,BYTE3 ui_loop_menu
   \   0080  213B04            LD      HL,LWRD ui_loop_menu
   \   0083  1819              JR      ?0083
     76                      return g_result;
     77          
     78                  case 1: //eq
   \   0085            ?0009:
     79                      g_result = ui_EQ_menu();
   \   0085  3E00              LD      A,BYTE3 ui_EQ_menu
   \   0087  21E901            LD      HL,LWRD ui_EQ_menu
   \   008A  1812              JR      ?0083
     80                      return g_result;
     81          
     82                  case 2: //play speed
   \   008C            ?0010:
     83                      if( g_currentMusicType==Music_MP3 ||g_currentMusicType==Music_WMA) 
   \   008C  3A0000            LD      A,(g_currentMusicType)
   \   008F  3D                DEC     A
   \   0090  2807              JR      Z,?0013
   \   0092  3A0000            LD      A,(g_currentMusicType)
   \   0095  3D                DEC     A
   \   0096  3D                DEC     A
   \   0097  200E              JR      NZ,?0012
   \   0099            ?0013:
   \   0099            ?0014:
   \   0099            ?0011:
     84                      {
     85                       g_result = ui_SRS_menu();
   \   0099  3E00              LD      A,BYTE3 ui_SRS_menu
   \   009B  216002            LD      HL,LWRD ui_SRS_menu
   \   009E            ?0083:
   \   009E  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   00A1  220000            LD      (g_result),HL
     86                       return g_result;
     87                      }
   \   00A4  C3C801            JP      LWRD ?0033
   \   00A7            ?0012:
     88                      else
     89                        break; 
   \   00A7  C3C501            JP      LWRD ?0007
   \   00AA            ?0015:
     90                  case 3: //play speed
     91                      //只有在播放MP3并不是在SD卡时才能调节播放速度
     92                      if( (g_currentMusicType == Music_MP3)
     93                          && (g_music_vars.location.disk != 'H') )
   \   00AA  3A0000            LD      A,(g_currentMusicType)
   \   00AD  3D                DEC     A
   \   00AE  2060              JR      NZ,?0021
   \   00B0  3A0700            LD      A,(g_music_vars+7)
   \   00B3  FE48              CP      72
   \   00B5  2859              JR      Z,?0021
   \   00B7            ?0019:
   \   00B7            ?0018:
   \   00B7            ?0016:
     94                      {
     95                          //show background
     96                          ClearScreen(NULL);
   \   00B7  59                LD      E,C
   \   00B8  50                LD      D,B
   \   00B9  CD0000            CALL    LWRD ClearScreen

⌨️ 快捷键说明

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