Example #1
0
void centronics_write_handshake(int nr, int data, int mask)
{
	CENTRONICS *This=cent+nr;
	
	int neu=(data&mask)|(This->control&(~mask));
	
	if (neu & CENTRONICS_NO_RESET)
	{
		if ( !(This->control&CENTRONICS_STROBE) && (neu&CENTRONICS_STROBE) )
		{
			printer_output(image_from_devtype_and_index(IO_PRINTER, nr), This->data);
			
			/* setup timer for data acknowledge */

			/* set mask for data that has changed */
			This->new_control_mask = CENTRONICS_ACKNOWLEDGE;
			/* set data that has changed */
			This->new_control_data = CENTRONICS_ACKNOWLEDGE;

			/* setup a new timer */
			timer_adjust(This->timer, TIME_IN_USEC(1), nr, 0);
		}
	}
	This->control=neu;
}
Example #2
0
static WRITE8_HANDLER( printer_w )
{
	printer_output(image_from_devtype_and_index(IO_PRINTER, 0), data);
}