1 // burn_ym2413.h
2 #include "driver.h"
3 extern "C" {
4  #include "ym2413.h"
5 }
6 
7 INT32 BurnYM2413Init(INT32 nClockFrequency);
8 void BurnYM2413SetRoute(INT32 nIndex, double nVolume, INT32 nRouteDir);
9 void BurnYM2413Reset();
10 void BurnYM2413Exit();
11 extern void (*BurnYM2413Render)(INT16* pSoundBuf, INT32 nSegmentLength);
12 void BurnYM2413Scan(INT32 nAction, INT32 *pnMin);
13 
14 #define BurnYM2413Read(a) YM2413Read(0, a)
15 
BurnYM2413Write(INT32 Address,const UINT8 nValue)16 static inline void BurnYM2413Write(INT32 Address, const UINT8 nValue)
17 {
18 #if defined FBA_DEBUG
19 	if (!DebugSnd_YM2413Initted) bprintf(PRINT_ERROR, _T("BurnYM2413Write called without init\n"));
20 #endif
21 
22 	YM2413Write(0, Address, nValue);
23 }
24 
25 #define BURN_SND_YM2413_YM2413_ROUTE_1		0
26 #define BURN_SND_YM2413_YM2413_ROUTE_2		1
27 
28 #define BurnYM2413SetAllRoutes(v, d)							\
29 	BurnYM2413SetRoute(BURN_SND_YM2413_YM2413_ROUTE_1, v, d);	\
30 	BurnYM2413SetRoute(BURN_SND_YM2413_YM2413_ROUTE_2, v, d);
31