mirror of
https://github.com/holub/mame
synced 2025-04-20 23:42:22 +03:00
dooyong.cpp: Reduced volume for YM2151/M6295 sound, coalesced some machine configuration.
This commit is contained in:
parent
fc90db3edb
commit
b018b00a6c
@ -107,7 +107,7 @@ protected:
|
||||
{
|
||||
}
|
||||
|
||||
void sound_2151_4mhz(machine_config &config);
|
||||
void sound_2151(machine_config &config, XTAL ymclk, XTAL okiclk);
|
||||
void bluehawk_sound_map(address_map &map);
|
||||
|
||||
required_device<cpu_device> m_maincpu;
|
||||
@ -233,7 +233,6 @@ protected:
|
||||
|
||||
void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, unsigned extensions = 0);
|
||||
|
||||
void sound_2151(machine_config &config);
|
||||
void bluehawk_map(address_map &map);
|
||||
void flytiger_map(address_map &map);
|
||||
void primella_map(address_map &map);
|
||||
@ -296,7 +295,8 @@ protected:
|
||||
save_item(NAME(m_palette_bank));
|
||||
}
|
||||
|
||||
void sound_2203(machine_config &config);
|
||||
template <typename T>
|
||||
void sound_2203(machine_config &config, T ymclk);
|
||||
|
||||
void lastday_map(address_map &map);
|
||||
void gulfstrm_map(address_map &map);
|
||||
@ -1447,7 +1447,8 @@ u8 dooyong_z80_ym2203_state::unk_r()
|
||||
|
||||
***************************************************************************/
|
||||
|
||||
void dooyong_z80_ym2203_state::sound_2203(machine_config &config)
|
||||
template <typename T>
|
||||
void dooyong_z80_ym2203_state::sound_2203(machine_config &config, T ymclk)
|
||||
{
|
||||
INPUT_MERGER_ANY_HIGH(config, "soundirq").output_handler().set_inputline(m_audiocpu, 0);
|
||||
|
||||
@ -1455,43 +1456,29 @@ void dooyong_z80_ym2203_state::sound_2203(machine_config &config)
|
||||
|
||||
GENERIC_LATCH_8(config, "soundlatch");
|
||||
|
||||
ym2203_device &ym1(YM2203(config, "ym1", 1500000));
|
||||
ym2203_device &ym1(YM2203(config, "ym1", ymclk));
|
||||
ym1.irq_handler().set("soundirq", FUNC(input_merger_any_high_device::in_w<0>));
|
||||
ym1.port_a_read_callback().set(FUNC(dooyong_z80_ym2203_state::unk_r));
|
||||
ym1.add_route(ALL_OUTPUTS, "mono", 0.40);
|
||||
|
||||
ym2203_device &ym2(YM2203(config, "ym2", 1500000));
|
||||
ym2203_device &ym2(YM2203(config, "ym2", ymclk));
|
||||
ym2.irq_handler().set("soundirq", FUNC(input_merger_any_high_device::in_w<1>));
|
||||
ym2.port_a_read_callback().set(FUNC(dooyong_z80_ym2203_state::unk_r));
|
||||
ym2.add_route(ALL_OUTPUTS, "mono", 0.40);
|
||||
}
|
||||
|
||||
void dooyong_z80_state::sound_2151(machine_config &config)
|
||||
void dooyong_state::sound_2151(machine_config &config, XTAL ymclk, XTAL okiclk)
|
||||
{
|
||||
SPEAKER(config, "mono").front_center();
|
||||
|
||||
GENERIC_LATCH_8(config, "soundlatch");
|
||||
|
||||
ym2151_device &ymsnd(YM2151(config, "ymsnd", 3.579'545_MHz_XTAL));
|
||||
ym2151_device &ymsnd(YM2151(config, "ymsnd", ymclk));
|
||||
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
|
||||
ymsnd.add_route(0, "mono", 0.50);
|
||||
ymsnd.add_route(1, "mono", 0.50);
|
||||
ymsnd.add_route(0, "mono", 0.35);
|
||||
ymsnd.add_route(1, "mono", 0.35);
|
||||
|
||||
OKIM6295(config, "oki", 1_MHz_XTAL, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.60);
|
||||
}
|
||||
|
||||
void dooyong_state::sound_2151_4mhz(machine_config &config)
|
||||
{
|
||||
SPEAKER(config, "mono").front_center();
|
||||
|
||||
GENERIC_LATCH_8(config, "soundlatch");
|
||||
|
||||
ym2151_device &ymsnd(YM2151(config, "ymsnd", 16_MHz_XTAL/4)); /* 4MHz (16MHz/4 for most, 8Mhz/2 for Super-X) */
|
||||
ymsnd.irq_handler().set_inputline(m_audiocpu, 0);
|
||||
ymsnd.add_route(0, "mono", 0.50);
|
||||
ymsnd.add_route(1, "mono", 0.50);
|
||||
|
||||
OKIM6295(config, "oki", 16_MHz_XTAL/16, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.60); /* 1MHz (16MHz/16 for most, 8Mhz/8 for Super-X) */
|
||||
OKIM6295(config, "oki", okiclk, okim6295_device::PIN7_HIGH).add_route(ALL_OUTPUTS, "mono", 0.42);
|
||||
}
|
||||
|
||||
void dooyong_z80_ym2203_state::lastday(machine_config &config)
|
||||
@ -1528,21 +1515,7 @@ void dooyong_z80_ym2203_state::lastday(machine_config &config)
|
||||
MCFG_VIDEO_START_OVERRIDE(dooyong_z80_ym2203_state, lastday)
|
||||
|
||||
/* sound hardware */
|
||||
INPUT_MERGER_ANY_HIGH(config, "soundirq").output_handler().set_inputline(m_audiocpu, 0);
|
||||
|
||||
SPEAKER(config, "mono").front_center();
|
||||
|
||||
GENERIC_LATCH_8(config, "soundlatch");
|
||||
|
||||
ym2203_device &ym1(YM2203(config, "ym1", 16_MHz_XTAL/4)); /* 4MHz verified for Last Day / D-day */
|
||||
ym1.irq_handler().set("soundirq", FUNC(input_merger_any_high_device::in_w<0>));
|
||||
ym1.port_a_read_callback().set(FUNC(dooyong_z80_ym2203_state::unk_r));
|
||||
ym1.add_route(ALL_OUTPUTS, "mono", 0.40);
|
||||
|
||||
ym2203_device &ym2(YM2203(config, "ym2", 16_MHz_XTAL/4)); /* 4MHz verified for Last Day / D-day */
|
||||
ym2.irq_handler().set("soundirq", FUNC(input_merger_any_high_device::in_w<1>));
|
||||
ym2.port_a_read_callback().set(FUNC(dooyong_z80_ym2203_state::unk_r));
|
||||
ym2.add_route(ALL_OUTPUTS, "mono", 0.40);
|
||||
sound_2203(config, 16_MHz_XTAL/4); /* 4MHz verified for Last Day / D-day */
|
||||
}
|
||||
|
||||
void dooyong_z80_ym2203_state::gulfstrm(machine_config &config)
|
||||
@ -1579,7 +1552,7 @@ void dooyong_z80_ym2203_state::gulfstrm(machine_config &config)
|
||||
MCFG_VIDEO_START_OVERRIDE(dooyong_z80_ym2203_state, gulfstrm)
|
||||
|
||||
/* sound hardware */
|
||||
sound_2203(config); /* 3.579545MHz */
|
||||
sound_2203(config, 1'500'000); /* 3.579545MHz */
|
||||
}
|
||||
|
||||
void dooyong_z80_ym2203_state::pollux(machine_config &config)
|
||||
@ -1616,7 +1589,7 @@ void dooyong_z80_ym2203_state::pollux(machine_config &config)
|
||||
MCFG_VIDEO_START_OVERRIDE(dooyong_z80_ym2203_state, pollux)
|
||||
|
||||
/* sound hardware */
|
||||
sound_2203(config); /* 1.5MHz verified */
|
||||
sound_2203(config, 1'500'000); /* 1.5MHz verified */
|
||||
}
|
||||
|
||||
void dooyong_z80_state::bluehawk(machine_config &config)
|
||||
@ -1662,7 +1635,7 @@ void dooyong_z80_state::bluehawk(machine_config &config)
|
||||
MCFG_VIDEO_START_OVERRIDE(dooyong_z80_state, bluehawk)
|
||||
|
||||
/* sound hardware */
|
||||
sound_2151(config); /* 3.579545MHz or 4Mhz ??? */
|
||||
sound_2151(config, 3.579'545_MHz_XTAL, 1_MHz_XTAL); /* 3.579545MHz or 4Mhz ??? */
|
||||
}
|
||||
|
||||
void dooyong_z80_state::flytiger(machine_config &config)
|
||||
@ -1700,7 +1673,7 @@ void dooyong_z80_state::flytiger(machine_config &config)
|
||||
MCFG_VIDEO_START_OVERRIDE(dooyong_z80_state, flytiger)
|
||||
|
||||
/* sound hardware */
|
||||
sound_2151(config);
|
||||
sound_2151(config, 3.579'545_MHz_XTAL, 1_MHz_XTAL);
|
||||
}
|
||||
|
||||
void dooyong_z80_state::primella(machine_config &config)
|
||||
@ -1739,7 +1712,7 @@ void dooyong_z80_state::primella(machine_config &config)
|
||||
MCFG_VIDEO_START_OVERRIDE(dooyong_z80_state, primella)
|
||||
|
||||
/* sound hardware */
|
||||
sound_2151_4mhz(config); /* PCB has only 1 OSC at 16Mhz */
|
||||
sound_2151(config, 16_MHz_XTAL/4, 16_MHz_XTAL/16); /* PCB has only 1 OSC at 16Mhz */
|
||||
}
|
||||
|
||||
|
||||
@ -1795,7 +1768,7 @@ void rshark_state::dooyong_68k(machine_config &config)
|
||||
m_fg[1]->set_tile_callback(FUNC(rshark_state::rshark_tile_callback));
|
||||
|
||||
// sound hardware
|
||||
sound_2151_4mhz(config);
|
||||
sound_2151(config, 8_MHz_XTAL/2, 8_MHz_XTAL/8);
|
||||
}
|
||||
|
||||
void rshark_state::rshark(machine_config &config)
|
||||
@ -1844,7 +1817,7 @@ void popbingo_state::popbingo(machine_config &config)
|
||||
m_bg[1]->set_tile_callback(FUNC(popbingo_state::popbingo_tile_callback));
|
||||
|
||||
// sound hardware
|
||||
sound_2151_4mhz(config);
|
||||
sound_2151(config, 16_MHz_XTAL/4, 16_MHz_XTAL/16);
|
||||
}
|
||||
|
||||
} // anonymous namespace
|
||||
|
Loading…
Reference in New Issue
Block a user