1 #include "driver.h"
2 extern "C" {
3  #include "fmopl.h"
4 }
5 #include "timer.h"
6 
7 INT32 BurnTimerUpdateY8950(INT32 nCycles);
8 void BurnTimerEndFrameY8950(INT32 nCycles);
9 void BurnTimerUpdateEndY8950();
10 INT32 BurnTimerAttachY8950(cpu_core_config *cpuptr, INT32 nClockspeed);
11 extern "C" void BurnY8950UpdateRequest();
12 
13 INT32 BurnY8950Init(INT32 num, INT32 nClockFrequency, UINT8* Y8950ADPCM0ROM, INT32 nY8950ADPCM0Size, UINT8* Y8950ADPCM1ROM, INT32 nY8950ADPCM1Size, OPL_IRQHANDLER IRQCallback, INT32 (*StreamCallback)(INT32), INT32 bAddSignal);
14 void BurnY8950SetRoute(INT32 nChip, INT32 nIndex, double nVolume, INT32 nRouteDir);
15 void BurnY8950Reset();
16 void BurnY8950Exit();
17 extern void (*BurnY8950Update)(INT16* pSoundBuf, INT32 nSegmentEnd);
18 void BurnY8950Scan(INT32 nAction, INT32* pnMin);
19 
20 #define BURN_SND_Y8950_ROUTE			0
21 
22 #define BurnY8950Read(i, a) Y8950Read(i, a)
23 
24 #if defined FBA_DEBUG
25 	#define BurnY8950Write(i, a, n) if (!DebugSnd_Y8950Initted) bprintf(PRINT_ERROR, _T("BurnY8950Write called without init\n")); Y8950Write(i, a, n)
26 #else
27 	#define BurnY8950Write(i, a, n) Y8950Write(i, a, n)
28 #endif
29