Update Taito drivers with YM2203 route support, add remove BurnYM2203SetVolShift

This commit is contained in:
Barry Harris 2012-05-16 15:51:48 +00:00
parent e7d9c2bc93
commit 9c34e389d8
9 changed files with 49 additions and 16 deletions

View File

@ -403,8 +403,8 @@ static INT32 DrvInit()
BurnYM2203Init(1, 4000000, &DrvIRQHandler, DrvSynchroniseStream, DrvGetTime, 0); BurnYM2203Init(1, 4000000, &DrvIRQHandler, DrvSynchroniseStream, DrvGetTime, 0);
BurnYM2203SetPorts(0, NULL, NULL, &DrvYM2203WritePortA, &DrvYM2203WritePortB); BurnYM2203SetPorts(0, NULL, NULL, &DrvYM2203WritePortA, &DrvYM2203WritePortB);
BurnYM2203SetVolumeShift(4);
BurnTimerAttachZet(4000000); BurnTimerAttachZet(4000000);
BurnYM2203SetAllRoutes(0, 0.10, BURN_SND_ROUTE_BOTH);
ZetClose(); ZetClose();

View File

@ -1756,6 +1756,7 @@ static INT32 MachineInit()
BurnYM2203Init(1, 3000000, &DrvYM2203IRQHandler, DrvSynchroniseStream, DrvGetTime, 0); BurnYM2203Init(1, 3000000, &DrvYM2203IRQHandler, DrvSynchroniseStream, DrvGetTime, 0);
BurnTimerAttachZet(3000000); BurnTimerAttachZet(3000000);
BurnYM2203SetAllRoutes(0, 0.25, BURN_SND_ROUTE_BOTH);
BurnYM3526Init(3000000, NULL, &DrvYM3526SynchroniseStream, 1); BurnYM3526Init(3000000, NULL, &DrvYM3526SynchroniseStream, 1);
BurnTimerAttachZetYM3526(6000000); BurnTimerAttachZetYM3526(6000000);
@ -2148,8 +2149,11 @@ static INT32 TokioInit()
ZetClose(); ZetClose();
BurnYM2203Init(1, 3000000, &DrvYM2203IRQHandler, DrvSynchroniseStream, DrvGetTime, 0); BurnYM2203Init(1, 3000000, &DrvYM2203IRQHandler, DrvSynchroniseStream, DrvGetTime, 0);
BurnYM2203SetVolumeShift(2);
BurnTimerAttachZet(3000000); BurnTimerAttachZet(3000000);
BurnYM2203SetRoute(0, BURN_SND_YM2203_YM2203_ROUTE, 0.10, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(0, BURN_SND_YM2203_AY8910_ROUTE_1, 0.08, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(0, BURN_SND_YM2203_AY8910_ROUTE_2, 0.08, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(0, BURN_SND_YM2203_AY8910_ROUTE_3, 0.08, BURN_SND_ROUTE_BOTH);
GenericTilesInit(); GenericTilesInit();

View File

@ -629,8 +629,15 @@ static INT32 DrvInit()
m67805_taito_init(DrvMcuROM, DrvMcuRAM, &standard_m68705_interface); m67805_taito_init(DrvMcuROM, DrvMcuRAM, &standard_m68705_interface);
BurnYM2203Init(2, 4000000, &DrvYM2203IRQHandler, DrvSynchroniseStream, DrvGetTime, 0); BurnYM2203Init(2, 4000000, &DrvYM2203IRQHandler, DrvSynchroniseStream, DrvGetTime, 0);
BurnYM2203SetVolumeShift(1);
BurnTimerAttachZet(6000000); BurnTimerAttachZet(6000000);
BurnYM2203SetRoute(0, BURN_SND_YM2203_YM2203_ROUTE, 0.40, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(0, BURN_SND_YM2203_AY8910_ROUTE_1, 0.15, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(0, BURN_SND_YM2203_AY8910_ROUTE_2, 0.15, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(0, BURN_SND_YM2203_AY8910_ROUTE_3, 0.15, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(1, BURN_SND_YM2203_YM2203_ROUTE, 0.40, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(1, BURN_SND_YM2203_AY8910_ROUTE_1, 0.15, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(1, BURN_SND_YM2203_AY8910_ROUTE_2, 0.15, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(1, BURN_SND_YM2203_AY8910_ROUTE_3, 0.15, BURN_SND_ROUTE_BOTH);
DrvDoReset(); DrvDoReset();

View File

@ -1835,8 +1835,11 @@ static void common_ym2203_init()
BurnYM2203Init(1, 3000000, DrvFMIRQHandler, DrvSynchroniseStream, DrvGetTime, 0); BurnYM2203Init(1, 3000000, DrvFMIRQHandler, DrvSynchroniseStream, DrvGetTime, 0);
BurnYM2203SetPorts(0, NULL, NULL, &bankswitch, NULL); BurnYM2203SetPorts(0, NULL, NULL, &bankswitch, NULL);
BurnYM2203SetVolumeShift(2);
BurnTimerAttachZet(cpu_speed[1]); BurnTimerAttachZet(cpu_speed[1]);
BurnYM2203SetRoute(0, BURN_SND_YM2203_YM2203_ROUTE, 0.80, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(0, BURN_SND_YM2203_AY8910_ROUTE_1, 0.25, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(0, BURN_SND_YM2203_AY8910_ROUTE_2, 0.25, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(0, BURN_SND_YM2203_AY8910_ROUTE_3, 0.25, BURN_SND_ROUTE_BOTH);
MSM6295ROM = TaitoMSM6295Rom; MSM6295ROM = TaitoMSM6295Rom;

View File

@ -7620,6 +7620,10 @@ static INT32 CamltryaInit()
BurnYM2203Init(1, 24000000 / 8, &TaitoF2FMIRQHandler, CamltryaSynchroniseStream, CamltryaGetTime, 0); BurnYM2203Init(1, 24000000 / 8, &TaitoF2FMIRQHandler, CamltryaSynchroniseStream, CamltryaGetTime, 0);
BurnTimerAttachZet(24000000 / 4); BurnTimerAttachZet(24000000 / 4);
BurnYM2203SetRoute(0, BURN_SND_YM2203_YM2203_ROUTE, 0.60, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(0, BURN_SND_YM2203_AY8910_ROUTE_1, 0.20, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(0, BURN_SND_YM2203_AY8910_ROUTE_2, 0.20, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(0, BURN_SND_YM2203_AY8910_ROUTE_3, 0.20, BURN_SND_ROUTE_BOTH);
MSM6295Init(0, (4224000 / 4) / 132 , 100.0, 1); MSM6295Init(0, (4224000 / 4) / 132 , 100.0, 1);

View File

@ -4143,8 +4143,15 @@ static INT32 DariusInit()
ZetClose(); ZetClose();
BurnYM2203Init(2, 4000000, TaitoYM2203IRQHandler, TaitoSynchroniseStream, TaitoGetTime, 0); BurnYM2203Init(2, 4000000, TaitoYM2203IRQHandler, TaitoSynchroniseStream, TaitoGetTime, 0);
BurnYM2203SetVolumeShift(2);
BurnTimerAttachZet(8000000 / 2); BurnTimerAttachZet(8000000 / 2);
BurnYM2203SetRoute(0, BURN_SND_YM2203_YM2203_ROUTE, 0.60, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(0, BURN_SND_YM2203_AY8910_ROUTE_1, 0.08, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(0, BURN_SND_YM2203_AY8910_ROUTE_2, 0.08, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(0, BURN_SND_YM2203_AY8910_ROUTE_3, 0.08, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(1, BURN_SND_YM2203_YM2203_ROUTE, 0.60, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(1, BURN_SND_YM2203_AY8910_ROUTE_1, 0.08, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(1, BURN_SND_YM2203_AY8910_ROUTE_2, 0.08, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(1, BURN_SND_YM2203_AY8910_ROUTE_3, 0.08, BURN_SND_ROUTE_BOTH);
MSM5205Init(0, TaitoSynchroniseStream, 384000, DariusAdpcmInt, MSM5205_S48_4B, 50, 1); MSM5205Init(0, TaitoSynchroniseStream, 384000, DariusAdpcmInt, MSM5205_S48_4B, 50, 1);
@ -4554,6 +4561,8 @@ static INT32 JumpingInit()
BurnYM2203Init(2, 3579545, NULL, TaitoSynchroniseStream, TaitoGetTime, 0); BurnYM2203Init(2, 3579545, NULL, TaitoSynchroniseStream, TaitoGetTime, 0);
BurnTimerAttachZet(4000000); BurnTimerAttachZet(4000000);
BurnYM2203SetAllRoutes(0, 0.30, BURN_SND_ROUTE_BOTH);
BurnYM2203SetAllRoutes(1, 0.30, BURN_SND_ROUTE_BOTH);
GenericTilesInit(); GenericTilesInit();
@ -4840,6 +4849,10 @@ static INT32 VolfiedInit()
BurnYM2203Init(1, 4000000, TaitoYM2203IRQHandler, TaitoSynchroniseStream, TaitoGetTime, 0); BurnYM2203Init(1, 4000000, TaitoYM2203IRQHandler, TaitoSynchroniseStream, TaitoGetTime, 0);
BurnYM2203SetPorts(0, &VolfiedDip1Read, &VolfiedDip2Read, NULL, NULL); BurnYM2203SetPorts(0, &VolfiedDip1Read, &VolfiedDip2Read, NULL, NULL);
BurnTimerAttachZet(4000000); BurnTimerAttachZet(4000000);
BurnYM2203SetRoute(0, BURN_SND_YM2203_YM2203_ROUTE, 0.60, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(0, BURN_SND_YM2203_AY8910_ROUTE_1, 0.15, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(0, BURN_SND_YM2203_AY8910_ROUTE_2, 0.15, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(0, BURN_SND_YM2203_AY8910_ROUTE_3, 0.15, BURN_SND_ROUTE_BOTH);
GenericTilesInit(); GenericTilesInit();

View File

@ -1315,10 +1315,14 @@ static INT32 Type1Init(INT32 mcutype)
BurnYM2151Init(3000000, 30.0); // jpopnics BurnYM2151Init(3000000, 30.0); // jpopnics
} else { } else {
BurnYM2203Init(1, 3000000, NULL, DrvSynchroniseStream, DrvGetTime, 0); BurnYM2203Init(1, 3000000, NULL, DrvSynchroniseStream, DrvGetTime, 0);
BurnYM2203SetAllRoutes(0, 0.30, BURN_SND_ROUTE_BOTH);
if (mcutype == MCU_NONE_KAGEKI) { if (mcutype == MCU_NONE_KAGEKI) {
BurnYM2203SetPorts(0, &kageki_ym2203_portA, NULL, NULL, &kageki_ym2203_write_portB); BurnYM2203SetPorts(0, &kageki_ym2203_portA, NULL, NULL, &kageki_ym2203_write_portB);
BurnYM2203SetVolumeShift(2); BurnYM2203SetRoute(0, BURN_SND_YM2203_YM2203_ROUTE, 0.35, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(0, BURN_SND_YM2203_AY8910_ROUTE_1, 0.15, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(0, BURN_SND_YM2203_AY8910_ROUTE_2, 0.15, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(0, BURN_SND_YM2203_AY8910_ROUTE_3, 0.15, BURN_SND_ROUTE_BOTH);
} else { } else {
BurnYM2203SetPorts(0, &tnzs_ym2203_portA, &tnzs_ym2203_portB, NULL, NULL); BurnYM2203SetPorts(0, &tnzs_ym2203_portA, &tnzs_ym2203_portB, NULL, NULL);
} }
@ -1434,6 +1438,14 @@ static INT32 Type2Init()
BurnYM2203Init(1, 3000000, &DrvYM2203IRQHandler, DrvSynchroniseStream, DrvGetTime, 0); BurnYM2203Init(1, 3000000, &DrvYM2203IRQHandler, DrvSynchroniseStream, DrvGetTime, 0);
BurnYM2203SetPorts(0, NULL, NULL, &kabukiz_sound_bankswitch, &kabukiz_dac_write); BurnYM2203SetPorts(0, NULL, NULL, &kabukiz_sound_bankswitch, &kabukiz_dac_write);
BurnTimerAttachZet(6000000); BurnTimerAttachZet(6000000);
BurnYM2203SetAllRoutes(0, 0.30, BURN_SND_ROUTE_BOTH);
if (strncmp(BurnDrvGetTextA(DRV_NAME), "kabukiz", 7) == 0 || strncmp(BurnDrvGetTextA(DRV_NAME), "tnzsb", 5) == 0) {
BurnYM2203SetRoute(0, BURN_SND_YM2203_YM2203_ROUTE, 2.00, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(0, BURN_SND_YM2203_AY8910_ROUTE_1, 1.00, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(0, BURN_SND_YM2203_AY8910_ROUTE_2, 1.00, BURN_SND_ROUTE_BOTH);
BurnYM2203SetRoute(0, BURN_SND_YM2203_AY8910_ROUTE_3, 1.00, BURN_SND_ROUTE_BOTH);
}
DACInit(0, 0, 1, kabukizSyncDAC); // kabukiz DACInit(0, 0, 1, kabukizSyncDAC); // kabukiz

View File

@ -494,15 +494,6 @@ INT32 BurnYM2203Init(INT32 num, INT32 nClockFrequency, FM_IRQHANDLER IRQCallback
return 0; return 0;
} }
void BurnYM2203SetVolumeShift(INT32)
{
#if defined FBA_DEBUG
if (!DebugSnd_YM2203Initted) bprintf(PRINT_ERROR, _T("BurnYM2203SetVolumeShift called without init\n"));
#endif
// deprecated
}
void BurnYM2203SetRoute(INT32 nChip, INT32 nIndex, double nVolume, INT32 nRouteDir) void BurnYM2203SetRoute(INT32 nChip, INT32 nIndex, double nVolume, INT32 nRouteDir)
{ {
#if defined FBA_DEBUG #if defined FBA_DEBUG

View File

@ -10,7 +10,6 @@ extern "C" void BurnYM2203UpdateRequest();
INT32 BurnYM2203Init(INT32 num, INT32 nClockFrequency, FM_IRQHANDLER IRQCallback, INT32 (*StreamCallback)(INT32), double (*GetTimeCallback)(), INT32 bAddSignal); INT32 BurnYM2203Init(INT32 num, INT32 nClockFrequency, FM_IRQHANDLER IRQCallback, INT32 (*StreamCallback)(INT32), double (*GetTimeCallback)(), INT32 bAddSignal);
void BurnYM2203SetRoute(INT32 nChip, INT32 nIndex, double nVolume, INT32 nRouteDir); void BurnYM2203SetRoute(INT32 nChip, INT32 nIndex, double nVolume, INT32 nRouteDir);
void BurnYM2203SetVolumeShift(INT32 Shift);
void BurnYM2203Reset(); void BurnYM2203Reset();
void BurnYM2203Exit(); void BurnYM2203Exit();
extern void (*BurnYM2203Update)(INT16* pSoundBuf, INT32 nSegmentEnd); extern void (*BurnYM2203Update)(INT16* pSoundBuf, INT32 nSegmentEnd);