📄 sub_display.lst
字号:
##############################################################################
# #
# IAR Z80/64180 C-Compiler V4.04B/WIN #
# Front End V4.20N 18/Nov/107 22:57:11 #
# Global Optimizer V1.05D #
# #
# Target option = Z80 #
# Memory model = banked #
# Source file = d:\case_i_d913f\ap\ap_music\sub_display.c #
# List file = d:\case_i_d913f\ap\ap_music\list\sub_display.lst #
# Object file = d:\case_i_d913f\ap\ap_music\obj\sub_display.r01 #
# ASM file = d:\case_i_d913f\ap\ap_music\list\sub_display.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_display.c #
# #
# (c) Copyright IAR Systems 1996 #
##############################################################################
\ 0000 NAME sub_display(17)
\ 0000 RSEG AP_SUB_DIS(0)
\ 0000 RSEG CSTR(0)
\ 0000 RSEG IDATA0(0)
\ 0000 RSEG CDATA0(0)
\ 0000 RSEG APC_SUB_DIS(0)
\ 0000 EXTERN ClearScreen
\ 0000 PUBLIC DisplayErrMsg
\ 0000 EXTERN FS_GetFileLen
\ 0000 EXTERN GetBattery
\ 0000 EXTERN GetDCStatus
\ 0000 PUBLIC LOOP_PIC
\ 0000 EXTERN MusicEditEndTime
\ 0000 EXTERN MusicEditSelStatus
\ 0000 EXTERN MusicEditStartTime
\ 0000 EXTERN MusicEditStatus
\ 0000 EXTERN MusicEdit_SelSeg
\ 0000 PUBLIC PALYLIST_PIC
\ 0000 EXTERN PlayStatus
\ 0000 EXTERN PutS
\ 0000 EXTERN RePlayStatus
\ 0000 PUBLIC RefreshMainScreen
\ 0000 EXTERN ResShowMultiString
\ 0000 EXTERN ResShowPic
\ 0000 PUBLIC SRSModeFlag
\ 0000 EXTERN SaveSelSegment
\ 0000 EXTERN ScrollInit
\ 0000 EXTERN SetAsciiFont
\ 0000 EXTERN SetBackgdColor
\ 0000 EXTERN SetDealCommamd
\ 0000 EXTERN SetPenColor
\ 0000 EXTERN SetTextPos
\ 0000 EXTERN ShowNowTime
\ 0000 PUBLIC UI_DeleteSeg
\ 0000 PUBLIC UI_SelectSeg
\ 0000 PUBLIC UI_ShowDelSegComfirm
\ 0000 EXTERN UpDisplayFlag
\ 0000 EXTERN ap_get_message
\ 0000 EXTERN ap_sleep
\ 0000 EXTERN c_mp3deSongTimeLength
\ 0000 EXTERN g_TagInfoBuf
\ 0000 EXTERN g_comval
\ 0000 EXTERN g_lyricflag
\ 0000 EXTERN g_music_vars
\ 0000 EXTERN g_musicamount
\ 0000 EXTERN g_musicsequence
\ 0000 EXTERN g_rSetPlayStatus
\ 0000 EXTERN g_result
\ 0000 EXTERN g_volcounter
\ 0000 EXTERN itoa_3
\ 0000 EXTERN m_Mp3deFileHandle
\ 0000 EXTERN main_ResShowPic
\ 0000 EXTERN need_draw
\ 0000 PUBLIC segdeletecomfirm_string
\ 0000 PUBLIC segdelsel_string
\ 0000 PUBLIC segselect_string
\ 0000 EXTERN temp_buffer
\ 0000 EXTERN ui_popup_list
\ 0000 EXTERN ui_show_b
\ 0000 EXTERN ui_show_batt
\ 0000 PUBLIC ui_show_h
\ 0000 PUBLIC ui_show_vol
\ 0000 EXTERN ?CLZ80B_4_04_L00
\ 0000 EXTERN ?C_S_SWITCH_L06
\ 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_PARM_DIRECT_L09
\ 0000 EXTERN ?ENT_AUTO_DIRECT_L09
\ 0000 EXTERN ?STRCAT_L11
\ 0000 RSEG AP_SUB_DIS
\ 0000 RefreshMainScreen:
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_display.c,v 1.2 2006/06/26 01:14:24 tangwh Exp $
9 *******************************************************************************
10 */
11 #include "ap_music.h"
12 byte SRSModeFlag=0;
13 #pragma codeseg(AP_SUB_DIS)
14
15 #pragma memory=constseg(APC_SUB_DIS)
16 /*
17 const WORD EQ_PIC[] =
18 {
19 MEQICON1, MEQICON2, MEQICON3, MEQICON4, MEQICON5, MEQICON6, MEQICON7, MEQICON1
20 };
21 */
22 const WORD LOOP_PIC[7] =
23 {
24 MLOOP1, MLOOP2, MLOOP3, MLOOP4, MLOOP5, MLOOP6, MLOOP7
25 };
26
27 const WORD PALYLIST_PIC[6] =
28 {//Playlist 模式图标
29 PLAYLIST,ARTIST,ALBUM,GENRE,COMPOSE,DIRBG
30 };
31
32 //const WORD num_id[10] = {TVNUM0,TVNUM1,TVNUM2,TVNUM3,TVNUM4,TVNUM5,TVNUM6,TVNUM7,TVNUM8,TVNUM9}; //系统时间&音量显示
33 //const WORD songnum_id[10]= {MNUM0,MNUM1,MNUM2,MNUM3,MNUM4,MNUM5,
34 // MNUM6,MNUM7,MNUM8,MNUM9}; //音乐曲目
35
36 //******************musicedit func add by mzh 2007.1.19***************
37 const WORD segselect_string[4] =
38 {
39 SEGSEL1,SEGSEL2, SEGSEL3,SEGSEL5
40 };
41 const WORD segdelsel_string[4] =
42 {
43 SEGSEL1,SEGSEL2, SEGSEL3,SEGSEL5
44 };
45 const WORD segdeletecomfirm_string[2] =
46 {
47 DELEYES,DELENO
48 };
49
50 #pragma memory=default
51 extern EMU_MusicEditSelStatus MusicEditSelStatus; //musicedit add by mzh 2007.1.19
52 extern EMU_MusicEditStatus MusicEditStatus; //musicedit add by mzh 2007.1.19
53 extern STRU_SelMusicSegment MusicEdit_SelSeg;
54 extern time_t MusicEditStartTime;
55 extern time_t MusicEditEndTime;
56 extern HANDLE m_Mp3deFileHandle;
57 extern BYTE c_mp3deSongTimeLength[];
58 extern EMU_MusicEditSelStatus MusicEditSelStatus; //music edit add by mzh 2007.1.21
59 int main_ResShowPic( WORD id, uchar x, uchar y );
60 void ui_show_vol(BYTE volume);
61 void ui_show_h(const char *string);
62
63 extern char g_volcounter;
64 extern bool g_rSetPlayStatus;
65 /*
66 ********************************************************************************
67 * void RefreshMainScreen( void )
68 *
69 * Description : 主显示的刷新函数,只有有需要时,才调用此函数
70 *
71 * Arguments : void
72 *
73 * Returns : void
74 *
75 * Notes :
76 *
77 ********************************************************************************
78 */
79 void RefreshMainScreen( void )
80 {
\ 0000 C5 PUSH BC
\ 0001 D5 PUSH DE
81 wma_play_status_t status_buf;
82 output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
\ 0002 DB4E IN A,(78)
\ 0004 CBDF SET 3,A
\ 0006 D34E OUT (78),A
83
84 if(PlayStatus != PlaySta)
\ 0008 3A0000 LD A,(PlayStatus)
\ 000B 3D DEC A
\ 000C 3D DEC A
\ 000D 280F JR Z,?0005
\ 000F ?0002:
85 {
86 if(g_volcounter > 0)
\ 000F 3A0000 LD A,(g_volcounter)
\ 0012 B7 OR A
\ 0013 2809 JR Z,?0005
\ 0015 ?0004:
87 {
88 g_volcounter = 0;
\ 0015 AF XOR A
\ 0016 320000 LD (g_volcounter),A
89 g_rSetPlayStatus = TRUE;
\ 0019 3E01 LD A,1
\ 001B 320000 LD (g_rSetPlayStatus),A
\ 001E ?0005:
\ 001E ?0003:
90 }
91 }
92
93 if (UpDisplayFlag & up_musicBackGDPic)
\ 001E 3A0000 LD A,(UpDisplayFlag)
\ 0021 CB47 BIT 0,A
\ 0023 2830 JR Z,?0007
\ 0025 ?0006:
94 {
95 ResShowPic(BACKDROP, POS_BG, POSY_BG);
\ 0025 0E00 LD C,0
\ 0027 C5 PUSH BC
\ 0028 110A00 LD DE,10
\ 002B CD6302 CALL LWRD ?0176
\ 002E F1 POP AF
96
97 //show nowplaying
98 ///-SetTextOutMode(1);
99 SetBackgdColor(0x0000df1c);
\ 002F 010000 LD BC,0
\ 0032 111CDF LD DE,57116
\ 0035 CD0000 CALL LWRD SetBackgdColor
100 ResShowMultiString(NOWPLAY, g_comval.langid, 255, 1);
\ 0038 0E01 LD C,1
\ 003A C5 PUSH BC
\ 003B 0EFF LD C,255
\ 003D C5 PUSH BC
\ 003E ED4B0C00 LD BC,(g_comval+12)
\ 0042 119401 LD DE,404
\ 0045 3E00 LD A,BYTE3 ResShowMultiString
\ 0047 210000 LD HL,LWRD ResShowMultiString
\ 004A CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 004D F1 POP AF
\ 004E F1 POP AF
101 SetBackgdColor(Color_MENU_def);
\ 004F CD7702 CALL LWRD ?0178
102 ///-SetTextOutMode(0);
103
104 ui_show_vol(g_music_vars.volume);
\ 0052 CD8002 CALL LWRD ?0181
\ 0055 ?0007:
105 }
106 /* //Jerry Xie Removed for test
107 if (g_comval.EarProtect_flag)
108 {
109 ResShowPic(EARLOGO, 0, 162);
110 }
111 */
112 /*
113 if (UpDisplayFlag & up_musictypeflag)
114 {
115 Show_MusicType();
116 }
117 */ //Jerry Xie Removed for test
118 if ((UpDisplayFlag & up_musicbitrate)&&(RePlayStatus == NormalPlay))
\ 0055 2A0000 LD HL,(UpDisplayFlag)
\ 0058 CB6C BIT 5,H
\ 005A 280D JR Z,?0009
\ 005C 3A0000 LD A,(RePlayStatus)
\ 005F B7 OR A
\ 0060 2007 JR NZ,?0009
\ 0062 ?0011:
\ 0062 ?0010:
\ 0062 ?0008:
119 {
120 main_ResShowPic(BBCK1,79,20);//复读切回播放时显示比特率
\ 0062 0E14 LD C,20
\ 0064 C5 PUSH BC
\ 0065 CD5302 CALL LWRD ?0174
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -