diff options
Diffstat (limited to 'src/emu/ioport.h')
-rw-r--r-- | src/emu/ioport.h | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/src/emu/ioport.h b/src/emu/ioport.h index 6149ff1cec6..ff93dbc6eb8 100644 --- a/src/emu/ioport.h +++ b/src/emu/ioport.h @@ -654,7 +654,7 @@ typedef void(*ioport_constructor)(device_t &owner, ioport_list &portlist, std::s // I/O port callback function delegates typedef device_delegate<ioport_value (ioport_field &, void *)> ioport_field_read_delegate; -typedef device_delegate<void (ioport_field &, void *, ioport_value, ioport_value)> ioport_field_write_delegate; +typedef device_delegate<void (ioport_field &, u32, ioport_value, ioport_value)> ioport_field_write_delegate; typedef device_delegate<float (ioport_field &, float)> ioport_field_crossmap_delegate; @@ -1130,7 +1130,7 @@ private: ioport_field_read_delegate m_read; // read callback routine void * m_read_param; // parameter for read callback routine ioport_field_write_delegate m_write; // write callback routine - void * m_write_param; // parameter for write callback routine + u32 m_write_param; // parameter for write callback routine // data relevant to digital control types bool m_digital_value; // externally set value @@ -1526,7 +1526,7 @@ public: ioport_configurer& field_set_remap_table(const ioport_value *table) { m_curfield->m_remap_table = table; return *this; } ioport_configurer& field_set_analog_invert() { m_curfield->m_flags |= ioport_field::ANALOG_FLAG_INVERT; return *this; } ioport_configurer& field_set_dynamic_read(ioport_field_read_delegate delegate, void *param = nullptr) { m_curfield->m_read = delegate; m_curfield->m_read_param = param; return *this; } - ioport_configurer& field_set_dynamic_write(ioport_field_write_delegate delegate, void *param = nullptr) { m_curfield->m_write = delegate; m_curfield->m_write_param = param; return *this; } + ioport_configurer& field_set_dynamic_write(ioport_field_write_delegate delegate, u32 param = 0) { m_curfield->m_write = delegate; m_curfield->m_write_param = param; return *this; } ioport_configurer& field_set_diplocation(const char *location) { m_curfield->expand_diplocation(location, m_errorbuf); return *this; } // setting helpers @@ -1560,8 +1560,8 @@ private: #define DECLARE_CUSTOM_INPUT_MEMBER(name) ioport_value name(ioport_field &field, void *param) // macro for port write callback functions (PORT_CHANGED) -#define INPUT_CHANGED_MEMBER(name) void name(ioport_field &field, void *param, ioport_value oldval, ioport_value newval) -#define DECLARE_INPUT_CHANGED_MEMBER(name) void name(ioport_field &field, void *param, ioport_value oldval, ioport_value newval) +#define INPUT_CHANGED_MEMBER(name) void name(ioport_field &field, u32 param, ioport_value oldval, ioport_value newval) +#define DECLARE_INPUT_CHANGED_MEMBER(name) void name(ioport_field &field, u32 param, ioport_value oldval, ioport_value newval) // macro for port changed callback functions (PORT_CROSSHAIR_MAPPER) #define CROSSHAIR_MAPPER_MEMBER(name) float name(ioport_field &field, float linear_value) @@ -1715,7 +1715,7 @@ ATTR_COLD void INPUT_PORTS_NAME(_name)(device_t &owner, ioport_list &portlist, s // write callbacks #define PORT_CHANGED_MEMBER(_device, _class, _member, _param) \ - configurer.field_set_dynamic_write(ioport_field_write_delegate(&_class::_member, #_class "::" #_member, _device, (_class *)nullptr), (void *)(_param)); + configurer.field_set_dynamic_write(ioport_field_write_delegate(&_class::_member, #_class "::" #_member, _device, (_class *)nullptr), (_param)); // input device handler #define PORT_READ_LINE_DEVICE_MEMBER(_device, _class, _member) \ @@ -1723,7 +1723,7 @@ ATTR_COLD void INPUT_PORTS_NAME(_name)(device_t &owner, ioport_list &portlist, s // output device handler #define PORT_WRITE_LINE_DEVICE_MEMBER(_device, _class, _member) \ - configurer.field_set_dynamic_write(ioport_field_write_delegate([](_class &device, ioport_field &field, void *param, ioport_value oldval, ioport_value newval) { device._member(newval); }, #_class "::" #_member, _device, (_class *)nullptr)); + configurer.field_set_dynamic_write(ioport_field_write_delegate([](_class &device, ioport_field &field, u32 param, ioport_value oldval, ioport_value newval) { device._member(newval); }, #_class "::" #_member, _device, (_class *)nullptr)); // dip switch definition #define PORT_DIPNAME(_mask, _default, _name) \ |