void centronics_printer_image_device::device_reset() { m_busy = FALSE; output_busy(m_busy); output_fault(1); output_ack(1); }
void centronics_printer_image_device::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) { switch (id) { case TIMER_ACK: output_ack(param); if (param == FALSE) { /* data is now ready, output it */ m_printer->output(m_data); /* ready to receive more data, return BUSY to low */ timer_set(attotime::from_usec(7), TIMER_BUSY, FALSE); } break; case TIMER_BUSY: m_busy = param; output_busy(m_busy); if (param == TRUE) { /* timer to turn ACK low to receive data */ timer_set(attotime::from_usec(10), TIMER_ACK, FALSE); } else { /* timer to return ACK to high state */ timer_set(attotime::from_usec(5), TIMER_ACK, TRUE); } } }
void centronics_printer_device::device_reset() { m_busy = false; output_busy(m_busy); output_fault(1); output_ack(1); output_select(1); }