diff --git a/src/mame/drivers/neogeo.cpp b/src/mame/drivers/neogeo.cpp index a88d6d11d26..8bb9b8069d2 100644 --- a/src/mame/drivers/neogeo.cpp +++ b/src/mame/drivers/neogeo.cpp @@ -1054,11 +1054,13 @@ void neogeo_state::init_cpu() { UINT8 *ROM = (!m_slots[m_curr_slot] || m_slots[m_curr_slot]->get_rom_size() == 0) ? m_region_maincpu->base() : (UINT8 *)m_slots[m_curr_slot]->get_rom_base(); UINT32 len = (!m_slots[m_curr_slot] || m_slots[m_curr_slot]->get_rom_size() == 0) ? m_region_maincpu->bytes() : m_slots[m_curr_slot]->get_rom_size(); - + if (len > 0x100000) - m_bank_cartridge->set_base(ROM + 0x100000); + m_bank_base = 0x100000; else - m_bank_cartridge->set_base(ROM); + m_bank_base = 0; + + m_bank_cartridge->set_base(ROM + m_bank_base); } void neogeo_state::init_audio()