ui_stop.lst
来自「炬力方案176*132软件源码,适用于AK1025」· LST 代码 · 共 1,317 行 · 第 1/5 页
LST
1,317 行
##############################################################################
# #
# IAR Z80/64180 C-Compiler V4.04B/WIN #
# Front End V4.20N 18/Nov/107 22:57:46 #
# Global Optimizer V1.05D #
# #
# Target option = Z80 #
# Memory model = banked #
# Source file = d:\case_i_d913f\ap\ap_music\ui_stop.c #
# List file = d:\case_i_d913f\ap\ap_music\list\ui_stop.lst #
# Object file = d:\case_i_d913f\ap\ap_music\obj\ui_stop.r01 #
# ASM file = d:\case_i_d913f\ap\ap_music\list\ui_stop.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_stop.c #
# #
# (c) Copyright IAR Systems 1996 #
##############################################################################
\ 0000 NAME ui_stop(17)
\ 0000 RSEG AP_UI_STP(0)
\ 0000 RSEG CSTR(0)
\ 0000 RSEG UDATA0(0)
\ 0000 RSEG IDATA0(0)
\ 0000 RSEG CDATA0(0)
\ 0000 EXTERN BackupCurrentTime
\ 0000 PUBLIC CaltimeFlag
\ 0000 EXTERN ChangeMusic
\ 0000 EXTERN CheckMusicType
\ 0000 EXTERN ClearTimePara
\ 0000 EXTERN DisplayErrMsg
\ 0000 EXTERN DisplayTimeRollback
\ 0000 EXTERN ErrReport
\ 0000 EXTERN FS_FRemove
\ 0000 PUBLIC FadeOut
\ 0000 EXTERN GetInformation
\ 0000 EXTERN MusicEditSelStatus
\ 0000 EXTERN MusicEditStatus
\ 0000 EXTERN MusicEdit_SelSeg
\ 0000 EXTERN PlayStatus
\ 0000 EXTERN RealDisplay
\ 0000 EXTERN RefreshMainScreen
\ 0000 EXTERN UpDisplayFlag
\ 0000 EXTERN UpdateFileSelector
\ 0000 PUBLIC WaitForCaltimeCNT
\ 0000 EXTERN ap_get_message
\ 0000 EXTERN ap_handle_hotkey
\ 0000 EXTERN ap_message_init
\ 0000 EXTERN bList_Flag
\ 0000 EXTERN fselGetNo
\ 0000 EXTERN fselGetTotal
\ 0000 EXTERN fselInit
\ 0000 EXTERN fselSetLocation
\ 0000 EXTERN fselSetMode
\ 0000 EXTERN fsel_mode_change_flag
\ 0000 EXTERN g_FCexitflag
\ 0000 EXTERN g_OldSecTempBackup
\ 0000 EXTERN g_Openparam
\ 0000 EXTERN g_PowerOffFlag
\ 0000 EXTERN g_ScrollFlag
\ 0000 EXTERN g_autoswitch_counter
\ 0000 EXTERN g_comval
\ 0000 EXTERN g_currentMusicType
\ 0000 EXTERN g_file_list_total
\ 0000 PUBLIC g_firstplay_flag
\ 0000 EXTERN g_from_browser
\ 0000 EXTERN g_introCNT
\ 0000 EXTERN g_introCntMode
\ 0000 EXTERN g_music_vars
\ 0000 EXTERN g_musicamount
\ 0000 EXTERN g_musicsequence
\ 0000 EXTERN g_result
\ 0000 EXTERN ifSelBuffToltalTimeFlag
\ 0000 EXTERN make_dirname
\ 0000 EXTERN musicpSendCommand
\ 0000 EXTERN need_draw
\ 0000 EXTERN sKY_Beep
\ 0000 EXTERN ui_auto_update
\ 0000 EXTERN ui_play
\ 0000 PUBLIC ui_stop
\ 0000 PUBLIC ui_stop_loop
\ 0000 EXTERN ui_stop_menu
\ 0000 EXTERN ?CLZ80B_4_04_L00
\ 0000 EXTERN ?C_V_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_STP
\ 0000 ui_stop:
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_stop.c,v 1.2 2006/07/14 06:46:20 tangwh Exp $
9 *******************************************************************************
10 */
11 #include "ap_music.h"
12
13 char WaitForCaltimeCNT;//在停止状态下先不计时,到无按键动作一定时间后再开始计时
14 // 这样可以提高在停止状态时按next 跳歌的速度.
15 bool CaltimeFlag; //true: 不用再算时间
16 bool g_firstplay_flag = TRUE;
17 extern void make_dirname(void); //false: 未算时间
18 extern BYTE fsel_mode_change_flag;
19 extern bool g_FCexitflag;
20
21 extern EMU_MusicEditSelStatus MusicEditSelStatus; // select: empty start end
22 extern EMU_MusicEditStatus MusicEditStatus; // select ,delete
23 extern STRU_SelMusicSegment MusicEdit_SelSeg;
24 extern HANDLE m_Mp3deFileHandle;
25 int ui_stop_loop(void);
26 int DealForDRMsong(void);
27 void ttest(void);
28 bool DisplayTimeRollback(void);
29
30 #pragma codeseg(AP_UI_STP)
31 //======================================================================================
32 //RESULT_CURR_UI: 还要处在当前界面
33 //RESULT_UI_STOP: 到UI_STOP界面(因现在就是UI_STOP界面,所以同上)
34 //RESULT_LAST_UI: 到上一级界面
35 //--------------------------------------------------------------------------------------
36 int ui_stop(void)
37 {
\ 0000 C5 PUSH BC
\ 0001 D5 PUSH DE
38 int result;
39 ap_message_init(NULL);//开始算STANDBY 时间
\ 0002 110000 LD DE,0
\ 0005 3E00 LD A,BYTE3 ap_message_init
\ 0007 210000 LD HL,LWRD ap_message_init
\ 000A CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 000D ?0004:
40
41 do
42 {
43 if (UpdateFileSelector() == 0)
\ 000D 3E00 LD A,BYTE3 UpdateFileSelector
\ 000F 210000 LD HL,LWRD UpdateFileSelector
\ 0012 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0015 7D LD A,L
\ 0016 B4 OR H
\ 0017 CAF900 JP Z,?0162
\ 001A ?0005:
44 {
45 return 0;
46 }
\ 001A ?0006:
47
48 if(g_music_vars.location.disk=='C') //选择Flash
\ 001A 3A0700 LD A,(g_music_vars+7)
\ 001D FE43 CP 67
\ 001F 2009 JR NZ,?0008
\ 0021 ?0007:
49 {
50 if(g_music_vars.file_list_total_flash==0)
\ 0021 2A5600 LD HL,(g_music_vars+86)
\ 0024 7D LD A,L
\ 0025 B4 OR H
\ 0026 200F JR NZ,?0014
\ 0028 ?0009:
51 g_music_vars.file_list_type = 0xff; //普通播放模式
\ 0028 1807 JR ?0164
52 else
\ 002A ?0010:
53 g_file_list_total = g_music_vars.file_list_total_flash;
\ 002A ?0011:
54 }
55
56 else //选择插卡
\ 002A ?0008:
57 {
58 if(g_music_vars.file_list_total_card == 0)
\ 002A 2A5800 LD HL,(g_music_vars+88)
\ 002D 7D LD A,L
\ 002E B4 OR H
\ 002F 2006 JR NZ,?0014
\ 0031 ?0013:
59 g_music_vars.file_list_type = 0xff; //普通播放模式
\ 0031 ?0164:
\ 0031 2F CPL
\ 0032 325C00 LD (g_music_vars+92),A
60 else
\ 0035 1803 JR ?0015
\ 0037 ?0014:
61 g_file_list_total = g_music_vars.file_list_total_card;
\ 0037 220000 LD (g_file_list_total),HL
\ 003A ?0015:
\ 003A ?0012:
62 }
63
64 if(g_music_vars.file_list_type==0xff) //普通目录播放
\ 003A 3A5C00 LD A,(g_music_vars+92)
\ 003D 3C INC A
\ 003E 2015 JR NZ,?0017
\ 0040 ?0016:
65 {
66 g_musicamount = FSELGetTotal();
\ 0040 3E00 LD A,BYTE3 fselGetTotal
\ 0042 210000 LD HL,LWRD fselGetTotal
\ 0045 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0048 220000 LD (g_musicamount),HL
67 g_musicsequence = FSELGetNo();
\ 004B 3E00 LD A,BYTE3 fselGetNo
\ 004D 210000 LD HL,LWRD fselGetNo
\ 0050 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0053 180A JR ?0161
68 }
69 else
\ 0055 ?0017:
70 {
71 g_musicamount = g_file_list_total; //列表总数
\ 0055 2A0000 LD HL,(g_file_list_total)
\ 0058 220000 LD (g_musicamount),HL
72 g_musicsequence = g_music_vars.file_list_num+1; //当前列表编号
\ 005B 2A5A00 LD HL,(g_music_vars+90)
\ 005E 23 INC HL
\ 005F ?0161:
\ 005F 220000 LD (g_musicsequence),HL
\ 0062 ?0018:
73 }
74 FSELSetMode(g_music_vars.repeat_mode);
\ 0062 ED5B0100 LD DE,(g_music_vars+1)
\ 0066 3E00 LD A,BYTE3 fselSetMode
\ 0068 210000 LD HL,LWRD fselSetMode
\ 006B CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
75 make_dirname();
\ 006E 3E00 LD A,BYTE3 make_dirname
\ 0070 210000 LD HL,LWRD make_dirname
\ 0073 CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
76 g_currentMusicType = CheckMusicType(g_music_vars.location.filename);
\ 0076 112100 LD DE,g_music_vars+33
\ 0079 3E00 LD A,BYTE3 CheckMusicType
\ 007B 210000 LD HL,LWRD CheckMusicType
\ 007E CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
\ 0081 7D LD A,L
\ 0082 320000 LD (g_currentMusicType),A
77
78 GetInformation(); //取文件信息
\ 0085 3E00 LD A,BYTE3 GetInformation
\ 0087 210000 LD HL,LWRD GetInformation
\ 008A CD0000 CALL LWRD ?BANK_CALL_DIRECT_L08
79
80 musicpSendCommand( MC_OPEN, (int)& g_Openparam );
\ 008D 010000 LD BC,g_Openparam
\ 0090 1E01 LD E,1
\ 0092 CD5201 CALL LWRD ?0177
81 musicpSendCommand(MC_LOAD, NULL);//04-4-23 9:32
\ 0095 010000 LD BC,0
\ 0098 1E03 LD E,3
\ 009A CD5201 CALL LWRD ?0177
82 SetFullInterface();
\ 009D AF XOR A
\ 009E 320000 LD (ui_auto_update),A
\ 00A1 210000 LD HL,UpDisplayFlag
\ 00A4 7E LD A,(HL)
\ 00A5 F6C1 OR 193
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?