summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu/i86
diff options
context:
space:
mode:
author mooglyguy <therealmogminer@gmail.com>2018-12-15 23:19:52 +0100
committer mooglyguy <therealmogminer@gmail.com>2018-12-15 23:20:18 +0100
commit8b8aa117c1d2aee574aadc2f073928c6d1294e31 (patch)
tree836733365e1c75212010703995ef54a2a49aaff5 /src/devices/cpu/i86
parentad30218bb2f3d71a888024363c9c82e0d2c427ab (diff)
Fixed regressions in konamim2 and mexico86, nw
-bus/cbus/pc9801_cbus, compis/graphics, isa/dectalk: Removed MCFG and MACHINE_CONFIG macros. [Ryan Holtz] -cpu/i8085, i186, i286: Removed MCFG macros. [Ryan Holtz] -video/crt9212, i82730: Removed MCFG macros. [Ryan Holtz] -audio/leland, redalert: Removed MACHINE_CONFIG macros. [Ryan Holtz] -drivers/bob85, compis, dwarfd, exp85, fastinvaders, fp200, h8, kyocera, lola8a, mikromik, mmd1, ms6102, n8080, ngen, olyboss, pc9801, pcd, phoenix, ptcsol, rc759, sitcom, supstarf, tandy2k, vector06, vt240: Removed MACHINE_CONFIG macros. [Ryan Holtz] There will almost certainly be some breakage with this; testing and bug reports welcome (nw)
Diffstat (limited to 'src/devices/cpu/i86')
-rw-r--r--src/devices/cpu/i86/i186.h16
-rw-r--r--src/devices/cpu/i86/i286.h16
2 files changed, 7 insertions, 25 deletions
diff --git a/src/devices/cpu/i86/i186.h b/src/devices/cpu/i86/i186.h
index 297a185ba66..01960a619f5 100644
--- a/src/devices/cpu/i86/i186.h
+++ b/src/devices/cpu/i86/i186.h
@@ -16,10 +16,6 @@ public:
// construction/destruction
i80186_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
- template <class Object> devcb_base &set_read_slave_ack_callback(Object &&cb) { return m_read_slave_ack_func.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_chip_select_callback(Object &&cb) { return m_out_chip_select_func.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_tmrout0_handler(Object &&cb) { return m_out_tmrout0_func.set_callback(std::forward<Object>(cb)); }
- template <class Object> devcb_base &set_tmrout1_handler(Object &&cb) { return m_out_tmrout1_func.set_callback(std::forward<Object>(cb)); }
auto read_slave_ack_callback() { return m_read_slave_ack_func.bind(); }
auto chip_select_callback() { return m_out_chip_select_func.bind(); }
auto tmrout0_handler() { return m_out_tmrout0_func.bind(); }
@@ -160,16 +156,4 @@ public:
i80188_cpu_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
};
-#define MCFG_80186_IRQ_SLAVE_ACK(_devcb) \
- downcast<i80186_cpu_device &>(*device).set_read_slave_ack_callback(DEVCB_##_devcb);
-
-#define MCFG_80186_CHIP_SELECT_CB(_devcb) \
- downcast<i80186_cpu_device &>(*device).set_chip_select_callback(DEVCB_##_devcb);
-
-#define MCFG_80186_TMROUT0_HANDLER(_devcb) \
- downcast<i80186_cpu_device &>(*device).set_tmrout0_handler(DEVCB_##_devcb);
-
-#define MCFG_80186_TMROUT1_HANDLER(_devcb) \
- downcast<i80186_cpu_device &>(*device).set_tmrout1_handler(DEVCB_##_devcb);
-
#endif // MAME_CPU_I86_I186_H
diff --git a/src/devices/cpu/i86/i286.h b/src/devices/cpu/i86/i286.h
index 97752a5d102..2812d756e19 100644
--- a/src/devices/cpu/i86/i286.h
+++ b/src/devices/cpu/i86/i286.h
@@ -71,9 +71,13 @@ public:
// device_memory_interface overrides
virtual space_config_vector memory_space_config() const override;
- typedef delegate<uint32_t (bool)> a20_cb;
- template <typename Object> void set_a20_callback(Object &&cb) { m_a20_callback = std::forward<Object>(cb); }
- template <class Object> devcb_base &set_shutdown_callback(Object &&cb) { return m_out_shutdown_func.set_callback(std::forward<Object>(cb)); }
+ typedef device_delegate<uint32_t (bool)> a20_cb;
+ void set_a20_callback(a20_cb callback) { m_a20_callback = callback; }
+ template <class FunctionClass> void set_a20_callback(uint32_t (FunctionClass::*callback)(bool), const char *name)
+ {
+ set_a20_callback(a20_cb(callback, name, nullptr, static_cast<FunctionClass *>(nullptr)));
+ }
+
auto shutdown_callback() { return m_out_shutdown_func.bind(); }
protected:
@@ -162,10 +166,4 @@ private:
devcb_write_line m_out_shutdown_func;
};
-#define MCFG_80286_A20(_class, _a20_cb) \
- downcast<i80286_cpu_device &>(*device).set_a20_callback(i80286_cpu_device::a20_cb(&_class::_a20_cb, this));
-
-#define MCFG_80286_SHUTDOWN(_devcb) \
- downcast<i80286_cpu_device &>(*device).set_shutdown_callback(DEVCB_##_devcb);
-
#endif // MAME_CPU_I86_I286_H