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

📄 main.s01

📁 炬力方案176*132软件源码,适用于AK1025
💻 S01
📖 第 1 页 / 共 2 页
字号:
; 171.	#ifdef ACTIVE_USERPL
; 172.	             Reset_USERPL();
	CALL	LWRD ?0026
; 173.	             need_WPL=FALSE;
	XOR	A
	LD	(need_WPL),A
?0014:
; 174.	#endif
; 175.	        }
; 176.	    }
; 177.	    else
	JR	?0017
?0009:
; 178.	    { //没卡
; 179.	        if ((g_DiskStateFlag & SetDiskOKFlag_def) == 0)
	LD	A,(g_DiskStateFlag)
	BIT	7,A
	JR	NZ,?0017
?0016:
; 180.	        {
; 181.	            ResClose(g_Resfp_Sav);
?0025:
	CALL	LWRD ?0027
; 182.	            return 0;
	LD	HL,0
; 183.	        }
	JP	LWRD ?0023
?0017:
?0015:
; 184.	    }
; 185.	
; 186.	
; 187.	    //初始化变量
; 188.	    UpDisplayFlag = 0x00;
	LD	HL,0
	LD	(UpDisplayFlag),HL
; 189.	    g_currentMusicType = Music_NON;
	XOR	A
	LD	(g_currentMusicType),A
; 190.	    g_lyricflag = FALSE;
	LD	(g_lyricflag),A
; 191.	    g_musicsequence = 0x00;
	LD	(g_musicsequence),HL
; 192.	    g_musicamount = 0x00;
	LD	(g_musicamount),HL
; 193.	    g_music_vars.location.ID3buffer = g_TagInfoBuf;
	LD	HL,g_TagInfoBuf
	LD	(g_music_vars+45),HL
; 194.	
; 195.	    g_Openparam.filename = g_music_vars.location.filename;//文件名地址
	LD	HL,g_music_vars+33
	LD	(g_Openparam),HL
; 196.	    g_Openparam.BreakPTSave = & g_music_vars.BreakPTSave;//备份参数地址
	LD	HL,g_music_vars+50
	LD	(g_Openparam+2),HL
; 197.	    
; 198.	    TimeRateData_sav.TotalTime_sav[0] = 0;         
	LD	(TimeRateData_sav+3),A
; 199.	    TimeRateData_sav.TotalTime_sav[1] = 0; 
	LD	(TimeRateData_sav+4),A
; 200.	    TimeRateData_sav.TotalTime_sav[2] = 0; 
	LD	(TimeRateData_sav+5),A
; 201.	    TimeRateData_sav.Bitrate_sav[0] = 0;
	LD	(TimeRateData_sav),A
; 202.	    TimeRateData_sav.Bitrate_sav[1] = 0;
	LD	(TimeRateData_sav+1),A
; 203.	    TimeRateData_sav.Bitrate_sav[2] = 0;
	LD	(TimeRateData_sav+2),A
; 204.	    
; 205.	    ifSelBuffToltalTimeFlag = FALSE;
	LD	(ifSelBuffToltalTimeFlag),A
; 206.	    CaltimeFlag = FALSE;
	LD	(CaltimeFlag),A
; 207.	    WaitForCaltimeCNT = 0;
	LD	(WaitForCaltimeCNT),A
; 208.	
; 209.	    //把控件的常驻BANK切入                                               
; 210.	 
; 211.	    BankSwitch((unsigned long)ui_show_a >> 16);            
	LD	E,BYTE3 ui_show_a
	CALL	LWRD BankSwitch
; 212.	   // if(g_music_vars.fselmod == FSEL_TYPE_PLAYLIST) 
; 213.	    g_music_vars.fselmod = FSEL_TYPE_COMMONDIR;//每次进入都是设为目录选择器 
	XOR	A
	LD	(g_music_vars+81),A
; 214.	    g_music_vars.file_list_type = 0xff;         //普通播放模式 
	CPL
	LD	(g_music_vars+92),A
; 215.	    //初始化文件选择器
; 216.	    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
; 217.	
; 218.	    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
; 219.	    MusicTimer_Sav = TM_SetTimer((int)Music_timeint, 2);//打开 20ms 定时
	LD	C,2
	LD	DE,Music_timeint
	CALL	LWRD TM_SetTimer
	LD	(MusicTimer_Sav),A
; 220.	
; 221.	    
; 222.	    openDAC();
	LD	A,BYTE3 openDAC
	LD	HL,LWRD openDAC
	CALL	LWRD ?BANK_CALL_DIRECT_L08
; 223.	    mainresult = ui_stop();// =============> 进入界面
	LD	A,BYTE3 ui_stop
	LD	HL,LWRD ui_stop
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	PUSH	HL
	POP	IY
; 224.	    //由于特殊情况,这个开PA的动作放在开始播放时做
; 225.	    /*
; 226.	    if(g_comval.KeyTone)        //key tone add by mzh 2007.3.14
; 227.	    {
; 228.	        ClosePA();
; 229.	        DisableDAC();
; 230.	    }
; 231.	    */
; 232.	    {           //Jerry Xie Modify for test
; 233.	          DisablePA();
	CALL	LWRD DisablePA
; 234.	        DisableDAC();
	CALL	LWRD DisableDAC
; 235.	    }
; 236.	    
; 237.	    TM_KillTimer(MusicTimer_Sav);//关闭 2hz 定时
	LD	DE,(MusicTimer_Sav)
	CALL	LWRD TM_KillTimer
; 238.	    TM_KillClock(Timer_2HZNo_Sav);//关闭 20ms 定时
	LD	DE,(Timer_2HZNo_Sav)
	CALL	LWRD TM_KillClock
; 239.	
; 240.	    output8(0x05,IO05Bak);
	LD	HL,0
	ADD	HL,SP
	LD	A,(HL)
	OUT	(5),A
; 241.	    ResClose(g_Resfp_Sav);
	CALL	LWRD ?0027
; 242.	
; 243.	    //记录 退出时播放文件的状态
; 244.	    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
; 245.	    VMWrite(& g_music_vars, VM_AP_MUSIC);      
	LD	BC,4096
	LD	DE,g_music_vars
	CALL	LWRD VMWrite
; 246.	    //删除跟读时可能产生的临时文件,在正常退出时保证这个文件能被删除
; 247.	     if ((g_DiskStateFlag & SetDiskOKFlag_def) != 0)
	LD	A,(g_DiskStateFlag)
	BIT	7,A
	JR	Z,?0019
?0018:
; 248.	    {
; 249.	        FS_FRemove( FollowReadTempFileName );
	LD	DE,?0020
	CALL	LWRD FS_FRemove
?0019:
; 250.	    }
; 251.	#ifdef ACTIVE_USERPL
; 252.	   if(need_WPL)
	LD	A,(need_WPL)
	OR	A
	JR	Z,?0022
?0021:
; 253.	      WrHead_PL(0);
	LD	E,0
	LD	A,BYTE3 WrHead_PL
	LD	HL,LWRD WrHead_PL
	CALL	LWRD ?BANK_CALL_DIRECT_L08
?0022:
; 254.	#endif
; 255.	    return mainresult;
	PUSH	IY
	POP	HL
; 256.	}
?0023:
	POP	AF
	POP	AF
	POP	IX
	POP	IY
	POP	BC
	JP	LWRD ?BANK_FAST_LEAVE_L08
?0026:
	LD	A,BYTE3 CreateMEIniFile
	LD	HL,LWRD CreateMEIniFile
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	LD	A,BYTE3 CreateBookMarkFile
	LD	HL,LWRD CreateBookMarkFile
	CALL	LWRD ?BANK_CALL_DIRECT_L08
	LD	A,BYTE3 Reset_USERPL
	LD	HL,LWRD Reset_USERPL
	JP	LWRD ?BANK_CALL_DIRECT_L08
?0027:
	PUSH	IX
	POP	DE
	LD	A,BYTE3 ResClose
	LD	HL,LWRD ResClose
	JP	LWRD ?BANK_CALL_DIRECT_L08
; 257.	
; 258.	
; 259.	/*注解*/
; 260.	//[001]
; 261.	        /* ==FLASH 与卡的 报错处理
; 262.	        设 A 表示有无格式化属性 (+A:已格;-A:未格)
; 263.	           B 表示有无文件属性   (+B:有文件;-B:无文件)
; 264.	           X 表示无意义(如在盘未格式化时谈有无文件就无意义)
; 265.	
; 266.	           C 表示FLASH
; 267.	           H 表示SD卡
; 268.	
; 269.	        下面用组合列出所有情况:
; 270.	        1) C[+A+B],H[+A+B] //两个盘都已格式化,都有文件                    //不报任何错,而直接恢复退出时的断点即可
; 271.	        2) C[+A+B],H[+A-B] //两个盘都已格式化,FLASH有文件,卡无文件    //直接跳到FLASH中即可
; 272.	        3) C[+A+B],H[-AX]  //FLASH已格式化,卡没格式化,FLASH有文件        //先报"插卡错误",再跳到FLASH中
; 273.	
; 274.	        4) C[+A-B],H[+A+B] //两个盘都已格式化,FLASH无文件,卡有文件    //直接跳到卡中
; 275.	        5) C[+A-B],H[+A-B] //两个盘都已格式化,两个盘都无文件            //先报"磁盘没文件",再报"插卡没文件",然后退出
; 276.	        6) C[+A-B],H[-AX]  //FLASH已格式化,卡没格式化,FLASH无文件        //先报"插卡错误",再报"磁盘没文件",然后退出
; 277.	
; 278.	        7) C[-AX],H[+A+B]  //FLASH没格式化,卡已格式化,卡中有文件        //先报"磁盘错误",然后跳到卡中
; 279.	        8) C[-AX],H[+A-B]  //FLASH没格式化,卡已格式化,卡中无文件        //先报"磁盘错误",再报"卡没文件",然后退出
; 280.	        9) C[-AX],H[-AX]   //两个盘都没格式化                            //先报"磁盘错误" ,再报“插卡错误”,然后退出
; 281.	        */
; 282.	
	RSEG	CSTR
?0020:
	DEFB	'$$TEMP$$WAV'
	DEFB	0
	RSEG	UDATA0
g_comval:
	DEFS	32
g_music_vars:
	DEFS	95
g_TagInfoBuf:
	DEFS	90
g_FCexitflag:
	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
UpDisplayFlag:
	DEFS	2
g_lyricflag:
	DEFS	1
g_currentMusicType:
	DEFS	1
g_musicamount:
	DEFS	2
g_musicsequence:
	DEFS	2
g_file_list_total:
	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
MusicEditSelStatus:
	DEFS	1
MusicEditStatus:
	DEFS	1
MusicEdit_SelSeg:
	DEFS	14
MusicEditStartTime:
	DEFS	3
MusicEditEndTime:
	DEFS	3
FirstOffset:
	DEFS	2
LastOffset:
	DEFS	2
PlaylistCount:
	DEFS	2
need_WPL:
	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_DiskStateFlag:
	DEFS	1
ifSelBuffToltalTimeFlag:
	DEFS	1
g_from_browser:
	DEFS	1
bList_Flag:
	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
	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
ResFileName:
	DEFB	'ui30.res'
	DEFB	0
	END

⌨️ 快捷键说明

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