📄 sub_display.lst
字号:
##############################################################################
# #
# IAR Z80/64180 C-Compiler V4.04B/WIN #
# Front End V4.20N 25/Dec/106 17:00:44 #
# Global Optimizer V1.05D #
# #
# Target option = Z80 #
# Memory model = banked #
# Source file = d:\case_i_d90f\ap\ap_music\sub_display.c #
# List file = d:\case_i_d90f\ap\ap_music\list\sub_display.lst #
# Object file = d:\case_i_d90f\ap\ap_music\obj\sub_display.r01 #
# ASM file = d:\case_i_d90f\ap\ap_music\list\sub_display.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\sub_display.c #
# #
# (c) Copyright IAR Systems 1996 #
##############################################################################
\ 0000 NAME sub_display(17)
\ 0000 RSEG AP_SUB_DIS(0)
\ 0000 RSEG IDATA0(0)
\ 0000 RSEG CDATA0(0)
\ 0000 RSEG APC_SUB_DIS(0)
\ 0000 EXTERN ClearScreen
\ 0000 PUBLIC DisplayErrMsg
\ 0000 PUBLIC EQ_PIC
\ 0000 EXTERN GetBattery
\ 0000 EXTERN GetDCStatus
\ 0000 PUBLIC LOOP_PIC
\ 0000 PUBLIC PALYLIST_PIC
\ 0000 EXTERN PutS
\ 0000 EXTERN RePlayStatus
\ 0000 PUBLIC RefreshMainScreen
\ 0000 EXTERN ResShowMultiString
\ 0000 EXTERN ResShowPic
\ 0000 PUBLIC SRSModeFlag
\ 0000 EXTERN Scroll
\ 0000 EXTERN SetBackgdColor
\ 0000 EXTERN SetPenColor
\ 0000 EXTERN SetTextOutMode
\ 0000 EXTERN SetTextPos
\ 0000 EXTERN ShowNowTime
\ 0000 EXTERN Show_Bitrate
\ 0000 PUBLIC Show_MusicType
\ 0000 EXTERN UpDisplayFlag
\ 0000 EXTERN ap_get_message
\ 0000 EXTERN ap_sleep
\ 0000 EXTERN dir_name
\ 0000 EXTERN g_TagInfoBuf
\ 0000 EXTERN g_TagInfoBuf1
\ 0000 EXTERN g_comval
\ 0000 EXTERN g_currentMusicType
\ 0000 EXTERN g_lyricflag
\ 0000 EXTERN g_music_vars
\ 0000 EXTERN g_musicamount
\ 0000 EXTERN g_musicsequence
\ 0000 EXTERN itoa_2
\ 0000 EXTERN itoa_3
\ 0000 EXTERN main_ResShowPic
\ 0000 EXTERN need_draw
\ 0000 PUBLIC num_id
\ 0000 PUBLIC songnum_id
\ 0000 EXTERN temp_buffer
\ 0000 EXTERN ui_show_a
\ 0000 EXTERN ui_show_b
\ 0000 EXTERN ui_show_batt
\ 0000 EXTERN ui_show_c
\ 0000 PUBLIC ui_show_h
\ 0000 PUBLIC ui_show_vol
\ 0000 EXTERN wmapSendCommand
\ 0000 EXTERN ?CLZ80B_4_04_L00
\ 0000 EXTERN ?C_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_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 const WORD EQ_PIC[] =
17 {
18 MEQICON1, MEQICON2, MEQICON3, MEQICON4, MEQICON5, MEQICON6, MEQICON7, MEQICON1
19
20
21 };
22
23 const WORD LOOP_PIC[7] =
24 {
25 MLOOP1, MLOOP2, MLOOP3, MLOOP4, MLOOP5, MLOOP6, MLOOP7
26 };
27
28 const WORD PALYLIST_PIC[6] =
29 {//Playlist 模式图标
30 PLAYLIST,ARTIST,ALBUM,GENRE,COMPOSE,DIRBG
31 };
32
33 const WORD num_id[10] = {TVNUM0,TVNUM1,TVNUM2,TVNUM3,TVNUM4,TVNUM5,TVNUM6,TVNUM7,TVNUM8,TVNUM9}; //系统时间&音量显示
34 const WORD songnum_id[10]= {MNUM0,MNUM1,MNUM2,MNUM3,MNUM4,MNUM5,
35 MNUM6,MNUM7,MNUM8,MNUM9}; //音乐曲目
36 #pragma memory=default
37
38 int main_ResShowPic( WORD id, uchar x, uchar y );
39 void ui_show_vol(BYTE volume);
40 void ui_show_h(const char *string);
41 /*
42 ********************************************************************************
43 * void RefreshMainScreen( void )
44 *
45 * Description : 主显示的刷新函数,只有有需要时,才调用此函数
46 *
47 * Arguments : void
48 *
49 * Returns : void
50 *
51 * Notes :
52 *
53 ********************************************************************************
54 */
55 void RefreshMainScreen( void )
56 {
\ 0000 C5 PUSH BC
\ 0001 D5 PUSH DE
57 wma_play_status_t status_buf;
58 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
59 if (UpDisplayFlag & up_musicBackGDPic)
\ 0008 3A0000 LD A,(UpDisplayFlag)
\ 000B CB47 BIT 0,A
\ 000D 280D JR Z,?0003
\ 000F ?0002:
60 {
61 ResShowPic(BACKDROP, POS_BG, POSY_BG);
\ 000F 0E00 LD C,0
\ 0011 C5 PUSH BC
\ 0012 111000 LD DE,16
\ 0015 CDB502 CALL LWRD ?0129
\ 0018 F1 POP AF
62 ui_show_vol(g_music_vars.volume);
\ 0019 CDBD02 CALL LWRD ?0130
\ 001C ?0003:
63 }
64
65 if (UpDisplayFlag & up_musictypeflag)
\ 001C 2A0000 LD HL,(UpDisplayFlag)
\ 001F CB7C BIT 7,H
\ 0021 2808 JR Z,?0005
\ 0023 ?0004:
66 {
67 Show_MusicType();
\ 0023 3E00 LD A,BYTE3 Show_MusicType
\ 0025 21C902 LD HL,LWRD Show_MusicType
\ 0028 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 002B ?0005:
68 }
69
70 if ((UpDisplayFlag & up_musicbitrate)&&(RePlayStatus == NormalPlay))
\ 002B 2A0000 LD HL,(UpDisplayFlag)
\ 002E CB6C BIT 5,H
\ 0030 2817 JR Z,?0007
\ 0032 3A0000 LD A,(RePlayStatus)
\ 0035 B7 OR A
\ 0036 2011 JR NZ,?0007
\ 0038 ?0009:
\ 0038 ?0008:
\ 0038 ?0006:
71 {
72 main_ResShowPic(BBCK2,0,0);//复读切回播放时显示比特率
\ 0038 4F LD C,A
\ 0039 C5 PUSH BC
\ 003A 111D00 LD DE,29
\ 003D CDAD02 CALL LWRD ?0126
\ 0040 F1 POP AF
73 Show_Bitrate();
\ 0041 3E00 LD A,BYTE3 Show_Bitrate
\ 0043 210000 LD HL,LWRD Show_Bitrate
\ 0046 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0049 ?0007:
74 }
75
76 if (UpDisplayFlag & up_musicloopmode)
\ 0049 2A0000 LD HL,(UpDisplayFlag)
\ 004C CB64 BIT 4,H
\ 004E 2831 JR Z,?0011
\ 0050 ?0010:
77 {
78 if (g_music_vars.fselmod == FSEL_TYPE_COMMONDIR)
\ 0050 3A4F00 LD A,(g_music_vars+79)
\ 0053 B7 OR A
\ 0054 2005 JR NZ,?0013
\ 0056 ?0012:
79 {
80 g_music_vars.play_listmod = mlistnor;//改为普通目录模式
\ 0056 3E05 LD A,5
\ 0058 324E00 LD (g_music_vars+78),A
\ 005B ?0013:
81 }
82 ui_show_b(LOOP_PIC[g_music_vars.repeat_mode]); //zxs change
\ 005B 2A0100 LD HL,(g_music_vars+1)
\ 005E 2600 LD H,0
\ 0060 29 ADD HL,HL
\ 0061 011000 LD BC,LOOP_PIC
\ 0064 09 ADD HL,BC
\ 0065 5E LD E,(HL)
\ 0066 23 INC HL
\ 0067 56 LD D,(HL)
\ 0068 3E00 LD A,BYTE3 ui_show_b
\ 006A 210000 LD HL,LWRD ui_show_b
\ 006D CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
83 main_ResShowPic(PALYLIST_PIC[g_music_vars.play_listmod],0,136);
\ 0070 0E88 LD C,136
\ 0072 C5 PUSH BC
\ 0073 0E00 LD C,0
\ 0075 2A4E00 LD HL,(g_music_vars+78)
\ 0078 61 LD H,C
\ 0079 29 ADD HL,HL
\ 007A 111E00 LD DE,PALYLIST_PIC
\ 007D CDA902 CALL LWRD ?0127
\ 0080 F1 POP AF
\ 0081 ?0011:
84 }
85
86 if (UpDisplayFlag & up_musicsequence)
\ 0081 2A0000 LD HL,(UpDisplayFlag)
\ 0084 CB5C BIT 3,H
\ 0086 CA4E01 JP Z,?0016
\ 0089 ?0014:
87 {
88 itoa_3(g_musicsequence, & temp_buffer[0]);
\ 0089 010000 LD BC,temp_buffer
\ 008C ED5B0000 LD DE,(g_musicsequence)
\ 0090 3E00 LD A,BYTE3 itoa_3
\ 0092 210000 LD HL,LWRD itoa_3
\ 0095 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
89 itoa_3(g_musicamount, & temp_buffer[3]);
\ 0098 010300 LD BC,temp_buffer+3
\ 009B ED5B0000 LD DE,(g_musicamount)
\ 009F 3E00 LD A,BYTE3 itoa_3
\ 00A1 210000 LD HL,LWRD itoa_3
\ 00A4 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
90 ui_show_h(& temp_buffer[0]);
\ 00A7 110000 LD DE,temp_buffer
\ 00AA 3E00 LD A,BYTE3 ui_show_h
\ 00AC 21F503 LD HL,LWRD ui_show_h
\ 00AF CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
91
92 switch (RePlayStatus)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -