summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/m5.cpp
diff options
context:
space:
mode:
author therealmogminer@gmail.com <therealmogminer@gmail.com>2016-08-29 14:49:37 +0200
committer therealmogminer@gmail.com <therealmogminer@gmail.com>2016-08-29 14:50:28 +0200
commitb21b5d4434053bee71b75341b2fe88d5de3f8ed3 (patch)
tree3b458151e4ff17347aa5daf040d5101b0bed78c5 /src/mame/drivers/m5.cpp
parent107b328d1087738c3bbd6f8757e0aa3bd8454cf3 (diff)
m5: Don't crash when not run with cartridges, nw
Diffstat (limited to 'src/mame/drivers/m5.cpp')
-rw-r--r--src/mame/drivers/m5.cpp28
1 files changed, 16 insertions, 12 deletions
diff --git a/src/mame/drivers/m5.cpp b/src/mame/drivers/m5.cpp
index 25ae0f04e3b..3a8d16e0985 100644
--- a/src/mame/drivers/m5.cpp
+++ b/src/mame/drivers/m5.cpp
@@ -1222,13 +1222,15 @@ SLOT_INTERFACE_END
//-------------------------------------------------
void m5_state::machine_start()
{
+ m_cart_ram = nullptr;
+ m_cart = nullptr;
+
// register for state saving
save_item(NAME(m_fd5_data));
save_item(NAME(m_fd5_com));
save_item(NAME(m_intra));
save_item(NAME(m_ibfa));
save_item(NAME(m_obfa));
-
}
void m5_state::machine_reset()
@@ -1240,26 +1242,28 @@ void m5_state::machine_reset()
if (m_cart1->exists())
{
if (m_cart1->get_type() > 0)
- m_cart_ram=m_cart1;
+ m_cart_ram = m_cart1;
else
- m_cart=m_cart1;
+ m_cart = m_cart1;
}
+
if (m_cart2->exists())
{
if (m_cart2->get_type() > 0)
- m_cart_ram=m_cart2;
+ m_cart_ram = m_cart2;
else
- m_cart=m_cart2;
+ m_cart = m_cart2;
}
+
// no cart inserted - there is nothing to do - not allowed in original Sord m5
if (m_cart_ram == nullptr && m_cart == nullptr)
- {
- membank("bank1r")->set_base(memregion(Z80_TAG)->base());
- program.unmap_write(0x0000, 0x1fff);
- // program.unmap_readwrite(0x2000, 0x6fff); //if you uncomment this line Sord starts cassette loading but it is not correct on real hw
- program.unmap_readwrite(0x8000, 0xffff);
- return;
- }
+ {
+ membank("bank1r")->set_base(memregion(Z80_TAG)->base());
+ program.unmap_write(0x0000, 0x1fff);
+ // program.unmap_readwrite(0x2000, 0x6fff); //if you uncomment this line Sord starts cassette loading but it is not correct on real hw
+ program.unmap_readwrite(0x8000, 0xffff);
+ return;
+ }
//cart is ram module
if (m_cart_ram)