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

📄 ui_follow.lst

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

   \   0000                    NAME    ui_follow(17)
   \   0000                    RSEG    AP_UI_FL(0)
   \   0000                    RSEG    CSTR(0)
   \   0000                    EXTERN  ABPointTimeSize
   \   0000                    EXTERN  BankSwitch
   \   0000                    EXTERN  ChangeVolume
   \   0000                    EXTERN  DealForExitRec
   \   0000                    EXTERN  DealPlayKey
   \   0000                    EXTERN  DisplayErrMsg
   \   0000                    EXTERN  FS_FClose
   \   0000                    EXTERN  FS_FCreate
   \   0000                    EXTERN  FS_FRemove
   \   0000                    EXTERN  FS_FWrite
   \   0000                    EXTERN  FS_GetInfo
   \   0000                    EXTERN  FS_GetSpace
   \   0000                    EXTERN  GetBattery
   \   0000                    EXTERN  OpenMusic
   \   0000                    EXTERN  RePlayStatus
   \   0000                    EXTERN  RefreshMainScreen
   \   0000                    EXTERN  Replaytimes_CNT
   \   0000                    EXTERN  ReturnNotInit
   \   0000                    EXTERN  ShowNowTime
   \   0000                    EXTERN  Show_time_FC
   \   0000                    EXTERN  UpDisplayFlag
   \   0000                    EXTERN  ap_get_message
   \   0000                    EXTERN  ap_handle_hotkey
   \   0000                    EXTERN  g_2HZ_CNT
   \   0000                    EXTERN  g_FCexitflag
   \   0000                    EXTERN  g_comval
   \   0000                    EXTERN  g_music_vars
   \   0000                    EXTERN  g_result
   \   0000                    EXTERN  musicpSendCommand
   \   0000                    EXTERN  need_draw
   \   0000                    EXTERN  return_to_play
   \   0000                    EXTERN  ui_auto_update
   \   0000                    PUBLIC  ui_followAB
   \   0000                    PUBLIC  ui_followRec
   \   0000                    EXTERN  ui_run_realtime
   \   0000                    EXTERN  ui_show_batt
   \   0000                    EXTERN  wavrProceed
   \   0000                    EXTERN  wavrSendCommand
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?SS_CMP_L02
   \   0000                    EXTERN  ?SL_CMP_L03
   \   0000                    EXTERN  ?L_INC_L03
   \   0000                    EXTERN  ?L_DEC_L03
   \   0000                    EXTERN  ?L_DECASG_L03
   \   0000                    EXTERN  ?S_V_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_FL
   \   0000            ui_followRec:
      1          /*
      2          *******************************************************************************
      3          *                        SDK30F_D1
      4          *                     music player follow compare sub
      5          *
      6          *                (c) Copyright 2002, Actions Co,Ld.
      7          *                        All Right Reserved
      8          *
      9          * File: ui_follow.c
     10          * By  : rcmai
     11          * Version: 1> v1.00     first version     2004-3-19 8:28
     12          *******************************************************************************
     13          * $Id: ui_follow.c,v 1.1.1.1 2006/05/22 03:24:01 selina Exp $
     14          *******************************************************************************
     15          */
     16          
     17          #include "ap_music.h"
     18          
     19          #define DEF_RecLowBatt 5//定义最低能录音的电压
     20          
     21          //判断是低电的次数,当电压值低于DEF_RecLowBatt值次数超过这个值时确认为低电
     22          #define DEF_RecLowBatTime 5
     23          extern char return_to_play;        //为一表示从其他界面返回播放界面
     24          extern BYTE Replaytimes_CNT; //
     25          extern bool ReturnNotInit;   //TRUE:表示下一个调用不用初始化,
     26          extern WORD ABPointTimeSize;
     27          extern bool g_FCexitflag;
     28          
     29          void DealForExitRec( void ); //退出录音时的处理
     30          void Show_time_FC( void );
     31          void OpenMusic( void );
     32          
     33          #pragma codeseg(AP_UI_FL)
     34          /*
     35          ********************************************************************************
     36          *             int ui_followRec( void )
     37          *
     38          * Description : 跟读--------录音子状态
     39          *
     40          * Arguments   : void
     41          *
     42          * Returns     : int
     43          *               RESULT_UI_STOP: 表示要进入停止状态,此时所有module已关闭
     44          *               key: 热健消息
     45          *               NULL: 表示正常退出
     46          *
     47          * Notes       : 在此状态下,按play到stop状态;按mode到play;按NEXT到对比状态;
     48          *
     49          ********************************************************************************
     50          */
     51          int ui_followRec( void )
     52          {
   \   0000  CD0000            CALL    LWRD ?ENT_AUTO_DIRECT_L09
   \   0003  F2FF              DEFW    65522
   \   0005  FDE5              PUSH    IY
     53              int key;
     54              long DiskSpace;
     55              HANDLE TempFileHandle;
     56              BYTE LowBatt_CNT = 0;//低电计数器
   \   0007  DD36FA00          LD      (IX-6),0
     57              int result;
     58          
     59              if (++Replaytimes_CNT > g_music_vars.replaytimes)
   \   000B  210000            LD      HL,Replaytimes_CNT
   \   000E  34                INC     (HL)
   \   000F  46                LD      B,(HL)
   \   0010  3A0400            LD      A,(g_music_vars+4)
   \   0013  B8                CP      B
   \   0014  110000            LD      DE,?0004
   \   0017  3008              JR      NC,?0003
   \   0019            ?0002:
     60              {
     61                  FS_FRemove(FollowReadTempFileName); //如有这个文件就删除
   \   0019  CD0000            CALL    LWRD FS_FRemove
     62                  OpenMusic();
   \   001C  CDD202            CALL    LWRD ?0134
     63                  RePlayStatus = ABLoopPlay;
     64                  UpDisplayFlag = UpDisplayFlag | up_MPRLmode;
     65                  need_draw = TRUE;
   \   001F  183F              JR      ?0092
     66                  return NULL;
     67              }
   \   0021            ?0003:
     68          
     69          
     70              FS_FRemove(FollowReadTempFileName); //如有这个文件就删除
   \   0021  CD0000            CALL    LWRD FS_FRemove
     71              DiskSpace = FS_GetSpace(1);
   \   0024  1E01              LD      E,1
   \   0026  CD0000            CALL    LWRD FS_GetSpace
   \   0029  DD75F4            LD      (IX-12),L
   \   002C  DD74F5            LD      (IX-11),H
   \   002F  DD71F6            LD      (IX-10),C
   \   0032  DD70F7            LD      (IX-9),B
     72          
     73              //如果磁盘空间少于100k不能跟读
     74              //if( DiskSpace  <= 32 + 20 )
     75              if( DiskSpace  <= 200 )
   \   0035  C5                PUSH    BC
   \   0036  E5                PUSH    HL
   \   0037  010000            LD      BC,0
   \   003A  21C800            LD      HL,200
   \   003D  CD0000            CALL    LWRD ?SL_CMP_L03
   \   0040  3820              JR      C,?0006
   \   0042            ?0005:
     76              {
     77                  DisplayErrMsg(MWRIERR);
   \   0042  CD0103            CALL    LWRD ?0136
     78                  OpenMusic();
   \   0045  3E00              LD      A,BYTE3 OpenMusic
   \   0047  210000            LD      HL,LWRD OpenMusic
   \   004A  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
     79                  RePlayStatus = ABLoopPlay;
   \   004D  3E03              LD      A,3
   \   004F  320000            LD      (RePlayStatus),A
     80                  //UpDisplayFlag = UpDisplayFlag | up_MPRLmode;
     81                  SetFullInterface();
   \   0052  AF                XOR     A
   \   0053  320000            LD      (ui_auto_update),A
   \   0056  210000            LD      HL,UpDisplayFlag
   \   0059  7E                LD      A,(HL)
   \   005A  F6C1              OR      193
   \   005C  77                LD      (HL),A
   \   005D  23                INC     HL
   \   005E  36FF              LD      (HL),255
     82                  need_draw = TRUE;
   \   0060            ?0092:
   \   0060  1829              JR      ?0093
     83                  return NULL;
     84              }
   \   0062            ?0006:
     85          
     86              TempFileHandle = FS_FCreate(FollowReadTempFileName);
   \   0062  110000            LD      DE,?0004
   \   0065  CD0000            CALL    LWRD FS_FCreate
   \   0068  DD75F8            LD      (IX-8),L
   \   006B  DD74F9            LD      (IX-7),H
     87              if( TempFileHandle == NULL )
   \   006E  7D                LD      A,L
   \   006F  B4                OR      H
   \   0070  201B              JR      NZ,?0008
   \   0072            ?0007:
     88              {
     89                  switch ( FS_GetInfo() )
   \   0072  CD0000            CALL    LWRD FS_GetInfo
   \   0075  FE06              CP      6
   \   0077  2005              JR      NZ,?0011
   \   0079            ?0010:
     90                  {
     91                  case FS_INFO_SPACE_OUT:       //6      表示文件操作或目录操作没有磁盘空间,不能写数据或者扩展子目录
     92                      DisplayErrMsg(MWRIERR);
   \   0079  118A01            LD      DE,394
   \   007C  1807              JR      ?0079
     93                      break;
   \   007E            ?0011:
   \   007E  FE07              CP      7
   \   0080  2006              JR      NZ,?0009
     94                  case FS_INFO_DIR_OUT:         //7      文件操作根目录目录项满
     95                      DisplayErrMsg(MDIROUT);
   \   0082  118D01            LD      DE,397
   \   0085            ?0079:
   \   0085  CD0403            CALL    LWRD ?0137
     96                      break;
   \   0088            ?0012:
     97          
     98                  default:
     99                      break;
   \   0088            ?0009:
    100                  }
    101                  OpenMusic();
   \   0088  CDD202            CALL    LWRD ?0134
    102                  RePlayStatus = ABLoopPlay;
    103                  UpDisplayFlag = UpDisplayFlag | up_MPRLmode;
    104                  need_draw = TRUE;
   \   008B            ?0093:
   \   008B  1836              JR      ?0094
    105                  return NULL;
    106              }
   \   008D            ?0008:
    107              {
    108                  char *i;
    109                  i = (char *)0x1000;
   \   008D  DD36FE10          LD      (IX-2),16
    110                  FS_FWrite(i, 1, TempFileHandle);
   \   0091  E5                PUSH    HL
   \   0092  0E01              LD      C,1
   \   0094  58                LD      E,B
   \   0095  DD56FE            LD      D,(IX-2)
   \   0098  CD0000            CALL    LWRD FS_FWrite
   \   009B  E1                POP     HL
    111              }
    112              FS_FClose( TempFileHandle );
   \   009C  DD5EF8            LD      E,(IX-8)
   \   009F  DD56F9            LD      D,(IX-7)
   \   00A2  CD0000            CALL    LWRD FS_FClose
    113              FS_FRemove(FollowReadTempFileName);
   \   00A5  110000            LD      DE,?0004
   \   00A8  CD0000            CALL    LWRD FS_FRemove
    114          
    115          
    116              // 如电量不足够,就退出。
    117              g_result = GetBattery();
   \   00AB  CD0000            CALL    LWRD GetBattery
   \   00AE  4F                LD      C,A

⌨️ 快捷键说明

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