ui_stop.lst

来自「MP3 整个 SDK」· LST 代码 · 共 978 行 · 第 1/4 页

LST
978
字号
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       25/Dec/106  16:59:10 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d90f\ap\ap_amv\ui_stop.c                  #
#       List file     =  d:\case_i_d90f\ap\ap_amv\list\ui_stop.lst           #
#       Object file   =  d:\case_i_d90f\ap\ap_amv\obj\ui_stop.r01            #
#       ASM file      =  d:\case_i_d90f\ap\ap_amv\list\ui_stop.s01           #
#       Command line  =  -v0 -mb -OD:\case_i_d90f\ap\ap_amv\Obj\ -e -K -w    #
#                        -gA -s9 -RCODE -r0 -DNAPDEBUG -DAMV_JPG_TXT         #
#                        -LD:\case_i_d90f\ap\ap_amv\List\ -q -t8             #
#                        -AD:\case_i_d90f\ap\ap_amv\List\                    #
#                        -ND:\case_i_d90f\ap\ap_amv\List\ -X                 #
#                        -Id:\sdk_i_90f\inc\ -Id:\case_i_d90f\inc\           #
#                        d:\case_i_d90f\ap\ap_amv\ui_stop.c                  #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    ui_stop(17)
   \   0000                    RSEG    AP_UI_STP(0)
   \   0000                    RSEG    CSTR(0)
   \   0000                    EXTERN  ChangeMusic
   \   0000                    EXTERN  CheckMusicType
   \   0000                    EXTERN  ClearTimePara
   \   0000                    EXTERN  DRV_Install
   \   0000                    EXTERN  GetBattery
   \   0000                    EXTERN  GetInformation
   \   0000                    EXTERN  PlayStatus
   \   0000                    EXTERN  RefreshMainScreen
   \   0000                    EXTERN  SetBackgdColor
   \   0000                    EXTERN  SetContrast
   \   0000                    EXTERN  StandbyScreen
   \   0000                    EXTERN  Totaltime
   \   0000                    EXTERN  UpdateFileSelector
   \   0000                    EXTERN  VMRead
   \   0000                    EXTERN  ap_get_message
   \   0000                    EXTERN  ap_handle_hotkey
   \   0000                    EXTERN  ap_message_init
   \   0000                    EXTERN  ap_sleep
   \   0000                    EXTERN  fselGetLocation
   \   0000                    EXTERN  fselGetNextFile
   \   0000                    EXTERN  fselGetNo
   \   0000                    EXTERN  fselGetPrevFile
   \   0000                    EXTERN  fselGetTotal
   \   0000                    EXTERN  fselSetMode
   \   0000                    EXTERN  g_BatteryType
   \   0000                    EXTERN  g_TagInfoBuf
   \   0000                    EXTERN  g_TagInfoBuf1
   \   0000                    EXTERN  g_amv_vars
   \   0000                    EXTERN  g_changevolume
   \   0000                    EXTERN  g_comval
   \   0000                    EXTERN  g_currentMusicType
   \   0000                    EXTERN  g_langid
   \   0000                    EXTERN  g_menu_active
   \   0000                    EXTERN  g_musicamount
   \   0000                    EXTERN  g_musicsequence
   \   0000                    EXTERN  g_result
   \   0000                    EXTERN  make_dirname
   \   0000                    EXTERN  need_draw
   \   0000                    EXTERN  show_volume
   \   0000                    PUBLIC  time_cmp
   \   0000                    EXTERN  ui_err_msg
   \   0000                    EXTERN  ui_play
   \   0000                    EXTERN  ui_run_realtime
   \   0000                    EXTERN  ui_show_batt
   \   0000                    EXTERN  ui_show_msg
   \   0000                    PUBLIC  ui_stop
   \   0000                    PUBLIC  ui_stop_loop
   \   0000                    EXTERN  ui_stop_menu
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?C_V_SWITCH_L06
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_FAST_LEAVE_L08
   \   0000                    RSEG    AP_UI_STP
   \   0000            time_cmp:
      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.c,v 1.1.1.1 2006/05/22 03:24:02 selina Exp $
      9          *******************************************************************************
     10          */
     11          #include "ap_amv.h"
     12          extern comval_t g_comval; //系统变量,ap不能更改
     13          extern bool ActiveDriveOK;
     14          extern bool g_menu_active; //为1进入MENU菜单,主要用来丢掉从目录选择时长按mode键返回
     15          int ui_stop_loop(void);
     16          extern void make_dirname(void);
     17          
     18          //======================================================================================
     19          //RESULT_CURR_UI: 还要处在当前界面
     20          //RESULT_UI_STOP: 到UI_STOP界面(因现在就是UI_STOP界面,所以同上)
     21          //RESULT_LAST_UI: 到上一级界面
     22          //--------------------------------------------------------------------------------------
     23          #pragma codeseg(AP_UI_STP)
     24          
     25          int time_cmp(const AmvFileBreakPntInfor *time1, const time_t *time2)
     26          {
   \   0000  FDE5              PUSH    IY
   \   0002  DDE5              PUSH    IX
   \   0004  D5                PUSH    DE
   \   0005  DDE1              POP     IX
   \   0007  C5                PUSH    BC
   \   0008  FDE1              POP     IY
     27              if(time1->TimeHou == time2->hour)
   \   000A  0A                LD      A,(BC)
   \   000B  47                LD      B,A
   \   000C  210600            LD      HL,6
   \   000F  19                ADD     HL,DE
   \   0010  7E                LD      A,(HL)
   \   0011  B8                CP      B
   \   0012  2029              JR      NZ,?0003
   \   0014            ?0002:
     28              {
     29                  if(time1->TimeMin == time2->minute)
   \   0014  DD7E05            LD      A,(IX+5)
   \   0017  FDBE01            CP      (IY+1)
   \   001A  2017              JR      NZ,?0005
   \   001C            ?0004:
     30                  {
     31                      if(time1->TimeSec == time2->second)
   \   001C  DD7E04            LD      A,(IX+4)
   \   001F  FDBE02            CP      (IY+2)
   \   0022  2005              JR      NZ,?0007
   \   0024            ?0006:
     32                      {
     33                          return 0;
   \   0024  210000            LD      HL,0
     34                      }
   \   0027  1820              JR      ?0008
   \   0029            ?0007:
     35                      else
     36                      {
     37                          return ((int)(time1->TimeSec) - time2->second);
   \   0029  FD4E02            LD      C,(IY+2)
   \   002C  0600              LD      B,0
   \   002E  DD6E04            LD      L,(IX+4)
   \   0031  1812              JR      ?0116
     38                      }
   \   0033            ?0005:
     39                  }
     40                  else
     41                  {
     42                      return ((int)(time1->TimeMin) - time2->minute);
   \   0033  FD4E01            LD      C,(IY+1)
   \   0036  0600              LD      B,0
   \   0038  DD6E05            LD      L,(IX+5)
   \   003B  1808              JR      ?0116
     43                  }
   \   003D            ?0003:
     44              }
     45              else
     46              {
     47                  return ((int)(time1->TimeHou) - time2->hour);
   \   003D  FD4E00            LD      C,(IY+0)
   \   0040  0600              LD      B,0
   \   0042  DD6E06            LD      L,(IX+6)
   \   0045            ?0116:
   \   0045  60                LD      H,B
   \   0046  A7                AND     A
   \   0047  ED42              SBC     HL,BC
     48              }
   \   0049            ?0008:
   \   0049  DDE1              POP     IX
   \   004B  FDE1              POP     IY
   \   004D  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
     49          }
   \   0050            ui_stop:
     50          
     51          int ui_stop(void)
     52          {
   \   0050  C5                PUSH    BC
   \   0051  D5                PUSH    DE
     53              ap_message_init(NULL);//开始算STANDBY 时间
   \   0052  CD2901            CALL    LWRD ?0140
     54              g_menu_active=TRUE;
   \   0055  3E01              LD      A,1
   \   0057  320000            LD      (g_menu_active),A
   \   005A            ?0011:
     55              do
     56              {
     57                   if (UpdateFileSelector() == 0)
   \   005A  3E00              LD      A,BYTE3 UpdateFileSelector
   \   005C  210000            LD      HL,LWRD UpdateFileSelector
   \   005F  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0062  7D                LD      A,L
   \   0063  B4                OR      H
   \   0064  CA2101            JP      Z,?0119
   \   0067            ?0012:
     58                   {
     59                       return 0;
     60                   }
   \   0067            ?0013:
     61          
     62          
     63                  g_musicamount = FSELGetTotal(); 
   \   0067  3E00              LD      A,BYTE3 fselGetTotal
   \   0069  210000            LD      HL,LWRD fselGetTotal
   \   006C  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   006F  7D                LD      A,L
   \   0070  320000            LD      (g_musicamount),A
     64                   if(g_musicamount==0)
   \   0073  B7                OR      A
   \   0074  201D              JR      NZ,?0015
   \   0076            ?0014:
   \   0076            ?0017:
     65                  {
     66                     // ui_show_msg (MFILEOUT, MFILEOUT, g_comval.langid);
     67                      while( ap_get_message() != NULL );//清空消息池,确保DELAY时间准确
   \   0076  CD0000            CALL    LWRD ap_get_message
   \   0079  B7                OR      A
   \   007A  20FA              JR      NZ,?0014
   \   007C            ?0018:
   \   007C            ?0016:
     68                      return  ui_show_msg (DFILEOUT, DFILEOUT, g_langid);
   \   007C  ED4B0000          LD      BC,(g_langid)
   \   0080  47                LD      B,A
   \   0081  C5                PUSH    BC
   \   0082  019201            LD      BC,402
   \   0085  59                LD      E,C
   \   0086  50                LD      D,B
   \   0087  3E00              LD      A,BYTE3 ui_show_msg
   \   0089  210000            LD      HL,LWRD ui_show_msg
   \   008C  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   008F  F1                POP     AF
     69          
     70                  }
   \   0090  C32401            JP      LWRD ?0022
   \   0093            ?0015:
     71          
     72                  g_musicsequence = FSELGetNo();
   \   0093  3E00              LD      A,BYTE3 fselGetNo
   \   0095  210000            LD      HL,LWRD fselGetNo
   \   0098  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   009B  7D                LD      A,L
   \   009C  320000            LD      (g_musicsequence),A
     73                  FSELSetMode(FSEL_ALL_REPEATALL);

⌨️ 快捷键说明

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