summaryrefslogtreecommitdiffstatshomepage
path: root/src/mess/video/t6a04.h
diff options
context:
space:
mode:
author Miodrag Milanovic <mmicko@gmail.com>2012-08-21 10:41:19 +0000
committer Miodrag Milanovic <mmicko@gmail.com>2012-08-21 10:41:19 +0000
commit7285b359d259b2ae0fdf85096571c386ec8c991a (patch)
treea027aff57f1a255f9ec6cfd3b68cabe4b6683998 /src/mess/video/t6a04.h
parent67c425e90757876a6716b7867df30c0149912e74 (diff)
Merge of MESS sources (no whatsnew)
Diffstat (limited to 'src/mess/video/t6a04.h')
-rw-r--r--src/mess/video/t6a04.h71
1 files changed, 71 insertions, 0 deletions
diff --git a/src/mess/video/t6a04.h b/src/mess/video/t6a04.h
new file mode 100644
index 00000000000..9f469e2535b
--- /dev/null
+++ b/src/mess/video/t6a04.h
@@ -0,0 +1,71 @@
+/***************************************************************************
+
+ Toshiba T6A04 LCD controller
+
+***************************************************************************/
+
+#pragma once
+
+#ifndef __T6A04_H__
+#define __T6A04_H__
+
+#define MCFG_T6A04_ADD( _tag, _config ) \
+ MCFG_DEVICE_ADD( _tag, T6A04, 0 ) \
+ MCFG_DEVICE_CONFIG(_config)
+
+//**************************************************************************
+// TYPE DEFINITIONS
+//**************************************************************************
+
+// ======================> t6a04_interface
+
+struct t6a04_interface
+{
+ UINT8 height; // number of lines
+ UINT8 width; // pixels for line
+};
+
+// ======================> t6a04_device
+
+class t6a04_device : public device_t,
+ public t6a04_interface
+{
+public:
+ // construction/destruction
+ t6a04_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
+
+ // device interface
+ DECLARE_WRITE8_MEMBER(control_write);
+ DECLARE_READ8_MEMBER(control_read);
+ DECLARE_WRITE8_MEMBER(data_write);
+ DECLARE_READ8_MEMBER(data_read);
+
+ UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+
+protected:
+ // device-level overrides
+ virtual void device_start();
+ virtual void device_reset();
+ virtual void device_config_complete();
+ virtual void device_validity_check(validity_checker &valid) const;
+
+private:
+ UINT8 m_busy_flag;
+ UINT8 m_lcd_ram[960]; //7680 bit (64*120)
+ UINT8 m_display_on;
+ UINT8 m_contrast;
+ UINT8 m_xpos;
+ UINT8 m_ypos;
+ UINT8 m_zpos;
+ INT8 m_direction;
+ UINT8 m_active_counter;
+ UINT8 m_word_len;
+ UINT8 m_opa1;
+ UINT8 m_opa2;
+ UINT8 m_output_reg;
+};
+
+// device type definition
+extern const device_type T6A04;
+
+#endif