summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/netlist.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/netlist.h')
-rw-r--r--src/devices/machine/netlist.h24
1 files changed, 16 insertions, 8 deletions
diff --git a/src/devices/machine/netlist.h b/src/devices/machine/netlist.h
index 050ffad69d6..828e2497af6 100644
--- a/src/devices/machine/netlist.h
+++ b/src/devices/machine/netlist.h
@@ -284,7 +284,7 @@ class netlist_mame_analog_input_device : public device_t, public netlist_mame_su
public:
// construction/destruction
- netlist_mame_analog_input_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ netlist_mame_analog_input_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
void set_name(const char *param_name) { m_param_name = param_name; }
@@ -323,7 +323,7 @@ public:
typedef device_delegate<void (const double, const attotime &)> output_delegate;
// construction/destruction
- netlist_mame_analog_output_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ netlist_mame_analog_output_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
void set_params(const char *in_name, output_delegate &&adelegate);
@@ -347,9 +347,17 @@ public:
typedef device_delegate<void(const int, const attotime &)> output_delegate;
// construction/destruction
- netlist_mame_logic_output_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ netlist_mame_logic_output_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
void set_params(const char *in_name, output_delegate &&adelegate);
+ template <class FunctionClass> void set_params(const char *in_name, void (FunctionClass::*callback)(const int, const attotime &), const char *name)
+ {
+ set_params(in_name, output_delegate(callback, name, nullptr, static_cast<FunctionClass *>(nullptr)));
+ }
+ template <class FunctionClass> void set_params(const char *in_name, const char *devname, void (FunctionClass::*callback)(const int, const attotime &), const char *name)
+ {
+ set_params(in_name, output_delegate(callback, name, devname, static_cast<FunctionClass *>(nullptr)));
+ }
protected:
// device-level overrides
@@ -369,7 +377,7 @@ class netlist_mame_int_input_device : public device_t, public netlist_mame_sub_i
{
public:
// construction/destruction
- netlist_mame_int_input_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ netlist_mame_int_input_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
void set_params(const char *param_name, const uint32_t mask, const uint32_t shift);
@@ -403,7 +411,7 @@ class netlist_mame_logic_input_device : public device_t, public netlist_mame_sub
{
public:
// construction/destruction
- netlist_mame_logic_input_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ netlist_mame_logic_input_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
void set_params(const char *param_name, const uint32_t shift);
@@ -435,7 +443,7 @@ class netlist_mame_ram_pointer_device : public device_t, public netlist_mame_sub
{
public:
// construction/destruction
- netlist_mame_ram_pointer_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ netlist_mame_ram_pointer_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
uint8_t* ptr() const { return m_data; }
@@ -460,7 +468,7 @@ class netlist_mame_stream_input_device : public device_t, public netlist_mame_su
{
public:
// construction/destruction
- netlist_mame_stream_input_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ netlist_mame_stream_input_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
void set_params(int channel, const char *param_name);
@@ -481,7 +489,7 @@ class netlist_mame_stream_output_device : public device_t, public netlist_mame_s
{
public:
// construction/destruction
- netlist_mame_stream_output_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ netlist_mame_stream_output_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock = 0);
void set_params(int channel, const char *out_name);