summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2017-01-21 01:46:24 +0100
committer hap <happppp@users.noreply.github.com>2017-01-21 01:46:33 +0100
commit41e4bb5797be19b7af5d6d3868506770bfc8ff82 (patch)
tree2d053df65da991c66a2a90b397bb93c88f3ead32 /src/devices
parent31ae79c107e380d560a0a56e0f3fb3886e690160 (diff)
added hlcd0515 skeleton device (nw)
Diffstat (limited to 'src/devices')
-rw-r--r--src/devices/video/hlcd0515.cpp67
-rw-r--r--src/devices/video/hlcd0515.h50
2 files changed, 117 insertions, 0 deletions
diff --git a/src/devices/video/hlcd0515.cpp b/src/devices/video/hlcd0515.cpp
new file mode 100644
index 00000000000..638d18f95dd
--- /dev/null
+++ b/src/devices/video/hlcd0515.cpp
@@ -0,0 +1,67 @@
+// license:BSD-3-Clause
+// copyright-holders:hap
+/*
+
+ Hughes HLCD 0515/0569 LCD Driver
+
+ TODO:
+ - x
+
+*/
+
+#include "video/hlcd0515.h"
+
+
+const device_type HLCD0515 = &device_creator<hlcd0515_device>;
+const device_type HLCD0569 = &device_creator<hlcd0569_device>;
+
+//-------------------------------------------------
+// constructor
+//-------------------------------------------------
+
+hlcd0515_device::hlcd0515_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+ : device_t(mconfig, HLCD0515, "HLCD 0515 LCD Driver", tag, owner, clock, "hlcd0515", __FILE__)
+{
+}
+
+hlcd0515_device::hlcd0515_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, u32 clock, const char *shortname, const char *source)
+ : device_t(mconfig, type, name, tag, owner, clock, shortname, source)
+{
+}
+
+hlcd0569_device::hlcd0569_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+ : hlcd0515_device(mconfig, HLCD0569, "HLCD 0569 LCD Driver", tag, owner, clock, "hlcd0569", __FILE__)
+{
+}
+
+
+
+//-------------------------------------------------
+// device_start - device-specific startup
+//-------------------------------------------------
+
+void hlcd0515_device::device_start()
+{
+ // resolve callbacks
+
+ // zerofill
+ m_cs = 0;
+
+ // register for savestates
+ save_item(NAME(m_cs));
+}
+
+
+//-------------------------------------------------
+// device_reset - device-specific reset
+//-------------------------------------------------
+
+void hlcd0515_device::device_reset()
+{
+}
+
+
+
+//-------------------------------------------------
+// handlers
+//-------------------------------------------------
diff --git a/src/devices/video/hlcd0515.h b/src/devices/video/hlcd0515.h
new file mode 100644
index 00000000000..f0637e7ff9a
--- /dev/null
+++ b/src/devices/video/hlcd0515.h
@@ -0,0 +1,50 @@
+// license:BSD-3-Clause
+// copyright-holders:hap
+/*
+
+ Hughes HLCD 0515/0569 LCD Driver
+
+*/
+
+#ifndef _HLCD0515_H_
+#define _HLCD0515_H_
+
+#include "emu.h"
+
+
+class hlcd0515_device : public device_t
+{
+public:
+ hlcd0515_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ hlcd0515_device(const machine_config &mconfig, device_type type, const char *name, const char *tag, device_t *owner, u32 clock, const char *shortname, const char *source);
+
+ // static configuration helpers
+ //template<class _Object> static devcb_base &set_write_x_callback(device_t &device, _Object object) { return downcast<hlcd0515_device &>(device).m_write_x.set_callback(object); }
+
+ //DECLARE_WRITE_LINE_MEMBER(write_cs);
+
+protected:
+ // device-level overrides
+ virtual void device_start() override;
+ virtual void device_reset() override;
+
+ int m_cs;
+
+ // callbacks
+ //devcb_write32 m_write_x;
+};
+
+
+class hlcd0569_device : public hlcd0515_device
+{
+public:
+ hlcd0569_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+};
+
+
+
+extern const device_type HLCD0515;
+extern const device_type HLCD0569;
+
+
+#endif /* _HLCD0515_H_ */