From 11dec07aee539947031ab4dd57d25070fca48db9 Mon Sep 17 00:00:00 2001 From: AJR Date: Mon, 12 Feb 2018 22:13:13 -0500 Subject: mario: Workaround for MT #6870 --- src/mame/audio/mario.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/mame/audio/mario.cpp b/src/mame/audio/mario.cpp index e84a3c62504..aee7cdd45d5 100644 --- a/src/mame/audio/mario.cpp +++ b/src/mame/audio/mario.cpp @@ -419,20 +419,27 @@ void mario_state::set_ea(int ea) void mario_state::sound_start() { device_t *audiocpu = machine().device("audiocpu"); - -#if USE_8039 uint8_t *SND = memregion("audiocpu")->base(); +#if USE_8039 SND[0x1001] = 0x01; #endif m_eabank = nullptr; if (audiocpu != nullptr && audiocpu->type() != Z80) { + m_eabank = "bank1"; audiocpu->memory().space(AS_PROGRAM).install_read_bank(0x000, 0x7ff, "bank1"); - membank("bank1")->configure_entry(0, memregion("audiocpu")->base()); - membank("bank1")->configure_entry(1, memregion("audiocpu")->base() + 0x1000); + membank("bank1")->configure_entry(0, &SND[0]); + membank("bank1")->configure_entry(1, &SND[0x1000]); + +#if !USE_8039 + // Hack to bootstrap MCU program into external MB1 + SND[0x0000] = 0xf5; + SND[0x0001] = 0x04; + SND[0x0002] = 0x00; +#endif } save_item(NAME(m_last)); -- cgit v1.2.3