Add volume and route support to burn_ym2151.cpp, Update drivers to support. Still got misc pre and post 90s to update.
This commit is contained in:
parent
a483c4fe06
commit
f5ada6f682
|
@ -19,9 +19,10 @@ INT32 PsmInit()
|
|||
nRate = 11025;
|
||||
}
|
||||
|
||||
if (BurnYM2151Init(3579540, 50.0)) { // Init FM sound chip
|
||||
if (BurnYM2151Init(3579540)) { // Init FM sound chip
|
||||
return 1;
|
||||
}
|
||||
BurnYM2151SetAllRoutes(0.35, BURN_SND_ROUTE_BOTH);
|
||||
|
||||
// Allocate a buffer for the intermediate sound (between YM2151 and pBurnSoundOut)
|
||||
nMemLen = nBurnSoundLen * 2 * sizeof(INT16);
|
||||
|
|
|
@ -132,7 +132,8 @@ INT32 Sf2mdtSoundInit()
|
|||
ZetMemEnd();
|
||||
ZetClose();
|
||||
|
||||
BurnYM2151Init(3579540, 50.0);
|
||||
BurnYM2151Init(3579540);
|
||||
BurnYM2151SetAllRoutes(0.35, BURN_SND_ROUTE_BOTH);
|
||||
|
||||
MSM5205Init(0, Sf2mdtSynchroniseStream, 24000000 / 64, Sf2mdtMSM5205Vck0, MSM5205_S96_4B, 20, 1);
|
||||
MSM5205Init(1, Sf2mdtSynchroniseStream, 24000000 / 64, Sf2mdtMSM5205Vck1, MSM5205_S96_4B, 20, 1);
|
||||
|
|
|
@ -755,8 +755,10 @@ static INT32 DrvInit()
|
|||
nCaveExtraXOffset = -126;
|
||||
CaveSpriteVisibleXOffset = -126;
|
||||
|
||||
BurnYM2151Init(4000000, 25.0);
|
||||
BurnYM2151Init(4000000);
|
||||
BurnYM2151SetIrqHandler(&DrvYM2151IrqHandler);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 1.20, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 1.20, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
memcpy(MSM6295ROM, MSM6295ROMSrc1, 0x40000);
|
||||
memcpy(MSM6295ROM + 0x100000, MSM6295ROMSrc2, 0x40000);
|
||||
|
|
|
@ -947,8 +947,10 @@ static INT32 gameInit()
|
|||
CaveTileInitLayer(2, 0x01400000, 6, 0x4C00);
|
||||
}
|
||||
|
||||
BurnYM2151Init(32000000 / 8, 25.0);
|
||||
BurnYM2151Init(32000000 / 8);
|
||||
BurnYM2151SetIrqHandler(&drvYM2151IRQHandler);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 0.30, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 0.30, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
MSM6295Init(0, 16000, 100.0, 1);
|
||||
MSM6295Init(1, 16000, 100.0, 1);
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
#include "h6280_intf.h"
|
||||
#include "deco16ic.h"
|
||||
#include "msm6295.h"
|
||||
#include "burn_ym2151.h"
|
||||
|
||||
static UINT8 *AllMem;
|
||||
static UINT8 *MemEnd;
|
||||
|
@ -451,7 +452,9 @@ static INT32 DrvInit()
|
|||
SekSetReadByteHandler(0, boogwing_main_read_byte);
|
||||
SekClose();
|
||||
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 8055000, 0, DrvYM2151WritePort, 40.0, 1006875, 140.0, 2013750, 30.0);
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 8055000, 0, DrvYM2151WritePort, 0.80, 1006875, 140.0, 2013750, 30.0);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 0.80, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 0.80, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
GenericTilesInit();
|
||||
|
||||
|
|
|
@ -429,7 +429,7 @@ static INT32 DrvInit()
|
|||
SekSetReadByteHandler(0, cbuster_main_read_byte);
|
||||
SekClose();
|
||||
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 8055000, 1, NULL, 40.0, 1006875, 75.0, 2013750, 100.0);
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 8055000, 1, NULL, 0.45, 1006875, 75.0, 2013750, 100.0);
|
||||
BurnYM2203SetAllRoutes(0, 0.60, BURN_SND_ROUTE_BOTH);
|
||||
|
||||
GenericTilesInit();
|
||||
|
|
|
@ -1182,7 +1182,7 @@ static INT32 CninjaInit()
|
|||
SekSetReadByteHandler(0, cninja_main_read_byte);
|
||||
SekClose();
|
||||
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 8055000, 1, DrvYM2151WritePort, 40.0, 1006875, 75.0, 2013750, 60.0);
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 8055000, 1, DrvYM2151WritePort, 0.45, 1006875, 75.0, 2013750, 60.0);
|
||||
BurnYM2203SetAllRoutes(0, 0.60, BURN_SND_ROUTE_BOTH);
|
||||
|
||||
GenericTilesInit();
|
||||
|
@ -1282,7 +1282,7 @@ static INT32 EdrandyInit()
|
|||
SekSetReadByteHandler(0, cninja_main_read_byte);
|
||||
SekClose();
|
||||
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 8055000, 1, DrvYM2151WritePort, 40.0, 1006875, 75.0, 2013750, 60.0);
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 8055000, 1, DrvYM2151WritePort, 0.45, 1006875, 75.0, 2013750, 60.0);
|
||||
BurnYM2203SetAllRoutes(0, 0.60, BURN_SND_ROUTE_BOTH);
|
||||
|
||||
GenericTilesInit();
|
||||
|
@ -1393,7 +1393,9 @@ static INT32 MutantfInit()
|
|||
SekSetReadByteHandler(0, mutantf_main_read_byte);
|
||||
SekClose();
|
||||
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 8055000, 0, DrvYM2151WritePort, 40.0, 1006875, 75.0, 2013750, 60.0);
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 8055000, 0, DrvYM2151WritePort, 0.45, 1006875, 75.0, 2013750, 60.0);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 0.45, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 0.45, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
GenericTilesInit();
|
||||
|
||||
|
@ -1490,8 +1492,9 @@ static INT32 CninjablInit()
|
|||
ZetMemEnd();
|
||||
ZetClose();
|
||||
|
||||
BurnYM2151Init(3580000, 45.0);
|
||||
BurnYM2151Init(3580000);
|
||||
BurnYM2151SetIrqHandler(&DrvYM2151IrqHandler);
|
||||
BurnYM2151SetAllRoutes(0.45, BURN_SND_ROUTE_BOTH);
|
||||
|
||||
MSM6295Init(0, 1006875 / 132, 75.0, 1);
|
||||
MSM6295Init(1, 2013750 / 132, 60.0, 1);
|
||||
|
@ -1605,7 +1608,8 @@ static INT32 StoneageInit()
|
|||
MSM6295Init(0, 1006875 / 132, 75.0, 1);
|
||||
MSM6295Init(1, 2013750 / 132, 60.0, 1);
|
||||
|
||||
BurnYM2151Init(3580000, 45.0);
|
||||
BurnYM2151Init(3580000);
|
||||
BurnYM2151SetAllRoutes(0.45, BURN_SND_ROUTE_BOTH);
|
||||
BurnYM2151SetIrqHandler(&DrvYM2151IrqHandler);
|
||||
|
||||
GenericTilesInit();
|
||||
|
@ -1713,8 +1717,10 @@ static INT32 Robocop2Init()
|
|||
SekSetReadByteHandler(0, robocop2_main_read_byte);
|
||||
SekClose();
|
||||
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 8055000, 1, DrvYM2151WritePort, 40.0, 1006875, 75.0, 2013750, 60.0);
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 8055000, 1, DrvYM2151WritePort, 0.45, 1006875, 75.0, 2013750, 60.0);
|
||||
BurnYM2203SetAllRoutes(0, 0.60, BURN_SND_ROUTE_BOTH);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 0.45, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 0.45, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
GenericTilesInit();
|
||||
|
||||
|
|
|
@ -394,7 +394,7 @@ static INT32 DrvInit()
|
|||
SekSetReadByteHandler(0, darkseal_read_byte);
|
||||
SekClose();
|
||||
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 8055000, 1, NULL, 40.0, 1006875, 100.0, 2013750, 60.0);
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 8055000, 1, NULL, 0.55, 1006875, 100.0, 2013750, 60.0);
|
||||
BurnYM2203SetAllRoutes(0, 0.45, BURN_SND_ROUTE_BOTH);
|
||||
|
||||
GenericTilesInit();
|
||||
|
|
|
@ -672,8 +672,10 @@ static INT32 DrvInit()
|
|||
SekSetReadByteHandler(1, dassault_irq_read_byte);
|
||||
SekClose();
|
||||
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 8055000, 1, DrvYM2151WritePort, 40.0, 1006875, 75.0, 2013750, 60.0);
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 8055000, 1, DrvYM2151WritePort, 0.45, 1006875, 75.0, 2013750, 60.0);
|
||||
BurnYM2203SetAllRoutes(0, 0.40, BURN_SND_ROUTE_BOTH);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 0.45, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 0.45, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
GenericTilesInit();
|
||||
|
||||
|
|
|
@ -290,7 +290,7 @@ static INT32 DrvInit()
|
|||
SekSetReadByteHandler(0, dietgogo_main_read_byte);
|
||||
SekClose();
|
||||
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 2685000, 0, NULL, 45.0, 1006875, 100.0, 0, 0);
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 2685000, 0, NULL, 0.45, 1006875, 100.0, 0, 0);
|
||||
|
||||
GenericTilesInit();
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
#include "h6280_intf.h"
|
||||
#include "deco16ic.h"
|
||||
#include "msm6295.h"
|
||||
#include "burn_ym2151.h"
|
||||
|
||||
static UINT8 *AllMem;
|
||||
static UINT8 *MemEnd;
|
||||
|
@ -405,7 +406,9 @@ static INT32 DrvInit()
|
|||
SekSetReadByteHandler(0, funkyjet_main_read_byte);
|
||||
SekClose();
|
||||
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 8055000, 0, NULL, 40.0, 1000000, 100.0, 0, 0);
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 8055000, 0, NULL, 0.45, 1000000, 100.0, 0, 0);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 0.45, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 0.45, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
GenericTilesInit();
|
||||
|
||||
|
|
|
@ -455,8 +455,10 @@ static INT32 DrvInit()
|
|||
M6809SetReadByteHandler(lemmings_sound_read);
|
||||
M6809Close();
|
||||
|
||||
BurnYM2151Init(3580000, 45.0);
|
||||
BurnYM2151Init(3580000);
|
||||
BurnYM2151SetIrqHandler(&lemmingsYM2151IrqHandler);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 0.45, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 0.45, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
MSM6295Init(0, 1023924 / 132, 50.0, 1);
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
#include "h6280_intf.h"
|
||||
#include "deco16ic.h"
|
||||
#include "msm6295.h"
|
||||
#include "burn_ym2151.h"
|
||||
|
||||
static UINT8 *AllMem;
|
||||
static UINT8 *MemEnd;
|
||||
|
@ -812,7 +813,9 @@ static INT32 RohgaInit()
|
|||
SekSetReadByteHandler(0, rohga_main_read_byte);
|
||||
SekClose();
|
||||
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 2685000, 0, DrvYM2151WritePort, 40.0, 1006875, 100.0, 2013750, 75.0);
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 2685000, 0, DrvYM2151WritePort, 0.78, 1006875, 100.0, 2013750, 75.0);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 0.78, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 0.78, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
GenericTilesInit();
|
||||
|
||||
|
@ -904,7 +907,9 @@ static INT32 WizdfireInit()
|
|||
SekSetReadByteHandler(0, wizdfire_main_read_byte);
|
||||
SekClose();
|
||||
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 2685000, 0, DrvYM2151WritePort, 40.0, 1006875, 100.0, 2013750, 40.0);
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 2685000, 0, DrvYM2151WritePort, 0.80, 1006875, 100.0, 2013750, 40.0);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 0.80, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 0.80, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
GenericTilesInit();
|
||||
|
||||
|
@ -991,7 +996,9 @@ static INT32 SchmeisrInit()
|
|||
SekSetReadByteHandler(0, rohga_main_read_byte);
|
||||
SekClose();
|
||||
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 2685000, 0, DrvYM2151WritePort, 40.0, 1006875, 100.0, 2013750, 40.0);
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 2685000, 0, DrvYM2151WritePort, 0.80, 1006875, 100.0, 2013750, 40.0);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 0.80, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 0.80, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
GenericTilesInit();
|
||||
|
||||
|
@ -1093,7 +1100,9 @@ static INT32 NitrobalInit()
|
|||
SekSetReadByteHandler(0, wizdfire_main_read_byte);
|
||||
SekClose();
|
||||
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 2685000, 0, DrvYM2151WritePort, 40.0, 1006875, 100.0, 2013750, 40.0);
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 2685000, 0, DrvYM2151WritePort, 0.80, 1006875, 100.0, 2013750, 40.0);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 0.80, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 0.80, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
GenericTilesInit();
|
||||
|
||||
|
|
|
@ -331,7 +331,7 @@ static INT32 DrvInit(INT32 game)
|
|||
SekSetReadByteHandler(0, supbtime_main_read_byte);
|
||||
SekClose();
|
||||
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 4027500, 0, NULL, 40.0, 1023924, 75.0, 0, 0);
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 4027500, 0, NULL, 0.45, 1023924, 75.0, 0, 0);
|
||||
|
||||
GenericTilesInit();
|
||||
|
||||
|
|
|
@ -6,6 +6,7 @@
|
|||
#include "h6280_intf.h"
|
||||
#include "deco16ic.h"
|
||||
#include "msm6295.h"
|
||||
#include "burn_ym2151.h"
|
||||
|
||||
static UINT8 *AllMem;
|
||||
static UINT8 *MemEnd;
|
||||
|
@ -280,7 +281,9 @@ static INT32 DrvInit()
|
|||
SekSetReadByteHandler(0, tumblep_main_read_byte);
|
||||
SekClose();
|
||||
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 4027500, 0, NULL, 40.0, 1023924, 50.0, 0, 0);
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 4027500, 0, NULL, 0.45, 1023924, 50.0, 0, 0);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 0.45, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 0.45, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
GenericTilesInit();
|
||||
|
||||
|
|
|
@ -387,7 +387,7 @@ static INT32 DrvInit(INT32 type)
|
|||
SekSetReadByteHandler(0, vaportra_main_read_byte);
|
||||
SekClose();
|
||||
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 8055000, 1, NULL, 40.0, 1006875, 75.0, 2013750, 60.0);
|
||||
deco16SoundInit(DrvHucROM, DrvHucRAM, 8055000, 1, NULL, 0.60, 1006875, 75.0, 2013750, 60.0);
|
||||
BurnYM2203SetAllRoutes(0, 0.60, BURN_SND_ROUTE_BOTH);
|
||||
|
||||
GenericTilesInit();
|
||||
|
|
|
@ -865,7 +865,8 @@ void deco16SoundInit(UINT8 *rom, UINT8 *ram, INT32 huc_clock, INT32 ym2203, void
|
|||
deco16_sound_enable[2] = 1; // msm6295 #0 always enabled
|
||||
deco16_sound_enable[3] = msmclk1 ? 1 : 0;
|
||||
|
||||
BurnYM2151Init(3580000, ym2151vol);
|
||||
BurnYM2151Init(3580000);
|
||||
BurnYM2151SetAllRoutes(ym2151vol, BURN_SND_ROUTE_BOTH);
|
||||
BurnYM2151SetIrqHandler(&deco16YM2151IrqHandler);
|
||||
if (ym2151_port != NULL) {
|
||||
BurnYM2151SetPortHandler(ym2151_port);
|
||||
|
|
|
@ -1721,8 +1721,10 @@ static INT32 DrvInit(void (*pCPUMapCallback)(), void (*pSNDMapCallback)(), INT32
|
|||
break;
|
||||
}
|
||||
|
||||
BurnYM2151Init(3579545, 100.0);
|
||||
BurnYM2151Init(3579545);
|
||||
YM2151SetIrqHandler(0, &m72YM2151IRQHandler);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 1.00, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 1.00, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
DACInit(0, 0, 1, m72SyncDAC);
|
||||
DACSetRoute(0, 0.40, BURN_SND_ROUTE_BOTH);
|
||||
|
|
|
@ -1144,8 +1144,9 @@ static INT32 DrvInit(INT32 codesize, INT32 gfxlen, INT32 samples, INT32 bank, IN
|
|||
ZetMemEnd();
|
||||
ZetClose();
|
||||
|
||||
BurnYM2151Init(3579545, 15.0);
|
||||
BurnYM2151Init(3579545);
|
||||
YM2151SetIrqHandler(0, &m72YM2151IRQHandler);
|
||||
BurnYM2151SetAllRoutes(0.15, BURN_SND_ROUTE_BOTH);
|
||||
|
||||
DACInit(0, 0, 1, m90SyncDAC);
|
||||
DACSetRoute(0, 0.10, BURN_SND_ROUTE_BOTH);
|
||||
|
|
|
@ -1747,8 +1747,9 @@ static INT32 DrvInit(INT32 (*pRomLoadCallback)(), const UINT8 *sound_decrypt_tab
|
|||
|
||||
m92_irq_vectorbase = vectorbase;
|
||||
|
||||
BurnYM2151Init(3579545, 40.0);
|
||||
BurnYM2151Init(3579545);
|
||||
YM2151SetIrqHandler(0, &m92YM2151IRQHandler);
|
||||
BurnYM2151SetAllRoutes(0.40, BURN_SND_ROUTE_BOTH);
|
||||
|
||||
iremga20_init(0, DrvSndROM, 0x100000, 3579545);
|
||||
|
||||
|
|
|
@ -1457,8 +1457,10 @@ static INT32 DrvInit()
|
|||
nCyclesTotal[1] = 3579645 / 55;
|
||||
|
||||
GenericTilesInit();
|
||||
BurnYM2151Init(3579645, 25.0);
|
||||
BurnYM2151Init(3579645);
|
||||
BurnYM2151SetIrqHandler(&VigilantYM2151IrqHandler);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 0.55, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 0.55, BURN_SND_ROUTE_RIGHT);
|
||||
DACInit(0, 0, 1, VigilantSyncDAC);
|
||||
DACSetRoute(0, 1.00, BURN_SND_ROUTE_BOTH);
|
||||
|
||||
|
@ -1690,8 +1692,10 @@ static INT32 KikcubicInit()
|
|||
nCyclesTotal[1] = 3579645 / 55;
|
||||
|
||||
GenericTilesInit();
|
||||
BurnYM2151Init(3579645, 25.0);
|
||||
BurnYM2151Init(3579645);
|
||||
BurnYM2151SetIrqHandler(&VigilantYM2151IrqHandler);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 0.55, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 0.55, BURN_SND_ROUTE_RIGHT);
|
||||
DACInit(0, 0, 1, VigilantSyncDAC);
|
||||
DACSetRoute(0, 1.00, BURN_SND_ROUTE_BOTH);
|
||||
|
||||
|
|
|
@ -477,7 +477,8 @@ static INT32 DrvInit()
|
|||
ZetMemEnd();
|
||||
ZetClose();
|
||||
|
||||
BurnYM2151Init(3579545, 75.0);
|
||||
BurnYM2151Init(3579545);
|
||||
BurnYM2151SetAllRoutes(0.75, BURN_SND_ROUTE_BOTH);
|
||||
|
||||
UPD7759Init(0, UPD7759_STANDARD_CLOCK, DrvSndROM0);
|
||||
UPD7759Init(1, UPD7759_STANDARD_CLOCK, DrvSndROM1);
|
||||
|
|
|
@ -592,7 +592,9 @@ static INT32 DrvInit()
|
|||
ZetMemEnd();
|
||||
ZetClose();
|
||||
|
||||
BurnYM2151Init(3579545, 25.0);
|
||||
BurnYM2151Init(3579545);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 1.00, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 1.00, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
K007232Init(0, 3579545, DrvSndROM0, 0x40000);
|
||||
K007232SetPortWriteHandler(0, DrvK007232VolCallback0);
|
||||
|
|
|
@ -427,8 +427,9 @@ static INT32 DrvInit()
|
|||
K051960SetCallback(K051960Callback);
|
||||
K051960SetSpriteOffset(8, 0);
|
||||
|
||||
BurnYM2151Init(3579545, 100.0);
|
||||
BurnYM2151Init(3579545);
|
||||
BurnYM2151SetPortHandler(&DrvYM2151WritePort);
|
||||
BurnYM2151SetAllRoutes(0.60, BURN_SND_ROUTE_BOTH);
|
||||
|
||||
K007232Init(0, 3579545, DrvSndROM, 0x40000);
|
||||
K007232SetPortWriteHandler(0, DrvK007232VolCallback);
|
||||
|
|
|
@ -363,7 +363,8 @@ static INT32 DrvInit()
|
|||
ZetMemEnd();
|
||||
ZetClose();
|
||||
|
||||
BurnYM2151Init(3579545, 100.0);
|
||||
BurnYM2151Init(3579545);
|
||||
BurnYM2151SetAllRoutes(0.60, BURN_SND_ROUTE_BOTH);
|
||||
|
||||
K052109Init(DrvGfxROM0, 0x1ffff);
|
||||
K052109SetCallback(K052109Callback);
|
||||
|
|
|
@ -520,8 +520,10 @@ static INT32 DrvInit()
|
|||
M6809SetWriteByteHandler(DrvContraM6809SoundWriteByte);
|
||||
M6809Close();
|
||||
|
||||
BurnYM2151Init(3579545, 60.0);
|
||||
BurnYM2151Init(3579545);
|
||||
BurnYM2151SetIrqHandler(&DrvYM2151IrqHandler);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 0.60, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 0.60, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
DrvDoReset();
|
||||
|
||||
|
|
|
@ -528,8 +528,10 @@ static INT32 DrvInit()
|
|||
ZetMemEnd();
|
||||
ZetClose();
|
||||
|
||||
BurnYM2151Init(3579545, 100.0);
|
||||
BurnYM2151Init(3579545);
|
||||
BurnYM2151SetPortHandler(&DrvYM2151WritePort);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 1.00, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 1.00, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
K007232Init(0, 3579545, DrvSndROM, 0x40000);
|
||||
K007232SetPortWriteHandler(0, DrvK007232VolCallback);
|
||||
|
|
|
@ -422,7 +422,8 @@ static INT32 DrvInit()
|
|||
ZetMemEnd();
|
||||
ZetClose();
|
||||
|
||||
BurnYM2151Init(3579545, 100.0);
|
||||
BurnYM2151Init(3579545);
|
||||
BurnYM2151SetAllRoutes(0.60, BURN_SND_ROUTE_BOTH);
|
||||
|
||||
K007232Init(0, 3579545, DrvSndROM, 0x40000);
|
||||
K007232SetPortWriteHandler(0, DrvK007232VolCallback);
|
||||
|
|
|
@ -590,7 +590,9 @@ static INT32 DrvInit()
|
|||
ZetMemEnd();
|
||||
ZetClose();
|
||||
|
||||
BurnYM2151Init(3579545, 100.0);
|
||||
BurnYM2151Init(3579545);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 1.00, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 1.00, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
K007232Init(0, 3579545, DrvSndROM, 0x80000);
|
||||
K007232SetPortWriteHandler(0, DrvK007232VolCallback);
|
||||
|
|
|
@ -758,7 +758,8 @@ static INT32 DrvInit(INT32 type)
|
|||
K007232Init(0, 3579545, DrvSndROM0, 0x80000);
|
||||
K007232SetPortWriteHandler(0, DrvK007232VolCallback);
|
||||
|
||||
BurnYM2151Init(3579545, 75.0);
|
||||
BurnYM2151Init(3579545);
|
||||
BurnYM2151SetAllRoutes(0.30, BURN_SND_ROUTE_BOTH);
|
||||
|
||||
UPD7759Init(0, UPD7759_STANDARD_CLOCK, DrvSndROM1);
|
||||
|
||||
|
|
|
@ -458,7 +458,9 @@ static INT32 DrvInit()
|
|||
K053245Init(0, DrvGfxROM1, 0xfffff, K053245Callback);
|
||||
K053245SetSpriteOffset(0, -112, -16);
|
||||
|
||||
BurnYM2151Init(3579545, 70.0);
|
||||
BurnYM2151Init(3579545);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 1.00, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 1.00, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
K053260Init(0, 3579545, DrvSndROM, 0x80000);
|
||||
|
||||
|
|
|
@ -503,7 +503,9 @@ static INT32 DrvInit()
|
|||
K053247Init(DrvGfxROM1, 0x3fffff, K053247Callback, 0x03 /* shadows & highlights */);
|
||||
K053247SetSpriteOffset(-59, 39);
|
||||
|
||||
BurnYM2151Init(3579545, 25.0);
|
||||
BurnYM2151Init(3579545);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 1.00, BURN_SND_ROUTE_BOTH);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 0.00, BURN_SND_ROUTE_BOTH); // not connected
|
||||
|
||||
K053260Init(0, 3579545, DrvSndROM, 0x140000);
|
||||
|
||||
|
|
|
@ -376,8 +376,10 @@ static INT32 DrvInit()
|
|||
K053245Init(0, DrvGfxROM1, 0x7ffff, K053245Callback);
|
||||
K053245SetSpriteOffset(0, -112, 16);
|
||||
|
||||
BurnYM2151Init(3579545, 100.0);
|
||||
BurnYM2151Init(3579545);
|
||||
YM2151SetIrqHandler(0, &DrvYM2151IRQHandler);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 1.00, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 1.00, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
GenericTilesInit();
|
||||
|
||||
|
|
|
@ -683,7 +683,8 @@ static INT32 DrvInit()
|
|||
ZetMemEnd();
|
||||
ZetClose();
|
||||
|
||||
BurnYM2151Init(3579545, 25.0);
|
||||
BurnYM2151Init(3579545);
|
||||
BurnYM2151SetAllRoutes(1.00, BURN_SND_ROUTE_BOTH);
|
||||
|
||||
K007232Init(0, 3579545, DrvSndROM, 0x80000);
|
||||
K007232SetPortWriteHandler(0, DrvK007232VolCallback);
|
||||
|
|
|
@ -4401,7 +4401,8 @@ static INT32 TmntInit()
|
|||
ZetClose();
|
||||
|
||||
// Setup the YM2151 emulation
|
||||
BurnYM2151Init(3579545, 25.0);
|
||||
BurnYM2151Init(3579545);
|
||||
BurnYM2151SetAllRoutes(1.00, BURN_SND_ROUTE_BOTH);
|
||||
|
||||
K007232Init(0, 3579545, DrvSoundRom, 0x20000);
|
||||
K007232SetPortWriteHandler(0, DrvK007232VolCallback);
|
||||
|
@ -4497,7 +4498,8 @@ static INT32 MiaInit()
|
|||
ZetClose();
|
||||
|
||||
// Setup the YM2151 emulation
|
||||
BurnYM2151Init(3579545, 25.0);
|
||||
BurnYM2151Init(3579545);
|
||||
BurnYM2151SetAllRoutes(1.00, BURN_SND_ROUTE_BOTH);
|
||||
|
||||
K007232Init(0, 3579545, DrvSoundRom, 0x20000);
|
||||
K007232SetPortWriteHandler(0, DrvK007232VolCallback);
|
||||
|
@ -4566,8 +4568,9 @@ static INT32 CuebrickInit()
|
|||
SekClose();
|
||||
|
||||
// Setup the YM2151 emulation
|
||||
BurnYM2151Init(3579545, 25.0);
|
||||
BurnYM2151Init(3579545);
|
||||
BurnYM2151SetIrqHandler(&CuebrickYM2151IrqHandler);
|
||||
BurnYM2151SetAllRoutes(1.00, BURN_SND_ROUTE_BOTH);
|
||||
|
||||
GenericTilesInit();
|
||||
|
||||
|
@ -4653,7 +4656,9 @@ static INT32 BlswhstlInit()
|
|||
ZetClose();
|
||||
|
||||
// Setup the YM2151 emulation
|
||||
BurnYM2151Init(3579545, 25.0);
|
||||
BurnYM2151Init(3579545);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 0.70, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 0.70, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
K053260Init(0, 3579545, DrvSoundRom, 0x100000);
|
||||
|
||||
|
@ -4737,7 +4742,9 @@ static INT32 SsridersInit()
|
|||
ZetClose();
|
||||
|
||||
// Setup the YM2151 emulation
|
||||
BurnYM2151Init(3579545, 25.0);
|
||||
BurnYM2151Init(3579545);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 1.00, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 1.00, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
K053260Init(0, 3579545, DrvSoundRom, 0x100000);
|
||||
|
||||
|
@ -4818,7 +4825,9 @@ static INT32 Thndrx2Init()
|
|||
ZetClose();
|
||||
|
||||
// Setup the YM2151 emulation
|
||||
BurnYM2151Init(3579545, 25.0);
|
||||
BurnYM2151Init(3579545);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 1.00, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 1.00, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
K053260Init(0, 3579545, DrvSoundRom, 0x80000);
|
||||
|
||||
|
@ -4900,7 +4909,9 @@ static INT32 LgtnfghtInit()
|
|||
ZetClose();
|
||||
|
||||
// Setup the YM2151 emulation
|
||||
BurnYM2151Init(3579545, 25.0);
|
||||
BurnYM2151Init(3579545);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 1.00, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 1.00, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
K053260Init(0, 3579545, DrvSoundRom, 0x80000);
|
||||
|
||||
|
@ -4990,7 +5001,9 @@ static INT32 Tmnt2Init()
|
|||
ZetClose();
|
||||
|
||||
// Setup the YM2151 emulation
|
||||
BurnYM2151Init(3579545, 25.0);
|
||||
BurnYM2151Init(3579545);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 1.00, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 1.00, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
K053260Init(0, 3579545, DrvSoundRom, 0x200000);
|
||||
|
||||
|
@ -5078,7 +5091,9 @@ static INT32 QgakumonInit()
|
|||
ZetClose();
|
||||
|
||||
// Setup the YM2151 emulation
|
||||
BurnYM2151Init(3579545, 25.0);
|
||||
BurnYM2151Init(3579545);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 1.00, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 1.00, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
K053260Init(0, 3579545, DrvSoundRom, 0x200000);
|
||||
|
||||
|
@ -5159,7 +5174,8 @@ static INT32 PunkshotInit()
|
|||
ZetClose();
|
||||
|
||||
// Setup the YM2151 emulation
|
||||
BurnYM2151Init(3579545, 25.0);
|
||||
BurnYM2151Init(3579545);
|
||||
BurnYM2151SetAllRoutes(1.00, BURN_SND_ROUTE_BOTH);
|
||||
|
||||
K053260Init(0, 3579545, DrvSoundRom, 0x80000);
|
||||
|
||||
|
|
|
@ -1021,7 +1021,9 @@ static INT32 DrvInit(INT32 (pLoadCallback)())
|
|||
K007232Init(0, 3579545, DrvSndROM0, 0x20000);
|
||||
K007232SetPortWriteHandler(0, DrvK007232VolCallback);
|
||||
|
||||
BurnYM2151Init(3579580, 75.0);
|
||||
BurnYM2151Init(3579580);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 1.00, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 1.00, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
UPD7759Init(0, UPD7759_STANDARD_CLOCK, DrvSndROM1);
|
||||
|
||||
|
|
|
@ -481,7 +481,9 @@ static INT32 DrvInit()
|
|||
K051316Init(2, DrvGfxROM3, DrvGfxROMExp3, 0x7ffff, K051316Callback2, 4, 0);
|
||||
K051316SetOffset(2, -105, -16);
|
||||
|
||||
BurnYM2151Init(4000000, 100.0);
|
||||
BurnYM2151Init(4000000);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 1.00, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 1.00, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
MSM6295Init(0, 1056000 / 132, 50.0, 1);
|
||||
|
||||
|
|
|
@ -712,7 +712,9 @@ static INT32 DrvInit(INT32 nGame)
|
|||
|
||||
EEPROMInit(&vendetta_eeprom_intf);
|
||||
|
||||
BurnYM2151Init(3579545, 100.0);
|
||||
BurnYM2151Init(3579545);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 1.00, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 1.00, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
K053260Init(0, 3579545, DrvSndROM, 0x100000 >> nGame);
|
||||
|
||||
|
|
|
@ -476,7 +476,9 @@ static INT32 DrvInit()
|
|||
K053247Init(DrvGfxROM1, 0x3fffff, K053247Callback, 1);
|
||||
K053247SetSpriteOffset(-510, 158);
|
||||
|
||||
BurnYM2151Init(4000000, 80.0);
|
||||
BurnYM2151Init(4000000);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 1.00, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 1.00, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
K054539Init(0, 48000, DrvSndROM, 0x200000);
|
||||
|
||||
|
|
|
@ -1839,7 +1839,8 @@ INT32 System16Init()
|
|||
if (PPI0PortWriteC == NULL) PPI0PortWriteC = System16APPI0WritePortC;
|
||||
ppi8255_init(1);
|
||||
|
||||
BurnYM2151Init(4000000, 25.0);
|
||||
BurnYM2151Init(4000000);
|
||||
BurnYM2151SetAllRoutes(1.00, BURN_SND_ROUTE_BOTH);
|
||||
|
||||
if (System167751ProgSize) {
|
||||
N7751Init(NULL);
|
||||
|
@ -1851,6 +1852,7 @@ INT32 System16Init()
|
|||
N7751SetCPUOpReadArgHandler(N7751Read);
|
||||
|
||||
YM2151SetPortWriteHandler(0, &System16N7751ControlWrite);
|
||||
BurnYM2151SetAllRoutes(0.43, BURN_SND_ROUTE_BOTH);
|
||||
DACInit(0, 0, 1, System16ASyncDAC);
|
||||
DACSetRoute(0, 0.80, BURN_SND_ROUTE_BOTH);
|
||||
}
|
||||
|
@ -1916,7 +1918,8 @@ INT32 System16Init()
|
|||
BurnYM2413Init(5000000);
|
||||
BurnYM2413SetAllRoutes(1.00, BURN_SND_ROUTE_BOTH);
|
||||
} else {
|
||||
BurnYM2151Init(4000000, 25.0);
|
||||
BurnYM2151Init(4000000);
|
||||
BurnYM2151SetAllRoutes(0.43, BURN_SND_ROUTE_BOTH);
|
||||
}
|
||||
|
||||
if (System16UPD7759DataSize) {
|
||||
|
@ -2083,8 +2086,10 @@ INT32 System16Init()
|
|||
BurnYM2203SetRoute(0, BURN_SND_YM2203_AY8910_ROUTE_2, 0.13, BURN_SND_ROUTE_BOTH);
|
||||
BurnYM2203SetRoute(0, BURN_SND_YM2203_AY8910_ROUTE_3, 0.13, BURN_SND_ROUTE_BOTH);
|
||||
} else {
|
||||
BurnYM2151Init(4000000, 25.0);
|
||||
BurnYM2151Init(4000000);
|
||||
BurnYM2151SetIrqHandler(&System16YM2151IRQHandler);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 0.43, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 0.43, BURN_SND_ROUTE_RIGHT);
|
||||
}
|
||||
|
||||
if (System16PCMDataSize) {
|
||||
|
@ -2156,7 +2161,9 @@ INT32 System16Init()
|
|||
if (PPI0PortWriteC == NULL) PPI0PortWriteC = OutrunPPI0WritePortC;
|
||||
ppi8255_init(1);
|
||||
|
||||
BurnYM2151Init(4000000, 25.0);
|
||||
BurnYM2151Init(4000000);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 0.43, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 0.43, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
if (System16PCMDataSize) {
|
||||
SegaPCMInit(4000000, BANK_512, System16PCMData, System16PCMDataSize);
|
||||
|
@ -2245,8 +2252,10 @@ INT32 System16Init()
|
|||
ZetClose();
|
||||
}
|
||||
|
||||
BurnYM2151Init(4000000, 25.0);
|
||||
BurnYM2151Init(4000000);
|
||||
BurnYM2151SetIrqHandler(&System16YM2151IRQHandler);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 0.43, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 0.43, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
if (System16PCMDataSize) {
|
||||
SegaPCMInit(4000000, BANK_512, System16PCMData, System16PCMDataSize);
|
||||
|
@ -2324,8 +2333,10 @@ INT32 System16Init()
|
|||
ZetClose();
|
||||
}
|
||||
|
||||
BurnYM2151Init(32215900 / 8, 25.0);
|
||||
BurnYM2151Init(32215900 / 8);
|
||||
BurnYM2151SetIrqHandler(&System16YM2151IRQHandler);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 0.43, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 0.43, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
if (System16PCMDataSize) {
|
||||
SegaPCMInit(32215900 / 8, BANK_12M | BANK_MASKF8, System16PCMData, System16PCMDataSize);
|
||||
|
|
|
@ -1307,9 +1307,10 @@ static void BonzeZ80Setup()
|
|||
|
||||
static void CadashSoundSetup()
|
||||
{
|
||||
BurnYM2151Init(4000000, 50.0);
|
||||
BurnYM2151Init(4000000);
|
||||
BurnYM2151SetIrqHandler(&CadashYM2151IRQHandler);
|
||||
BurnYM2151SetPortHandler(&DrvSoundBankSwitch);
|
||||
BurnYM2151SetAllRoutes(0.50, BURN_SND_ROUTE_BOTH);
|
||||
|
||||
TaitoNumYM2151 = 1;
|
||||
TaitoNumYM2610 = 0;
|
||||
|
@ -1318,9 +1319,10 @@ static void CadashSoundSetup()
|
|||
|
||||
static void AsukaSoundSetup()
|
||||
{
|
||||
BurnYM2151Init(4000000, 50.0);
|
||||
BurnYM2151Init(4000000);
|
||||
BurnYM2151SetIrqHandler(&CadashYM2151IRQHandler);
|
||||
BurnYM2151SetPortHandler(&DrvSoundBankSwitch);
|
||||
BurnYM2151SetAllRoutes(0.50, BURN_SND_ROUTE_BOTH);
|
||||
|
||||
MSM5205Init(0, DrvSynchroniseStream, 384000, AsukaMSM5205Vck, MSM5205_S48_4B, 100, 1);
|
||||
|
||||
|
|
|
@ -4246,9 +4246,11 @@ static INT32 OpwolfInit()
|
|||
ZetMemEnd();
|
||||
ZetClose();
|
||||
|
||||
BurnYM2151Init(4000000, 50.0);
|
||||
BurnYM2151Init(4000000);
|
||||
BurnYM2151SetIrqHandler(&TaitoYM2151IRQHandler);
|
||||
BurnYM2151SetPortHandler(&RbislandBankSwitch);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 0.75, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 0.75, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
MSM5205Init(0, TaitoSynchroniseStream, 384000, OpwolfMSM5205Vck0, MSM5205_S48_4B, 60, 1);
|
||||
MSM5205Init(1, TaitoSynchroniseStream, 384000, OpwolfMSM5205Vck1, MSM5205_S48_4B, 60, 1);
|
||||
|
@ -4362,9 +4364,11 @@ static INT32 OpwolfbInit()
|
|||
ZetMemEnd();
|
||||
ZetClose();
|
||||
|
||||
BurnYM2151Init(4000000, 50.0);
|
||||
BurnYM2151Init(4000000);
|
||||
BurnYM2151SetIrqHandler(&TaitoYM2151IRQHandler);
|
||||
BurnYM2151SetPortHandler(&RbislandBankSwitch);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 0.75, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 0.75, BURN_SND_ROUTE_RIGHT);
|
||||
|
||||
MSM5205Init(0, TaitoSynchroniseStream, 384000, OpwolfMSM5205Vck0, MSM5205_S48_4B, 60, 1);
|
||||
MSM5205Init(1, TaitoSynchroniseStream, 384000, OpwolfMSM5205Vck1, MSM5205_S48_4B, 60, 1);
|
||||
|
@ -4463,9 +4467,10 @@ static INT32 RbislandInit()
|
|||
ZetMemEnd();
|
||||
ZetClose();
|
||||
|
||||
BurnYM2151Init(16000000 / 4, 50.0);
|
||||
BurnYM2151Init(16000000 / 4);
|
||||
BurnYM2151SetIrqHandler(&TaitoYM2151IRQHandler);
|
||||
BurnYM2151SetPortHandler(&RbislandBankSwitch);
|
||||
BurnYM2151SetAllRoutes(0.50, BURN_SND_ROUTE_BOTH);
|
||||
|
||||
GenericTilesInit();
|
||||
|
||||
|
@ -4652,9 +4657,10 @@ static INT32 RastanInit()
|
|||
ZetMemEnd();
|
||||
ZetClose();
|
||||
|
||||
BurnYM2151Init(16000000 / 4, 50.0);
|
||||
BurnYM2151Init(16000000 / 4);
|
||||
BurnYM2151SetIrqHandler(&TaitoYM2151IRQHandler);
|
||||
BurnYM2151SetPortHandler(&RastanBankSwitch);
|
||||
BurnYM2151SetAllRoutes(0.50, BURN_SND_ROUTE_BOTH);
|
||||
|
||||
MSM5205Init(0, TaitoSynchroniseStream, 384000, RastanMSM5205Vck, MSM5205_S48_4B, 60, 1);
|
||||
|
||||
|
@ -4759,9 +4765,10 @@ static INT32 TopspeedInit()
|
|||
ZetMemEnd();
|
||||
ZetClose();
|
||||
|
||||
BurnYM2151Init(16000000 / 4, 50.0);
|
||||
BurnYM2151Init(16000000 / 4);
|
||||
BurnYM2151SetIrqHandler(&TaitoYM2151IRQHandler);
|
||||
BurnYM2151SetPortHandler(&TopspeedBankSwitch);
|
||||
BurnYM2151SetAllRoutes(0.30, BURN_SND_ROUTE_BOTH);
|
||||
|
||||
MSM5205Init(0, TaitoSynchroniseStream, 384000, TopspeedMSM5205Vck, MSM5205_S48_4B, 60, 1);
|
||||
|
||||
|
|
|
@ -1117,8 +1117,10 @@ static INT32 TaitoXInit(INT32 nSoundType)
|
|||
ZetClose();
|
||||
|
||||
if (nSoundType == 1) {
|
||||
BurnYM2151Init(4000000, 50.0);
|
||||
BurnYM2151Init(4000000);
|
||||
BurnYM2151SetIrqHandler(&TaitoXYM2151IRQHandler);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 0.45, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 0.45, BURN_SND_ROUTE_RIGHT);
|
||||
} else {
|
||||
if (nSoundType == 2) {
|
||||
BurnYM2610Init(8000000, TaitoYM2610BRom, (INT32*)&TaitoYM2610BRomSize, TaitoYM2610ARom, (INT32*)&TaitoYM2610ARomSize, NULL, TaitoXSynchroniseStream, TaitoXGetTime, 0);
|
||||
|
|
|
@ -1312,7 +1312,8 @@ static INT32 Type1Init(INT32 mcutype)
|
|||
tnzs_mcu_init(mcutype);
|
||||
|
||||
if (mcutype == MCU_NONE_JPOPNICS) {
|
||||
BurnYM2151Init(3000000, 30.0); // jpopnics
|
||||
BurnYM2151Init(3000000); // jpopnics
|
||||
BurnYM2151SetAllRoutes(0.30, BURN_SND_ROUTE_BOTH);
|
||||
} else {
|
||||
BurnYM2203Init(1, 3000000, NULL, DrvSynchroniseStream, DrvGetTime, 0);
|
||||
BurnYM2203SetAllRoutes(0, 0.30, BURN_SND_ROUTE_BOTH);
|
||||
|
|
|
@ -769,7 +769,8 @@ static INT32 drvInit()
|
|||
|
||||
drvZInit(); // Initialize Z80
|
||||
|
||||
BurnYM2151Init(32000000 / 8, 50.0);
|
||||
BurnYM2151Init(32000000 / 8);
|
||||
BurnYM2151SetAllRoutes(1.00, BURN_SND_ROUTE_BOTH);
|
||||
MSM6295Init(0, 32000000 / 10 / 132, 50.0, 1);
|
||||
MSM6295Init(1, 32000000 / 10 / 165, 50.0, 1);
|
||||
|
||||
|
|
|
@ -519,7 +519,8 @@ static INT32 DrvInit()
|
|||
VezClose();
|
||||
}
|
||||
|
||||
BurnYM2151Init(3375000, 50.0);
|
||||
BurnYM2151Init(3375000);
|
||||
BurnYM2151SetAllRoutes(0.50, BURN_SND_ROUTE_BOTH);
|
||||
MSM6295Init(0, 4000000 / 132, 50.0, 1);
|
||||
|
||||
nSpriteYOffset = 0x0001;
|
||||
|
|
|
@ -770,7 +770,8 @@ static INT32 battlegInit()
|
|||
|
||||
DrvZ80Init(); // Initialize Z80
|
||||
|
||||
BurnYM2151Init(32000000 / 8, 50.0);
|
||||
BurnYM2151Init(32000000 / 8);
|
||||
BurnYM2151SetAllRoutes(1.00, BURN_SND_ROUTE_BOTH);
|
||||
MSM6295Init(0, 32000000 / 16 / 132, 50.0, 1);
|
||||
|
||||
nToaPalLen = nColCount;
|
||||
|
|
|
@ -598,7 +598,8 @@ static INT32 DrvInit()
|
|||
VezClose();
|
||||
}
|
||||
|
||||
BurnYM2151Init(3375000, 50.0);
|
||||
BurnYM2151Init(3375000);
|
||||
BurnYM2151SetAllRoutes(0.50, BURN_SND_ROUTE_BOTH);
|
||||
MSM6295Init(0, 1041667 / 132, 50.0, 1);
|
||||
|
||||
nSpriteXOffset = 0x0024;
|
||||
|
|
|
@ -603,7 +603,8 @@ static INT32 DrvInit(INT32 region)
|
|||
ToaPalSrc = RamPal;
|
||||
ToaPalInit();
|
||||
|
||||
BurnYM2151Init(27000000 / 8, 50.0);
|
||||
BurnYM2151Init(27000000 / 8);
|
||||
BurnYM2151SetAllRoutes(0.50, BURN_SND_ROUTE_BOTH);
|
||||
MSM6295Init(0, 1000000 / 132, 50.0, 1);
|
||||
|
||||
bDrawScreen = true;
|
||||
|
|
|
@ -451,7 +451,8 @@ static INT32 DrvInit()
|
|||
VezClose();
|
||||
}
|
||||
|
||||
BurnYM2151Init(3375000, 50.0);
|
||||
BurnYM2151Init(3375000);
|
||||
BurnYM2151SetAllRoutes(0.50, BURN_SND_ROUTE_BOTH);
|
||||
MSM6295Init(0, 1000000 / 132, 50.0, 1);
|
||||
|
||||
nSpriteYOffset = 0x0011;
|
||||
|
|
|
@ -510,7 +510,8 @@ static INT32 DrvInit()
|
|||
ToaPalSrc = RamPal;
|
||||
ToaPalInit();
|
||||
|
||||
BurnYM2151Init(27000000 / 8, 50.0);
|
||||
BurnYM2151Init(27000000 / 8);
|
||||
BurnYM2151SetAllRoutes(1.00, BURN_SND_ROUTE_BOTH);
|
||||
MSM6295Init(0, 32000000 / 32 / 132, 50.0, 1);
|
||||
|
||||
bDrawScreen = true;
|
||||
|
|
|
@ -529,7 +529,8 @@ static INT32 DrvInit()
|
|||
ToaPalSrc = RamPal;
|
||||
ToaPalInit();
|
||||
|
||||
BurnYM2151Init(27000000 / 8, 50.0);
|
||||
BurnYM2151Init(27000000 / 8);
|
||||
BurnYM2151SetAllRoutes(1.00, BURN_SND_ROUTE_BOTH);
|
||||
MSM6295Init(0, 32000000 / 32 / 132, 50.0, 1);
|
||||
|
||||
bDrawScreen = true;
|
||||
|
|
|
@ -581,7 +581,8 @@ static INT32 DrvInit()
|
|||
ToaPalSrc = RamPal;
|
||||
ToaPalInit();
|
||||
|
||||
BurnYM2151Init(27000000 / 8, 50.0);
|
||||
BurnYM2151Init(27000000 / 8);
|
||||
BurnYM2151SetAllRoutes(1.00, BURN_SND_ROUTE_BOTH);
|
||||
MSM6295Init(0, 27000000 / 10 / 132, 50.0, 1);
|
||||
|
||||
bDrawScreen = true;
|
||||
|
|
|
@ -574,7 +574,9 @@ static INT32 DrvInit()
|
|||
ToaPalSrc = RamPal;
|
||||
ToaPalInit();
|
||||
|
||||
BurnYM2151Init(27000000 / 8, 50.0);
|
||||
BurnYM2151Init(27000000 / 8);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, 1.00, BURN_SND_ROUTE_LEFT);
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, 1.00, BURN_SND_ROUTE_RIGHT);
|
||||
MSM6295Init(0, 27000000 / 10 / 132, 50.0, 1);
|
||||
|
||||
bDrawScreen = true;
|
||||
|
|
|
@ -496,7 +496,8 @@ static INT32 DrvInit()
|
|||
VezClose();
|
||||
}
|
||||
|
||||
BurnYM2151Init(3375000, 100.0);
|
||||
BurnYM2151Init(3375000);
|
||||
BurnYM2151SetAllRoutes(1.00, BURN_SND_ROUTE_BOTH);
|
||||
|
||||
nSpriteYOffset = 0x0001;
|
||||
|
||||
|
|
|
@ -17,7 +17,8 @@ static UINT32 nSampleSize;
|
|||
static UINT32 nFractionalPosition;
|
||||
static UINT32 nSamplesRendered;
|
||||
|
||||
static INT32 nYM2151Volume;
|
||||
static double YM2151Volumes[2];
|
||||
static INT32 YM2151RouteDirs[2];
|
||||
|
||||
static void YM2151RenderResample(INT16* pSoundBuf, INT32 nSegmentLength)
|
||||
{
|
||||
|
@ -25,7 +26,7 @@ static void YM2151RenderResample(INT16* pSoundBuf, INT32 nSegmentLength)
|
|||
if (!DebugSnd_YM2151Initted) bprintf(PRINT_ERROR, _T("YM2151RenderResample called without init\n"));
|
||||
#endif
|
||||
|
||||
nBurnPosition += nSegmentLength;
|
||||
/* nBurnPosition += nSegmentLength;
|
||||
|
||||
if (nBurnPosition >= nBurnSoundRate) {
|
||||
nBurnPosition = nSegmentLength;
|
||||
|
@ -77,6 +78,82 @@ static void YM2151RenderResample(INT16* pSoundBuf, INT32 nSegmentLength)
|
|||
pYM2151Buffer[1][(nFractionalPosition >> 16) - 1],
|
||||
pYM2151Buffer[1][(nFractionalPosition >> 16) - 0],
|
||||
nYM2151Volume);
|
||||
}*/
|
||||
|
||||
nBurnPosition += nSegmentLength;
|
||||
|
||||
if (nBurnPosition >= nBurnSoundRate) {
|
||||
nBurnPosition = nSegmentLength;
|
||||
|
||||
pYM2151Buffer[0][1] = pYM2151Buffer[0][(nFractionalPosition >> 16) - 3];
|
||||
pYM2151Buffer[0][2] = pYM2151Buffer[0][(nFractionalPosition >> 16) - 2];
|
||||
pYM2151Buffer[0][3] = pYM2151Buffer[0][(nFractionalPosition >> 16) - 1];
|
||||
|
||||
pYM2151Buffer[1][1] = pYM2151Buffer[1][(nFractionalPosition >> 16) - 3];
|
||||
pYM2151Buffer[1][2] = pYM2151Buffer[1][(nFractionalPosition >> 16) - 2];
|
||||
pYM2151Buffer[1][3] = pYM2151Buffer[1][(nFractionalPosition >> 16) - 1];
|
||||
|
||||
nSamplesRendered -= (nFractionalPosition >> 16) - 4;
|
||||
|
||||
for (UINT32 i = 0; i <= nSamplesRendered; i++) {
|
||||
pYM2151Buffer[0][4 + i] = pYM2151Buffer[0][(nFractionalPosition >> 16) + i];
|
||||
pYM2151Buffer[1][4 + i] = pYM2151Buffer[1][(nFractionalPosition >> 16) + i];
|
||||
}
|
||||
|
||||
nFractionalPosition &= 0x0000FFFF;
|
||||
nFractionalPosition |= 4 << 16;
|
||||
}
|
||||
|
||||
pYM2151Buffer[0] = pBuffer + 4 + nSamplesRendered;
|
||||
pYM2151Buffer[1] = pBuffer + 4 + nSamplesRendered + 65536;
|
||||
|
||||
YM2151UpdateOne(0, pYM2151Buffer, (UINT32)(nBurnPosition + 1) * nBurnYM2151SoundRate / nBurnSoundRate - nSamplesRendered);
|
||||
nSamplesRendered += (UINT32)(nBurnPosition + 1) * nBurnYM2151SoundRate / nBurnSoundRate - nSamplesRendered;
|
||||
|
||||
pYM2151Buffer[0] = pBuffer;
|
||||
pYM2151Buffer[1] = pBuffer + 65536;
|
||||
|
||||
nSegmentLength <<= 1;
|
||||
|
||||
for (INT32 i = 0; i < nSegmentLength; i += 2, nFractionalPosition += nSampleSize) {
|
||||
INT32 nLeftSample[4] = {0, 0, 0, 0};
|
||||
INT32 nRightSample[4] = {0, 0, 0, 0};
|
||||
INT32 nTotalLeftSample, nTotalRightSample;
|
||||
|
||||
if ((YM2151RouteDirs[BURN_SND_YM2151_YM2151_ROUTE_1] & BURN_SND_ROUTE_LEFT) == BURN_SND_ROUTE_LEFT) {
|
||||
nLeftSample[0] += (INT32)(pYM2151Buffer[0][(nFractionalPosition >> 16) - 3] * YM2151Volumes[BURN_SND_YM2151_YM2151_ROUTE_1]);
|
||||
nLeftSample[1] += (INT32)(pYM2151Buffer[0][(nFractionalPosition >> 16) - 2] * YM2151Volumes[BURN_SND_YM2151_YM2151_ROUTE_1]);
|
||||
nLeftSample[2] += (INT32)(pYM2151Buffer[0][(nFractionalPosition >> 16) - 1] * YM2151Volumes[BURN_SND_YM2151_YM2151_ROUTE_1]);
|
||||
nLeftSample[3] += (INT32)(pYM2151Buffer[0][(nFractionalPosition >> 16) - 0] * YM2151Volumes[BURN_SND_YM2151_YM2151_ROUTE_1]);
|
||||
}
|
||||
if ((YM2151RouteDirs[BURN_SND_YM2151_YM2151_ROUTE_1] & BURN_SND_ROUTE_RIGHT) == BURN_SND_ROUTE_RIGHT) {
|
||||
nRightSample[0] += (INT32)(pYM2151Buffer[0][(nFractionalPosition >> 16) - 3] * YM2151Volumes[BURN_SND_YM2151_YM2151_ROUTE_1]);
|
||||
nRightSample[1] += (INT32)(pYM2151Buffer[0][(nFractionalPosition >> 16) - 2] * YM2151Volumes[BURN_SND_YM2151_YM2151_ROUTE_1]);
|
||||
nRightSample[2] += (INT32)(pYM2151Buffer[0][(nFractionalPosition >> 16) - 1] * YM2151Volumes[BURN_SND_YM2151_YM2151_ROUTE_1]);
|
||||
nRightSample[3] += (INT32)(pYM2151Buffer[0][(nFractionalPosition >> 16) - 0] * YM2151Volumes[BURN_SND_YM2151_YM2151_ROUTE_1]);
|
||||
}
|
||||
|
||||
if ((YM2151RouteDirs[BURN_SND_YM2151_YM2151_ROUTE_2] & BURN_SND_ROUTE_LEFT) == BURN_SND_ROUTE_LEFT) {
|
||||
nLeftSample[0] += (INT32)(pYM2151Buffer[1][(nFractionalPosition >> 16) - 3] * YM2151Volumes[BURN_SND_YM2151_YM2151_ROUTE_2]);
|
||||
nLeftSample[1] += (INT32)(pYM2151Buffer[1][(nFractionalPosition >> 16) - 2] * YM2151Volumes[BURN_SND_YM2151_YM2151_ROUTE_2]);
|
||||
nLeftSample[2] += (INT32)(pYM2151Buffer[1][(nFractionalPosition >> 16) - 1] * YM2151Volumes[BURN_SND_YM2151_YM2151_ROUTE_2]);
|
||||
nLeftSample[3] += (INT32)(pYM2151Buffer[1][(nFractionalPosition >> 16) - 0] * YM2151Volumes[BURN_SND_YM2151_YM2151_ROUTE_2]);
|
||||
}
|
||||
if ((YM2151RouteDirs[BURN_SND_YM2151_YM2151_ROUTE_2] & BURN_SND_ROUTE_RIGHT) == BURN_SND_ROUTE_RIGHT) {
|
||||
nRightSample[0] += (INT32)(pYM2151Buffer[1][(nFractionalPosition >> 16) - 3] * YM2151Volumes[BURN_SND_YM2151_YM2151_ROUTE_2]);
|
||||
nRightSample[1] += (INT32)(pYM2151Buffer[1][(nFractionalPosition >> 16) - 2] * YM2151Volumes[BURN_SND_YM2151_YM2151_ROUTE_2]);
|
||||
nRightSample[2] += (INT32)(pYM2151Buffer[1][(nFractionalPosition >> 16) - 1] * YM2151Volumes[BURN_SND_YM2151_YM2151_ROUTE_2]);
|
||||
nRightSample[3] += (INT32)(pYM2151Buffer[1][(nFractionalPosition >> 16) - 0] * YM2151Volumes[BURN_SND_YM2151_YM2151_ROUTE_2]);
|
||||
}
|
||||
|
||||
nTotalLeftSample = INTERPOLATE4PS_CUSTOM((nFractionalPosition >> 4) & 0x0fff, nLeftSample[0], nLeftSample[1], nLeftSample[2], nLeftSample[3], 16384.0);
|
||||
nTotalRightSample = INTERPOLATE4PS_CUSTOM((nFractionalPosition >> 4) & 0x0fff, nRightSample[0], nRightSample[1], nRightSample[2], nRightSample[3], 16384.0);
|
||||
|
||||
nTotalLeftSample = BURN_SND_CLIP(nTotalLeftSample);
|
||||
nTotalRightSample = BURN_SND_CLIP(nTotalRightSample);
|
||||
|
||||
pSoundBuf[i + 0] = nTotalLeftSample;
|
||||
pSoundBuf[i + 1] = nTotalRightSample;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -93,22 +170,28 @@ static void YM2151RenderNormal(INT16* pSoundBuf, INT32 nSegmentLength)
|
|||
|
||||
YM2151UpdateOne(0, pYM2151Buffer, nSegmentLength);
|
||||
|
||||
if (bBurnUseMMX) {
|
||||
#if defined BUILD_X86_ASM
|
||||
BurnSoundCopy_FM_A(pYM2151Buffer[0], pYM2151Buffer[1], pSoundBuf, nSegmentLength, nYM2151Volume, nYM2151Volume);
|
||||
#endif
|
||||
} else {
|
||||
for (INT32 n = 0; n < nSegmentLength; n++) {
|
||||
for (INT32 i = 0; i < 2; i++) {
|
||||
INT32 nSample = pYM2151Buffer[i][n] * (nYM2151Volume >> 10);
|
||||
nSample >>= 8;
|
||||
INT32 nLeftSample = 0, nRightSample = 0;
|
||||
|
||||
if (nSample < -32768) nSample = -32768;
|
||||
if (nSample > 32767) nSample = 32767;
|
||||
if ((YM2151RouteDirs[BURN_SND_YM2151_YM2151_ROUTE_1] & BURN_SND_ROUTE_LEFT) == BURN_SND_ROUTE_LEFT) {
|
||||
nLeftSample += (INT32)(pYM2151Buffer[0][n] * YM2151Volumes[BURN_SND_YM2151_YM2151_ROUTE_1]);
|
||||
}
|
||||
if ((YM2151RouteDirs[BURN_SND_YM2151_YM2151_ROUTE_1] & BURN_SND_ROUTE_RIGHT) == BURN_SND_ROUTE_RIGHT) {
|
||||
nRightSample += (INT32)(pYM2151Buffer[0][n] * YM2151Volumes[BURN_SND_YM2151_YM2151_ROUTE_1]);
|
||||
}
|
||||
|
||||
pSoundBuf[(n << 1) + i] = nSample;
|
||||
if ((YM2151RouteDirs[BURN_SND_YM2151_YM2151_ROUTE_2] & BURN_SND_ROUTE_LEFT) == BURN_SND_ROUTE_LEFT) {
|
||||
nLeftSample += (INT32)(pYM2151Buffer[1][n] * YM2151Volumes[BURN_SND_YM2151_YM2151_ROUTE_2]);
|
||||
}
|
||||
if ((YM2151RouteDirs[BURN_SND_YM2151_YM2151_ROUTE_2] & BURN_SND_ROUTE_RIGHT) == BURN_SND_ROUTE_RIGHT) {
|
||||
nRightSample += (INT32)(pYM2151Buffer[1][n] * YM2151Volumes[BURN_SND_YM2151_YM2151_ROUTE_2]);
|
||||
}
|
||||
|
||||
nLeftSample = BURN_SND_CLIP(nLeftSample);
|
||||
nRightSample = BURN_SND_CLIP(nRightSample);
|
||||
|
||||
pSoundBuf[(n << 1) + 0] = nLeftSample;
|
||||
pSoundBuf[(n << 1) + 1] = nRightSample;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -141,6 +224,13 @@ void BurnYM2151Exit()
|
|||
}
|
||||
|
||||
INT32 BurnYM2151Init(INT32 nClockFrequency, float nVolume)
|
||||
{
|
||||
// deprecated
|
||||
|
||||
return BurnYM2151Init(nClockFrequency);
|
||||
}
|
||||
|
||||
INT32 BurnYM2151Init(INT32 nClockFrequency)
|
||||
{
|
||||
DebugSnd_YM2151Initted = 1;
|
||||
|
||||
|
@ -158,13 +248,9 @@ INT32 BurnYM2151Init(INT32 nClockFrequency, float nVolume)
|
|||
}
|
||||
|
||||
BurnYM2151Render = YM2151RenderResample;
|
||||
|
||||
nYM2151Volume = (INT32)((double)16384.0 * 100.0 / nVolume);
|
||||
} else {
|
||||
nBurnYM2151SoundRate = nBurnSoundRate;
|
||||
BurnYM2151Render = YM2151RenderNormal;
|
||||
|
||||
nYM2151Volume = (INT32)((double)65536.0 * 100.0 / nVolume);
|
||||
}
|
||||
|
||||
YM2151Init(1, nClockFrequency, nBurnYM2151SoundRate);
|
||||
|
@ -177,9 +263,26 @@ INT32 BurnYM2151Init(INT32 nClockFrequency, float nVolume)
|
|||
nSamplesRendered = 0;
|
||||
nBurnPosition = 0;
|
||||
|
||||
// default routes
|
||||
YM2151Volumes[BURN_SND_YM2151_YM2151_ROUTE_1] = 1.00;
|
||||
YM2151Volumes[BURN_SND_YM2151_YM2151_ROUTE_2] = 1.00;
|
||||
YM2151RouteDirs[BURN_SND_YM2151_YM2151_ROUTE_1] = BURN_SND_ROUTE_BOTH;
|
||||
YM2151RouteDirs[BURN_SND_YM2151_YM2151_ROUTE_2] = BURN_SND_ROUTE_BOTH;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
void BurnYM2151SetRoute(INT32 nIndex, double nVolume, INT32 nRouteDir)
|
||||
{
|
||||
#if defined FBA_DEBUG
|
||||
if (!DebugSnd_YM2151Initted) bprintf(PRINT_ERROR, _T("BurnYM2151SetRoute called without init\n"));
|
||||
if (nIndex < 0 || nIndex > 1) bprintf(PRINT_ERROR, _T("BurnYM2151SetRoute called with invalid index %i\n"), nIndex);
|
||||
#endif
|
||||
|
||||
YM2151Volumes[nIndex] = nVolume;
|
||||
YM2151RouteDirs[nIndex] = nRouteDir;
|
||||
}
|
||||
|
||||
void BurnYM2151Scan(INT32 nAction)
|
||||
{
|
||||
#if defined FBA_DEBUG
|
||||
|
|
|
@ -5,6 +5,8 @@ extern "C" {
|
|||
}
|
||||
|
||||
INT32 BurnYM2151Init(INT32 nClockFrequency, float nVolume);
|
||||
INT32 BurnYM2151Init(INT32 nClockFrequency);
|
||||
void BurnYM2151SetRoute(INT32 nIndex, double nVolume, INT32 nRouteDir);
|
||||
void BurnYM2151Reset();
|
||||
void BurnYM2151Exit();
|
||||
extern void (*BurnYM2151Render)(INT16* pSoundBuf, INT32 nSegmentLength);
|
||||
|
@ -43,3 +45,10 @@ static inline void BurnYM2151WriteRegister(const UINT8 nValue)
|
|||
#define BurnYM2151SetIrqHandler(h) YM2151SetIrqHandler(0, h)
|
||||
#define BurnYM2151SetPortHandler(h) YM2151SetPortWriteHandler(0, h)
|
||||
#endif
|
||||
|
||||
#define BURN_SND_YM2151_YM2151_ROUTE_1 0
|
||||
#define BURN_SND_YM2151_YM2151_ROUTE_2 1
|
||||
|
||||
#define BurnYM2151SetAllRoutes(v, d) \
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_1, v, d); \
|
||||
BurnYM2151SetRoute(BURN_SND_YM2151_YM2151_ROUTE_2, v, d);
|
||||
|
|
Loading…
Reference in New Issue