static DISCRETE_STEP(dss_adjustment) { struct dss_adjustment_context *context = (struct dss_adjustment_context *)node->context; INT32 rawportval = input_port_read_direct(context->port); /* only recompute if the value changed from last time */ if (UNEXPECTED(rawportval != context->lastpval)) { double portval = (double)(rawportval - context->pmin) * context->pscale; double scaledval = portval * context->scale + context->min; context->lastpval = rawportval; if (DSS_ADJUSTMENT__LOG == 0) node->output[0] = scaledval; else node->output[0] = pow(10, scaledval); } }
UINT16 devcb_resolved_read16::from_port(offs_t offset, UINT16 mask) { return input_port_read_direct(m_object.port); }
UINT8 devcb_resolved_read8::from_port(offs_t offset) { return input_port_read_direct(m_object.port); }
int devcb_resolved_read_line::from_port() { return (input_port_read_direct(m_object.port) & 1) ? ASSERT_LINE : CLEAR_LINE; }
static READ_LINE_DEVICE_HANDLER( trampoline_read_port_to_read_line ) { return (input_port_read_direct((const input_port_config *)device) & 1) ? ASSERT_LINE : CLEAR_LINE; }
static READ8_DEVICE_HANDLER( trampoline_read_port_to_read8 ) { return input_port_read_direct((const input_port_config *)device); }