diff options
Diffstat (limited to 'src/devices/video/hlcd0515.cpp')
-rw-r--r-- | src/devices/video/hlcd0515.cpp | 14 |
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 { |