#ifdef _JEMUAUDIO_H_
#else
#define _JEMUAUDIO_H_


#ifdef __cplusplus 
extern "C" {
#endif

#if 0

enum SOUND_HARDWARE_TARGET
{
	SOUND_MMC = 0,
	SOUND_VRC,
	SOUND_DISK,
	SOUND_OTHER
};

#else

//	何故こんな風に書かないといかんのか？　さっぱりわからん。

typedef enum
{
	SOUND_MMC = 0,
	SOUND_VRC,
	SOUND_DISK,
	SOUND_OTHER
} SOUND_HARDWARE_TARGET;

#endif


/* Common */

extern void EmuSound_Start(u8 *table);					/*** Emulator Mode On  ***/
extern void EmuSound_Exit(void);  						/*** Emulator Mode Off ***/


extern void EmuSound_VFrameCallback(void);				/*** call per Vframe.  ***/
// extern void __FrameCallback(void);						


/* MusyX embededd version Only */

extern u32  EmuSound_GetStreamHandle(void);				/*** Get MusyX stream handle ***/


// extern void Nas_AudioEmuMode(s32 mode);
// extern void Nas_MenuSound(s32 snum);

/* HVC Emulator Only */

extern void Sound_SetC000(u8 *ptr);
extern void Sound_SetE000(u8 *ptr);
extern void Sound_PlayMENUPCM(s32 num);    /* for MOE-PRO */
extern void Sound_SetMMC(SOUND_HARDWARE_TARGET mmcmode);



/*  SYSTEM USE */

extern u8   Sound_Read(u16 reg);   						/*** Read Register (4015 only) ***/
extern void Sound_Write(u16 reg, u8 value, u16 time);   /*** Write Register (4000-4015) ***/
extern void Sound_Reset(void);	 					    /*** HVC Reset or POWER ON ***/



#ifdef __cplusplus 
}
#endif

#endif		// JEMUAUDIO_H
