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

📄 main.s01

📁 MP3 整个 SDK
💻 S01
📖 第 1 页 / 共 2 页
字号:
	LD	A,(g_DiskStateFlag)
	BIT	7,A
	JR	NZ,?0016
?0015:
; 151.	        {
; 152.	            ResClose(g_Resfp_Sav);
?0022:
	CALL	LWRD ?0023
; 153.	            return 0;
	LD	HL,0
; 154.	        }
	JP	LWRD ?0020
?0016:
?0014:
; 155.	    }
; 156.	
; 157.	    //TestForRec();
; 158.	
; 159.	    //初始化变量
; 160.	    UpDisplayFlag = 0x00;
	LD	HL,0
	LD	(UpDisplayFlag),HL
; 161.	    g_currentMusicType = Music_NON;
	XOR	A
	LD	(g_currentMusicType),A
; 162.	    g_lyricflag = FALSE;
	LD	(g_lyricflag),A
; 163.	    g_musicsequence = 0x00;
	LD	(g_musicsequence),HL
; 164.	    g_musicamount = 0x00;
	LD	(g_musicamount),HL
; 165.	    g_music_vars.location.ID3buffer = g_TagInfoBuf;
	LD	HL,g_TagInfoBuf
	LD	(g_music_vars+45),HL
; 166.	
; 167.	    g_Openparam.filename = g_music_vars.location.filename;//文件名地址
	LD	HL,g_music_vars+33
	LD	(g_Openparam),HL
; 168.	    g_Openparam.BreakPTSave = & g_music_vars.BreakPTSave;//备份参数地址
	LD	HL,g_music_vars+48
	LD	(g_Openparam+2),HL
; 169.	    
; 170.	    TimeRateData_sav.TotalTime_sav[0] = 0;         
	LD	(TimeRateData_sav+3),A
; 171.	    TimeRateData_sav.TotalTime_sav[1] = 0; 
	LD	(TimeRateData_sav+4),A
; 172.	    TimeRateData_sav.TotalTime_sav[2] = 0; 
	LD	(TimeRateData_sav+5),A
; 173.	    TimeRateData_sav.Bitrate_sav[0] = 0;
	LD	(TimeRateData_sav),A
; 174.	    TimeRateData_sav.Bitrate_sav[1] = 0;
	LD	(TimeRateData_sav+1),A
; 175.	    TimeRateData_sav.Bitrate_sav[2] = 0;
	LD	(TimeRateData_sav+2),A
; 176.	    
; 177.	    ifSelBuffToltalTimeFlag = FALSE;
	LD	(ifSelBuffToltalTimeFlag),A
; 178.	    CaltimeFlag = FALSE;
	LD	(CaltimeFlag),A
; 179.	    WaitForCaltimeCNT = 0;
	LD	(WaitForCaltimeCNT),A
; 180.	
; 181.	    //把控件的常驻BANK切入
; 182.	    BankSwitch((unsigned long)ui_show_a >> 16);
	LD	E,BYTE3 ui_show_a
	CALL	LWRD BankSwitch
; 183.	
; 184.	    g_music_vars.fselmod = FSEL_TYPE_COMMONDIR;//每次进入都是设为目录选择器
	XOR	A
	LD	(g_music_vars+79),A
; 185.	
; 186.	    //初始化文件选择器
; 187.	
; 188.	    lyricInit(LYRIC_SCREEN_128_32, g_comval.langid);//初始化歌词解释器
	LD	BC,(g_comval+12)
	LD	E,1
	LD	A,BYTE3 lyricInit
	LD	HL,LWRD lyricInit
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 189.	
; 190.	    Timer_2HZNo_Sav = TM_SetClock((int)Music_2HZint, 1);//打开 2HZ 定时
	LD	C,1
	LD	DE,Music_2HZint
	CALL	LWRD TM_SetClock
	LD	(Timer_2HZNo_Sav),A
; 191.	    MusicTimer_Sav = TM_SetTimer((int)Music_timeint, 2);//打开 20ms 定时
	LD	C,2
	LD	DE,Music_timeint
	CALL	LWRD TM_SetTimer
	LD	(MusicTimer_Sav),A
; 192.	
; 193.	
; 194.	    openDAC();
	LD	A,BYTE3 openDAC
	LD	HL,LWRD openDAC
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 195.	     mainresult = ui_stop();// =============> 进入界面
	LD	A,BYTE3 ui_stop
	LD	HL,LWRD ui_stop
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	PUSH	HL
	POP	IX
; 196.	    //由于特殊情况,这个开PA的动作放在开始播放时做
; 197.	    ClosePA();
	LD	A,BYTE3 ClosePA
	LD	HL,LWRD ClosePA
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 198.	    DisableDAC();
	CALL	LWRD DisableDAC
; 199.	
; 200.	    TM_KillTimer(MusicTimer_Sav);//关闭 2hz 定时
	LD	DE,(MusicTimer_Sav)
	CALL	LWRD TM_KillTimer
; 201.	    TM_KillClock(Timer_2HZNo_Sav);//关闭 20ms 定时
	LD	DE,(Timer_2HZNo_Sav)
	CALL	LWRD TM_KillClock
; 202.	
; 203.	
; 204.	    ResClose(g_Resfp_Sav);
	CALL	LWRD ?0023
; 205.	
; 206.	    //记录 退出时播放文件的状态
; 207.	    fselGetLocation(& g_music_vars.location);
	LD	DE,g_music_vars+7
	LD	A,BYTE3 fselGetLocation
	LD	HL,LWRD fselGetLocation
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 208.	    VMWrite(& g_music_vars, VM_AP_MUSIC);
	LD	BC,4096
	LD	DE,g_music_vars
	CALL	LWRD VMWrite
; 209.	////////////////////////////     zxs add for card     
; 210.	    output8(0x2f,input8(0x2f)|0x04);       //CE3 change to GIOA3  
	IN	A,(47)
	SET	2,A
	OUT	(47),A
; 211.	    output8(0xee,input8(0xee)&0xf7); 
	IN	A,(238)
	RES	3,A
	OUT	(238),A
; 212.	    output8(0xf7,input8(0xf7)|0x01);      // PowerOff
	IN	A,(247)
	SET	0,A
	OUT	(247),A
; 213.	////////////////////////////     zxs add for card    
; 214.	    //删除跟读时可能产生的临时文件,在正常退出时保证这个文件能被删除
; 215.	     if ((g_DiskStateFlag & SetDiskOKFlag_def) != 0)
	LD	A,(g_DiskStateFlag)
	BIT	7,A
	JR	Z,?0018
?0017:
; 216.	    {
; 217.	        FS_FRemove( FollowReadTempFileName );
	LD	DE,?0019
	CALL	LWRD FS_FRemove
?0018:
; 218.	    }
; 219.	
; 220.	   // while( ap_get_message() != NULL );//清空消息池,确保DELAY时间准确
; 221.	    return mainresult;
	PUSH	IX
	POP	HL
; 222.	}
?0020:
	POP	IX
	POP	DE
	POP	BC
	JP	LWRD ?BANK_FAST_LEAVE_L08
?0023:
	LD	DE,(g_Resfp_Sav)
	LD	A,BYTE3 ResClose
	LD	HL,LWRD ResClose
	JP	LWRD ?BANK_CALL_DIRECT_L08
; 223.	
; 224.	
; 225.	/*注解*/
; 226.	//[001]
; 227.	        /* ==FLASH 与卡的 报错处理
; 228.	        设 A 表示有无格式化属性 (+A:已格;-A:未格)
; 229.	           B 表示有无文件属性   (+B:有文件;-B:无文件)
; 230.	           X 表示无意义(如在盘未格式化时谈有无文件就无意义)
; 231.	
; 232.	           C 表示FLASH
; 233.	           H 表示SD卡
; 234.	
; 235.	        下面用组合列出所有情况:
; 236.	        1) C[+A+B],H[+A+B] //两个盘都已格式化,都有文件                    //不报任何错,而直接恢复退出时的断点即可
; 237.	        2) C[+A+B],H[+A-B] //两个盘都已格式化,FLASH有文件,卡无文件    //直接跳到FLASH中即可
; 238.	        3) C[+A+B],H[-AX]  //FLASH已格式化,卡没格式化,FLASH有文件        //先报"插卡错误",再跳到FLASH中
; 239.	
; 240.	        4) C[+A-B],H[+A+B] //两个盘都已格式化,FLASH无文件,卡有文件    //直接跳到卡中
; 241.	        5) C[+A-B],H[+A-B] //两个盘都已格式化,两个盘都无文件            //先报"磁盘没文件",再报"插卡没文件",然后退出
; 242.	        6) C[+A-B],H[-AX]  //FLASH已格式化,卡没格式化,FLASH无文件        //先报"插卡错误",再报"磁盘没文件",然后退出
; 243.	
; 244.	        7) C[-AX],H[+A+B]  //FLASH没格式化,卡已格式化,卡中有文件        //先报"磁盘错误",然后跳到卡中
; 245.	        8) C[-AX],H[+A-B]  //FLASH没格式化,卡已格式化,卡中无文件        //先报"磁盘错误",再报"卡没文件",然后退出
; 246.	        9) C[-AX],H[-AX]   //两个盘都没格式化                            //先报"磁盘错误" ,再报“插卡错误”,然后退出
; 247.	        */
; 248.	
	RSEG	CSTR
?0002:
	DEFB	'ui30.res'
	DEFB	0
?0019:
	DEFB	'$$TEMP$$WAV'
	DEFB	0
	RSEG	UDATA0
g_comval:
	DEFS	32
g_music_vars:
	DEFS	86
g_TagInfoBuf:
	DEFS	90
g_FCexitflag:
	DEFS	1
g_TagInfoBuf1:
	DEFS	20
couterkey:
	DEFS	1
g_Openparam:
	DEFS	4
g_OldSecTempBackup:
	DEFS	1
g_introCNT:
	DEFS	1
g_introCntMode:
	DEFS	1
need_draw:
	DEFS	1
list:
	DEFS	9
slider:
	DEFS	11
UpDisplayFlag:
	DEFS	2
g_lyricflag:
	DEFS	1
g_currentMusicType:
	DEFS	1
g_musicamount:
	DEFS	2
g_musicsequence:
	DEFS	2
MusicTimer_Sav:
	DEFS	1
Timer_2HZNo_Sav:
	DEFS	1
g_2HZ_CNT:
	DEFS	2
g_ABPointTimeSize:
	DEFS	2
g_Resfp_Sav:
	DEFS	2
g_ReplayTimeCNT:
	DEFS	1
savenum:
	DEFS	1
g_PowerOffFlag:
	DEFS	1
g_result:
	DEFS	2
PlayListScrollRegion:
	DEFS	4
ScrollFlag:
	DEFS	1
	RSEG	IDATA0
return_to_play:
	DEFS	1
RePlayStatus:
	DEFS	1
PlayStatus:
	DEFS	1
g_ScrollFlag:
	DEFS	1
g_2HZFlag:
	DEFS	1
g_FadeInStepFlag:
	DEFS	1
g_AVSetFlag:
	DEFS	1
g_PAOpenFlag:
	DEFS	1
g_CardInFlag:
	DEFS	1
g_DiskStateFlag:
	DEFS	1
ifSelBuffToltalTimeFlag:
	DEFS	1
	RSEG	CDATA0
	DEFB	0
	DEFB	0
	DEFB	0
	DEFB	0
	DEFB	1
	DEFB	1
	DEFB	0
	DEFB	0
	DEFB	0
	DEFB	0
	DEFB	0
	RSEG	APC_UI_MAIN
MPLFileName:
	DEFB	'PLAYLISTA3L'
	DEFB	0
	DEFB	'ARTIST  A3L'
	DEFB	0
	DEFB	'ALBUM   A3L'
	DEFB	0
	DEFB	'GENRE   A3L'
	DEFB	0
	DEFB	'COMPOSERA3L'
	DEFB	0
	END

⌨️ 快捷键说明

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