📄 sub_playstatuskey.lst
字号:
##############################################################################
# #
# IAR Z80/64180 C-Compiler V4.04B/WIN #
# Front End V4.20N 18/Nov/107 22:57:23 #
# Global Optimizer V1.05D #
# #
# Target option = Z80 #
# Memory model = banked #
# Source file = d:\case_i_d913f\ap\ap_music\sub_playstatuskey.c #
# List file = d:\case_i_d913f\ap\ap_music\list\sub_playstatuskey.lst#
# Object file = d:\case_i_d913f\ap\ap_music\obj\sub_playstatuskey.r01#
# ASM file = d:\case_i_d913f\ap\ap_music\list\sub_playstatuskey.s01#
# Command line = -v0 -mb -OD:\case_i_d913f\ap\ap_music\Obj\ -e -K #
# -w -gA -z9 -RCODE -r0 -DNAPDEBUG #
# -LD:\case_i_d913f\ap\ap_music\List\ -q -t8 #
# -AD:\case_i_d913f\ap\ap_music\List\ #
# -ND:\case_i_d913f\ap\ap_music\List\ -X #
# -Id:\sdk_i_913f\inc\ -Id:\case_i_d913f\inc\ #
# d:\case_i_d913f\AP\AP_MUSIC\sub_playstatuskey.c #
# #
# (c) Copyright IAR Systems 1996 #
##############################################################################
\ 0000 NAME sub_playstatuskey(17)
\ 0000 RSEG CODE(0)
\ 0000 RSEG IDATA0(0)
\ 0000 RSEG CDATA0(0)
\ 0000 EXTERN ChangeMusic
\ 0000 EXTERN DRV_DetectUD
\ 0000 PUBLIC DealFilePlayEnd
\ 0000 PUBLIC DealKeyForPlayStatus
\ 0000 EXTERN DealMusicFileEnd
\ 0000 PUBLIC DealPlayKey
\ 0000 EXTERN DisplayErrMsg
\ 0000 EXTERN DisplayTimeRollback
\ 0000 PUBLIC ErrReport
\ 0000 EXTERN FS_FTell
\ 0000 EXTERN FadeOut
\ 0000 EXTERN GetBattery
\ 0000 EXTERN GetInformation
\ 0000 EXTERN MusicEditEndTime
\ 0000 EXTERN MusicEditSelStatus
\ 0000 EXTERN MusicEditStartTime
\ 0000 EXTERN MusicEditStatus
\ 0000 EXTERN MusicEdit_SelSeg
\ 0000 EXTERN OutPutVolume
\ 0000 EXTERN PlayStatus
\ 0000 PUBLIC PrevMusicInPlay
\ 0000 EXTERN RePlayStatus
\ 0000 EXTERN SaveSelSegment
\ 0000 PUBLIC ToNextMusic
\ 0000 EXTERN UI_ShowDelSegComfirm
\ 0000 EXTERN UpDisplayFlag
\ 0000 EXTERN VMRead
\ 0000 EXTERN ap_get_message
\ 0000 EXTERN ap_handle_hotkey
\ 0000 EXTERN ap_message_init
\ 0000 EXTERN c_mp3deNowTimeHour
\ 0000 EXTERN c_mp3deNowTimeMinute
\ 0000 EXTERN c_mp3deNowTimeSencond
\ 0000 EXTERN g_ABMinTimeCNT
\ 0000 EXTERN g_AVSetFlag
\ 0000 EXTERN g_FCexitflag
\ 0000 EXTERN g_Openparam
\ 0000 EXTERN g_PowerOffFlag
\ 0000 EXTERN g_ReplayTimeCNT
\ 0000 EXTERN g_comval
\ 0000 EXTERN g_lyricflag
\ 0000 EXTERN g_music_vars
\ 0000 EXTERN g_rSetPlayStatus
\ 0000 EXTERN g_result
\ 0000 PUBLIC g_volcounter
\ 0000 EXTERN ifSelBuffToltalTimeFlag
\ 0000 EXTERN m_Mp3deFileHandle
\ 0000 EXTERN main_ResShowPic
\ 0000 EXTERN musicpSendCommand
\ 0000 EXTERN need_draw
\ 0000 PUBLIC play_key_next
\ 0000 PUBLIC play_key_prev
\ 0000 EXTERN return_to_play
\ 0000 EXTERN ui_auto_update
\ 0000 EXTERN ui_follow_compare
\ 0000 EXTERN ui_lyric
\ 0000 EXTERN ui_play_menu
\ 0000 EXTERN ui_run_realtime
\ 0000 EXTERN ui_show_batt
\ 0000 EXTERN ui_show_vol
\ 0000 EXTERN volume_callback
\ 0000 EXTERN ?CLZ80B_4_04_L00
\ 0000 EXTERN ?C_S_SWITCH_L06
\ 0000 EXTERN ?C_V_SWITCH_L06
\ 0000 EXTERN ?BANK_CALL_DIRECT_L08
\ 0000 EXTERN ?BANK_LEAVE_DIRECT_L08
\ 0000 EXTERN ?BANK_FAST_LEAVE_L08
\ 0000 EXTERN ?ENT_PARM_DIRECT_L09
\ 0000 EXTERN ?ENT_AUTO_DIRECT_L09
\ 0000 RSEG CODE
\ 0000 DealKeyForPlayStatus:
1 /*
2 *******************************************************************************
3 * ACTOS AP
4 * This program demostrates how to build an AP
5 *
6 * (c) Copyright Actions Co,Ld.
7 *
8 * $Id: sub_playstatuskey.c,v 1.1.1.1 2006/05/22 03:24:01 selina Exp $
9 *******************************************************************************
10 */
11 #include "ap_music.h"
12 #include "define.h"
13
14 extern bool g_FCexitflag;
15 extern char return_to_play;
16 void ui_show_vol(BYTE volume);
17 void OutPutVolume(int vol);
18 int DealFilePlayEnd(void);
19 //void ErrReport(Play_status_t status);
20 extern bool DisplayTimeRollback(void);
21 extern EMU_MusicEditSelStatus MusicEditSelStatus; //musicedit add by mzh 2007.1.19
22 extern EMU_MusicEditStatus MusicEditStatus; //musicedit add by mzh 2007.1.19
23 extern STRU_SelMusicSegment MusicEdit_SelSeg; //musicedit add by mzh
24 extern time_t MusicEditStartTime;
25 extern time_t MusicEditEndTime;
26 extern HANDLE m_Mp3deFileHandle;
27 extern BYTE c_mp3deNowTimeSencond; // byte 当前时间:秒
28 extern BYTE c_mp3deNowTimeMinute; // 1byte 当前时间:分
29 extern BYTE c_mp3deNowTimeHour; // 1byte 当前时间:小时
30 extern int UI_ShowDelSegComfirm(void);
31
32 char g_volcounter=0;
33 extern bool g_rSetPlayStatus;
34 /*
35 ********************************************************************************
36 * Description : 处理在播放状态下对按键的判断处理(因为ui_play.c空间太紧张了)
37 *
38 * input : 键值 key
39 *
40 * output: 返回值 == 0: 正常返回
41 * != 0: 不是正常返回(如热键)
42 * Notes :
43 ********************************************************************************
44 */
45 int DealKeyForPlayStatus(char key)
46 {
\ 0000 CD0000 CALL LWRD ?ENT_PARM_DIRECT_L09
47 switch (key)
\ 0003 CD0000 CALL LWRD ?C_V_SWITCH_L06
\ 0006 1000 DEFW 16
\ 0008 03 DEFB 3
\ 0009 04 DEFB 4
\ 000A 1B DEFB 27
\ 000B 1D DEFB 29
\ 000C 21 DEFB 33
\ 000D 25 DEFB 37
\ 000E 26 DEFB 38
\ 000F 30 DEFB 48
\ 0010 31 DEFB 49
\ 0011 43 DEFB 67
\ 0012 44 DEFB 68
\ 0013 45 DEFB 69
\ 0014 46 DEFB 70
\ 0015 85 DEFB 133
\ 0016 86 DEFB 134
\ 0017 90 DEFB 144
\ 0018 EA01 DEFW ?0052
\ 001A 1801 DEFW ?0031
\ 001C 3A00 DEFW ?0004
\ 001E 5500 DEFW ?0008
\ 0020 1702 DEFW ?0002
\ 0022 1702 DEFW ?0002
\ 0024 AC01 DEFW ?0045
\ 0026 8101 DEFW ?0039
\ 0028 8C00 DEFW ?0017
\ 002A A100 DEFW ?0021
\ 002C 8800 DEFW ?0016
\ 002E 7000 DEFW ?0012
\ 0030 6D01 DEFW ?0038
\ 0032 1702 DEFW ?0002
\ 0034 D201 DEFW ?0051
\ 0036 AC01 DEFW ?0045
\ 0038 8101 DEFW ?0039
\ 003A ?0003:
48 {
49 case AP_MSG_STANDBY:
50 break;
\ 003A ?0004:
51
52 case AP_KEY_NEXT | AP_KEY_LONG: //快进
53 #ifndef __6KEYMODE__
54 if(g_volcounter==0)
55 #endif
56 {
57 ui_run_realtime=TRUE;
\ 003A 3E01 LD A,1
\ 003C 320000 LD (ui_run_realtime),A
58 //if (g_music_vars.location.disk == 'C')
59 {
60 //只有在"C"盘时才能快进退
61 if (RePlayStatus == NormalPlay)
\ 003F 3A0000 LD A,(RePlayStatus)
\ 0042 B7 OR A
\ 0043 200D JR NZ,?0006
\ 0045 ?0005:
62 {
63 PlayStatus = FFPlaySta;
\ 0045 3E03 LD A,3
\ 0047 320000 LD (PlayStatus),A
64 musicpSendCommand(MC_STEP, 4);
\ 004A 010400 LD BC,4
\ 004D 1E07 LD E,7
\ 004F CD4302 CALL LWRD ?0200
\ 0052 ?0006:
65 }
66 }
67 }
68 break;
\ 0052 C31702 JP LWRD ?0002
\ 0055 ?0007:
69 case AP_KEY_NEXT | AP_KEY_HOLD: //VOL
70 #ifndef __6KEYMODE__
71 if(g_volcounter>0)
72 {
73 g_volcounter = 6;
74
75 if(g_music_vars.volume<31)
76 {
77 volume_callback(++g_music_vars.volume);
78 ui_show_vol(g_music_vars.volume);
79 }
80 }
81 #endif
82 break;
\ 0055 ?0008:
83 case AP_KEY_PREV | AP_KEY_LONG: //快退
84 #ifndef __6KEYMODE__
85 if(g_volcounter==0)
86 #endif
87 {
88 ui_run_realtime=TRUE;
\ 0055 3E01 LD A,1
\ 0057 320000 LD (ui_run_realtime),A
89 //if (g_music_vars.location.disk == 'C')
90 {
91 //只有在"C"盘时才能快进退
92 if (RePlayStatus == NormalPlay)
\ 005A 3A0000 LD A,(RePlayStatus)
\ 005D B7 OR A
\ 005E 200D JR NZ,?0010
\ 0060 ?0009:
93 {
94 PlayStatus = FBPlaySta;
\ 0060 3E04 LD A,4
\ 0062 320000 LD (PlayStatus),A
95 musicpSendCommand(MC_STEP, -4);
\ 0065 01FCFF LD BC,65532
\ 0068 1E07 LD E,7
\ 006A CD4302 CALL LWRD ?0200
\ 006D ?0010:
96 }
97
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -