diff options
author | AJR <ajrhacker@users.noreply.github.com> | 2017-04-01 18:20:50 -0400 |
---|---|---|
committer | AJR <ajrhacker@users.noreply.github.com> | 2017-04-01 18:20:50 -0400 |
commit | 78343b27866fe024a7a2f3193793f0f6a14b17c0 (patch) | |
tree | 61138905947b622da5a4cd8dff0056b1e129aa2b | |
parent | 5a069f1c520c4fc52af271531f1dd8a91f92d75d (diff) |
Finish removing direct_update from the core (nw)
-rw-r--r-- | src/emu/emumem.cpp | 17 | ||||
-rw-r--r-- | src/emu/emumem.h | 9 |
2 files changed, 4 insertions, 22 deletions
diff --git a/src/emu/emumem.cpp b/src/emu/emumem.cpp index 0211e8de89e..69e68691c56 100644 --- a/src/emu/emumem.cpp +++ b/src/emu/emumem.cpp @@ -3915,21 +3915,10 @@ direct_read_data::~direct_read_data() // update the opcode base for the given address //------------------------------------------------- -bool direct_read_data::set_direct_region(offs_t &byteaddress) +bool direct_read_data::set_direct_region(offs_t byteaddress) { - // allow overrides - offs_t overrideaddress = byteaddress; - if (!m_directupdate.isnull()) - { - overrideaddress = m_directupdate(*this, overrideaddress); - if (overrideaddress == ~0) - return true; - - byteaddress = overrideaddress; - } - // find or allocate a matching range - direct_range *range = find_range(overrideaddress, m_entry); + direct_range *range = find_range(byteaddress, m_entry); // if we don't map to a bank, return false if (m_entry < STATIC_BANK1 || m_entry > STATIC_BANKMAX) @@ -3943,7 +3932,7 @@ bool direct_read_data::set_direct_region(offs_t &byteaddress) u8 *base = *m_space.manager().bank_pointer_addr(m_entry); // compute the adjusted base - offs_t maskedbits = overrideaddress & ~m_space.bytemask(); + offs_t maskedbits = byteaddress & ~m_space.bytemask(); const handler_entry_read &handler = m_space.read().handler_read(m_entry); m_bytemask = handler.bytemask(); m_ptr = base - (handler.bytestart() & m_bytemask); diff --git a/src/emu/emumem.h b/src/emu/emumem.h index 78b51a96086..f3bd06240fa 100644 --- a/src/emu/emumem.h +++ b/src/emu/emumem.h @@ -106,12 +106,6 @@ struct data_accessors }; -// ======================> direct_update_delegate - -// direct region update handler -typedef delegate<offs_t (direct_read_data &, offs_t)> direct_update_delegate; - - // ======================> read_delegate // declare delegates for each width @@ -183,7 +177,7 @@ public: private: // internal helpers - bool set_direct_region(offs_t &byteaddress); + bool set_direct_region(offs_t byteaddress); direct_range *find_range(offs_t byteaddress, u16 &entry); void remove_intersecting_ranges(offs_t bytestart, offs_t byteend); @@ -195,7 +189,6 @@ private: offs_t m_byteend; // maximum valid byte address u16 m_entry; // live entry std::list<direct_range> m_rangelist[TOTAL_MEMORY_BANKS]; // list of ranges for each entry - direct_update_delegate m_directupdate; // fast direct-access update callback }; |