1 // burn_md2612.h 2 #include "driver.h" 3 extern "C" { 4 #include "ym2612.h" 5 } 6 extern "C" void BurnMD2612UpdateRequest(); 7 8 INT32 BurnMD2612Init(INT32 num, INT32 bIsPal, INT32 (*StreamCallback)(INT32), INT32 bAddSignal); 9 void BurnMD2612SetRoute(INT32 nChip, INT32 nIndex, double nVolume, INT32 nRouteDir); 10 void BurnMD2612Reset(); 11 void BurnMD2612Exit(); 12 extern void (*BurnMD2612Update)(INT16* pSoundBuf, INT32 nSegmentEnd); 13 void BurnMD2612Scan(INT32 nAction, INT32* pnMin); 14 15 #define BURN_SND_MD2612_MD2612_ROUTE_1 0 16 #define BURN_SND_MD2612_MD2612_ROUTE_2 1 17 18 #define BurnMD2612SetAllRoutes(i, v, d) \ 19 BurnMD2612SetRoute(i, BURN_SND_MD2612_MD2612_ROUTE_1, v, d); \ 20 BurnMD2612SetRoute(i, BURN_SND_MD2612_MD2612_ROUTE_2, v, d); 21 22 #define BurnMD2612Read(i, a) MDYM2612Read() 23 24 #if defined FBA_DEBUG 25 #define BurnMD2612Write(i, a, n) if (!DebugSnd_YM2612Initted) bprintf(PRINT_ERROR, _T("BurnMD2612Write called without init\n")); MDYM2612Write(a, n) 26 #else 27 #define BurnMD2612Write(i, a, n) MDYM2612Write(a, n) 28 #endif 29