diff options
Diffstat (limited to 'src/devices/machine/input_merger.h')
-rw-r--r-- | src/devices/machine/input_merger.h | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/src/devices/machine/input_merger.h b/src/devices/machine/input_merger.h index aa5e66cc1f1..53af1a38cfd 100644 --- a/src/devices/machine/input_merger.h +++ b/src/devices/machine/input_merger.h @@ -15,6 +15,27 @@ #pragma once + +//************************************************************************** +// INTERFACE CONFIGURATION MACROS +//************************************************************************** + +#define MCFG_INPUT_MERGER_ANY_HIGH(_tag) \ + MCFG_DEVICE_ADD(_tag, INPUT_MERGER_ANY_HIGH, 0) + +#define MCFG_INPUT_MERGER_ALL_HIGH(_tag) \ + MCFG_DEVICE_ADD(_tag, INPUT_MERGER_ALL_HIGH, 0) + +#define MCFG_INPUT_MERGER_ANY_LOW(_tag) \ + MCFG_DEVICE_ADD(_tag, INPUT_MERGER_ANY_LOW, 0) + +#define MCFG_INPUT_MERGER_ALL_LOW(_tag) \ + MCFG_DEVICE_ADD(_tag, INPUT_MERGER_ALL_LOW, 0) + +#define MCFG_INPUT_MERGER_OUTPUT_HANDLER(_devcb) \ + downcast<input_merger_device &>(*device).set_output_handler(DEVCB_##_devcb); + + //************************************************************************** // TYPE DEFINITIONS //************************************************************************** @@ -23,6 +44,7 @@ class input_merger_device : public device_t { public: // callback + template <class Object> devcb_base &set_output_handler(Object &&cb) { return m_output_handler.set_callback(std::forward<Object>(cb)); } auto output_handler() { return m_output_handler.bind(); } // input lines |