From e2c6632bc43c19dedb393444cc7cc2979139cedd Mon Sep 17 00:00:00 2001 From: arbee Date: Mon, 28 Nov 2016 21:21:16 -0500 Subject: [PATCH] mac: Fix regression in IIvx & IIvi. [R. Belmont] --- src/mame/machine/mac.cpp | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/mame/machine/mac.cpp b/src/mame/machine/mac.cpp index 700b48f0586c6..a6dce23bc90c4 100644 --- a/src/mame/machine/mac.cpp +++ b/src/mame/machine/mac.cpp @@ -440,8 +440,8 @@ void mac_state::set_memory_overlay(int overlay) mac_install_memory(0x00000000, memory_size-1, memory_size, memory_data, is_rom, "bank1"); } } - else if ((m_model == MODEL_MAC_PORTABLE) || (m_model == MODEL_MAC_PB100) || (m_model == MODEL_MAC_IIVX) || (m_model == MODEL_MAC_IIFX)) - { + else if ((m_model == MODEL_MAC_PORTABLE) || (m_model == MODEL_MAC_PB100) || (m_model == MODEL_MAC_IIFX)) + { address_space& space = m_maincpu->space(AS_PROGRAM); space.unmap_write(0x000000, 0x9fffff); mac_install_memory(0x000000, memory_size-1, memory_size, memory_data, is_rom, "bank1"); @@ -452,11 +452,11 @@ void mac_state::set_memory_overlay(int overlay) space.unmap_write(0x000000, 0xffffff); mac_install_memory(0x000000, memory_size-1, memory_size, memory_data, is_rom, "bank1"); } - else if ((m_model >= MODEL_MAC_II) && (m_model <= MODEL_MAC_SE30)) + else if ((m_model >= MODEL_MAC_II) && (m_model <= MODEL_MAC_SE30) && (m_model != MODEL_MAC_IIVX) && (m_model != MODEL_MAC_IIVI)) { mac_install_memory(0x00000000, 0x3fffffff, memory_size, memory_data, is_rom, "bank1"); } - else if ((m_model == MODEL_MAC_LC_III) || (m_model == MODEL_MAC_LC_III_PLUS) || (m_model >= MODEL_MAC_LC_475 && m_model <= MODEL_MAC_LC_580)) // up to 36 MB + else if ((m_model == MODEL_MAC_IIVX) || (m_model == MODEL_MAC_IIVI) || (m_model == MODEL_MAC_LC_III) || (m_model == MODEL_MAC_LC_III_PLUS) || (m_model >= MODEL_MAC_LC_475 && m_model <= MODEL_MAC_LC_580)) // up to 36 MB { mac_install_memory(0x00000000, memory_size-1, memory_size, memory_data, is_rom, "bank1"); @@ -497,8 +497,8 @@ READ32_MEMBER(mac_state::rom_switch_r) { set_memory_overlay(0); } - -// printf("rom_switch_r: offset %08x ROM_size -1 = %08x, masked = %08x\n", offset, ROM_size-1, offset & ((ROM_size - 1)>>2)); + + //printf("rom_switch_r: offset %08x ROM_size -1 = %08x, masked = %08x\n", offset, ROM_size-1, offset & ((ROM_size - 1)>>2)); return ROM_data[offset & ((ROM_size - 1)>>2)]; } @@ -1966,6 +1966,10 @@ void mac_state::machine_reset() { m_overlay_timeout->adjust(attotime::never); } + else if ((m_model >= MODEL_MAC_IIVX) && (m_model <= MODEL_MAC_IIVI)) + { + m_overlay_timeout->adjust(attotime::never); + } else { m_overlay_timeout->adjust(m_maincpu->cycles_to_attotime(8));