📄 main.lst
字号:
##############################################################################
# #
# IAR Z80/64180 C-Compiler V4.04B/WIN #
# Front End V4.20N 18/Nov/107 22:57:06 #
# Global Optimizer V1.05D #
# #
# Target option = Z80 #
# Memory model = banked #
# Source file = d:\case_i_d913f\ap\ap_music\main.c #
# List file = d:\case_i_d913f\ap\ap_music\list\main.lst #
# Object file = d:\case_i_d913f\ap\ap_music\obj\main.r01 #
# ASM file = d:\case_i_d913f\ap\ap_music\list\main.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\main.c #
# #
# (c) Copyright IAR Systems 1996 #
##############################################################################
\ 0000 NAME main(17)
\ 0000 RSEG AP_UI_MAIN(0)
\ 0000 RSEG CSTR(0)
\ 0000 RSEG UDATA0(0)
\ 0000 RSEG IDATA0(0)
\ 0000 RSEG CDATA0(0)
\ 0000 RSEG APC_UI_MAIN(0)
\ 0000 EXTERN BankSwitch
\ 0000 EXTERN CaltimeFlag
\ 0000 EXTERN ClearScreen
\ 0000 EXTERN CreateBookMarkFile
\ 0000 EXTERN CreateMEIniFile
\ 0000 EXTERN DRV_ActiveDrive
\ 0000 EXTERN DRV_ActiveUD
\ 0000 EXTERN DRV_DetectUD
\ 0000 EXTERN DisableDAC
\ 0000 EXTERN DisablePA
\ 0000 EXTERN DisplayErrInfor
\ 0000 EXTERN FS_FRemove
\ 0000 PUBLIC FirstOffset
\ 0000 PUBLIC LastOffset
\ 0000 PUBLIC MPLFileName
\ 0000 PUBLIC MusicEditEndTime
\ 0000 PUBLIC MusicEditSelStatus
\ 0000 PUBLIC MusicEditStartTime
\ 0000 PUBLIC MusicEditStatus
\ 0000 PUBLIC MusicEdit_SelSeg
\ 0000 PUBLIC MusicTimer_Sav
\ 0000 EXTERN Music_2HZint
\ 0000 EXTERN Music_timeint
\ 0000 PUBLIC PlayStatus
\ 0000 PUBLIC PlaylistCount
\ 0000 PUBLIC RePlayStatus
\ 0000 EXTERN ResClose
\ 0000 PUBLIC ResFileName
\ 0000 EXTERN ResOpen
\ 0000 EXTERN ResShowMultiString
\ 0000 EXTERN Reset_USERPL
\ 0000 EXTERN SetPenColor
\ 0000 EXTERN TM_KillClock
\ 0000 EXTERN TM_KillTimer
\ 0000 EXTERN TM_SetClock
\ 0000 EXTERN TM_SetTimer
\ 0000 EXTERN TimeRateData_sav
\ 0000 PUBLIC Timer_2HZNo_Sav
\ 0000 PUBLIC UpDisplayFlag
\ 0000 EXTERN VMWrite
\ 0000 EXTERN WaitForCaltimeCNT
\ 0000 EXTERN WrHead_PL
\ 0000 PUBLIC bList_Flag
\ 0000 EXTERN fselGetLocation
\ 0000 PUBLIC g_2HZFlag
\ 0000 PUBLIC g_2HZ_CNT
\ 0000 PUBLIC g_ABPointTimeSize
\ 0000 PUBLIC g_AVSetFlag
\ 0000 PUBLIC g_DiskStateFlag
\ 0000 PUBLIC g_FCexitflag
\ 0000 PUBLIC g_FadeInStepFlag
\ 0000 PUBLIC g_OldSecTempBackup
\ 0000 PUBLIC g_Openparam
\ 0000 PUBLIC g_PAOpenFlag
\ 0000 PUBLIC g_PowerOffFlag
\ 0000 PUBLIC g_ReplayTimeCNT
\ 0000 PUBLIC g_Resfp_Sav
\ 0000 PUBLIC g_ScrollFlag
\ 0000 PUBLIC g_TagInfoBuf
\ 0000 PUBLIC g_comval
\ 0000 PUBLIC g_currentMusicType
\ 0000 PUBLIC g_file_list_total
\ 0000 PUBLIC g_from_browser
\ 0000 PUBLIC g_introCNT
\ 0000 PUBLIC g_introCntMode
\ 0000 PUBLIC g_lyricflag
\ 0000 PUBLIC g_music_vars
\ 0000 PUBLIC g_musicamount
\ 0000 PUBLIC g_musicsequence
\ 0000 PUBLIC g_result
\ 0000 PUBLIC ifSelBuffToltalTimeFlag
\ 0000 PUBLIC list
\ 0000 EXTERN lyricInit
\ 0000 PUBLIC main
\ 0000 PUBLIC need_WPL
\ 0000 PUBLIC need_draw
\ 0000 EXTERN openDAC
\ 0000 EXTERN read_var
\ 0000 PUBLIC return_to_play
\ 0000 PUBLIC savenum
\ 0000 EXTERN ui_show_a
\ 0000 EXTERN ui_stop
\ 0000 EXTERN ?CLZ80B_4_04_L00
\ 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_MAIN
\ 0000 main:
1 /********************************************************************************
2 * SDK30F_D1
3 * music player main sub
4 *
5 * (c) Copyright 2002, Actions Co,Ld.
6 * All Right Reserved
7 *
8 * File: main.c
9 * By : rcmai
10 * Version: 1> v1.00 first version 2004-3-19 8:28
11 *******************************************************************************
12 * $Id: main.c,v 1.3 2006/07/14 06:46:20 tangwh Exp $
13 *******************************************************************************
14 */
15 #include "ap_music.h"
16
17 SETDEBUGRAM//调试时用的宏,在AP_MUSIC.H中定义
18
19
20 comval_t g_comval; //系统变量,ap不能更改
21 music_vars_t g_music_vars;//本AP的公共变量
22 char g_TagInfoBuf[90];//用于放TAG信息的BUF
23 bool g_FCexitflag;
24 //char g_TagInfoBuf1[20];//用于放下一首TAG信息的BUF
25 //char couterkey; //for test !
26 //这空间是用于打开时用来集中传送参数
27 Open_param_t g_Openparam;
28
29 //char g_lyric_mod = LYRIC_PAGE_21_4; //歌词格式标志(默认为英文格式)
30 BYTE g_OldSecTempBackup;//记录当前秒的值,用于观察秒的变化,从而产生变化信号码
31 BYTE g_introCNT;
32 bool g_introCntMode;
33 char return_to_play=0; //为1表示从其他界面返回播放界面
34 bool need_draw;
35
36 //function_menu_t menu;
37 pop_up_list_t list;
38 //slider_t slider;
39 Replay_status_t RePlayStatus = NormalPlay; //普通播放模式
40 Play_status_t PlayStatus = StopSta; //停止状态
41
42 WORD UpDisplayFlag; //相应的位表示要更新显示的内容。
43 bool g_lyricflag;//有无歌词标志,true表示有
44 Music_type_t g_currentMusicType;//标志当前音乐的类型(mp3/wma/asf/wmv)
45 WORD g_musicamount;//当前目录歌曲总数
46 WORD g_musicsequence;//当前歌曲序号
47
48 unsigned int g_file_list_total;
49 BYTE MusicTimer_Sav;
50 BYTE Timer_2HZNo_Sav;
51 bool g_ScrollFlag = FALSE; //当定时中断到时置这个标志
52 WORD g_2HZ_CNT;//2hz 中断计数器(0.5秒加一)
53 bool g_2HZFlag = TRUE;//2HZ中断到标志
54 WORD g_ABPointTimeSize;//记录AB点长度
55 SD_FILE* g_Resfp_Sav;
56 BYTE g_ReplayTimeCNT; //记录复读次数
57 //char g_FadeInStatusFlag = 1;//处在淡入状标志 true 表示在淡入中。
58 bool g_FadeInStepFlag = TRUE;//
59 bool g_AVSetFlag = FALSE;//自动复读设定标志(标志现在的复读是从自动还是手动进入的)
60 bool g_PAOpenFlag = FALSE; //标志PA的开关状态
61 //bool g_CardInFlag = FALSE;//卡是否插上,为真时表示插上,可用
62 //bool ActiveDriveOK;//磁盘可用标志
63 char savenum;//时间进度条save时间
64 BYTE g_DiskStateFlag = 0;//b7 = 1:flash 盘已格式化
65 //b6 = 1:flash 盘无文件
66 //b3 = 1:卡已格式化
67 //b2 = 1: 卡无文件
68 //b5,b4,b1,b0 : 保留
69 //default = 0x00
70
71 char g_PowerOffFlag; //默认为正常,g_PowerOffFlag=0x00,如果rtc掉电g_PowerOffFlag=0x55
72
73 //---如下两变量只用作临时变量,主要目的是节省指令及
74 // 省代码空间,因为局部变量较费代码及指令时间
75 int g_result;//表示16位变量
76 //BYTE g_result8;//表示8位
77 bool ifSelBuffToltalTimeFlag = FALSE;//TRUE:用 buffer 总时间数据
78 bool g_from_browser = FALSE;
79 //*********music edit add by mzh*******************
80 EMU_MusicEditSelStatus MusicEditSelStatus; // select: empty start end
81 EMU_MusicEditStatus MusicEditStatus; // select ,delete
82 STRU_SelMusicSegment MusicEdit_SelSeg;
83 time_t MusicEditStartTime;
84 time_t MusicEditEndTime;
85 //*********************************************
86 #ifdef ACTIVE_USERPL
87 WORD FirstOffset; //第一个偏移量
88 WORD LastOffset; //空族偏移量
89 WORD PlaylistCount; //Item总数
90 BOOL need_WPL;
91 BOOL bList_Flag = FALSE;
92 #endif
93 #pragma memory=constseg(APC_UI_MAIN)
94 const char MPLFileName[5][12] = {"PLAYLISTA3L","ARTIST A3L","ALBUM A3L","GENRE A3L","COMPOSERA3L"
95 };
96 const char ResFileName[]="ui30.res";
97 #pragma memory=default
98
99 void read_var( void );
100 void openDAC(void);
101
102 non_banked void Test_Timer(void);
103 //int DealDiskState(void);
104 int InitFileSelector(void);
105 void debug(void);
106 extern BOOL CreateMEIniFile();
107 extern BOOL CreateBookMarkFile();
108 #pragma codeseg(AP_UI_MAIN)
109 int main( int param)
110 {
\ 0000 C5 PUSH BC
\ 0001 FDE5 PUSH IY
\ 0003 DDE5 PUSH IX
\ 0005 D5 PUSH DE
\ 0006 F5 PUSH AF
111 int mainresult;
112 byte IO05Bak;
113 SD_FILE* g_Resfp_Sav;
114 g_DiskStateFlag = 0;
\ 0007 AF XOR A
\ 0008 320800 LD (g_DiskStateFlag),A
115 g_FCexitflag = FALSE;
\ 000B 32D900 LD (g_FCexitflag),A
116 if(param)
\ 000E 7B LD A,E
\ 000F B2 OR D
\ 0010 2805 JR Z,?0003
\ 0012 ?0002:
117 {
118 g_from_browser = TRUE;
\ 0012 3E01 LD A,1
\ 0014 320A00 LD (g_from_browser),A
\ 0017 ?0003:
119 }
120
121 //-------安装ud驱动------------
122 g_Resfp_Sav = ResOpen(ResFileName);
\ 0017 113C00 LD DE,ResFileName
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -