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