📄 ui_play_menu.lst
字号:
##############################################################################
# #
# IAR Z80/64180 C-Compiler V4.04B/WIN #
# Front End V4.20N 18/Nov/107 22:57:42 #
# Global Optimizer V1.05D #
# #
# Target option = Z80 #
# Memory model = banked #
# Source file = d:\case_i_d913f\ap\ap_music\ui_play_menu.c #
# List file = d:\case_i_d913f\ap\ap_music\list\ui_play_menu.lst #
# Object file = d:\case_i_d913f\ap\ap_music\obj\ui_play_menu.r01 #
# ASM file = d:\case_i_d913f\ap\ap_music\list\ui_play_menu.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\ui_play_menu.c #
# #
# (c) Copyright IAR Systems 1996 #
##############################################################################
\ 0000 NAME ui_play_menu(17)
\ 0000 RSEG AP_UI_MNU(0)
\ 0000 RSEG CSTR(0)
\ 0000 RSEG UDATA0(0)
\ 0000 RSEG IDATA0(0)
\ 0000 RSEG CDATA0(0)
\ 0000 RSEG APC_UI_MNU(0)
\ 0000 EXTERN CheckPlayrateLimit
\ 0000 EXTERN CheckReplaytimesLimit
\ 0000 EXTERN ClearScreen
\ 0000 EXTERN DisplayErrMsg
\ 0000 PUBLIC FILENAMELSIT
\ 0000 EXTERN FS_Backup
\ 0000 EXTERN FS_CD
\ 0000 EXTERN FS_FOpen
\ 0000 EXTERN FS_Restore
\ 0000 PUBLIC Navifp
\ 0000 EXTERN RePlayStatus
\ 0000 EXTERN SRSModeFlag
\ 0000 PUBLIC TALBFileName
\ 0000 PUBLIC TIT2FileName
\ 0000 PUBLIC TPE1FileName
\ 0000 EXTERN bass_user_callback
\ 0000 EXTERN eq_callback
\ 0000 PUBLIC eq_string
\ 0000 PUBLIC fsel_mode_change_flag
\ 0000 EXTERN g_OldSecTempBackup
\ 0000 EXTERN g_comval
\ 0000 EXTERN g_currentMusicType
\ 0000 EXTERN g_file_list_total
\ 0000 EXTERN g_introCNT
\ 0000 EXTERN g_introCntMode
\ 0000 EXTERN g_music_vars
\ 0000 EXTERN g_result
\ 0000 EXTERN list
\ 0000 PUBLIC list_fp
\ 0000 PUBLIC list_playmenu
\ 0000 EXTERN loop_callback
\ 0000 PUBLIC music_list_menu
\ 0000 PUBLIC music_list_string
\ 0000 EXTERN musicpSendCommand
\ 0000 PUBLIC play_string
\ 0000 PUBLIC play_string_ME
\ 0000 PUBLIC repeat_string
\ 0000 PUBLIC replay_string
\ 0000 EXTERN show_music_list
\ 0000 EXTERN speed_callback
\ 0000 EXTERN srs_callback
\ 0000 PUBLIC srs_default_set
\ 0000 PUBLIC srs_string
\ 0000 EXTERN srs_user_callback
\ 0000 PUBLIC srsuser_string
\ 0000 PUBLIC ui_EQ_menu
\ 0000 PUBLIC ui_SRSUSER_menu
\ 0000 PUBLIC ui_SRS_menu
\ 0000 PUBLIC ui_loop_menu
\ 0000 PUBLIC ui_play_menu
\ 0000 PUBLIC ui_play_menu_loop
\ 0000 EXTERN ui_popup_list
\ 0000 PUBLIC ui_relpay_set_menu
\ 0000 EXTERN ui_slider
\ 0000 EXTERN wow_user_callback
\ 0000 EXTERN ?CLZ80B_4_04_L00
\ 0000 EXTERN ?S_S_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 AP_UI_MNU
\ 0000 ui_play_menu:
1 /*
2 *******************************************************************************
3 * ACTOS AP
4 * This program demostrates how to build an AP
5 *
6 * (c) Copyright Actions Co,Ld.
7 *
8 * $Id: ui_play_menu.c,v 1.1.1.1 2006/05/22 03:24:01 selina Exp $
9 *******************************************************************************
10 */
11 #include "ap_music.h"
12 handle list_fp; //列表文件句柄
13 handle Navifp; //目录导航文件句柄
14 BYTE fsel_mode_change_flag = FALSE;
15 pop_up_list_t list_playmenu;
16 extern int show_music_list(char list_type,const WORD headid);
17 extern int UI_play_Navi();
18 extern int UI_Favourite(BYTE string_id);
19 extern handle fpPlaylist;
20 #pragma codeseg(AP_UI_MNU)
21 #pragma memory=constseg(APC_UI_MNU)
22
23 const WORD eq_string[7] =
24 {
25 MEQ1, MEQ2, MEQ3, MEQ4, MEQ5, MEQ6, MEQ7
26 };
27 const WORD srsuser_string[4] =
28 {
29 SRS3D,SRSTBAS,SRSFOCUS,MPLAY7
30 };
31 const WORD srs_string[3]=
32 {
33 SRSSET,SRSUSER, DISABSRS
34 };
35
36 const WORD play_string[6] =
37 {
38 MPLAY1, MPLAY2,SRSMAIN, MPLAY3,SMAIN5,/*MPLAYLS,MFAVI,*//*MDIRNAVI,MBMARK,*/MPLAY7
39 };
40 //********************add by mzh for musicedit********************
41 const WORD play_string_ME[6] =
42 {
43 MPLAY1,MPLAY2,SRSMAIN,MPLAY3,SMAIN5,/*MPLAYLS,MFAVI,*//*MDIRNAVI,MBMARK,MPLAY8,MPLAY10,*/MPLAY7
44 };
45 //************************************************************
46 const WORD repeat_string[7] =
47 {
48 VLOOPM1, VLOOPM2, VLOOPM3, VLOOPM4, VLOOPM5, VLOOPM6, VLOOPM7
49 };
50 const WORD replay_string[3] =
51 {
52 MPLAY4,MPLAY5,MPLAY6
53 };
54
55 //***********************************************************
56
57 const WORD music_list_string[5] =
58 {
59 MTITLE, MTPE1, MTALB, MFNAME, MSTOP5
60 };
61 const char TIT2FileName[] = "TIT2 BIN" ; //标题
62 const char TPE1FileName[] = "TPE1 BIN" ; //艺术家
63 const char TALBFileName[] = "TALB BIN" ; //专辑
64 const char FILENAMELSIT[] = "FILENAMEBIN" ; //文件名
65 #pragma memory=default
66
67 #pragma memory=dataseg(APD_UI_MNU)
68
69 #pragma memory=default
70
71 int music_list_menu(void);
72 int ui_play_menu_loop(void);
73 int ui_relpay_set_menu(void);
74 void srs_default_set(void);
75 ///-void felseltype_check(void);
76 extern byte SRSModeFlag;
77 //增加这函数的目的是集中处理这函数退出时都要做的一些事
78 extern EMU_MusicEditSelStatus MusicEditSelStatus; //musicedit add by mzh 2007.1.19
79 extern EMU_MusicEditStatus MusicEditStatus; //musicedit add by mzh 2007.1.19
80 extern STRU_SelMusicSegment MusicEdit_SelSeg;
81 extern time_t MusicEditStartTime;
82 extern time_t MusicEditEndTime;
83 extern HANDLE m_Mp3deFileHandle;
84 extern BYTE c_mp3deSongTimeLength[];
85 //******func add by mzh 2007.1.19******
86 extern int UI_SelectSeg(void);
87 extern int UI_DeleteSeg(void);
88 extern int UI_ShowDelSegComfirm(void);
89 extern int UI_BookMark(BYTE string_id);
90 extern int Deal_play_Navi(void); //文件导航处理
91 int ui_play_menu(void)
92 {
\ 0000 D5 PUSH DE
93 int result;
94 result = ui_play_menu_loop();
\ 0001 3E00 LD A,BYTE3 ui_play_menu_loop
\ 0003 211D00 LD HL,LWRD ui_play_menu_loop
\ 0006 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0009 EB EX DE,HL
95 StartIntro(FALSE);
\ 000A AF XOR A
\ 000B 320000 LD (g_introCntMode),A
\ 000E 3A4F00 LD A,(g_music_vars+79)
\ 0011 320000 LD (g_OldSecTempBackup),A
\ 0014 AF XOR A
\ 0015 320000 LD (g_introCNT),A
96 return result;
\ 0018 EB EX DE,HL
97 }
\ 0019 D1 POP DE
\ 001A C30000 JP LWRD ?BANK_FAST_LEAVE_L08
\ 001D ui_play_menu_loop:
98
99 int ui_play_menu_loop(void)
100 {
\ 001D CD0000 CALL LWRD ?ENT_AUTO_DIRECT_L09
\ 0020 F4FF DEFW 65524
101 static char PlayMenuactive=0; //保持选中菜单的序号
102 slider_t slider_playmenu;
103 if(g_currentMusicType==Music_MP3)
\ 0022 3A0000 LD A,(g_currentMusicType)
\ 0025 3D DEC A
\ 0026 200B JR NZ,?0004
\ 0028 ?0003:
104 {
105 list.total = sizeof(play_string_ME)/2;
\ 0028 210600 LD HL,6
\ 002B 220200 LD (list+2),HL
106 list.strid = play_string_ME;
\ 002E 212800 LD HL,play_string_ME
\ 0031 1814 JR ?0119
107 }
108 else
\ 0033 ?0004:
109 {
110 ///-if(PlayMenuactive>=8)
111 if(PlayMenuactive>=4)
\ 0033 3A0100 LD A,(?0002)
\ 0036 FE04 CP 4
\ 0038 3804 JR C,?0007
\ 003A ?0006:
112 PlayMenuactive=0;
\ 003A AF XOR A
\ 003B 320100 LD (?0002),A
\ 003E ?0007:
113 list.total = sizeof(play_string)/2;
\ 003E 210600 LD HL,6
\ 0041 220200 LD (list+2),HL
114 list.strid = play_string;
\ 0044 211C00 LD HL,play_string
\ 0047 ?0119:
\ 0047 220000 LD (list),HL
\ 004A ?0005:
115 }
116
117 list.headid = PLAYMENU;
\ 004A 21A001 LD HL,416
\ 004D 220600 LD (list+6),HL
118 list.active = PlayMenuactive;
\ 0050 ED4B0100 LD BC,(?0002)
\ 0054 0600 LD B,0
\ 0056 ED430400 LD (list+4),BC
119 list.string_id = g_comval.langid;
\ 005A 3A0C00 LD A,(g_comval+12)
\ 005D 320800 LD (list+8),A
120 g_result = ui_popup_list(&list, NULL);
\ 0060 48 LD C,B
\ 0061 C5 PUSH BC
\ 0062 C5 PUSH BC
\ 0063 110000 LD DE,list
\ 0066 CD6101 CALL LWRD ?0156
\ 0069 F1 POP AF
\ 006A F1 POP AF
\ 006B 220000 LD (g_result),HL
121 PlayMenuactive = list.active;
\ 006E 3A0400 LD A,(list+4)
\ 0071 320100 LD (?0002),A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -