1 #include "driver.h"
2 extern "C" {
3  #include "fmopl.h"
4 }
5 #include "timer.h"
6 
7 INT32 BurnTimerUpdateYM3526(INT32 nCycles);
8 void BurnTimerEndFrameYM3526(INT32 nCycles);
9 INT32 BurnTimerAttachYM3526(cpu_core_config *ptr, INT32 nClockspeed);
10 
11 extern "C" void BurnYM3526UpdateRequest();
12 
13 INT32 BurnYM3526Init(INT32 nClockFrequency, OPL_IRQHANDLER IRQCallback, INT32 bAddSignal);
14 INT32 BurnYM3526Init(INT32 nClockFrequency, OPL_IRQHANDLER IRQCallback, INT32 (*StreamCallback)(INT32), INT32 bAddSignal);
15 void BurnYM3526SetRoute(INT32 nIndex, double nVolume, INT32 nRouteDir);
16 void BurnYM3526Reset();
17 void BurnYM3526Exit();
18 extern void (*BurnYM3526Update)(INT16* pSoundBuf, INT32 nSegmentEnd);
19 void BurnYM3526Scan(INT32 nAction, INT32* pnMin);
20 
21 #define BURN_SND_YM3526_ROUTE			0
22 
23 #define BurnYM3526Read(a) YM3526Read(0, a)
24 
25 #if defined FBA_DEBUG
26 	#define BurnYM3526Write(a, n) if (!DebugSnd_YM3526Initted) bprintf(PRINT_ERROR, _T("BurnYM3526Write called without init\n")); YM3526Write(0, a, n)
27 #else
28 	#define BurnYM3526Write(a, n) YM3526Write(0, a, n)
29 #endif
30