summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/machine/sns_slot.h
diff options
context:
space:
mode:
author Fabio Priuli <etabeta78@users.noreply.github.com>2013-03-07 11:09:57 +0000
committer Fabio Priuli <etabeta78@users.noreply.github.com>2013-03-07 11:09:57 +0000
commit7e0b63efa9978e8611337c4ac80ffc293bb527ee (patch)
treeea07d4755edebcd5bb6778abb0ac947def3d6916 /src/mess/machine/sns_slot.h
parent452c1a885124494ad458022dd19dfe11a9bfbbda (diff)
split ROM/RAM accesses to cart in SNES slot implementation in order to simplify the code. nw.
Diffstat (limited to 'src/mess/machine/sns_slot.h')
-rw-r--r--src/mess/machine/sns_slot.h12
1 files changed, 8 insertions, 4 deletions
diff --git a/src/mess/machine/sns_slot.h b/src/mess/machine/sns_slot.h
index da1510a112c..8f17950b04d 100644
--- a/src/mess/machine/sns_slot.h
+++ b/src/mess/machine/sns_slot.h
@@ -58,10 +58,12 @@ public:
virtual ~device_sns_cart_interface();
// reading and writing
- virtual DECLARE_READ8_MEMBER(read_l) { return 0xff; }
- virtual DECLARE_READ8_MEMBER(read_h) { return 0xff; }
- virtual DECLARE_WRITE8_MEMBER(write_l) {}
- virtual DECLARE_WRITE8_MEMBER(write_h) {}
+ virtual DECLARE_READ8_MEMBER(read_l) { return 0xff; } // ROM access in range [00-7f]
+ virtual DECLARE_READ8_MEMBER(read_h) { return 0xff; } // ROM access in range [80-ff]
+ virtual DECLARE_READ8_MEMBER(read_ram) { UINT32 mask = m_nvram_size - 1; return m_nvram[offset & mask]; } // NVRAM access
+ virtual DECLARE_WRITE8_MEMBER(write_l) {} // used by carts with subslots
+ virtual DECLARE_WRITE8_MEMBER(write_h) {} // used by carts with subslots
+ virtual DECLARE_WRITE8_MEMBER(write_ram) { UINT32 mask = m_nvram_size - 1; m_nvram[offset & mask] = data; return; } // NVRAM access
virtual DECLARE_READ8_MEMBER(chip_read) { return 0xff; }
virtual DECLARE_WRITE8_MEMBER(chip_write) {}
@@ -137,8 +139,10 @@ public:
// reading and writing
virtual DECLARE_READ8_MEMBER(read_l);
virtual DECLARE_READ8_MEMBER(read_h);
+ virtual DECLARE_READ8_MEMBER(read_ram);
virtual DECLARE_WRITE8_MEMBER(write_l);
virtual DECLARE_WRITE8_MEMBER(write_h);
+ virtual DECLARE_WRITE8_MEMBER(write_ram);
virtual DECLARE_READ8_MEMBER(chip_read);
virtual DECLARE_WRITE8_MEMBER(chip_write);