📄 ui_compare.lst
字号:
##############################################################################
# #
# IAR Z80/64180 C-Compiler V4.04B/WIN #
# Front End V4.20N 25/Dec/106 17:00:54 #
# Global Optimizer V1.05D #
# #
# Target option = Z80 #
# Memory model = banked #
# Source file = d:\case_i_d90f\ap\ap_music\ui_compare.c #
# List file = d:\case_i_d90f\ap\ap_music\list\ui_compare.lst #
# Object file = d:\case_i_d90f\ap\ap_music\obj\ui_compare.r01 #
# ASM file = d:\case_i_d90f\ap\ap_music\list\ui_compare.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_compare.c #
# #
# (c) Copyright IAR Systems 1996 #
##############################################################################
\ 0000 NAME ui_compare(17)
\ 0000 RSEG CODE(0)
\ 0000 RSEG CSTR(0)
\ 0000 EXTERN BankSwitch
\ 0000 EXTERN ChangeVolume
\ 0000 EXTERN DealPlayKey
\ 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 PUBLIC fade_out
\ 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 ui_auto_update
\ 0000 PUBLIC ui_compareAB
\ 0000 PUBLIC ui_comparePlay
\ 0000 EXTERN ui_show_batt
\ 0000 EXTERN wavpSendCommand
\ 0000 EXTERN ?CLZ80B_4_04_L00
\ 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 CODE
\ 0000 fade_out:
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_compare.c
10 * By : rcmai
11 * Version: 1> v1.00 first version 2004-3-19 8:28
12 *******************************************************************************
13 * $Id: ui_compare.c,v 1.1.1.1 2006/05/22 03:24:01 selina Exp $
14 *******************************************************************************
15 */
16
17 #include "ap_music.h"
18
19 extern BYTE Replaytimes_CNT; //
20 extern bool ReturnNotInit; //TRUE:表示下一个调用不用初始化,
21 extern char return_to_play; //为一表示从其他界面返回播放界面
22 void Show_time_FC( void );
23 void OpenMusic( void );
24 extern bool g_FCexitflag;
25
26 BOOL fade_out(void)
27 {
\ 0000 CD0000 CALL LWRD ?ENT_AUTO_DIRECT_L09
\ 0003 FEFF DEFW 65534
\ 0005 ?0003:
28 BOOL status;
29
30 while(!(status = wavpSendCommand(MC_FADEOUT, 0)))
\ 0005 010000 LD BC,0
\ 0008 1E0F LD E,15
\ 000A CD1E00 CALL LWRD ?0078
\ 000D 2C INC L
\ 000E 2D DEC L
\ 000F 2008 JR NZ,?0002
\ 0011 ?0004:
31 {
32 output8(0x4e,input8(0x4e)|0x8);
\ 0011 DB4E IN A,(78)
\ 0013 CBDF SET 3,A
\ 0015 D34E OUT (78),A
\ 0017 18EC JR ?0003
\ 0019 ?0002:
33 }
34 return TRUE;
\ 0019 2E01 LD L,1
35
36 }
\ 001B C30000 JP LWRD ?BANK_LEAVE_DIRECT_L08
\ 001E ?0078:
\ 001E 3E00 LD A,BYTE3 wavpSendCommand
\ 0020 210000 LD HL,LWRD wavpSendCommand
\ 0023 C30000 JP LWRD ?BANK_CALL_DIRECT_L08
\ 0026 ui_comparePlay:
37 /*
38 ********************************************************************************
39 * int ui_comparePlay( void )
40 *
41 * Description : 对比--------对比录音播放子状态
42 *
43 * Arguments : void
44 *
45 * Returns : int
46 *
47 * Notes : 在此状态下,按play到stop状态;按mode到play;按PREV到跟读状态;
48 *
49 ********************************************************************************
50 */
51 int ui_comparePlay( void )
52 {
\ 0026 CD0000 CALL LWRD ?ENT_AUTO_DIRECT_L09
\ 0029 F6FF DEFW 65526
53 int key;
54
55 wma_play_status_t status_buf;
56 BankSwitch((unsigned long)wavpSendCommand >> 16);
\ 002B 0600 LD B,0
\ 002D 1E00 LD E,BYTE3 wavpSendCommand
\ 002F 48 LD C,B
\ 0030 CD0000 CALL LWRD BankSwitch
57 wavpSendCommand(MC_OPEN, NULL);
\ 0033 1E01 LD E,1
\ 0035 CD1E00 CALL LWRD ?0078
58 wavpSendCommand(MC_LOAD, (int)FollowReadTempFileName);
\ 0038 010000 LD BC,?0005
\ 003B 1E03 LD E,3
\ 003D CD1E00 CALL LWRD ?0078
59 wavpSendCommand(MC_SETVOLUME, g_music_vars.volume);
\ 0040 ED4B0000 LD BC,(g_music_vars)
\ 0044 79 LD A,C
\ 0045 07 RLCA
\ 0046 9F SBC A,A
\ 0047 47 LD B,A
\ 0048 1E40 LD E,64
\ 004A CD8C01 CALL LWRD ?0076
60 wavpSendCommand(MC_FADEIN, 0);
\ 004D 1E0E LD E,14
\ 004F CD8C01 CALL LWRD ?0076
61 wavpSendCommand(MC_PLAY, NULL);
\ 0052 1E04 LD E,4
\ 0054 CD1E00 CALL LWRD ?0078
62 UpDisplayFlag = UpDisplayFlag | up_MPRLmode;
\ 0057 210000 LD HL,UpDisplayFlag
\ 005A 23 INC HL
\ 005B CBDE SET 3,(HL)
63 need_draw = TRUE;
\ 005D 3E01 LD A,1
\ 005F 320000 LD (need_draw),A
\ 0062 ?0007:
64
65 while (1)
66 {
67 if (need_draw)
\ 0062 3A0000 LD A,(need_draw)
\ 0065 B7 OR A
\ 0066 280A JR Z,?0010
\ 0068 ?0009:
68 {
69 //显示比特率
70 // Show_time_FC();
71 RefreshMainScreen();
\ 0068 CDC101 CALL LWRD ?0081
72 Show_time_FC();
\ 006B CDB901 CALL LWRD ?0080
73 need_draw = FALSE;
\ 006E AF XOR A
\ 006F 320000 LD (need_draw),A
\ 0072 ?0010:
74 }
75
76 key = ap_get_message();
\ 0072 CD0000 CALL LWRD ap_get_message
\ 0075 4F LD C,A
\ 0076 59 LD E,C
\ 0077 0600 LD B,0
\ 0079 DD70F7 LD (IX-9),B
77
78 switch (key)
\ 007C 50 LD D,B
\ 007D CD0000 CALL LWRD ?S_V_SWITCH_L06
\ 0080 0800 DEFW 8
\ 0082 1900 DEFW 25
\ 0084 1C00 DEFW 28
\ 0086 1D00 DEFW 29
\ 0088 2100 DEFW 33
\ 008A 2500 DEFW 37
\ 008C 2600 DEFW 38
\ 008E 3000 DEFW 48
\ 0090 3100 DEFW 49
\ 0092 0B01 DEFW ?0018
\ 0094 B700 DEFW ?0014
\ 0096 C500 DEFW ?0015
\ 0098 B700 DEFW ?0014
\ 009A DF00 DEFW ?0016
\ 009C A400 DEFW ?0013
\ 009E 4101 DEFW ?0011
\ 00A0 ED00 DEFW ?0017
\ 00A2 4101 DEFW ?0011
\ 00A4 ?0012:
79 {
80 case AP_MSG_STANDBY:
81 case AP_MSG_LOCK: //不响应锁键
82 break;
\ 00A4 ?0013:
83
84 case AP_KEY_PLAY | AP_KEY_UP:
85 //fade_out();
86 wavpSendCommand(MC_STOP, NULL);
\ 00A4 CD6A01 CALL LWRD ?0073
87 wavpSendCommand(MC_CLOSE, NULL);
\ 00A7 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
88 RePlayStatus = NormalPlay;
\ 00AA AF XOR A
\ 00AB 320000 LD (RePlayStatus),A
89 /*
90 //************
91 //注:因为这里退出时外面要淡出,所以会发出声音,
92 //这里把音量设为0就相当于不淡出,这只是权余之计
93 //以后希望能改掉
94 SetPAVolume(0);
95
96 //由于在MC_PLAY命令中用这个标志来判断是否要设音量,这里送
97 //个非0就是为了认音量为0,从而在开始放MUSIC后不送出声音
98 g_FadeInStatusFlag = 2;
99 OpenMusic();
100 g_FadeInStatusFlag = 0;
101 //*************
102 */
103 g_FCexitflag = TRUE;
104 OpenMusic();
\ 00AE CD9801 CALL LWRD ?0079
105 //musicpSendCommand(MC_SETVOLUME, 0); //让音量为0,这可在淡出时没声
106
107 //UpDisplayFlag=UpDisplayFlag | up_MPRLmode;
108 SetFullInterface();
109 need_draw = TRUE;
110 return RESULT_UI_STOP2; //选关播放后回到停止界面
\ 00B1 216700 LD HL,103
111
112 case AP_KEY_AB | AP_KEY_UP:
\ 00B4 C36401 JP LWRD ?0026
\ 00B7 ?0014:
113 case AP_KEY_NEXT | AP_KEY_UP:
114 //fade_out();
115 wavpSendCommand(MC_STOP, NULL);
\ 00B7 CD6A01 CALL LWRD ?0073
116 wavpSendCommand(MC_CLOSE, NULL);
\ 00BA CD8001 CALL LWRD ?0075
117 OpenMusic();
118 RePlayStatus = WaitSetAPointForAB;
\ 00BD 3E01 LD A,1
\ 00BF 320000 LD (RePlayStatus),A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -