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