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

📄 ui_stop_menu.lst

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

   \   0000                    NAME    ui_stop_menu(17)
   \   0000                    RSEG    AP_UI_MNU_STOP(0)
   \   0000                    RSEG    IDATA0(0)
   \   0000                    RSEG    CDATA0(0)
   \   0000                    RSEG    APC_UI_MNU_STOP(0)
   \   0000                    EXTERN  BankSwitch
   \   0000                    EXTERN  ClearScreen
   \   0000                    EXTERN  ClearTimePara
   \   0000                    EXTERN  DRV_ActiveUD
   \   0000                    EXTERN  DRV_DetectUD
   \   0000                    EXTERN  DisplayErrInfor
   \   0000                    EXTERN  DisplayErrMsg
   \   0000                    EXTERN  NoCardCaseInStopMenu
   \   0000                    PUBLIC  PLFileName
   \   0000                    PUBLIC  dir_string
   \   0000                    PUBLIC  dir_string_card
   \   0000                    EXTERN  fselGetLocation
   \   0000                    EXTERN  fselGetNextFile
   \   0000                    EXTERN  fselInit
   \   0000                    EXTERN  fselPlayListEnt
   \   0000                    EXTERN  fselSetLocation
   \   0000                    EXTERN  fselSetMode
   \   0000                    EXTERN  g_DiskStateFlag
   \   0000                    EXTERN  g_comval
   \   0000                    EXTERN  g_music_vars
   \   0000                    EXTERN  list
   \   0000                    EXTERN  musicpSendCommand
   \   0000                    EXTERN  ui_delete_Music
   \   0000                    EXTERN  ui_directory
   \   0000                    EXTERN  ui_licensinf
   \   0000                    EXTERN  ui_playlist
   \   0000                    EXTERN  ui_popup_list
   \   0000                    PUBLIC  ui_stop_menu
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?SS_CMP_L02
   \   0000                    EXTERN  ?S_S_SWITCH_L06
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_LEAVE_DIRECT_L08
   \   0000                    EXTERN  ?ENT_AUTO_DIRECT_L09
   \   0000                    RSEG    AP_UI_MNU_STOP
   \   0000            ui_stop_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_stop_menu.c,v 1.2 2006/07/14 06:46:20 tangwh Exp $
      9          *******************************************************************************
     10          */
     11          #include "ap_music.h"
     12                      
     13                       
     14          extern int test_cow1; 
     15          #pragma memory=constseg(APC_UI_MNU_STOP)
     16          
     17          const char PLFileName[5][12] = {"MYLIST  A3L","ARTIST  A3L","ALBUM   A3L","GENRE   A3L","COMPOSERA3L"
     18          }; 
     19          
     20           
     21          
     22          const WORD dir_string_card[6+5] =
     23          {
     24              MSTOP6, MSTOP7,MSTOP8, MSTOP9, MSTOP10, MSTOP11, MSTOP1, MSTOP2, MSTOP3, MSTOP4, MSTOP5
     25          };
     26          
     27           
     28          const WORD dir_string[6+4] =
     29          {
     30              MSTOP6, MSTOP7,MSTOP8, MSTOP9, MSTOP10, MSTOP11, MSTOP1, MSTOP3, MSTOP4, MSTOP5
     31          };
     32          
     33          #pragma memory=default
     34          extern void make_dirname(void);
     35          int ui_licensinf(int string_id);
     36          int ui_delete_Music( int type );
     37          int NoCardCaseInStopMenu(int active);
     38          
     39          #pragma codeseg(AP_UI_MNU_STOP)
     40          
     41          int ui_stop_menu( void )
     42          {
   \   0000  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   0003  FCFF              DEFW    65532
     43              int result;
     44              bool tmpflag = FALSE;
     45              static char StopMenuactive=0;    //保持选中菜单的序号
     46              
     47              ClearScreen(NULL);
   \   0005  110000            LD      DE,0
   \   0008  CD0000            CALL    LWRD ClearScreen
     48                  
     49              list.headid = STOPMENU;
   \   000B  21EA01            LD      HL,490
   \   000E  220600            LD      (list+6),HL
     50              if (DRV_DetectUD(1) == 0x20)
   \   0011  5C                LD      E,H
   \   0012  CD7303            CALL    LWRD ?0102
   \   0015  200E              JR      NZ,?0004
   \   0017            ?0003:
     51              {
     52                  //有卡时的显示
     53                  list.total = sizeof(dir_string_card) / 2;
   \   0017  210B00            LD      HL,11
   \   001A  220200            LD      (list+2),HL
     54           
     55                  list.strid = dir_string_card;
   \   001D  213C00            LD      HL,dir_string_card
   \   0020  220000            LD      (list),HL
     56              }    
     57              else
   \   0023  181E              JR      ?0007
   \   0025            ?0004:
     58              {
     59                  //无卡时的显示
     60                  list.total = sizeof(dir_string) / 2;
   \   0025  210A00            LD      HL,10
   \   0028  220200            LD      (list+2),HL
     61                  list.strid = dir_string;
   \   002B  215200            LD      HL,dir_string
   \   002E  220000            LD      (list),HL
     62                  if (StopMenuactive  >= list.total)
   \   0031  ED4B0200          LD      BC,(list+2)
   \   0035  2A0000            LD      HL,(?0002)
   \   0038  2600              LD      H,0
   \   003A  CD0000            CALL    LWRD ?SS_CMP_L02
   \   003D  3804              JR      C,?0007
   \   003F            ?0006:
     63                  {
     64                      StopMenuactive--;
   \   003F  210000            LD      HL,?0002
   \   0042  35                DEC     (HL)
   \   0043            ?0007:
   \   0043            ?0005:
     65                  }
     66              } 
     67              list.string_id = g_comval.langid;    
   \   0043  3A0C00            LD      A,(g_comval+12)
   \   0046  320800            LD      (list+8),A
     68              list.active = StopMenuactive;
   \   0049  ED4B0000          LD      BC,(?0002)
   \   004D  0600              LD      B,0
   \   004F  ED430400          LD      (list+4),BC
     69              
     70              CLEAR_WATCHDOG();
   \   0053  DB4E              IN      A,(78)
   \   0055  CBDF              SET     3,A
   \   0057  D34E              OUT     (78),A
     71              result = ui_popup_list(&list, NULL);
   \   0059  48                LD      C,B
   \   005A  C5                PUSH    BC
   \   005B  C5                PUSH    BC
   \   005C  110000            LD      DE,list
   \   005F  3E00              LD      A,BYTE3 ui_popup_list
   \   0061  210000            LD      HL,LWRD ui_popup_list
   \   0064  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0067  F1                POP     AF
   \   0068  F1                POP     AF
   \   0069  DD75FC            LD      (IX-4),L
   \   006C  DD74FD            LD      (IX-3),H
     72              StopMenuactive = list.active;
   \   006F  3A0400            LD      A,(list+4)
   \   0072  320000            LD      (?0002),A
     73          
     74              if (result != 0)
   \   0075  7D                LD      A,L
   \   0076  B4                OR      H
   \   0077  C25B03            JP      NZ,?0095
   \   007A            ?0008:
     75              {
     76                  return result;
     77              }
   \   007A            ?0009:
     78          
     79              //如下加快其他项的退出速度
     80          
     81              if (DRV_DetectUD(1) == 0x20)
   \   007A  CD7103            CALL    LWRD ?0103
   \   007D  2022              JR      NZ,?0011
   \   007F            ?0010:
     82              {
     83                  // 有卡
     84                  // DRV_DetectUD() 之后必须加上DRV_ActiveUD(),
     85                  // 否则系统无法对卡进行读写操作.
     86                      if(g_music_vars.location.disk == 'H')
   \   007F  3A0700            LD      A,(g_music_vars+7)
   \   0082  FE48              CP      72
   \   0084  0E01              LD      C,1
   \   0086  2003              JR      NZ,?0013
   \   0088            ?0012:
     87                          DRV_ActiveUD(1, MODE_SLOW);
   \   0088  59                LD      E,C
   \   0089  1801              JR      ?0093
     88                      else
   \   008B            ?0013:
     89                          DRV_ActiveUD(0, MODE_SLOW);         
   \   008B  58                LD      E,B
   \   008C            ?0093:
   \   008C  CD0000            CALL    LWRD DRV_ActiveUD
   \   008F            ?0014:
     90                  switch (list.active)
   \   008F  ED4B0400          LD      BC,(list+4)
   \   0093  3E05              LD      A,5
   \   0095  A9                XOR     C
   \   0096  B0                OR      B
   \   0097  2812              JR      Z,?0100
   \   0099            ?0016:
     91                  {
     92                  case 5://licens informations
     93                      ui_licensinf(g_comval.langid);
     94                      return RESULT_IGNORE;    
     95                  
     96                  case 10://exit
   \   0099            ?0017:
   \   0099  3E0A              LD      A,10
   \   009B  A9                XOR     C
   \   009C  B0                OR      B
   \   009D  2021              JR      NZ,?0019
     97                      return RESULT_IGNORE;
   \   009F  183E              JR      ?0099
     98                  }            
   \   00A1            ?0015:
     99              }
    100              else

⌨️ 快捷键说明

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