summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/video/hlcd0515.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/video/hlcd0515.cpp')
-rw-r--r--src/devices/video/hlcd0515.cpp14
1 files changed, 11 insertions, 3 deletions
diff --git a/src/devices/video/hlcd0515.cpp b/src/devices/video/hlcd0515.cpp
index 87abf50bc0e..92d0bfb26be 100644
--- a/src/devices/video/hlcd0515.cpp
+++ b/src/devices/video/hlcd0515.cpp
@@ -5,12 +5,12 @@
Hughes HLCD 0515 family LCD Driver
0515: 25 columns(also size of buffer/ram)
- 0569: 24 columns, no DATA OUT pin, display blank has no effect
+ 0569: 24 columns, display blank has no effect(instead it's external with VDRIVE?)
0530: specifications unknown, pinout seems similar to 0569
+ 0601: specifications unknown, pinout seems similar to 0569
TODO:
- read mode is untested
- - MAME bitmap update callback when needed
*/
@@ -21,6 +21,7 @@
DEFINE_DEVICE_TYPE(HLCD0515, hlcd0515_device, "hlcd0515", "Hughes HLCD 0515 LCD Driver")
DEFINE_DEVICE_TYPE(HLCD0569, hlcd0569_device, "hlcd0569", "Hughes HLCD 0569 LCD Driver")
DEFINE_DEVICE_TYPE(HLCD0530, hlcd0530_device, "hlcd0530", "Hughes HLCD 0530 LCD Driver")
+DEFINE_DEVICE_TYPE(HLCD0601, hlcd0601_device, "hlcd0601", "Hughes HLCD 0601 LCD Driver")
//-------------------------------------------------
// constructor
@@ -44,6 +45,10 @@ hlcd0530_device::hlcd0530_device(const machine_config &mconfig, const char *tag,
hlcd0515_device(mconfig, HLCD0530, tag, owner, clock, 24)
{ }
+hlcd0601_device::hlcd0601_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+ hlcd0515_device(mconfig, HLCD0601, tag, owner, clock, 24)
+{ }
+
//-------------------------------------------------
@@ -64,6 +69,7 @@ void hlcd0515_device::device_start()
m_cs = 0;
m_clk = 0;
m_data = 0;
+ m_dataout = 0;
m_count = 0;
m_control = 0;
m_blank = false;
@@ -77,6 +83,7 @@ void hlcd0515_device::device_start()
save_item(NAME(m_cs));
save_item(NAME(m_clk));
save_item(NAME(m_data));
+ save_item(NAME(m_dataout));
save_item(NAME(m_count));
save_item(NAME(m_control));
save_item(NAME(m_blank));
@@ -139,7 +146,8 @@ void hlcd0515_device::clock_data(int col)
if (col < m_colmax)
m_buffer <<= 1;
- m_write_data(m_buffer >> m_colmax & 1);
+ m_dataout = m_buffer >> m_colmax & 1;
+ m_write_data(m_dataout);
}
else
{