summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
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
commit78343b27866fe024a7a2f3193793f0f6a14b17c0 (patch)
tree61138905947b622da5a4cd8dff0056b1e129aa2b
parent5a069f1c520c4fc52af271531f1dd8a91f92d75d (diff)
Finish removing direct_update from the core (nw)
-rw-r--r--src/emu/emumem.cpp17
-rw-r--r--src/emu/emumem.h9
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
};