summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/sega/megadriv.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/sega/megadriv.cpp')
-rw-r--r--src/mame/sega/megadriv.cpp42
1 files changed, 18 insertions, 24 deletions
diff --git a/src/mame/sega/megadriv.cpp b/src/mame/sega/megadriv.cpp
index 4f12b40f6db..7cc00059936 100644
--- a/src/mame/sega/megadriv.cpp
+++ b/src/mame/sega/megadriv.cpp
@@ -441,21 +441,17 @@ uint16_t md_base_state::megadriv_68k_check_z80_bus(offs_t offset, uint16_t mem_m
TIMER_CALLBACK_MEMBER(md_base_state::megadriv_z80_run_state)
{
/* Is the z80 RESET line pulled? */
- // TODO: Z80 /RESET
if (m_genz80.z80_is_reset)
{
- m_z80snd->reset();
- m_z80snd->suspend(SUSPEND_REASON_HALT, 1);
+ m_z80snd->set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
m_ymsnd->reset();
}
else
{
+ m_z80snd->set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
+
/* Check if z80 has the bus */
- // TODO: Z80 /BUSREQ
- if (m_genz80.z80_has_bus)
- m_z80snd->resume(SUSPEND_REASON_HALT);
- else
- m_z80snd->suspend(SUSPEND_REASON_HALT, 1);
+ m_z80snd->set_input_line(Z80_INPUT_LINE_BUSRQ, m_genz80.z80_has_bus ? CLEAR_LINE : ASSERT_LINE);
}
}
@@ -884,16 +880,15 @@ void md_base_state::md_ntsc(machine_config &config)
megadriv_ioports(config);
m_vdp->snd_irq().set(FUNC(md_base_state::vdp_sndirqline_callback_genesis_z80));
- m_vdp->add_route(ALL_OUTPUTS, "lspeaker", 0.50);
- m_vdp->add_route(ALL_OUTPUTS, "rspeaker", 0.50);
+ m_vdp->add_route(ALL_OUTPUTS, "speaker", 0.50, 0);
+ m_vdp->add_route(ALL_OUTPUTS, "speaker", 0.50, 1);
// sound hardware
- SPEAKER(config, "lspeaker").front_left();
- SPEAKER(config, "rspeaker").front_right();
+ SPEAKER(config, "speaker", 2).front();
YM2612(config, m_ymsnd, MASTER_CLOCK_NTSC / 7); // 7.67 MHz
- m_ymsnd->add_route(0, "lspeaker", 0.50);
- m_ymsnd->add_route(1, "rspeaker", 0.50);
+ m_ymsnd->add_route(0, "speaker", 0.50, 0);
+ m_ymsnd->add_route(1, "speaker", 0.50, 1);
}
void md_base_state::md2_ntsc(machine_config &config)
@@ -902,8 +897,8 @@ void md_base_state::md2_ntsc(machine_config &config)
// Internalized YM3438 in VDP ASIC
YM3438(config.replace(), m_ymsnd, MASTER_CLOCK_NTSC / 7); // 7.67 MHz
- m_ymsnd->add_route(0, "lspeaker", 0.50);
- m_ymsnd->add_route(1, "rspeaker", 0.50);
+ m_ymsnd->add_route(0, "speaker", 0.50, 0);
+ m_ymsnd->add_route(1, "speaker", 0.50, 1);
}
/************ PAL hardware has a different master clock *************/
@@ -923,16 +918,15 @@ void md_base_state::md_pal(machine_config &config)
megadriv_ioports(config);
m_vdp->snd_irq().set(FUNC(md_base_state::vdp_sndirqline_callback_genesis_z80));
- m_vdp->add_route(ALL_OUTPUTS, "lspeaker", 0.50);
- m_vdp->add_route(ALL_OUTPUTS, "rspeaker", 0.50);
+ m_vdp->add_route(ALL_OUTPUTS, "speaker", 0.50, 0);
+ m_vdp->add_route(ALL_OUTPUTS, "speaker", 0.50, 1);
// sound hardware
- SPEAKER(config, "lspeaker").front_left();
- SPEAKER(config, "rspeaker").front_right();
+ SPEAKER(config, "speaker", 2).front();
YM2612(config, m_ymsnd, MASTER_CLOCK_PAL / 7); // 7.67 MHz
- m_ymsnd->add_route(0, "lspeaker", 0.50);
- m_ymsnd->add_route(1, "rspeaker", 0.50);
+ m_ymsnd->add_route(0, "speaker", 0.50, 0);
+ m_ymsnd->add_route(1, "speaker", 0.50, 1);
}
void md_base_state::md2_pal(machine_config &config)
@@ -941,8 +935,8 @@ void md_base_state::md2_pal(machine_config &config)
// Internalized YM3438 in VDP ASIC
YM3438(config.replace(), m_ymsnd, MASTER_CLOCK_PAL / 7); /* 7.67 MHz */
- m_ymsnd->add_route(0, "lspeaker", 0.50);
- m_ymsnd->add_route(1, "rspeaker", 0.50);
+ m_ymsnd->add_route(0, "speaker", 0.50, 0);
+ m_ymsnd->add_route(1, "speaker", 0.50, 1);
}