summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/bbc/tube/tube_a500.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/bbc/tube/tube_a500.cpp')
-rw-r--r--src/devices/bus/bbc/tube/tube_a500.cpp61
1 files changed, 24 insertions, 37 deletions
diff --git a/src/devices/bus/bbc/tube/tube_a500.cpp b/src/devices/bus/bbc/tube/tube_a500.cpp
index 3c3e7a583e2..2362d4896ab 100644
--- a/src/devices/bus/bbc/tube/tube_a500.cpp
+++ b/src/devices/bus/bbc/tube/tube_a500.cpp
@@ -29,16 +29,32 @@
namespace {
+// ======================> bbc_tube_a500_device
+
class bbc_tube_a500_device : public device_t, public device_bbc_tube_interface
{
public:
- bbc_tube_a500_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
+ bbc_tube_a500_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : bbc_tube_a500_device(mconfig, BBC_TUBE_A500, tag, owner, clock)
+ {
+ }
protected:
- bbc_tube_a500_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
+ bbc_tube_a500_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_bbc_tube_interface(mconfig, *this)
+ , m_maincpu(*this, "maincpu")
+ , m_ioc(*this, "ioc")
+ , m_memc(*this, "memc")
+ , m_vidc(*this, "vidc")
+ , m_ula(*this, "ula")
+ , m_irqs(*this, "irqs")
+ , m_fiqs(*this, "fiqs")
+ {
+ }
// device_t overrides
- virtual void device_start() override { }
+ virtual void device_start() override ATTR_COLD { }
// optional information overrides
virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
@@ -68,7 +84,10 @@ private:
class bbc_tube_a500d_device : public bbc_tube_a500_device
{
public:
- bbc_tube_a500d_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
+ bbc_tube_a500d_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
+ : bbc_tube_a500_device(mconfig, BBC_TUBE_A500D, tag, owner, clock)
+ {
+ }
protected:
// optional information overrides
@@ -149,7 +168,7 @@ const tiny_rom_entry *bbc_tube_a500d_device::device_rom_region() const
void bbc_tube_a500_device::device_add_mconfig(machine_config &config)
{
- ARM(config, m_maincpu, 24_MHz_XTAL / 3);
+ ARM(config, m_maincpu, 24_MHz_XTAL / 3); // ARM2
m_maincpu->set_addrmap(AS_PROGRAM, &bbc_tube_a500_device::arm_mem);
INPUT_MERGER_ANY_HIGH(config, m_fiqs).output_handler().set_inputline(m_maincpu, ARM_FIRQ_LINE);
@@ -194,38 +213,6 @@ void bbc_tube_a500d_device::device_add_mconfig(machine_config &config)
m_ioc->peripheral_w<4>().set(m_ula, FUNC(tube_device::parasite_w));
}
-
-//**************************************************************************
-// LIVE DEVICE
-//**************************************************************************
-
-//-------------------------------------------------
-// bbc_tube_a500_device - constructor
-//-------------------------------------------------
-
-bbc_tube_a500_device::bbc_tube_a500_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock)
- : device_t(mconfig, type, tag, owner, clock)
- , device_bbc_tube_interface(mconfig, *this)
- , m_maincpu(*this, "maincpu")
- , m_ioc(*this, "ioc")
- , m_memc(*this, "memc")
- , m_vidc(*this, "vidc")
- , m_ula(*this, "ula")
- , m_irqs(*this, "irqs")
- , m_fiqs(*this, "fiqs")
-{
-}
-
-bbc_tube_a500_device::bbc_tube_a500_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : bbc_tube_a500_device(mconfig, BBC_TUBE_A500, tag, owner, clock)
-{
-}
-
-bbc_tube_a500d_device::bbc_tube_a500d_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
- : bbc_tube_a500_device(mconfig, BBC_TUBE_A500D, tag, owner, clock)
-{
-}
-
} // anonymous namespace