diff options
author | 2020-03-24 16:12:27 -0400 | |
---|---|---|
committer | 2020-03-24 16:12:27 -0400 | |
commit | d8515a26ea20f45163c6c4a4acfd6179937adc5d (patch) | |
tree | 47ac9e7b94fc84115c025e114181cf3001881343 /src/devices/cpu/mcs96 | |
parent | 5017f9f28d9c8aee3f89950cfde5e127ecddc480 (diff) |
i8x9x: Add more device types, some with 16-bit buses
Diffstat (limited to 'src/devices/cpu/mcs96')
-rw-r--r-- | src/devices/cpu/mcs96/i8x9x.cpp | 24 | ||||
-rw-r--r-- | src/devices/cpu/mcs96/i8x9x.h | 20 |
2 files changed, 34 insertions, 10 deletions
diff --git a/src/devices/cpu/mcs96/i8x9x.cpp b/src/devices/cpu/mcs96/i8x9x.cpp index 13ee6a874e6..9a43dc78350 100644 --- a/src/devices/cpu/mcs96/i8x9x.cpp +++ b/src/devices/cpu/mcs96/i8x9x.cpp @@ -12,8 +12,8 @@ #include "i8x9x.h" #include "i8x9xd.h" -i8x9x_device::i8x9x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock) : - mcs96_device(mconfig, type, tag, owner, clock, 8, address_map_constructor(FUNC(i8x9x_device::internal_regs), this)), +i8x9x_device::i8x9x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int data_width) : + mcs96_device(mconfig, type, tag, owner, clock, data_width, address_map_constructor(FUNC(i8x9x_device::internal_regs), this)), m_ach_cb(*this), m_hso_cb(*this), m_serial_tx_cb(*this), @@ -491,17 +491,29 @@ void i8x9x_device::internal_update(u64 current_time) recompute_bcount(event_time); } -c8095_device::c8095_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : - i8x9x_device(mconfig, C8095, tag, owner, clock) +c8095_90_device::c8095_90_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : + i8x9x_device(mconfig, C8095_90, tag, owner, clock, 16) +{ +} + +n8097bh_device::n8097bh_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : + i8x9x_device(mconfig, N8097BH, tag, owner, clock, 16) { } p8098_device::p8098_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : - i8x9x_device(mconfig, P8098, tag, owner, clock) + i8x9x_device(mconfig, P8098, tag, owner, clock, 8) +{ +} + +p8798_device::p8798_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : + i8x9x_device(mconfig, P8798, tag, owner, clock, 8) { } -DEFINE_DEVICE_TYPE(C8095, c8095_device, "c8095", "Intel C8095") +DEFINE_DEVICE_TYPE(C8095_90, c8095_90_device, "c8095_90", "Intel C8095-90") +DEFINE_DEVICE_TYPE(N8097BH, n8097bh_device, "n8097bh", "Intel N8097BH") DEFINE_DEVICE_TYPE(P8098, p8098_device, "p8098", "Intel P8098") +DEFINE_DEVICE_TYPE(P8798, p8798_device, "p8798", "Intel P8798") #include "cpu/mcs96/i8x9x.hxx" diff --git a/src/devices/cpu/mcs96/i8x9x.h b/src/devices/cpu/mcs96/i8x9x.h index 4d0c78252d8..3a8f459865f 100644 --- a/src/devices/cpu/mcs96/i8x9x.h +++ b/src/devices/cpu/mcs96/i8x9x.h @@ -53,7 +53,7 @@ public: void serial_w(u8 val); protected: - i8x9x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock); + i8x9x_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, int data_width); virtual void device_resolve_objects() override; virtual void device_start() override; @@ -147,9 +147,14 @@ private: void serial_send_done(); }; -class c8095_device : public i8x9x_device { +class c8095_90_device : public i8x9x_device { public: - c8095_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); + c8095_90_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); +}; + +class n8097bh_device : public i8x9x_device { +public: + n8097bh_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); }; class p8098_device : public i8x9x_device { @@ -157,7 +162,14 @@ public: p8098_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); }; -DECLARE_DEVICE_TYPE(C8095, c8095_device) +class p8798_device : public i8x9x_device { +public: + p8798_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); +}; + +DECLARE_DEVICE_TYPE(C8095_90, c8095_90_device) +DECLARE_DEVICE_TYPE(N8097BH, n8097bh_device) DECLARE_DEVICE_TYPE(P8098, p8098_device) +DECLARE_DEVICE_TYPE(P8798, p8798_device) #endif // MAME_CPU_MCS96_I8X9X_H |