summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/machine/74145.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/mess/machine/74145.h')
-rw-r--r--src/mess/machine/74145.h83
1 files changed, 83 insertions, 0 deletions
diff --git a/src/mess/machine/74145.h b/src/mess/machine/74145.h
new file mode 100644
index 00000000000..62a3cf0e30f
--- /dev/null
+++ b/src/mess/machine/74145.h
@@ -0,0 +1,83 @@
+/***************************************************************************
+
+ TTL74145
+
+ BCD-to-Decimal decoder
+
+***************************************************************************/
+
+#ifndef __TTL74145_H__
+#define __TTL74145_H__
+
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+#define MCFG_TTL74145_ADD(_tag, _intf) \
+ MCFG_DEVICE_ADD(_tag, TTL74145, 0) \
+ MCFG_DEVICE_CONFIG(_intf)
+
+
+//**************************************************************************
+// TYPE DEFINITIONS
+//**************************************************************************
+
+// ======================> ttl74145_interface
+
+struct ttl74145_interface
+{
+ devcb_write_line m_output_line_0_cb;
+ devcb_write_line m_output_line_1_cb;
+ devcb_write_line m_output_line_2_cb;
+ devcb_write_line m_output_line_3_cb;
+ devcb_write_line m_output_line_4_cb;
+ devcb_write_line m_output_line_5_cb;
+ devcb_write_line m_output_line_6_cb;
+ devcb_write_line m_output_line_7_cb;
+ devcb_write_line m_output_line_8_cb;
+ devcb_write_line m_output_line_9_cb;
+};
+
+// ======================> ttl74145_device
+
+class ttl74145_device : public device_t,
+ public ttl74145_interface
+{
+public:
+ // construction/destruction
+ ttl74145_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+
+ UINT16 read();
+ void write(UINT8 data);
+protected:
+ // device-level overrides
+ virtual void device_start();
+ virtual void device_reset();
+ virtual void device_config_complete();
+
+private:
+ devcb_resolved_write_line m_output_line_0_func;
+ devcb_resolved_write_line m_output_line_1_func;
+ devcb_resolved_write_line m_output_line_2_func;
+ devcb_resolved_write_line m_output_line_3_func;
+ devcb_resolved_write_line m_output_line_4_func;
+ devcb_resolved_write_line m_output_line_5_func;
+ devcb_resolved_write_line m_output_line_6_func;
+ devcb_resolved_write_line m_output_line_7_func;
+ devcb_resolved_write_line m_output_line_8_func;
+ devcb_resolved_write_line m_output_line_9_func;
+
+ /* decoded number */
+ UINT16 m_number;
+};
+
+// device type definition
+extern const device_type TTL74145;
+
+//**************************************************************************
+// DEFAULT INTERFACES
+//**************************************************************************
+
+extern const ttl74145_interface default_ttl74145;
+
+
+#endif /* TTL74145 */