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

📄 karaoke.s

📁 samsung 9908DVD源代码,
💻 S
字号:
/*
 * NAME
 *
 * 		Karaoke.s
 *
 * DESCRIPTION
 *
 * 		This file is configure part to build AMCS (Audio Multi-Codec Solution)
 *		the AMCS package working on ADM (Audio DSP Module) platform developed
 *		in Samsung Electronics. This configuration file can apply to DVD/VCD
 *		line-up, portable multi-codec player.
 *
 * COPYRIGHT
 *
 * 		Copyright (C) 2004-2005, Samsung Electronics, Inc.
 *		All rights reserved.
 *
 * REVISION
 *
 * 		Version 0.1
 *
 * HISTORY
 *
 * Version 0.1, 2005.02.24, firstly made by Lee Kyungtae.
 *
 */

.include "Karaoke_def.h"

.if KARAOKE_INTEGRATED == 1

.extern backup_config
.extern backup_sbl0off
.extern backup_sbl1off

.extern _PSControl
.extern _MicEcho
.extern _upsample_main


sec_KaraokeCode section code, AFTERADDR POST_CODE_BASE
	sec_KaraokeCode


;--------------------------------------------------------------------
; Function:		_Karaoke
; 
; Description:	Karaoke function
;				int Karaoke(PostCodecShared_t *)
; Arguments:	
;	IN			None
; 	OUT			None
;--------------------------------------------------------------------
_Karaoke::
	push	a14
	push	a13, a12
	push	a11, a10
	push	a9, a8
	push	r7, r6
	push	r5, r4
	push	r3, /* r2 */
	push	r1, r0


	ldw		r0, @[a10+iPOST_START_FLAG]
	cmp		eq, r0, #0
	brf		Karaoke_Processing

Karaoke_Initialize
/*	
.if (KARAOKE_MIC_ECHO_SUPPORTED == 1) || (KARAOKE_MIXER_SUPPORTED == 1)
	eld		a, #0
	esd1	d0, #1
	eld		rp1, #|WORD3_UDATA_ABS$$sec_KaraokeMemory$$START|
	ld		r6, #|WORD3_UDATA_ABS$$sec_KaraokeMemory$$SIZE|-1
	bnzd	r6, $
	eld		@rp1+d0, a

	jsr		lf__LoadKaraokeTable
.endif	
*/
.if KARAOKE_MIXER_SUPPORTED == 1
	jsr		_upsample_main
.endif

.if PS_CONTROL_INTEGRATED == 1
.if SEPARATE_KARA_PSCON == 0
;	jsr		_PSControl
.endif
.endif

	ld		r0, #1
	ldw		@[a10+iPOST_START_FLAG], r0
	
	bra		Karaoke_Process_End
	
Karaoke_Processing
.if PS_CONTROL_INTEGRATED == 1
.if SEPARATE_KARA_PSCON == 0
;	jsr		_PSControl
.endif
.endif

	ld		a8,#SFR_BASE //Lumin
	
	ldw		r1, @[a8+rS0BASE+0]
	ldw		r0, @[a8+rS0BASE+2]
	push		r1, r0
	
	ldw		r1, @[a8+rS1BASE+0]
	ldw		r0, @[a8+rS1BASE+2]
	ldw		@[a8+rS0BASE+0], r1
	ldw		@[a8+rS0BASE+2], r0

	ldw		r1, @[a10+iPOST_MIC_IN_BUF_START_PTR+0]
	ldw		r0, @[a10+iPOST_MIC_IN_BUF_START_PTR+2]
	ldw		@[a8+rSBL0BEGIN+0], r1
	ldw		@[a8+rSBL0BEGIN+2], r0
	ldw		r1, @[a10+iPOST_MIC_IN_BUF_END_PTR+0]
	ldw		r0, @[a10+iPOST_MIC_IN_BUF_END_PTR+2]
	ldw		@[a8+rSBL0END+0], r1
	ldw		@[a8+rSBL0END+2], r0


.if KARAOKE_MIXER_SUPPORTED == 1
	jsr		_upsample_main
.endif

	pop		r0, r1
	ldw		@[a8+rS0BASE+0], r1
	ldw		@[a8+rS0BASE+2], r0

Karaoke_Process_End


	pop		r0, r1
	pop		/* r2,*/ r3
	pop		r4, r5
	pop		r6, r7
	pop		a8, a9
	pop		a10, a11
	pop		a12, a13
	pop		a14
	ret



;--------------------------------------------------------------------
; Function:		lf__LoadKaraokeTable
; 
; Description:	
;				
; Arguments:	
;	IN			None
; 	OUT			None
;--------------------------------------------------------------------
.if 0
lf__LoadKaraokeTable:
.if 0		//_HAVE_TABLE_LOADER_ == TRUE
		PUSH	A14
		PUSH	R2
		LD		R2, #ID_KARAOKE
		JSR		Table_loader
		CMP		EQ, R2, #TRUE
		BRT		Load_Finished
		/* ERROR: check table index or size and do error process */
Load_Finished:
		POP		R2
		POP		A14
.endif
		RET
.endif


.endif /* if KARAOKE_INTEGRATED == 1 */

.end

⌨️ 快捷键说明

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