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

📄 show_rec.lst

📁 MP3 整个 SDK
💻 LST
📖 第 1 页 / 共 5 页
字号:
##############################################################################
#                                                                            #
# IAR Z80/64180 C-Compiler V4.04B/WIN                                        #
# Front End V4.20N                                       25/Dec/106  17:00:12 #
# Global Optimizer V1.05D                                                    #
#                                                                            #
#       Target option =  Z80                                                 #
#       Memory model  =  banked                                              #
#       Source file   =  d:\case_i_d90f\ap\ap_fmrecord\show_rec.c            #
#       List file     =  d:\case_i_d90f\ap\ap_fmrecord\list\show_rec.lst     #
#       Object file   =  d:\case_i_d90f\ap\ap_fmrecord\obj\show_rec.r01      #
#       Command line  =  -v0 -mb -OD:\case_i_d90f\ap\ap_fmrecord\Obj\ -e -K  #
#                        -w -gA -s9 -RCODE -r0 -DNAPDEBUG                    #
#                        -LD:\case_i_d90f\ap\ap_fmrecord\List\ -q -t8 -X     #
#                        -Id:\sdk_i_90f\inc\ -Id:\case_i_d90f\inc\           #
#                        d:\case_i_d90f\AP\AP_FMRECORD\show_rec.c            #
#                                                                            #
#                                             (c) Copyright IAR Systems 1996 #
##############################################################################

   \   0000                    NAME    show_rec(17)
   \   0000                    RSEG    CODE(0)
   \   0000                    RSEG    IDATA0(0)
   \   0000                    RSEG    CDATA0(0)
   \   0000                    EXTERN  DRV_DetectUD
   \   0000                    EXTERN  GetBattery
   \   0000                    EXTERN  PutS
   \   0000                    EXTERN  Rec_format
   \   0000                    EXTERN  Rec_resource
   \   0000                    EXTERN  ResShowMultiString
   \   0000                    EXTERN  ResShowPic
   \   0000                    EXTERN  SetPenColor
   \   0000                    EXTERN  SetTextOutMode
   \   0000                    EXTERN  SetTextPos
   \   0000                    PUBLIC  Show_Bitrate
   \   0000                    EXTERN  ap_get_message
   \   0000                    EXTERN  ap_handle_hotkey
   \   0000                    EXTERN  ap_set_event
   \   0000                    EXTERN  channelnum
   \   0000                    EXTERN  currentBitrate
   \   0000                    EXTERN  dir_name
   \   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_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  show_error
   \   0000                    EXTERN  show_pause
   \   0000                    PUBLIC  show_rec
   \   0000                    EXTERN  time
   \   0000                    PUBLIC  time_draw
   \   0000                    EXTERN  ui_auto_update
   \   0000                    PUBLIC  ui_draw
   \   0000                    EXTERN  ui_run_realtime
   \   0000                    EXTERN  ui_show_a
   \   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  ?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                    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          
     21          extern channelnum_t channelnum;
     22          extern char    currentBitrate[4];
     23          extern resource_t    Rec_resource;
     24          extern audio_format_t    Rec_format;
     25          
     26          
     27          /*
     28          ********************************************************************************
     29          * Description : 获取当前的录音源,并记录在g_resource.input中.
     30          *
     31          * Arguments   :
     32          *
     33          * Returns     :
     34          *
     35          * Notes       :在调用MC_SETRESOURCE之前,调用此函数!
     36          *
     37          ********************************************************************************
     38          */
     39          void get_rec_source(void)
     40          {
     41              Rec_resource.input.linein = 0;
   \   0000  210000            LD      HL,Rec_resource
   \   0003  CB96              RES     2,(HL)
     42              Rec_resource.input.dac    = 0;
   \   0005  CB86              RES     0,(HL)
     43              Rec_resource.input.fm     = 0;
   \   0007  CB8E              RES     1,(HL)
     44              Rec_resource.input.mic    = 0;
   \   0009  CB9E              RES     3,(HL)
     45          
     46              switch(g_rec_from)
   \   000B  3A0000            LD      A,(g_rec_from)
   \   000E  FE20              CP      32
   \   0010  2818              JR      Z,?0007
   \   0012            ?0003:
     47              {
     48          
     49                  case R_LINEIN:
     50                      Rec_resource.input.linein = 1;
     51                  break;
   \   0012            ?0004:
   \   0012  FE80              CP      128
   \   0014  2004              JR      NZ,?0005
     52          
     53                  case R_SPDIF:
     54                      Rec_resource.input.dac    = 1;
   \   0016  CBC6              SET     0,(HL)
     55                  break;
   \   0018  1812              JR      ?0002
   \   001A            ?0005:
   \   001A  FE40              CP      64
   \   001C  2004              JR      NZ,?0006
     56          
     57                  case R_FM:
     58                      Rec_resource.input.fm     = 1;
   \   001E  CBCE              SET     1,(HL)
     59                  break;
   \   0020  180A              JR      ?0002
   \   0022            ?0006:
   \   0022  FE10              CP      16
   \   0024  2004              JR      NZ,?0007
     60          
     61                  case R_MIC:
     62                      Rec_resource.input.mic    = 1;
   \   0026  CBDE              SET     3,(HL)
     63                  break;
   \   0028  1802              JR      ?0002
   \   002A            ?0007:
     64          
     65                  default:
     66                      Rec_resource.input.linein = 1;
   \   002A  CBD6              SET     2,(HL)
     67                  break;
   \   002C            ?0002:
     68              }
     69          }
   \   002C  C30000            JP      LWRD ?BANK_FAST_LEAVE_L08
   \   002F            do_rec:
     70          
     71          /*
     72          ********************************************************************************
     73          * Description : 进入录音
     74          *
     75          * Arguments   :
     76          *
     77          * Returns     : 结果消息或0
     78          *
     79          * Notes       :
     80          *
     81          ********************************************************************************
     82          */
     83          int do_rec(void)
     84          {
   \   002F  C5                PUSH    BC
   \   0030  D5                PUSH    DE
   \   0031  DDE5              PUSH    IX
     85              int result;
     86              g_file_size = 0L;
   \   0033  010000            LD      BC,0
   \   0036  ED430000          LD      (g_file_size),BC
   \   003A  ED430200          LD      (g_file_size+2),BC
     87          
     88              //检查电压
     89              if(is_lowbatt(GetBattery()))
   \   003E  CD0000            CALL    LWRD GetBattery
   \   0041  5F                LD      E,A
   \   0042  3E00              LD      A,BYTE3 is_lowbatt
   \   0044  216203            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:
     90              {
     91                  return show_error(MPWROUT);
   \   004E  118C01            LD      DE,396
   \   0051  3E00              LD      A,BYTE3 show_error
   \   0053  210000            LD      HL,LWRD show_error
   \   0056  CD0000            CALL    LWRD ?BANK_CALL_DIRECT_L08
     92              }
   \   0059  C3EA00            JP      LWRD ?0012
   \   005C            ?0009:
     93          
     94              //防止在录音过程中切换bank
     95              ui_run_realtime = TRUE;
   \   005C  3E01              LD      A,1
   \   005E  320000            LD      (ui_run_realtime),A
     96          
     97              //open codec
     98              result = recordSendCommand(MC_OPEN, 0);
   \   0061  5F                LD      E,A
   \   0062  CD0601            CALL    LWRD ?0151
   \   0065  2600              LD      H,0
   \   0067  4C                LD      C,H
     99              recordSendCommand(MC_RECODEMODE,STEREO);
   \   0068  44                LD      B,H
   \   0069  1E57              LD      E,87
   \   006B  CD0601            CALL    LWRD ?0151
    100              //Rec_resource.input.fm=1;
    101              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
    102             // output8(0x4e,input8(0x4e)|0x8);    //for test
    103              recordSendCommand(MC_SETSOURCE,(int)&Rec_resource);
   \   0076  010000            LD      BC,Rec_resource
   \   0079  1E52              LD      E,82
   \   007B  CD0601            CALL    LWRD ?0151
    104              Rec_format.sample_rate=g_record_vars.Rec_Fsrate;
   \   007E  3A0200            LD      A,(g_record_vars+2)
   \   0081  320100            LD      (Rec_format+1),A
    105              Rec_format.channel = channelnum;
   \   0084  3A0000            LD      A,(channelnum)
   \   0087  320200            LD      (Rec_format+2),A
    106              Rec_format.bit_rate[0]=currentBitrate[0];
   \   008A  3A0000            LD      A,(currentBitrate)
   \   008D  320300            LD      (Rec_format+3),A
    107              Rec_format.bit_rate[1]=currentBitrate[1];
   \   0090  3A0100            LD      A,(currentBitrate+1)
   \   0093  320400            LD      (Rec_format+4),A
    108              Rec_format.bit_rate[2]=currentBitrate[2];
   \   0096  3A0200            LD      A,(currentBitrate+2)
   \   0099  320500            LD      (Rec_format+5),A
    109              recordSendCommand(MC_SETAUDIOFMT,(int)&Rec_format);
   \   009C  010000            LD      BC,Rec_format
   \   009F  1E51              LD      E,81
   \   00A1  CD0601            CALL    LWRD ?0151
    110          
    111              //output8(0x4e,input8(0x4e)|0x8);
    112          
    113              result = recordSendCommand(MC_LOAD, (int)g_record_vars.location.filename);
   \   00A4  012400            LD      BC,g_record_vars+36
   \   00A7  1E03              LD      E,3
   \   00A9  CD0601            CALL    LWRD ?0151
    114              //ASSERT(result);
    115              if(!result)

⌨️ 快捷键说明

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