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

📄 ui_stop.lst

📁 炬力方案176*132软件源码,适用于AK1025
💻 LST
📖 第 1 页 / 共 5 页
字号:
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       18/Nov/107  22:39:12 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d913f\ap\ap_voice\ui_stop.c               #
#       List file     =  d:\case_i_d913f\ap\ap_voice\list\ui_stop.lst        #
#       Object file   =  d:\case_i_d913f\ap\ap_voice\obj\ui_stop.r01         #
#       Command line  =  -v0 -mb -OD:\case_i_d913f\ap\ap_voice\Obj\ -e -K    #
#                        -w -gA -s9 -RCODE -r0 -DNAPDEBUG                    #
#                        -LD:\case_i_d913f\ap\ap_voice\List\ -q -t8          #
#                        -Id:\sdk_i_913f\inc\ -Id:\case_i_d913f\inc\         #
#                        d:\case_i_d913f\AP\AP_VOICE\ui_stop.c               #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    ui_stop(17)
   \   0000                    RSEG    CODE(0)
   \   0000                    RSEG    CONST(0)
   \   0000                    RSEG    UDATA0(0)
   \   0000                    RSEG    IDATA0(0)
   \   0000                    RSEG    CDATA0(0)
   \   0000                    PUBLIC  Cur_Status
   \   0000                    EXTERN  DRV_ActiveDrive
   \   0000                    EXTERN  GetBattery
   \   0000                    EXTERN  ResShowPic
   \   0000                    EXTERN  Scroll
   \   0000                    EXTERN  ScrollInit
   \   0000                    EXTERN  SetBackgdColor
   \   0000                    EXTERN  SetPenColor
   \   0000                    EXTERN  UpdateFileSelector
   \   0000                    EXTERN  ap_get_event
   \   0000                    EXTERN  ap_get_message
   \   0000                    EXTERN  ap_handle_hotkey
   \   0000                    EXTERN  ap_message_init
   \   0000                    EXTERN  ap_sleep
   \   0000                    EXTERN  do_play
   \   0000                    EXTERN  fselGetLocation
   \   0000                    EXTERN  fselGetNextFile
   \   0000                    EXTERN  fselGetNo
   \   0000                    EXTERN  fselGetTotal
   \   0000                    EXTERN  fselInit
   \   0000                    EXTERN  fselSetLocation
   \   0000                    EXTERN  g_autoswitch_counter
   \   0000                    EXTERN  g_bit_rate_pic
   \   0000                    EXTERN  g_bit_rate_value
   \   0000                    EXTERN  g_card_in_using
   \   0000                    EXTERN  g_card_ok
   \   0000                    EXTERN  g_comval
   \   0000                    EXTERN  g_file_name_time
   \   0000                    EXTERN  g_file_no
   \   0000                    EXTERN  g_file_total
   \   0000                    EXTERN  g_first_start
   \   0000                    PUBLIC  g_firstplay_flag
   \   0000                    EXTERN  g_from_browser
   \   0000                    PUBLIC  g_menu_active
   \   0000                    EXTERN  g_play_format
   \   0000                    EXTERN  g_play_status
   \   0000                    EXTERN  g_voice_type
   \   0000                    EXTERN  g_voice_vars
   \   0000                    EXTERN  is_ff_rw
   \   0000                    EXTERN  main_ResShowPic
   \   0000                    EXTERN  make_dirname
   \   0000                    PUBLIC  need_restore
   \   0000                    EXTERN  need_sel_file
   \   0000                    EXTERN  numsave
   \   0000                    EXTERN  parse_file
   \   0000                    EXTERN  sel_next
   \   0000                    EXTERN  sel_prev
   \   0000                    EXTERN  show_error
   \   0000                    PUBLIC  show_stop
   \   0000                    EXTERN  show_stop_menu
   \   0000                    EXTERN  time_cmp
   \   0000                    EXTERN  time_draw
   \   0000                    EXTERN  ui_draw
   \   0000                    EXTERN  ui_show_batt
   \   0000                    EXTERN  ui_show_d
   \   0000                    EXTERN  ui_show_msg
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?S_MUL_L02
   \   0000                    EXTERN  ?S_S_SWITCH_L06
   \   0000                    EXTERN  ?C_V_SWITCH_L06
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_FAST_LEAVE_L08
   \   0000                    RSEG    CODE
   \   0000            show_stop:
      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_stop.c,v 1.1.1.1 2006/05/22 03:23:59 selina Exp $
     10          *******************************************************************************
     11          */
     12          #include "actos.h"
     13          #include "basal.h"
     14          #include "enhanced.h"
     15          #include "ap_common.h"
     16          #include "ap_voice.h"
     17          BOOL g_menu_active;
     18          bool g_firstplay_flag = TRUE;
     19          extern BOOL need_sel_file;
     20          extern BYTE is_ff_rw;
     21          BOOL   need_restore;    //需要断点播放
     22          
     23          char Cur_Status=0;
     24          extern  BOOL g_card_ok;        //储存卡是否可用
     25          extern  BOOL g_card_in_using;    //储存卡是否在使用
     26          extern int do_play(BOOL need_restore);
     27          extern int show_stop_menu(void);
     28          extern void vol_callback(int value);
     29          extern void make_dirname(void);
     30          /*
     31          ********************************************************************************
     32          * Description : 停止界面
     33          *
     34          * Arguments   :
     35          *
     36          * Returns     : 结果消息或0
     37          *
     38          * Notes       :
     39          *
     40          ********************************************************************************
     41          */
     42          int show_stop(void)
     43          {
   \   0000  C5                PUSH    BC
   \   0001  D5                PUSH    DE
   \   0002  FDE5              PUSH    IY
   \   0004  DDE5              PUSH    IX
   \   0006  DD210000          LD      IX,0
   \   000A  DD39              ADD     IX,SP
   \   000C  21EAFF            LD      HL,65514
   \   000F  39                ADD     HL,SP
   \   0010  F9                LD      SP,HL
     44              int result;
     45              WORD event;
     46              char key;
     47              char card_status;
     48              BOOL mc_result;
     49              BOOL need_draw=TRUE;
     50              BOOL need_parse=TRUE;    //need to parse the voice info
     51              BOOL cont_playing=FALSE;    //连续播放
     52              // BOOL need_restore;    //需要断点播放
     53              BOOL format_ok=TRUE;    //文件格式是否有效
     54              BOOL file_changed=TRUE;    //文件改变
     55              // BOOL pa_enabled=FALSE;    //pa 是否已经打开
     56              need_sel_file = TRUE;
   \   0011  3E01              LD      A,1
   \   0013  320000            LD      (need_sel_file),A
     57              g_menu_active = TRUE;
   \   0016  320000            LD      (g_menu_active),A
     58              // 断点播放
     59              if(g_voice_vars.resore_pointer == 0L) need_restore = FALSE;
   \   0019  DD77F1            LD      (IX-15),A
   \   001C  DD77F2            LD      (IX-14),A
   \   001F  DD36F300          LD      (IX-13),0
   \   0023  DD77F4            LD      (IX-12),A
   \   0026  DD77F5            LD      (IX-11),A
   \   0029  213100            LD      HL,g_voice_vars+49
   \   002C  5E                LD      E,(HL)
   \   002D  23                INC     HL
   \   002E  56                LD      D,(HL)
   \   002F  23                INC     HL
   \   0030  4E                LD      C,(HL)
   \   0031  23                INC     HL
   \   0032  46                LD      B,(HL)
   \   0033  EB                EX      DE,HL
   \   0034  7D                LD      A,L
   \   0035  B4                OR      H
   \   0036  B1                OR      C
   \   0037  B0                OR      B
   \   0038  2802              JR      Z,?0159
   \   003A            ?0002:
   \   003A            ?0003:
     60              else need_restore = TRUE;     
   \   003A  3E01              LD      A,1
   \   003C            ?0159:
   \   003C  320100            LD      (need_restore),A
   \   003F            ?0004:
     61          
     62                 if(g_first_start)
   \   003F  3A0000            LD      A,(g_first_start)
   \   0042  B7                OR      A
   \   0043  2810              JR      Z,?0006
   \   0045            ?0005:
     63                 {
     64                       mc_result = fselInit(FSEL_TYPE_VOICE, FSEL_ALL_REPEATALL, FSEL_TYPE_COMMONDIR,g_voice_vars.location.disk);
   \   0045  210600            LD      HL,g_voice_vars+6
   \   0048  4E                LD      C,(HL)
   \   0049  C5                PUSH    BC
   \   004A  0E00              LD      C,0
   \   004C  C5                PUSH    BC
   \   004D  CDE005            CALL    LWRD ?0178
   \   0050  F1                POP     AF
   \   0051  F1                POP     AF
     65                       mc_result = sel_next(TRUE);    
   \   0052  CDEC05            CALL    LWRD ?0179
   \   0055            ?0006:
   \   0055            ?0008:
     66                 }
     67          
     68              while(1)
     69              {
     70                  if(need_sel_file)
   \   0055  3A0000            LD      A,(need_sel_file)
   \   0058  B7                OR      A
   \   0059  CA1B01            JP      Z,?0011
   \   005C            ?0010:
     71                  {   // 设置路径,初始化驱动器
     72                      //re-fix filename empty the fselSetLocation() return TRUE
     73                      BYTE err_id;
     74                      if(g_card_ok == FALSE)
   \   005C  3A0000            LD      A,(g_card_ok)
   \   005F  B7                OR      A
   \   0060  2009              JR      NZ,?0013
   \   0062            ?0012:
     75                       {
     76                            g_voice_vars.location.disk = 'C';
   \   0062  3E43              LD      A,67
   \   0064  320600            LD      (g_voice_vars+6),A
     77                            g_card_in_using = FALSE;
   \   0067  AF                XOR     A
   \   0068  320000            LD      (g_card_in_using),A
   \   006B            ?0013:
     78                       }
     79          
     80                      mc_result = fselInit(FSEL_TYPE_VOICE, FSEL_ALL_REPEATALL, FSEL_TYPE_COMMONDIR,g_voice_vars.location.disk);
   \   006B  210600            LD      HL,g_voice_vars+6
   \   006E  4E                LD      C,(HL)
   \   006F  C5                PUSH    BC
   \   0070  0E00              LD      C,0
   \   0072  C5                PUSH    BC
   \   0073  CDE005            CALL    LWRD ?0178
   \   0076  F1                POP     AF
   \   0077  F1                POP     AF
     81                      output8(0x4e,input8(0x4e)|0x8);  
   \   0078  DB4E              IN      A,(78)
   \   007A  CBDF              SET     3,A
   \   007C  D34E              OUT     (78),A
     82                      mc_result = fselGetNextFile(g_file_name_time);
   \   007E  110000            LD      DE,g_file_name_time
   \   0081  3E00              LD      A,BYTE3 fselGetNextFile
   \   0083  210000            LD      HL,LWRD fselGetNextFile
   \   0086  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   0089  DD75F0            LD      (IX-16),L
     83                      if(mc_result == 1)
   \   008C  2D                DEC     L
   \   008D  204D              JR      NZ,?0020
   \   008F            ?0014:
     84                      {
     85                          //output8(0x4e,input8(0x4e)|0x8);
     86                          mc_result = fselSetLocation(&g_voice_vars.location);  
   \   008F  110600            LD      DE,g_voice_vars+6
   \   0092  3E00              LD      A,BYTE3 fselSetLocation
   \   0094  210000            LD      HL,LWRD fselSetLocation
   \   0097  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   009A  DD75F0            LD      (IX-16),L
     87                          if(mc_result != 1)
   \   009D  2D                DEC     L
   \   009E  282D              JR      Z,?0017

⌨️ 快捷键说明

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