📄 show_stop_menu.lst
字号:
##############################################################################
# #
# IAR Z80/64180 C-Compiler V4.04B/WIN #
# Front End V4.20N 27/Sep/107 17:33:07 #
# Global Optimizer V1.05D #
# #
# Target option = Z80 #
# Memory model = banked #
# Source file = d:\case_i_d913f\ap\ap_fmrecord\show_stop_menu.c #
# List file = d:\case_i_d913f\ap\ap_fmrecord\list\show_stop_menu.lst#
# Object file = d:\case_i_d913f\ap\ap_fmrecord\obj\show_stop_menu.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_stop_menu.c #
# #
# (c) Copyright IAR Systems 1996 #
##############################################################################
\ 0000 NAME show_stop_menu(17)
\ 0000 RSEG CODE(0)
\ 0000 RSEG CONST(0)
\ 0000 RSEG UDATA0(0)
\ 0000 RSEG IDATA0(0)
\ 0000 RSEG CDATA0(0)
\ 0000 EXTERN DRV_DetectUD
\ 0000 EXTERN DisableAIN
\ 0000 EXTERN DisablePA
\ 0000 EXTERN EnableAIN
\ 0000 EXTERN EnablePA
\ 0000 PUBLIC Open_RecRoute
\ 0000 PUBLIC RecFrom_string
\ 0000 EXTERN SetAINGain
\ 0000 EXTERN channelnum
\ 0000 PUBLIC fm_show_stop_menu
\ 0000 PUBLIC fm_stop_string
\ 0000 PUBLIC fm_stop_string_card
\ 0000 EXTERN fselGetLocation
\ 0000 EXTERN fselInit
\ 0000 EXTERN g_comval
\ 0000 PUBLIC g_list
\ 0000 EXTERN g_menu_active
\ 0000 EXTERN g_rec_from
\ 0000 EXTERN g_record_vars
\ 0000 EXTERN make_dirname
\ 0000 EXTERN rec_source_tab
\ 0000 PUBLIC rectype_string
\ 0000 EXTERN reset_record_dir
\ 0000 PUBLIC show_RecFrom_menu
\ 0000 EXTERN show_error
\ 0000 PUBLIC show_rectype_menu
\ 0000 PUBLIC show_stop_menu
\ 0000 PUBLIC stop_string
\ 0000 PUBLIC stop_string_card
\ 0000 EXTERN ui_auto_update
\ 0000 EXTERN ui_directory
\ 0000 EXTERN ui_popup_list
\ 0000 EXTERN ?CLZ80B_4_04_L00
\ 0000 EXTERN ?SS_MOD_L02
\ 0000 EXTERN ?S_S_SWITCH_L06
\ 0000 EXTERN ?BANK_CALL_DIRECT_L08
\ 0000 EXTERN ?BANK_FAST_LEAVE_L08
\ 0000 EXTERN ?MEMSET_L11
\ 0000 RSEG CODE
\ 0000 Open_RecRoute:
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_stop_menu.c,v 1.2 2006/07/14 06:44:42 tangwh 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
20 const WORD stop_string[] = {RSTOP1, /*RSTOP2,*/ MRSTOP4, RSTOP3, RSTOP4};
21
22 const WORD stop_string_card[] = {RSTOP1, MSTOP2,/*RSTOP2,*/ MRSTOP4, RSTOP3, RSTOP4};
23
24 const WORD fm_stop_string[] = {RSTOP1, /*RSTOP2,*/ /*MRSTOP4,*/ RSTOP3, RSTOP4};
25
26 const WORD fm_stop_string_card[] = {RSTOP1, RSTOP2, /*MRSTOP4,*/ RSTOP3, RSTOP4};
27
28 const WORD RecFrom_string[] = {MRFROM0, MRFROM1, MRFROM2};
29
30
31 const WORD rectype_string[4] = {MRBPS7, /* MRBPS6,*/ MRBPS5, /* MRBPS4,MRBPS3, */ MRBPS2, MRBPS10};
32
33 pop_up_list_t g_list;
34 extern channelnum_t channelnum;
35 extern BOOL g_menu_active;
36 extern void make_dirname(void);
37 extern BOOL reset_record_dir(void);
38 void Open_RecRoute(byte rec_source)
39 {
\ 0000 C5 PUSH BC
\ 0001 DDE5 PUSH IX
\ 0003 DD210000 LD IX,0
\ 0007 DD39 ADD IX,SP
\ 0009 D5 PUSH DE
\ 000A F5 PUSH AF
\ 000B F5 PUSH AF
\ 000C F5 PUSH AF
\ 000D F5 PUSH AF
40 pa_t pa = {0,0};
\ 000E 210200 LD HL,2
\ 0011 39 ADD HL,SP
\ 0012 EB EX DE,HL
\ 0013 212E00 LD HL,?0002
\ 0016 010400 LD BC,4
\ 0019 EDB0 LDIR
41 ain_t ain = {0,0,0,0};
\ 001B 69 LD L,C
\ 001C 60 LD H,B
\ 001D 39 ADD HL,SP
\ 001E EB EX DE,HL
\ 001F 213200 LD HL,?0003
\ 0022 03 INC BC
\ 0023 EDB0 LDIR
42 aingainselect_t aingainselect;
43 byte gain;
44
45 //DUMP("D4",0,input8(0xd4)); //调试宏:显示IO:D4H的值
46 //output8(0xd4,(input8(0xd4)&0x8f));
47
48 //Set Parameter
49 switch(rec_source)
\ 0025 DD7EFE LD A,(IX-2)
\ 0028 FE40 CP 64
\ 002A 2004 JR NZ,?0006
\ 002C ?0005:
50 {
51 case R_FM:
52 return;
53 break;
\ 002C 185B JR ?0010
\ 002E 1848 JR ?0004
\ 0030 ?0006:
\ 0030 FE20 CP 32
\ 0032 201F JR NZ,?0007
54
55 case R_LINEIN:
56 DisableAIN(); //Disable all Analog In
\ 0034 CD0000 CALL LWRD DisableAIN
57 ain.linein = 1;
\ 0037 DDCBF6D6 SET 2,(IX-10)
58 aingainselect = AI_LINEGAIN;
59 gain = 5; // 5 --> 0.0db
60 pa.pa_in.linein = 1;
\ 003B DDCBF8D6 SET 2,(IX-8)
61 pa.volume = 25;
\ 003F DD36F919 LD (IX-7),25
62
63 //Open PA
64 EnablePA(&pa);
\ 0043 210200 LD HL,2
\ 0046 39 ADD HL,SP
\ 0047 EB EX DE,HL
\ 0048 CD0000 CALL LWRD EnablePA
\ 004B DD36FC01 LD (IX-4),1
\ 004F 181F JR ?0141
65 break;
\ 0051 1825 JR ?0004
\ 0053 ?0007:
\ 0053 FE80 CP 128
\ 0055 2007 JR NZ,?0008
66
67 case R_SPDIF:
68 DisableAIN(); //Disable all Analog In
\ 0057 CD0000 CALL LWRD DisableAIN
69 return;
70 break;
\ 005A 182D JR ?0010
\ 005C 181A JR ?0004
\ 005E ?0008:
\ 005E FE10 CP 16
\ 0060 2027 JR NZ,?0010
71
72 case R_MIC:
73 DisableAIN(); //Disable all Analog In
\ 0062 CD0000 CALL LWRD DisableAIN
74 ain.micin = 1;
\ 0065 DDCBF6C6 SET 0,(IX-10)
75 aingainselect = AI_MICGAIN;
76 gain = 5; // 5 --> 0.0db
77
78 DisablePA();
\ 0069 CD0000 CALL LWRD DisablePA
\ 006C DD36FC00 LD (IX-4),0
\ 0070 ?0141:
\ 0070 DD36F705 LD (IX-9),5
79 break;
\ 0074 1802 JR ?0004
\ 0076 ?0009:
80
81 default:
82 return;
83 break;
\ 0076 1811 JR ?0010
\ 0078 ?0004:
84 }
85
86 //Enable Analog In
87 EnableAIN((ain_t *)&ain);
\ 0078 210000 LD HL,0
\ 007B 39 ADD HL,SP
\ 007C EB EX DE,HL
\ 007D CD0000 CALL LWRD EnableAIN
88
89 //Set Analog In Gain
90 SetAINGain(aingainselect,gain);
\ 0080 DD4EF7 LD C,(IX-9)
\ 0083 DD5EFC LD E,(IX-4)
\ 0086 CD0000 CALL LWRD SetAINGain
91 }
\ 0089 ?0010:
\ 0089 DDF9 LD SP,IX
\ 008B DDE1 POP IX
\ 008D C1 POP BC
\ 008E C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 0091 show_rectype_menu:
92
93 /*
94 ********************************************************************************
95 * Description : 录音类型菜单界面
96 *
97 * Arguments :
98 *
99 * Returns :
100 *
101 * Notes :
102 *
103 ********************************************************************************
104 */
105 int show_rectype_menu(void)
106 {
\ 0091 C5 PUSH BC
\ 0092 D5 PUSH DE
\ 0093 DDE5 PUSH IX
107 int result;
108 g_list.strid = rectype_string;
\ 0095 212600 LD HL,rectype_string
\ 0098 220000 LD (g_list),HL
109 g_list.total = 4;
\ 009B 210400 LD HL,4
\ 009E 220200 LD (g_list+2),HL
110 if(g_record_vars.location.disk=='H')
\ 00A1 3A0A00 LD A,(g_record_vars+10)
\ 00A4 FE48 CP 72
\ 00A6 2005 JR NZ,?0012
\ 00A8 ?0011:
111 g_list.total = 2;
\ 00A8 2B DEC HL
\ 00A9 2B DEC HL
\ 00AA 220200 LD (g_list+2),HL
\ 00AD ?0012:
112 g_list.active = g_record_vars.rec_bitrate;
\ 00AD ED4B0300 LD BC,(g_record_vars+3)
\ 00B1 44 LD B,H
\ 00B2 ED430400 LD (g_list+4),BC
113 g_list.string_id = g_comval.langid;
\ 00B6 3A0C00 LD A,(g_comval+12)
\ 00B9 320800 LD (g_list+8),A
114 g_list.headid = RSTOP3;
\ 00BC 21E601 LD HL,486
\ 00BF 220600 LD (g_list+6),HL
115 result = ui_popup_list(&g_list, NULL);
\ 00C2 48 LD C,B
\ 00C3 C5 PUSH BC
\ 00C4 C5 PUSH BC
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -