diff --git a/src/emu/ioport.h b/src/emu/ioport.h index 6ed5a7658a3..1bb77979d15 100644 --- a/src/emu/ioport.h +++ b/src/emu/ioport.h @@ -1664,13 +1664,13 @@ ATTR_COLD void INPUT_PORTS_NAME(_name)(device_t &owner, ioport_list &portlist, a template ioport_value ioport_read_line_wrapper(device_t &device, ioport_field &field, void *param) { - return (*_FunctionPointer)(&device); + return ((*_FunctionPointer)(&device) & 1) ? ~ioport_value(0) : 0; } template ioport_value ioport_read_line_wrapper(_FunctionClass &device, ioport_field &field, void *param) { - return (device.*_FunctionPointer)(); + return ((device.*_FunctionPointer)() & 1) ? ~ioport_value(0) : 0; } template