⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ui_stop.s01

📁 炬力方案176*132软件源码,适用于AK1025
💻 S01
📖 第 1 页 / 共 3 页
字号:
	OR	A
	JR	Z,?0041
?0040:
; 149.	        {
; 150.	            RefreshMainScreen();
	LD	A,BYTE3 RefreshMainScreen
	LD	HL,LWRD RefreshMainScreen
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 151.	            need_draw = FALSE;
	XOR	A
	LD	(need_draw),A
?0041:
; 152.	        }
; 153.	
; 154.	        switch (key)
	LD	E,(IX-7)
	CALL	LWRD ?C_V_SWITCH_L06
	DEFW	14
	DEFB	5
	DEFB	6
	DEFB	16
	DEFB	28
	DEFB	33
	DEFB	37
	DEFB	38
	DEFB	48
	DEFB	50
	DEFB	55
	DEFB	56
	DEFB	69
	DEFB	70
	DEFB	129
	DEFW	?0128
	DEFW	?0046
	DEFW	?0118
	DEFW	?0108
	DEFW	?0042
	DEFW	?0124
	DEFW	?0042
	DEFW	?0097
	DEFW	?0114
	DEFW	?0104
	DEFW	?0047
	DEFW	?0043
	DEFW	?0096
	DEFW	?0118
	DEFW	?0108
?0043:
; 155.	        {
; 156.	            case AP_MSG_RTC:
; 157.	                if (!CaltimeFlag)
	LD	A,(CaltimeFlag)
	OR	A
	JR	NZ,?0045
?0044:
; 158.	                {
; 159.	                    WaitForCaltimeCNT++;
	LD	HL,WaitForCaltimeCNT
	INC	(HL)
?0045:
; 160.	                }
; 161.	                break;
	JP	LWRD ?0042
?0046:
; 162.	
; 163.	            case AP_KEY_PLAY | AP_KEY_LONG:
; 164.	                return RESULT_STANDBY;
	LD	HL,2
; 165.	                break;
	JP	LWRD ?0140
?0047:
?0049:
; 166.	
; 167.	            case AP_KEY_PLAY | AP_KEY_UP:
; 168.	                 while(ap_get_message()!=NULL);    //clear rtc message.
	CALL	LWRD ap_get_message
	OR	A
	JR	NZ,?0047
?0050:
?0048:
; 169.	                if (CaltimeFlag || ifSelBuffToltalTimeFlag)
	LD	A,(CaltimeFlag)
	OR	A
	JR	NZ,?0053
	LD	A,(ifSelBuffToltalTimeFlag)
	OR	A
	JR	Z,?0056
?0053:
?0054:
?0051:
; 170.	                {
; 171.	                    musicpSendCommand(MC_GETSTATUS, (int)(& status_buf));
	LD	HL,2
	ADD	HL,SP
	LD	C,L
	LD	B,H
	LD	E,131
	CALL	LWRD ?0177
; 172.	                    if (status_buf.status == PLAYING_ERROR)
	LD	A,(IX-26)
	CP	12
	JR	NZ,?0056
?0055:
; 173.	                    {
; 174.	                        g_music_vars.BreakPTDisTime.hour = 0;
	XOR	A
	LD	(g_music_vars+77),A
; 175.	                        g_music_vars.BreakPTDisTime.minute = 0;
	LD	(g_music_vars+78),A
; 176.	                        g_music_vars.BreakPTDisTime.second = 0;
	LD	(g_music_vars+79),A
?0056:
?0052:
; 177.	                    }
; 178.	                }
; 179.	
; 180.	                musicpSendCommand(MC_RESTORE, NULL);
	LD	BC,0
	LD	E,69
	CALL	LWRD ?0177
; 181.	
; 182.	                musicpSendCommand(MC_SETPOWERCOUNT, 5); //set power out level count=2^4=16
	LD	BC,5
	LD	E,89
	CALL	LWRD ?0177
; 183.	
; 184.	                if (g_music_vars.MusicOpenMod == Nor_open)
	LD	A,(g_music_vars+6)
	OR	A
	JR	NZ,?0058
?0057:
; 185.	                {
; 186.	                    StartIntro(TRUE);
	LD	A,1
	JR	?0166
; 187.	                }
; 188.	                else
?0058:
; 189.	                {
; 190.	                    StartIntro(FALSE);
	XOR	A
?0166:
	LD	(g_introCntMode),A
	LD	A,(g_music_vars+79)
	LD	(g_OldSecTempBackup),A
	XOR	A
	LD	(g_introCNT),A
?0059:
; 191.	                }
; 192.	                if ((!CaltimeFlag) && (!ifSelBuffToltalTimeFlag))
	LD	A,(CaltimeFlag)
	OR	A
	JR	NZ,?0061
	LD	A,(ifSelBuffToltalTimeFlag)
	OR	A
	JR	NZ,?0061
?0063:
?0062:
?0060:
; 193.	                {
; 194.	                    musicpSendCommand(MC_CALTIME, NULL);
	CALL	LWRD ?0179
?0061:
; 195.	                }
; 196.	
; 197.	                //判断是否刚断电完而没有重设时间
; 198.	                if (g_PowerOffFlag == 0x55)
	LD	A,(g_PowerOffFlag)
	CP	85
	JR	NZ,?0067
?0064:
; 199.	                {
; 200.	                     if (!DisplayTimeRollback())
	LD	A,BYTE3 DisplayTimeRollback
	LD	HL,LWRD DisplayTimeRollback
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	INC	L
	DEC	L
	JP	Z,?0174
?0066:
; 201.	                    {
; 202.	                          SetFullInterface();
; 203.	                          need_draw = TRUE;
; 204.	                        break;
?0067:
?0065:
; 205.	                    }
; 206.	                }
; 207.	
; 208.	                UpDisplayFlag = UpDisplayFlag | up_musictotaltime | up_musicbitrate;
	LD	HL,UpDisplayFlag
	INC	HL
	LD	A,(HL)
	OR	33
	LD	(HL),A
; 209.	                need_draw = TRUE;
	LD	A,1
	LD	(need_draw),A
; 210.	
; 211.	
; 212.	                output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
	IN	A,(78)
	SET	3,A
	OUT	(78),A
; 213.	                if (!musicpSendCommand(MC_PLAY, g_music_vars.MusicOpenMod))
	LD	BC,(g_music_vars+6)
	LD	B,0
	LD	E,4
	CALL	LWRD ?0177
	INC	L
	DEC	L
	JR	NZ,?0069
?0068:
; 214.	                {
; 215.	                    ErrReport(PlayStatus);// playStatus 并未改变
	LD	DE,(PlayStatus)
	LD	A,BYTE3 ErrReport
	LD	HL,LWRD ErrReport
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 216.	                    break;
	JP	LWRD ?0042
?0069:
; 217.	                }
; 218.	                output8(REG4E_RTC_WATCH_DOG, input8(REG4E_RTC_WATCH_DOG) | 0x08);
	IN	A,(78)
	SET	3,A
	OUT	(78),A
; 219.	                #ifdef EAR_PROTECT
; 220.	                    if (g_firstplay_flag)
	LD	A,(g_firstplay_flag)
	OR	A
	JR	Z,?0071
?0070:
; 221.	                    {
; 222.	                        g_autoswitch_counter = 0;
	LD	HL,0
	LD	(g_autoswitch_counter),HL
; 223.	                        g_firstplay_flag = FALSE;
	XOR	A
	LD	(g_firstplay_flag),A
?0071:
; 224.	                    }                        
; 225.	                #endif
; 226.	////////////////////////////////////// zhangxs added for no keytone while playing  2007.04.29               
; 227.	               {
; 228.	                BYTE KeyTone_bak; 
; 229.	                KeyTone_bak = g_comval.KeyTone;    
	LD	A,(g_comval+29)
	LD	(IX-2),A
; 230.	                if(g_comval.KeyTone)     
	OR	A
	JR	Z,?0073
?0072:
; 231.	                {
; 232.	                 g_comval.KeyTone=0;  
	XOR	A
	LD	(g_comval+29),A
; 233.	                 sKY_Beep(g_comval.KeyTone);
	LD	E,A
	CALL	LWRD sKY_Beep
?0073:
; 234.	                }
; 235.	                g_result = ui_play();  
	LD	A,BYTE3 ui_play
	LD	HL,LWRD ui_play
	CALL	LWRD ?0176
; 236.	                g_comval.KeyTone = KeyTone_bak;                  
	LD	A,(IX-2)
	LD	(g_comval+29),A
; 237.	               }  
; 238.	                MusicEditSelStatus=MusicEditSelSta_NoSel;    //music edit add by mzh 2007.1.19
	XOR	A
	LD	(MusicEditSelStatus),A
; 239.	                MusicEditStatus=MusicEditSta_NoFun;
	LD	(MusicEditStatus),A
; 240.	                ap_message_init(NULL);//开始算STANDBY 时间
	LD	E,A
	LD	D,A
	LD	A,BYTE3 ap_message_init
	LD	HL,LWRD ap_message_init
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 241.	                if (g_result != 0)
	LD	HL,(g_result)
	LD	A,L
	OR	H
	JP	Z,?0075
?0074:
; 242.	                {
; 243.	                    int i;
; 244.	                    i = g_result;
	LD	(IX-2),L
	LD	(IX-1),H
; 245.	                    if(g_result ==RESULT_USERLIST ||g_result == RESULT_MUSIC_PLAY)
	LD	A,108
	XOR	L
	OR	H
	JR	Z,?0078
	LD	A,30
	XOR	L
	OR	H
	JR	NZ,?0077
?0078:
?0079:
?0076:
; 246.	                    {
; 247.	                       #ifdef OPT_Sup_FadeOut_fun
; 248.	                       FadeOut(FALSE);
	LD	E,0
	LD	A,BYTE3 FadeOut
	LD	HL,LWRD FadeOut
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 249.	                       #endif
; 250.	                        musicpSendCommand(MC_STOP, NULL); 
	LD	BC,0
	LD	E,6
	CALL	LWRD ?0177
; 251.	                        if(g_result ==RESULT_USERLIST) 
	LD	HL,(g_result)
	LD	A,108
	XOR	L
	OR	H
	JR	NZ,?0081
?0080:
; 252.	                         g_music_vars.fselmod = FSEL_TYPE_USERPL;
	LD	A,2
	LD	(g_music_vars+81),A
; 253.	                        else 
	JR	?0082
?0081:
; 254.	                        {
; 255.	                         g_music_vars.fselmod = FSEL_TYPE_COMMONDIR;                        
	XOR	A
	LD	(g_music_vars+81),A
; 256.	                         bList_Flag = 0;   
	LD	(bList_Flag),A
?0082:
; 257.	                        }
; 258.	                        g_music_vars.file_list_type==0xff;  
; 259.	                        fsel_mode_change_flag = FALSE;                        //
	XOR	A
	LD	(fsel_mode_change_flag),A
; 260.	                        FSELInit(FSEL_TYPE_MUSIC, FSEL_ALL_REPEATALL, g_music_vars.fselmod ,g_music_vars.location.disk);//初始化文件选择器
	LD	HL,g_music_vars+7
	LD	C,(HL)
	PUSH	BC
	LD	HL,g_music_vars+81
	LD	C,(HL)
	PUSH	BC
	LD	C,4
	LD	E,A
	LD	A,BYTE3 fselInit
	LD	HL,LWRD fselInit
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	POP	AF
	POP	AF
; 261.	                        if(!fselSetLocation(&g_music_vars.location))
	LD	DE,g_music_vars+7
	LD	A,BYTE3 fselSetLocation
	LD	HL,LWRD fselSetLocation
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	INC	L
	DEC	L
	JR	NZ,?0084
?0083:
; 262.	                        {
; 263.	                         DisplayErrMsg(MFILEOUT);   
	LD	DE,535
	LD	A,BYTE3 DisplayErrMsg
	LD	HL,LWRD DisplayErrMsg
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 264.	                         bList_Flag = 0;      
	XOR	A
	LD	(bList_Flag),A
; 265.	                         g_music_vars.fselmod = FSEL_TYPE_COMMONDIR;  
	LD	(g_music_vars+81),A
?0084:
; 266.	                        }
; 267.	                        g_FCexitflag = FALSE;
	XOR	A
	LD	(g_FCexitflag),A
; 268.	                        ClearTimePara();
	LD	A,BYTE3 ClearTimePara
	LD	HL,LWRD ClearTimePara
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 269.	                        g_from_browser = TRUE;
	LD	A,1
	LD	(g_from_browser),A
; 270.	                        return 0;      
	JP	LWRD ?0170
; 271.	                    }
?0077:
; 272.	                    if(PlayStatus != StopSta)
	LD	A,(PlayStatus)
	OR	A
	JR	Z,?0086
?0085:
; 273.	                    {
; 274.	                      #ifdef OPT_Sup_FadeOut_fun
; 275.	                          if (!g_FCexitflag||g_currentMusicType==Music_WMA)
	LD	A,(g_FCexitflag)
	OR	A
	JR	Z,?0089
	LD	A,(g_currentMusicType)
	DEC	A
	DEC	A
	JR	NZ,?0088
?0089:
?0090:
?0087:
; 276.	                          {    //如从跟读对录音或对比放音出,不淡出
; 277.	                            FadeOut(FALSE);
	LD	E,0
	LD	A,BYTE3 FadeOut
	LD	HL,LWRD FadeOut
	CALL	LWRD ?BANK_CALL_DIRECT_L08
?0088:
; 278.	                        }
; 279.	                      #endif
; 280.	                        BackupCurrentTime();
	LD	A,BYTE3 BackupCurrentTime
	LD	HL,LWRD BackupCurrentTime
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 281.	                        musicpSendCommand(MC_STOP, NULL);
	LD	BC,0
	LD	E,6
	CALL	LWRD ?0177
; 282.	                        musicpSendCommand(MC_BACKUP, NULL);
	LD	BC,0
	LD	E,68
	CALL	LWRD ?0177
; 283.	                        g_music_vars.MusicOpenMod = Nor_Break_open;//保证退出后从断点进来
	LD	A,1
	LD	(g_music_vars+6),A
?0086:
; 284.	                    }
; 285.	                    g_result = i;
	LD	L,(IX-2)
	LD	H,(IX-1)
	LD	(g_result),HL
; 286.	                }
; 287.	               else
	JR	?0092
?0075:
?0093:
; 288.	                 while(ap_get_message() != 0);                   //清空消息池
	CALL	LWRD ap_get_message
	OR	A
	JR	NZ,?0075
?0094:
?0092:

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -