diff options
author | 2011-04-27 20:34:45 +0000 | |
---|---|---|
committer | 2011-04-27 20:34:45 +0000 | |
commit | af94c692bb616def82ec38e717dea5e507d310fe (patch) | |
tree | 62402705206111cd10ec15d585de338f2881ea14 /src/emu/cpu/drcbec.c | |
parent | 9092f1596454dd7b76e954038f7dd25f3305e345 (diff) |
Switch to using delegates for some callbacks:
- non-device timer callbacks
- machine state changing callbacks
- configuration callbacks
- per-screen VBLANK callbacks
- DRC backend callbacks
For the timer case only, I added wrappers for the old-style functions.
Over time, drivers should switch to device timers instead, reducing the
number of timers that are directly allocated through the scheduler.
Diffstat (limited to 'src/emu/cpu/drcbec.c')
-rw-r--r-- | src/emu/cpu/drcbec.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/emu/cpu/drcbec.c b/src/emu/cpu/drcbec.c index 65c8c2fc396..491175a9145 100644 --- a/src/emu/cpu/drcbec.c +++ b/src/emu/cpu/drcbec.c @@ -319,7 +319,8 @@ drcbe_c::drcbe_c(drcuml_state &drcuml, device_t &device, drc_cache &cache, UINT3 : drcbe_interface(drcuml, cache, device), m_hash(cache, modes, addrbits, ignorebits), m_map(cache, 0), - m_labels(cache) + m_labels(cache), + m_fixup_delegate(FUNC(drcbe_c::fixup_label), this) { } @@ -403,7 +404,7 @@ void drcbe_c::generate(drcuml_block &block, const instruction *instlist, UINT32 // JMP instructions need to resolve their labels case OP_JMP: (dst++)->i = MAKE_OPCODE_FULL(opcode, inst.size(), inst.condition(), inst.flags(), 1); - dst->inst = (drcbec_instruction *)m_labels.get_codeptr(inst.param(0).label(), fixup_label, dst); + dst->inst = (drcbec_instruction *)m_labels.get_codeptr(inst.param(0).label(), m_fixup_delegate, dst); dst++; break; |