diff options
author | 2017-12-09 18:08:01 -0500 | |
---|---|---|
committer | 2017-12-09 18:08:01 -0500 | |
commit | 7c0d98451440e22cc5d1a0d4552b692a64a06096 (patch) | |
tree | 46802cf4b376c8490f8942d8e139e4218b06c71d /src/devices/cpu/m6809 | |
parent | 6c7c1e8a67d2c718f501a27b432827dbf9c5afc0 (diff) |
hd6309: Create HD6309E variant that fixes ajax regression (nw)
Diffstat (limited to 'src/devices/cpu/m6809')
-rw-r--r-- | src/devices/cpu/m6809/hd6309.cpp | 15 | ||||
-rw-r--r-- | src/devices/cpu/m6809/hd6309.h | 15 |
2 files changed, 27 insertions, 3 deletions
diff --git a/src/devices/cpu/m6809/hd6309.cpp b/src/devices/cpu/m6809/hd6309.cpp index 1b40d17e06f..0937a575542 100644 --- a/src/devices/cpu/m6809/hd6309.cpp +++ b/src/devices/cpu/m6809/hd6309.cpp @@ -126,19 +126,30 @@ March 2013 NPW: //************************************************************************** DEFINE_DEVICE_TYPE(HD6309, hd6309_device, "hd6309", "HD6309") +DEFINE_DEVICE_TYPE(HD6309E, hd6309e_device, "hd6309e", "HD6309E") //------------------------------------------------- // hd6309_device - constructor //------------------------------------------------- -hd6309_device::hd6309_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : - m6809_base_device(mconfig, tag, owner, clock, HD6309, 4), +hd6309_device::hd6309_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, device_type type, int divider) : + m6809_base_device(mconfig, tag, owner, clock, type, divider), m_md(0), m_temp_im(0) { } +hd6309_device::hd6309_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + hd6309_device(mconfig, tag, owner, clock, HD6309, 4) +{ +} + +hd6309e_device::hd6309e_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) : + hd6309_device(mconfig, tag, owner, clock, HD6309E, 1) +{ +} + //------------------------------------------------- // device_start - device-specific startup //------------------------------------------------- diff --git a/src/devices/cpu/m6809/hd6309.h b/src/devices/cpu/m6809/hd6309.h index 8e209f9f7b2..26352b6fe57 100644 --- a/src/devices/cpu/m6809/hd6309.h +++ b/src/devices/cpu/m6809/hd6309.h @@ -20,8 +20,9 @@ // TYPE DEFINITIONS //************************************************************************** -// device type definition +// device type definitions DECLARE_DEVICE_TYPE(HD6309, hd6309_device) +DECLARE_DEVICE_TYPE(HD6309E, hd6309e_device) // ======================> hd6309_device @@ -32,6 +33,9 @@ public: hd6309_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); protected: + // delegating constructor + hd6309_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, device_type type, int divider); + // device-level overrides virtual void device_start() override; virtual void device_reset() override; @@ -138,6 +142,15 @@ enum HD6309_ZERO_WORD }; +// ======================> hd6309e_device + +class hd6309e_device : public hd6309_device +{ +public: + // construction/destruction + hd6309e_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock); +}; + #define HD6309_IRQ_LINE M6809_IRQ_LINE /* 0 - IRQ line number */ #define HD6309_FIRQ_LINE M6809_FIRQ_LINE /* 1 - FIRQ line number */ |