1 // burn_ym2612.h
2 #include "driver.h"
3 extern "C" {
4  #include "fm.h"
5 }
6 #include "timer.h"
7 
8 extern "C" void BurnYM2612UpdateRequest();
9 
10 INT32 BurnYM2612Init(INT32 num, INT32 nClockFrequency, FM_IRQHANDLER IRQCallback, INT32 (*StreamCallback)(INT32), double (*GetTimeCallback)(), INT32 bAddSignal);
11 INT32 BurnYM2612Init(INT32 num, INT32 nClockFrequency, FM_IRQHANDLER IRQCallback, INT32 bAddSignal);
12 void BurnYM2612SetRoute(INT32 nChip, INT32 nIndex, double nVolume, INT32 nRouteDir);
13 void BurnYM2612Reset();
14 void BurnYM2612Exit();
15 extern void (*BurnYM2612Update)(INT16* pSoundBuf, INT32 nSegmentEnd);
16 void BurnYM2612Scan(INT32 nAction, INT32* pnMin);
17 
18 #define BURN_SND_YM2612_YM2612_ROUTE_1		0
19 #define BURN_SND_YM2612_YM2612_ROUTE_2		1
20 
21 #define BurnYM2612SetAllRoutes(i, v, d)								\
22 	BurnYM2612SetRoute(i, BURN_SND_YM2612_YM2612_ROUTE_1, v, d);	\
23 	BurnYM2612SetRoute(i, BURN_SND_YM2612_YM2612_ROUTE_2, v, d);
24 
25 #define BurnYM2612Read(i, a) YM2612Read(i, a)
26 
27 #if defined FBA_DEBUG
28 	#define BurnYM2612Write(i, a, n) if (!DebugSnd_YM2612Initted) bprintf(PRINT_ERROR, _T("BurnYM2612Write called without init\n")); YM2612Write(i, a, n)
29 #else
30 	#define BurnYM2612Write(i, a, n) YM2612Write(i, a, n)
31 #endif
32 
33 #define BURN_SND_YM3438_YM3438_ROUTE_1		BURN_SND_YM2612_YM2612_ROUTE_1
34 #define BURN_SND_YM3438_YM3438_ROUTE_2		BURN_SND_YM2612_YM2612_ROUTE_2
35 
36 #define BurnYM3438SetAllRoutes(i, v, d)								\
37 	BurnYM3438SetRoute(i, BURN_SND_YM3438_YM3438_ROUTE_1, v, d);	\
38 	BurnYM3438SetRoute(i, BURN_SND_YM3438_YM3438_ROUTE_2, v, d);
39 
40 #define BurnYM3438Init(i, n, a, d) BurnYM2612Init(i, n, a, d)
41 #define BurnYM3438SetRoute(i, n, v, d) BurnYM2612SetRoute(i, n, v, d)
42 #define BurnYM3438Reset() BurnYM2612Reset()
43 #define BurnYM3438Exit() BurnYM2612Exit()
44 #define BurnYM3438Update(p, i) BurnYM2612Update(p, i)
45 #define BurnYM3438Scan(n, i) BurnYM2612Scan(n, i)
46 
47 #define BurnYM3438Read(i, a) YM2612Read(i, a)
48 
49 #if defined FBA_DEBUG
50 	#define BurnYM3438Write(i, a, n) if (!DebugSnd_YM2612Initted) bprintf(PRINT_ERROR, _T("BurnYM3438Write called without init\n")); YM2612Write(i, a, n)
51 #else
52 	#define BurnYM3438Write(i, a, n) YM2612Write(i, a, n)
53 #endif
54