diff options
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 |
commit | 968130b847537aaa8d0bddb140b4d817369a3d95 (patch) | |
tree | 4d3e73dab993f1976a48dda1021162864938c085 /src/devices/cpu | |
parent | ac55cbc84dee9520f7f5afc54b2e015339f852be (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.cpp | 29 | ||||
-rw-r--r-- | src/devices/cpu/bcp/dp8344.h | 29 |
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 |