diff options
Diffstat (limited to 'src/emu/cpu/i86/i86.h')
-rw-r--r-- | src/emu/cpu/i86/i86.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/emu/cpu/i86/i86.h b/src/emu/cpu/i86/i86.h index ff1c56c2e92..6e48fecd71e 100644 --- a/src/emu/cpu/i86/i86.h +++ b/src/emu/cpu/i86/i86.h @@ -14,6 +14,10 @@ extern const device_type I8088; #define INPUT_LINE_TEST 20 +#define MCFG_I8086_LOCK_HANDLER(_write) \ + devcb = &i8086_common_cpu_device::set_lock_handler(*device, DEVCB_##_write); + + enum { I8086_PC=0, @@ -29,6 +33,9 @@ public: // construction/destruction i8086_common_cpu_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, UINT32 clock, const char *shortname, const char *source); + template<class _Object> static devcb_base &set_lock_handler(device_t &device, _Object object) + { return downcast<i8086_common_cpu_device &>(device).m_lock_handler.set_callback(object); } + protected: enum { @@ -325,6 +332,9 @@ protected: UINT8 m_timing[200]; bool m_halt; + + bool m_lock; + devcb_write_line m_lock_handler; }; class i8086_cpu_device : public i8086_common_cpu_device |