summaryrefslogtreecommitdiffstatshomepage
path: root/trunk/src/emu/machine/ctronics.h
diff options
context:
space:
mode:
Diffstat (limited to 'trunk/src/emu/machine/ctronics.h')
-rw-r--r--trunk/src/emu/machine/ctronics.h75
1 files changed, 75 insertions, 0 deletions
diff --git a/trunk/src/emu/machine/ctronics.h b/trunk/src/emu/machine/ctronics.h
new file mode 100644
index 00000000000..a5d3bdf8e1a
--- /dev/null
+++ b/trunk/src/emu/machine/ctronics.h
@@ -0,0 +1,75 @@
+/***************************************************************************
+
+ Centronics printer interface
+
+***************************************************************************/
+
+#ifndef __CTRONICS_H__
+#define __CTRONICS_H__
+
+#include "devcb.h"
+
+
+/***************************************************************************
+ TYPE DEFINITIONS
+***************************************************************************/
+
+typedef struct _centronics_interface centronics_interface;
+struct _centronics_interface
+{
+ int is_ibmpc;
+
+ devcb_write_line out_ack_func;
+ devcb_write_line out_busy_func;
+ devcb_write_line out_not_busy_func;
+};
+
+
+/***************************************************************************
+ FUNCTION PROTOTYPES
+***************************************************************************/
+WRITE8_DEVICE_HANDLER( centronics_data_w );
+READ8_DEVICE_HANDLER( centronics_data_r );
+
+/* access to the individual bits */
+WRITE_LINE_DEVICE_HANDLER( centronics_d0_w );
+WRITE_LINE_DEVICE_HANDLER( centronics_d1_w );
+WRITE_LINE_DEVICE_HANDLER( centronics_d2_w );
+WRITE_LINE_DEVICE_HANDLER( centronics_d3_w );
+WRITE_LINE_DEVICE_HANDLER( centronics_d4_w );
+WRITE_LINE_DEVICE_HANDLER( centronics_d5_w );
+WRITE_LINE_DEVICE_HANDLER( centronics_d6_w );
+WRITE_LINE_DEVICE_HANDLER( centronics_d7_w );
+
+WRITE_LINE_DEVICE_HANDLER( centronics_strobe_w );
+WRITE_LINE_DEVICE_HANDLER( centronics_prime_w );
+WRITE_LINE_DEVICE_HANDLER( centronics_init_w );
+WRITE_LINE_DEVICE_HANDLER( centronics_autofeed_w );
+
+READ_LINE_DEVICE_HANDLER( centronics_ack_r );
+READ_LINE_DEVICE_HANDLER( centronics_busy_r );
+READ_LINE_DEVICE_HANDLER( centronics_pe_r );
+READ_LINE_DEVICE_HANDLER( centronics_not_busy_r );
+READ_LINE_DEVICE_HANDLER( centronics_vcc_r );
+READ_LINE_DEVICE_HANDLER( centronics_fault_r );
+
+
+/***************************************************************************
+ DEVICE CONFIGURATION MACROS
+***************************************************************************/
+
+DECLARE_LEGACY_DEVICE(CENTRONICS, centronics);
+
+#define MCFG_CENTRONICS_ADD(_tag, _intf) \
+ MCFG_DEVICE_ADD(_tag, CENTRONICS, 0) \
+ MCFG_DEVICE_CONFIG(_intf)
+
+
+/***************************************************************************
+ DEFAULT INTERFACES
+***************************************************************************/
+
+extern const centronics_interface standard_centronics;
+
+
+#endif /* __CTRONICS_H__ */