Beispiel #1
0
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);
	}
}
Beispiel #2
0
UINT16 devcb_resolved_read16::from_port(offs_t offset, UINT16 mask)
{
	return input_port_read_direct(m_object.port);
}
Beispiel #3
0
UINT8 devcb_resolved_read8::from_port(offs_t offset)
{
	return input_port_read_direct(m_object.port);
}
Beispiel #4
0
int devcb_resolved_read_line::from_port()
{
	return (input_port_read_direct(m_object.port) & 1) ? ASSERT_LINE : CLEAR_LINE;
}
Beispiel #5
0
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;
}
Beispiel #6
0
static READ8_DEVICE_HANDLER( trampoline_read_port_to_read8 )
{
	return input_port_read_direct((const input_port_config *)device);
}