📄 main.lst
字号:
##############################################################################
# #
# IAR Z80/64180 C-Compiler V4.04B/WIN #
# Front End V4.20N 25/Dec/106 17:00:42 #
# Global Optimizer V1.05D #
# #
# Target option = Z80 #
# Memory model = banked #
# Source file = d:\case_i_d90f\ap\ap_music\main.c #
# List file = d:\case_i_d90f\ap\ap_music\list\main.lst #
# Object file = d:\case_i_d90f\ap\ap_music\obj\main.r01 #
# ASM file = d:\case_i_d90f\ap\ap_music\list\main.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\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 ClosePA
\ 0000 EXTERN DRV_ActiveDrive
\ 0000 EXTERN DRV_ActiveUD
\ 0000 EXTERN DRV_DetectUD
\ 0000 EXTERN DisableDAC
\ 0000 EXTERN DisplayErrInfor
\ 0000 EXTERN FS_FRemove
\ 0000 PUBLIC MPLFileName
\ 0000 PUBLIC MusicTimer_Sav
\ 0000 EXTERN Music_2HZint
\ 0000 EXTERN Music_timeint
\ 0000 PUBLIC PlayListScrollRegion
\ 0000 PUBLIC PlayStatus
\ 0000 PUBLIC RePlayStatus
\ 0000 EXTERN ResClose
\ 0000 EXTERN ResOpen
\ 0000 EXTERN ResShowMultiString
\ 0000 PUBLIC ScrollFlag
\ 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 PUBLIC couterkey
\ 0000 EXTERN fselGetLocation
\ 0000 PUBLIC g_2HZFlag
\ 0000 PUBLIC g_2HZ_CNT
\ 0000 PUBLIC g_ABPointTimeSize
\ 0000 PUBLIC g_AVSetFlag
\ 0000 PUBLIC g_CardInFlag
\ 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_TagInfoBuf1
\ 0000 PUBLIC g_comval
\ 0000 PUBLIC g_currentMusicType
\ 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_draw
\ 0000 EXTERN openDAC
\ 0000 EXTERN read_var
\ 0000 PUBLIC return_to_play
\ 0000 PUBLIC savenum
\ 0000 PUBLIC slider
\ 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
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
79 //byte PowerValue; //added by jmzhang
80 //byte CurrentLogo;
81 region_t PlayListScrollRegion;
82 BYTE ScrollFlag;
83
84 #pragma memory=constseg(APC_UI_MAIN)
85 const char MPLFileName[5][12] = {"PLAYLISTA3L","ARTIST A3L","ALBUM A3L","GENRE A3L","COMPOSERA3L"
86 };
87 #pragma memory=default
88
89 void read_var( void );
90 void openDAC(void);
91
92 non_banked void Test_Timer(void);
93 //int DealDiskState(void);
94 int InitFileSelector(void);
95 void debug(void);
96
97 #pragma codeseg(AP_UI_MAIN)
98 int main( void )
99 {
\ 0000 C5 PUSH BC
\ 0001 D5 PUSH DE
\ 0002 DDE5 PUSH IX
100 int mainresult;
101
102 g_DiskStateFlag = 0;
\ 0004 AF XOR A
\ 0005 320900 LD (g_DiskStateFlag),A
103 g_FCexitflag = FALSE;
\ 0008 32D000 LD (g_FCexitflag),A
104
105 //-------安装ud驱动------------
106 g_Resfp_Sav = ResOpen("ui30.res");
\ 000B 110000 LD DE,?0002
\ 000E 3E00 LD A,BYTE3 ResOpen
\ 0010 210000 LD HL,LWRD ResOpen
\ 0013 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0016 221001 LD (g_Resfp_Sav),HL
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -