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

📄 show_rec.lst

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

   \   0000                    NAME    show_rec(17)
   \   0000                    RSEG    CODE(0)
   \   0000                    RSEG    CSTR(0)
   \   0000                    RSEG    UDATA0(0)
   \   0000                    EXTERN  GetBattery
   \   0000                    EXTERN  GetDCStatus
   \   0000                    EXTERN  PutS
   \   0000                    EXTERN  Rec_format
   \   0000                    EXTERN  Rec_resource
   \   0000                    EXTERN  ResShowMultiString
   \   0000                    EXTERN  ResShowPic
   \   0000                    EXTERN  SetAsciiFont
   \   0000                    EXTERN  SetBackgdColor
   \   0000                    EXTERN  SetPenColor
   \   0000                    EXTERN  SetTextOutMode
   \   0000                    EXTERN  SetTextPos
   \   0000                    EXTERN  ap_get_message
   \   0000                    EXTERN  ap_handle_hotkey
   \   0000                    EXTERN  channelnum
   \   0000                    EXTERN  currentBitrate
   \   0000                    PUBLIC  do_rec
   \   0000                    EXTERN  g_comval
   \   0000                    EXTERN  g_file_build_time
   \   0000                    EXTERN  g_file_name_time
   \   0000                    EXTERN  g_file_num
   \   0000                    EXTERN  g_file_size
   \   0000                    EXTERN  g_free_space
   \   0000                    EXTERN  g_now_time
   \   0000                    EXTERN  g_rec_event
   \   0000                    EXTERN  g_rec_from
   \   0000                    EXTERN  g_rec_time
   \   0000                    EXTERN  g_record_vars
   \   0000                    PUBLIC  get_rec_source
   \   0000                    PUBLIC  is_lowbatt
   \   0000                    EXTERN  itoa_1
   \   0000                    EXTERN  itoa_2
   \   0000                    EXTERN  itoa_3
   \   0000                    EXTERN  main_ResShowPic
   \   0000                    PUBLIC  recordSendCommand
   \   0000                    EXTERN  sKY_SetBLightColor
   \   0000                    EXTERN  show_error
   \   0000                    EXTERN  show_pause
   \   0000                    PUBLIC  show_rec
   \   0000                    PUBLIC  status
   \   0000                    EXTERN  time
   \   0000                    PUBLIC  time_draw
   \   0000                    PUBLIC  ui_draw
   \   0000                    EXTERN  ui_run_realtime
   \   0000                    EXTERN  ui_show_batt
   \   0000                    EXTERN  ui_show_d
   \   0000                    EXTERN  ui_show_d2
   \   0000                    EXTERN  ui_show_f
   \   0000                    EXTERN  ui_show_g
   \   0000                    PUBLIC  ui_show_h
   \   0000                    EXTERN  wavrProceed
   \   0000                    EXTERN  wavrSendCommand
   \   0000                    EXTERN  ?CLZ80B_4_04_L00
   \   0000                    EXTERN  ?S_MUL_L02
   \   0000                    EXTERN  ?L_MUL_L03
   \   0000                    EXTERN  ?SL_DIV_L03
   \   0000                    EXTERN  ?L_INC_L03
   \   0000                    EXTERN  ?L_DEC_L03
   \   0000                    EXTERN  ?C_V_SWITCH_L06
   \   0000                    EXTERN  ?BANK_CALL_DIRECT_L08
   \   0000                    EXTERN  ?BANK_FAST_LEAVE_L08
   \   0000                    EXTERN  ?STRCAT_L11
   \   0000                    RSEG    CODE
   \   0000            get_rec_source:
      1          /*
      2          *******************************************************************************
      3          *                ACTOS AP
      4          *        voice recorder main program.
      5          *
      6          *        (c) Copyright, Actions Co,Ld.
      7          *             All Right Reserved
      8          *
      9          *  $Id: show_rec.c,v 1.1.1.1 2006/05/22 03:24:01 selina Exp $
     10          *******************************************************************************
     11          */
     12          #include "actos.h"
     13          #include "basal.h"
     14          #include "enhanced.h"
     15          #include "ap_common.h"
     16          #include "ap_record.h"
     17          #include "codec.h"
     18          
     19          #define CODEC_USING_POOLING_MODE
     20                          enum
     21              {
     22                  stop,
     23                  recording,
     24                  pause,
     25                  wait_to_save,
     26                  saving
     27              }status;
     28          
     29          extern channelnum_t channelnum;
     30          extern char    currentBitrate[4];
     31          extern resource_t    Rec_resource;
     32          extern audio_format_t    Rec_format;
     33          
     34          
     35          /*
     36          ********************************************************************************
     37          * Description : 获取当前的录音源,并记录在g_resource.input中.
     38          *
     39          * Arguments   :
     40          *
     41          * Returns     :
     42          *
     43          * Notes       :在调用MC_SETRESOURCE之前,调用此函数!
     44          *
     45          ********************************************************************************
     46          */
     47          void get_rec_source(void)
     48          {
     49              Rec_resource.input.linein = 0;
   \   0000  210000            LD      HL,Rec_resource
   \   0003  CB96              RES     2,(HL)
     50              Rec_resource.input.dac    = 0;
   \   0005  CB86              RES     0,(HL)
     51              Rec_resource.input.fm     = 0;
   \   0007  CB8E              RES     1,(HL)
     52              Rec_resource.input.mic    = 0;
   \   0009  CB9E              RES     3,(HL)
     53          
     54              switch(g_rec_from)
   \   000B  3A0000            LD      A,(g_rec_from)
   \   000E  FE20              CP      32
   \   0010  2818              JR      Z,?0007
   \   0012            ?0003:
     55              {
     56          
     57                  case R_LINEIN:
     58                      Rec_resource.input.linein = 1;
     59                  break;
   \   0012            ?0004:
   \   0012  FE80              CP      128
   \   0014  2004              JR      NZ,?0005
     60          
     61                  case R_SPDIF:
     62                      Rec_resource.input.dac    = 1;
   \   0016  CBC6              SET     0,(HL)
     63                  break;
   \   0018  1812              JR      ?0002
   \   001A            ?0005:
   \   001A  FE40              CP      64
   \   001C  2004              JR      NZ,?0006
     64          
     65                  case R_FM:
     66                      Rec_resource.input.fm     = 1;
   \   001E  CBCE              SET     1,(HL)
     67                  break;
   \   0020  180A              JR      ?0002
   \   0022            ?0006:
   \   0022  FE10              CP      16
   \   0024  2004              JR      NZ,?0007
     68          
     69                  case R_MIC:
     70                      Rec_resource.input.mic    = 1;
   \   0026  CBDE              SET     3,(HL)
     71                  break;
   \   0028  1802              JR      ?0002
   \   002A            ?0007:
     72          
     73                  default:
     74                      Rec_resource.input.linein = 1;
   \   002A  CBD6              SET     2,(HL)
     75                  break;
   \   002C            ?0002:
     76              }
     77          }
   \   002C  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   002F            do_rec:
     78          
     79          /*
     80          ********************************************************************************
     81          * Description : 进入录音
     82          *
     83          * Arguments   :
     84          *
     85          * Returns     : 结果消息或0
     86          *
     87          * Notes       :
     88          *
     89          ********************************************************************************
     90          */
     91          int do_rec(void)
     92          {
   \   002F  C5                PUSH    BC
   \   0030  D5                PUSH    DE
   \   0031  DDE5              PUSH    IX
     93              int result;
     94              g_file_size = 0L;
   \   0033  010000            LD      BC,0
   \   0036  ED430000          LD      (g_file_size),BC
   \   003A  ED430200          LD      (g_file_size+2),BC
     95          
     96              //检查电压
     97              if(is_lowbatt(GetBattery()))
   \   003E  CD0000            CALL    LWRD GetBattery
   \   0041  5F                LD      E,A
   \   0042  3E00              LD      A,BYTE3 is_lowbatt
   \   0044  21F403            LD      HL,LWRD is_lowbatt
   \   0047  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
   \   004A  2C                INC     L
   \   004B  2D                DEC     L
   \   004C  280E              JR      Z,?0009
   \   004E            ?0008:
     98              {
     99                  return show_error(MPWROUT);
   \   004E  111802            LD      DE,536
   \   0051  3E00              LD      A,BYTE3 show_error
   \   0053  210000            LD      HL,LWRD show_error
   \   0056  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    100              }
   \   0059  C3ED00            JP      LWRD ?0012
   \   005C            ?0009:
    101          
    102              //防止在录音过程中切换bank
    103              ui_run_realtime = TRUE;
   \   005C  3E01              LD      A,1
   \   005E  320000            LD      (ui_run_realtime),A
    104          
    105              //open codec
    106              result = recordSendCommand(MC_OPEN, 0);
   \   0061  5F                LD      E,A
   \   0062  CD0801            CALL    LWRD ?0125
   \   0065  2600              LD      H,0
   \   0067  4C                LD      C,H
    107              recordSendCommand(MC_RECODEMODE,STEREO);
   \   0068  44                LD      B,H
   \   0069  1E57              LD      E,87
   \   006B  CD0801            CALL    LWRD ?0125
    108              //Rec_resource.input.fm=1;
    109              get_rec_source();
   \   006E  3E00              LD      A,BYTE3 get_rec_source
   \   0070  210000            LD      HL,LWRD get_rec_source
   \   0073  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
    110             // output8(0x4e,input8(0x4e)|0x8);    //for test
    111              recordSendCommand(MC_SETSOURCE,(int)&Rec_resource);
   \   0076  010000            LD      BC,Rec_resource
   \   0079  1E52              LD      E,82
   \   007B  CD0801            CALL    LWRD ?0125
    112              Rec_format.sample_rate=g_record_vars.Rec_Fsrate;
   \   007E  3A0200            LD      A,(g_record_vars+2)
   \   0081  320100            LD      (Rec_format+1),A
    113              Rec_format.channel = channelnum;
   \   0084  3A0000            LD      A,(channelnum)
   \   0087  320200            LD      (Rec_format+2),A
    114              Rec_format.bit_rate[0]=currentBitrate[0];
   \   008A  3A0000            LD      A,(currentBitrate)
   \   008D  320300            LD      (Rec_format+3),A
    115              Rec_format.bit_rate[1]=currentBitrate[1];
   \   0090  3A0100            LD      A,(currentBitrate+1)
   \   0093  320400            LD      (Rec_format+4),A
    116              Rec_format.bit_rate[2]=currentBitrate[2];
   \   0096  3A0200            LD      A,(currentBitrate+2)
   \   0099  320500            LD      (Rec_format+5),A

⌨️ 快捷键说明

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