mirror of
https://github.com/holub/mame
synced 2025-04-22 16:31:49 +03:00
(MESS) saturn: added missing mem_mask and removed direct access to the cart device. nw.
This commit is contained in:
parent
34e7258077
commit
fad3b74c73
@ -632,27 +632,27 @@ MACHINE_START_MEMBER(sat_console_state,saturn)
|
||||
case 0x22:
|
||||
case 0x23:
|
||||
case 0x24:
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x04000000, 0x047fffff, read32_delegate(FUNC(device_sat_cart_interface::read_ext_bram), m_exp->m_cart));
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x04000000, 0x047fffff, write32_delegate(FUNC(device_sat_cart_interface::write_ext_bram), m_exp->m_cart));
|
||||
machine().device("slave")->memory().space(AS_PROGRAM).install_read_handler(0x04000000, 0x047fffff, read32_delegate(FUNC(device_sat_cart_interface::read_ext_bram), m_exp->m_cart));
|
||||
machine().device("slave")->memory().space(AS_PROGRAM).install_write_handler(0x04000000, 0x047fffff, write32_delegate(FUNC(device_sat_cart_interface::write_ext_bram), m_exp->m_cart));
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x04000000, 0x047fffff, read32_delegate(FUNC(sat_cart_slot_device::read_ext_bram), (sat_cart_slot_device*)m_exp));
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x04000000, 0x047fffff, write32_delegate(FUNC(sat_cart_slot_device::write_ext_bram), (sat_cart_slot_device*)m_exp));
|
||||
machine().device("slave")->memory().space(AS_PROGRAM).install_read_handler(0x04000000, 0x047fffff, read32_delegate(FUNC(sat_cart_slot_device::read_ext_bram), (sat_cart_slot_device*)m_exp));
|
||||
machine().device("slave")->memory().space(AS_PROGRAM).install_write_handler(0x04000000, 0x047fffff, write32_delegate(FUNC(sat_cart_slot_device::write_ext_bram), (sat_cart_slot_device*)m_exp));
|
||||
break;
|
||||
case 0x5a: // Data RAM cart
|
||||
case 0x5c:
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x02400000, 0x025fffff, read32_delegate(FUNC(device_sat_cart_interface::read_ext_dram0), m_exp->m_cart));
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x02400000, 0x025fffff, write32_delegate(FUNC(device_sat_cart_interface::write_ext_dram0), m_exp->m_cart));
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x02600000, 0x027fffff, read32_delegate(FUNC(device_sat_cart_interface::read_ext_dram1), m_exp->m_cart));
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x02600000, 0x027fffff, write32_delegate(FUNC(device_sat_cart_interface::write_ext_dram1), m_exp->m_cart));
|
||||
machine().device("slave")->memory().space(AS_PROGRAM).install_read_handler(0x02400000, 0x025fffff, read32_delegate(FUNC(device_sat_cart_interface::read_ext_dram0), m_exp->m_cart));
|
||||
machine().device("slave")->memory().space(AS_PROGRAM).install_write_handler(0x02400000, 0x025fffff, write32_delegate(FUNC(device_sat_cart_interface::write_ext_dram0), m_exp->m_cart));
|
||||
machine().device("slave")->memory().space(AS_PROGRAM).install_read_handler(0x02600000, 0x027fffff, read32_delegate(FUNC(device_sat_cart_interface::read_ext_dram1), m_exp->m_cart));
|
||||
machine().device("slave")->memory().space(AS_PROGRAM).install_write_handler(0x02600000, 0x027fffff, write32_delegate(FUNC(device_sat_cart_interface::write_ext_dram1), m_exp->m_cart));
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x02400000, 0x025fffff, read32_delegate(FUNC(sat_cart_slot_device::read_ext_dram0), (sat_cart_slot_device*)m_exp));
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x02400000, 0x025fffff, write32_delegate(FUNC(sat_cart_slot_device::write_ext_dram0), (sat_cart_slot_device*)m_exp));
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x02600000, 0x027fffff, read32_delegate(FUNC(sat_cart_slot_device::read_ext_dram1), (sat_cart_slot_device*)m_exp));
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_write_handler(0x02600000, 0x027fffff, write32_delegate(FUNC(sat_cart_slot_device::write_ext_dram1), (sat_cart_slot_device*)m_exp));
|
||||
machine().device("slave")->memory().space(AS_PROGRAM).install_read_handler(0x02400000, 0x025fffff, read32_delegate(FUNC(sat_cart_slot_device::read_ext_dram0), (sat_cart_slot_device*)m_exp));
|
||||
machine().device("slave")->memory().space(AS_PROGRAM).install_write_handler(0x02400000, 0x025fffff, write32_delegate(FUNC(sat_cart_slot_device::write_ext_dram0), (sat_cart_slot_device*)m_exp));
|
||||
machine().device("slave")->memory().space(AS_PROGRAM).install_read_handler(0x02600000, 0x027fffff, read32_delegate(FUNC(sat_cart_slot_device::read_ext_dram1), (sat_cart_slot_device*)m_exp));
|
||||
machine().device("slave")->memory().space(AS_PROGRAM).install_write_handler(0x02600000, 0x027fffff, write32_delegate(FUNC(sat_cart_slot_device::write_ext_dram1), (sat_cart_slot_device*)m_exp));
|
||||
break;
|
||||
case 0: // ROM cart + mirror
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x02000000, 0x023fffff, read32_delegate(FUNC(device_sat_cart_interface::read_rom), m_exp->m_cart));
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x22000000, 0x24ffffff, read32_delegate(FUNC(device_sat_cart_interface::read_rom), m_exp->m_cart));
|
||||
machine().device("slave")->memory().space(AS_PROGRAM).install_read_handler(0x02000000, 0x023fffff, read32_delegate(FUNC(device_sat_cart_interface::read_rom), m_exp->m_cart));
|
||||
machine().device("slave")->memory().space(AS_PROGRAM).install_read_handler(0x22000000, 0x24ffffff, read32_delegate(FUNC(device_sat_cart_interface::read_rom), m_exp->m_cart));
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x02000000, 0x023fffff, read32_delegate(FUNC(sat_cart_slot_device::read_rom), (sat_cart_slot_device*)m_exp));
|
||||
machine().device("maincpu")->memory().space(AS_PROGRAM).install_read_handler(0x22000000, 0x24ffffff, read32_delegate(FUNC(sat_cart_slot_device::read_rom), (sat_cart_slot_device*)m_exp));
|
||||
machine().device("slave")->memory().space(AS_PROGRAM).install_read_handler(0x02000000, 0x023fffff, read32_delegate(FUNC(sat_cart_slot_device::read_rom), (sat_cart_slot_device*)m_exp));
|
||||
machine().device("slave")->memory().space(AS_PROGRAM).install_read_handler(0x22000000, 0x24ffffff, read32_delegate(FUNC(sat_cart_slot_device::read_rom), (sat_cart_slot_device*)m_exp));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -98,26 +98,3 @@ WRITE32_MEMBER(saturn_bram_device::write_ext_bram)
|
||||
else
|
||||
mame_printf_error("Battery RAM write beyond its boundary! offs: %X data: %X\n", offset, data);
|
||||
}
|
||||
|
||||
#if 0
|
||||
READ8_MEMBER(saturn_bram_device::read_ext_bram)
|
||||
{
|
||||
if (offset < m_size)
|
||||
return m_ext_bram[offset];
|
||||
else
|
||||
{
|
||||
mame_printf_error("Battery RAM read beyond its boundary! offs: %X\n", offset);
|
||||
return 0xff;
|
||||
}
|
||||
}
|
||||
|
||||
WRITE8_MEMBER(saturn_bram_device::write_ext_bram)
|
||||
{
|
||||
if (offset < m_size)
|
||||
{
|
||||
m_ext_bram[offset] = data;
|
||||
}
|
||||
else
|
||||
mame_printf_error("Battery RAM write beyond its boundary! offs: %X data: %X\n", offset, data);
|
||||
}
|
||||
#endif
|
||||
|
@ -27,10 +27,6 @@ public:
|
||||
// reading and writing
|
||||
virtual DECLARE_READ32_MEMBER(read_ext_bram);
|
||||
virtual DECLARE_WRITE32_MEMBER(write_ext_bram);
|
||||
#if 0
|
||||
virtual DECLARE_READ8_MEMBER(read_ext_bram);
|
||||
virtual DECLARE_WRITE8_MEMBER(write_ext_bram);
|
||||
#endif
|
||||
|
||||
UINT32 m_size; // this is the size of Battery RAM in bytes
|
||||
};
|
||||
|
@ -208,7 +208,7 @@ int sat_cart_slot_device::get_cart_type()
|
||||
READ32_MEMBER(sat_cart_slot_device::read_rom)
|
||||
{
|
||||
if (m_cart)
|
||||
return m_cart->read_rom(space, offset);
|
||||
return m_cart->read_rom(space, offset, mem_mask);
|
||||
else
|
||||
return 0xffffffff;
|
||||
}
|
||||
@ -216,7 +216,7 @@ READ32_MEMBER(sat_cart_slot_device::read_rom)
|
||||
READ32_MEMBER(sat_cart_slot_device::read_ext_dram0)
|
||||
{
|
||||
if (m_cart)
|
||||
return m_cart->read_ext_dram0(space, offset);
|
||||
return m_cart->read_ext_dram0(space, offset, mem_mask);
|
||||
else
|
||||
return 0xffffffff;
|
||||
}
|
||||
@ -224,7 +224,7 @@ READ32_MEMBER(sat_cart_slot_device::read_ext_dram0)
|
||||
READ32_MEMBER(sat_cart_slot_device::read_ext_dram1)
|
||||
{
|
||||
if (m_cart)
|
||||
return m_cart->read_ext_dram1(space, offset);
|
||||
return m_cart->read_ext_dram1(space, offset, mem_mask);
|
||||
else
|
||||
return 0xffffffff;
|
||||
}
|
||||
@ -232,24 +232,11 @@ READ32_MEMBER(sat_cart_slot_device::read_ext_dram1)
|
||||
READ32_MEMBER(sat_cart_slot_device::read_ext_bram)
|
||||
{
|
||||
if (m_cart)
|
||||
return m_cart->read_ext_bram(space, offset);
|
||||
return m_cart->read_ext_bram(space, offset, mem_mask);
|
||||
else
|
||||
return 0xffffffff;
|
||||
}
|
||||
|
||||
#if 0
|
||||
READ32_MEMBER(sat_cart_slot_device::read_ext_bram)
|
||||
{
|
||||
if (m_cart)
|
||||
{
|
||||
return (m_cart->read_ext_bram(space, offset * 2) << 16)
|
||||
| m_cart->read_ext_bram(space, offset * 2 + 1);
|
||||
}
|
||||
else
|
||||
return 0xffffffff;
|
||||
}
|
||||
#endif
|
||||
|
||||
/*-------------------------------------------------
|
||||
write
|
||||
-------------------------------------------------*/
|
||||
@ -257,30 +244,17 @@ READ32_MEMBER(sat_cart_slot_device::read_ext_bram)
|
||||
WRITE32_MEMBER(sat_cart_slot_device::write_ext_dram0)
|
||||
{
|
||||
if (m_cart)
|
||||
m_cart->write_ext_dram0(space, offset, data);
|
||||
m_cart->write_ext_dram0(space, offset, data, mem_mask);
|
||||
}
|
||||
|
||||
WRITE32_MEMBER(sat_cart_slot_device::write_ext_dram1)
|
||||
{
|
||||
if (m_cart)
|
||||
m_cart->write_ext_dram1(space, offset, data);
|
||||
m_cart->write_ext_dram1(space, offset, data, mem_mask);
|
||||
}
|
||||
|
||||
WRITE32_MEMBER(sat_cart_slot_device::write_ext_bram)
|
||||
{
|
||||
if (m_cart)
|
||||
m_cart->write_ext_bram(space, offset, data);
|
||||
m_cart->write_ext_bram(space, offset, data, mem_mask);
|
||||
}
|
||||
|
||||
#if 0
|
||||
WRITE32_MEMBER(sat_cart_slot_device::write_ext_bram)
|
||||
{
|
||||
if (m_cart)
|
||||
{
|
||||
if (ACCESSING_BITS_16_23)
|
||||
m_cart->write_ext_bram(space, offset * 2 + 0, (data & 0x00ff0000) >> 16);
|
||||
if (ACCESSING_BITS_0_7)
|
||||
m_cart->write_ext_bram(space, offset * 2 + 1, (data & 0x000000ff) >> 0);
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
@ -25,10 +25,6 @@ public:
|
||||
// reading and writing to Extended BRAM chip
|
||||
virtual DECLARE_READ32_MEMBER(read_ext_bram) { return 0xffffffff; }
|
||||
virtual DECLARE_WRITE32_MEMBER(write_ext_bram) {}
|
||||
#if 0
|
||||
virtual DECLARE_READ8_MEMBER(read_ext_bram) { return 0xff; }
|
||||
virtual DECLARE_WRITE8_MEMBER(write_ext_bram) {}
|
||||
#endif
|
||||
|
||||
virtual int get_cart_type() { return m_cart_type; };
|
||||
|
||||
@ -43,7 +39,7 @@ public:
|
||||
UINT32 get_ext_dram1_size() { return m_ext_dram1_size; }
|
||||
UINT32 get_ext_bram_size() { return m_ext_bram_size; }
|
||||
|
||||
//protected:
|
||||
protected:
|
||||
int m_cart_type;
|
||||
|
||||
// internal state
|
||||
@ -102,7 +98,7 @@ public:
|
||||
virtual DECLARE_READ32_MEMBER(read_ext_bram);
|
||||
virtual DECLARE_WRITE32_MEMBER(write_ext_bram);
|
||||
|
||||
//protected:
|
||||
private:
|
||||
device_sat_cart_interface* m_cart;
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user