Finish removing direct_update from the core (nw)

This commit is contained in:
AJR 2017-04-01 18:20:50 -04:00
parent 5a069f1c52
commit 78343b2786
2 changed files with 4 additions and 22 deletions

View File

@ -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);

View File

@ -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
};