summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/cpu
diff options
context:
space:
mode:
author AJR <ajrhacker@users.noreply.github.com>2019-12-01 19:30:17 -0500
committer AJR <ajrhacker@users.noreply.github.com>2019-12-01 19:30:35 -0500
commit968130b847537aaa8d0bddb140b4d817369a3d95 (patch)
tree4d3e73dab993f1976a48dda1021162864938c085 /src/devices/cpu
parentac55cbc84dee9520f7f5afc54b2e015339f852be (diff)
dp8344: Split into two device types (only nominally different for now) (nw)
Diffstat (limited to 'src/devices/cpu')
-rw-r--r--src/devices/cpu/bcp/dp8344.cpp29
-rw-r--r--src/devices/cpu/bcp/dp8344.h29
2 files changed, 50 insertions, 8 deletions
diff --git a/src/devices/cpu/bcp/dp8344.cpp b/src/devices/cpu/bcp/dp8344.cpp
index 31ffd971553..63502c9b0f9 100644
--- a/src/devices/cpu/bcp/dp8344.cpp
+++ b/src/devices/cpu/bcp/dp8344.cpp
@@ -47,7 +47,9 @@
// GLOBAL VARIABLES
//**************************************************************************
-DEFINE_DEVICE_TYPE(DP8344, dp8344_device, "dp8344", "DP8344 BCP")
+// device type definitions
+DEFINE_DEVICE_TYPE(DP8344A, dp8344a_device, "dp8344a", "DP8344A BCP")
+DEFINE_DEVICE_TYPE(DP8344B, dp8344b_device, "dp8344b", "DP8344B BCP")
//**************************************************************************
@@ -60,8 +62,8 @@ ALLOW_SAVE_TYPE(dp8344_device::inst_state);
// dp8344_device - constructor
//-------------------------------------------------
-dp8344_device::dp8344_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
- : cpu_device(mconfig, DP8344, tag, owner, clock)
+dp8344_device::dp8344_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
+ : cpu_device(mconfig, type, tag, owner, clock)
, m_inst_config("instruction", ENDIANNESS_LITTLE, 16, 16, -1)
, m_data_config("data", ENDIANNESS_LITTLE, 8, 16, 0)
, m_inst_space(nullptr)
@@ -113,6 +115,27 @@ dp8344_device::dp8344_device(const machine_config &mconfig, const char *tag, dev
//-------------------------------------------------
+// dp8344a_device - constructor
+//-------------------------------------------------
+
+dp8344a_device::dp8344a_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+ : dp8344_device(mconfig, DP8344A, tag, owner, clock)
+{
+}
+
+
+//-------------------------------------------------
+// dp8344b_device - constructor
+//-------------------------------------------------
+
+dp8344b_device::dp8344b_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+ : dp8344_device(mconfig, DP8344B, tag, owner, clock)
+{
+ // TODO: emulate differences between DP8344A and DP8344B
+}
+
+
+//-------------------------------------------------
// memory_space_config - return a vector of
// configuration structures for memory spaces
//-------------------------------------------------
diff --git a/src/devices/cpu/bcp/dp8344.h b/src/devices/cpu/bcp/dp8344.h
index 1e3c369cc1a..64945539362 100644
--- a/src/devices/cpu/bcp/dp8344.h
+++ b/src/devices/cpu/bcp/dp8344.h
@@ -45,9 +45,6 @@ public:
BCP_ASP, BCP_DSP
};
- // construction/destruction
- dp8344_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
-
// callback configuration
auto birq_out_cb() { return m_birq_out_cb.bind(); }
auto data_out_cb() { return m_data_out_cb.bind(); }
@@ -64,6 +61,9 @@ public:
void remote_write(offs_t offset, u8 data);
protected:
+ // construction/destruction
+ dp8344_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
+
// device-specific overrides
virtual void device_resolve_objects() override;
virtual void device_start() override;
@@ -212,7 +212,26 @@ private:
u8 m_tfifo_head;
};
-// device type declaration
-DECLARE_DEVICE_TYPE(DP8344, dp8344_device)
+// ======================> dp8344a_device
+
+class dp8344a_device : public dp8344_device
+{
+public:
+ // device type constructor
+ dp8344a_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+};
+
+// ======================> dp8344b_device
+
+class dp8344b_device : public dp8344_device
+{
+public:
+ // device type constructor
+ dp8344b_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+};
+
+// device type declarations
+DECLARE_DEVICE_TYPE(DP8344A, dp8344a_device)
+DECLARE_DEVICE_TYPE(DP8344B, dp8344b_device)
#endif // MAME_CPU_BCP_DP8344_H