summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Nigel Barnes <ngbarnes@gmail.com>2025-09-17 22:53:28 +0100
committer Nigel Barnes <ngbarnes@gmail.com>2025-09-17 22:53:28 +0100
commit3d979742864d2eadbf1a2421b2cd9305cc2143cd (patch)
tree2f0aa806b1f2477f76d15d56f77ce6b1f8094498
parent2f44d7b9feb6241ffeda2ff6851c6f867f5f8e9c (diff)
bus/archimedes/econet: Moved classes into anonymous namespace.
-rw-r--r--src/devices/bus/archimedes/econet/econet.cpp77
-rw-r--r--src/devices/bus/archimedes/econet/econet.h46
-rw-r--r--src/devices/bus/archimedes/econet/midi.cpp123
-rw-r--r--src/devices/bus/archimedes/econet/midi.h65
-rw-r--r--src/devices/bus/archimedes/econet/rtfmjoy.cpp95
-rw-r--r--src/devices/bus/archimedes/econet/rtfmjoy.h41
-rw-r--r--src/devices/bus/archimedes/econet/slot.cpp8
-rw-r--r--src/devices/bus/archimedes/econet/slot.h2
8 files changed, 163 insertions, 294 deletions
diff --git a/src/devices/bus/archimedes/econet/econet.cpp b/src/devices/bus/archimedes/econet/econet.cpp
index e469b9f581d..0c32c7e8861 100644
--- a/src/devices/bus/archimedes/econet/econet.cpp
+++ b/src/devices/bus/archimedes/econet/econet.cpp
@@ -8,15 +8,46 @@
#include "emu.h"
#include "econet.h"
+
#include "bus/econet/econet.h"
+#include "machine/mc6854.h"
+
+
+namespace {
+
+// ======================> arc_econet_adf10_device
+
+class arc_econet_device : public device_t, public device_archimedes_econet_interface
+{
+public:
+ // construction/destruction
+ arc_econet_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+ : device_t(mconfig, ARC_ECONET, tag, owner, clock)
+ , device_archimedes_econet_interface(mconfig, *this)
+ , m_adlc(*this, "mc6854")
+ {
+ }
+
+protected:
+ // device_t overrides
+ virtual void device_start() override ATTR_COLD { }
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
+ virtual u8 read(offs_t offset) override
+ {
+ return m_adlc->read(offset);
+ }
-//**************************************************************************
-// DEVICE DEFINITIONS
-//**************************************************************************
+ virtual void write(offs_t offset, u8 data) override
+ {
+ m_adlc->write(offset, data);
+ }
-DEFINE_DEVICE_TYPE(ARC_ECONET, arc_econet_device, "arc_econet", "Acorn ADF10/AEH52 Econet Module");
+private:
+ required_device<mc6854_device> m_adlc;
+};
//-------------------------------------------------
@@ -37,41 +68,7 @@ void arc_econet_device::device_add_mconfig(machine_config &config)
ECONET_SLOT(config, "econet254", "econet", econet_devices);
}
+} // anonymous namespace
-//**************************************************************************
-// LIVE DEVICE
-//**************************************************************************
-
-//-------------------------------------------------
-// archimedes_econet_device - constructor
-//-------------------------------------------------
-
-arc_econet_device::arc_econet_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
- : device_t(mconfig, ARC_ECONET, tag, owner, clock)
- , device_archimedes_econet_interface(mconfig, *this)
- , m_adlc(*this, "mc6854")
-{
-}
-
-
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void arc_econet_device::device_start()
-{
-}
-//**************************************************************************
-// IMPLEMENTATION
-//**************************************************************************
-
-u8 arc_econet_device::read(offs_t offset)
-{
- return m_adlc->read(offset);
-}
-
-void arc_econet_device::write(offs_t offset, u8 data)
-{
- m_adlc->write(offset, data);
-}
+DEFINE_DEVICE_TYPE_PRIVATE(ARC_ECONET, device_archimedes_econet_interface, arc_econet_device, "arc_econet", "Acorn ADF10/AEH52 Econet Module");
diff --git a/src/devices/bus/archimedes/econet/econet.h b/src/devices/bus/archimedes/econet/econet.h
index a43967264ba..1d33f19e64d 100644
--- a/src/devices/bus/archimedes/econet/econet.h
+++ b/src/devices/bus/archimedes/econet/econet.h
@@ -1,55 +1,13 @@
// license:BSD-3-Clause
// copyright-holders:Nigel Barnes
-/**********************************************************************
-
- Acorn Archimedes Econet Module
-
-**********************************************************************/
-
-
#ifndef MAME_BUS_ARCHIMEDES_ECONET_ECONET_H
#define MAME_BUS_ARCHIMEDES_ECONET_ECONET_H
#pragma once
-
#include "slot.h"
-#include "machine/mc6854.h"
-
-
-
-//**************************************************************************
-// TYPE DEFINITIONS
-//**************************************************************************
-
-// ======================> arc_econet_adf10_device
-
-class arc_econet_device:
- public device_t,
- public device_archimedes_econet_interface
-{
-public:
- // construction/destruction
- arc_econet_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
-
-protected:
- // device-level overrides
- virtual void device_start() override ATTR_COLD;
-
- // optional information overrides
- virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
-
- virtual u8 read(offs_t offset) override;
- virtual void write(offs_t offset, u8 data) override;
-
-private:
- required_device<mc6854_device> m_adlc;
-};
-
-
-// device type definition
-DECLARE_DEVICE_TYPE(ARC_ECONET, arc_econet_device);
+DECLARE_DEVICE_TYPE(ARC_ECONET, device_archimedes_econet_interface);
-#endif /* MAME_BUS_ARCHIMEDES_ECONET_ECONET_H */
+#endif // MAME_BUS_ARCHIMEDES_ECONET_ECONET_H
diff --git a/src/devices/bus/archimedes/econet/midi.cpp b/src/devices/bus/archimedes/econet/midi.cpp
index f6d3cc5c39b..3c60373c1f9 100644
--- a/src/devices/bus/archimedes/econet/midi.cpp
+++ b/src/devices/bus/archimedes/econet/midi.cpp
@@ -17,15 +17,76 @@
#include "emu.h"
#include "midi.h"
+
#include "bus/midi/midi.h"
+#include "machine/mc6854.h"
+
+#include "speaker.h"
+
+
+namespace {
+
+// ======================> arc_serial_midi_device
+
+class arc_serial_midi_device : public device_t, public device_archimedes_econet_interface
+{
+public:
+ // construction/destruction
+ arc_serial_midi_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+ : arc_serial_midi_device(mconfig, ARC_SERIAL_MIDI, tag, owner, clock)
+ {
+ }
+
+protected:
+ arc_serial_midi_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
+ : device_t(mconfig, type, tag, owner, clock)
+ , device_archimedes_econet_interface(mconfig, *this)
+ , m_adlc(*this, "mc6854")
+ {
+ }
+
+ // device_t overrides
+ virtual void device_start() override ATTR_COLD { }
+
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
+
+ virtual u8 read(offs_t offset) override
+ {
+ return m_adlc->read(offset);
+ }
+ virtual void write(offs_t offset, u8 data) override
+ {
+ m_adlc->write(offset, data);
+ }
-//**************************************************************************
-// DEVICE DEFINITIONS
-//**************************************************************************
+private:
+ required_device<mc6854_device> m_adlc;
+};
-DEFINE_DEVICE_TYPE(ARC_SERIAL_MIDI, arc_serial_midi_device, "arc_serial_midi", "The Serial Port MIDI Interface");
-DEFINE_DEVICE_TYPE(ARC_SERIAL_SAMPLER, arc_serial_sampler_device, "arc_serial_sampler", "The Serial Port Sampler and MIDI Interface");
+
+// ======================> arc_serial_sampler_device
+
+class arc_serial_sampler_device: public arc_serial_midi_device
+{
+public:
+ // construction/destruction
+ arc_serial_sampler_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+ : arc_serial_midi_device(mconfig, ARC_SERIAL_SAMPLER, tag, owner, clock)
+ , m_mic(*this, "mic")
+ {
+ }
+
+ static constexpr feature_type unemulated_features() { return feature::CAPTURE; }
+
+protected:
+ // optional information overrides
+ virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
+
+private:
+ required_device<microphone_device> m_mic;
+};
//-------------------------------------------------
@@ -47,54 +108,14 @@ void arc_serial_sampler_device::device_add_mconfig(machine_config &config)
{
arc_serial_midi_device::device_add_mconfig(config);
- // ZN439E
-}
-
+ MICROPHONE(config, m_mic, 1).front_center();
+ //m_mic->add_route(0, "adc", 1.0);
-//**************************************************************************
-// LIVE DEVICE
-//**************************************************************************
-
-//-------------------------------------------------
-// arc_serial_midi_device - constructor
-//-------------------------------------------------
-
-arc_serial_midi_device::arc_serial_midi_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock)
- : device_t(mconfig, type, tag, owner, clock)
- , device_archimedes_econet_interface(mconfig, *this)
- , m_adlc(*this, "mc6854")
-{
-}
-
-arc_serial_midi_device::arc_serial_midi_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
- : arc_serial_midi_device(mconfig, ARC_SERIAL_MIDI, tag, owner, clock)
-{
-}
-
-arc_serial_sampler_device::arc_serial_sampler_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
- : arc_serial_midi_device(mconfig, ARC_SERIAL_SAMPLER, tag, owner, clock)
-{
-}
-
-
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void arc_serial_midi_device::device_start()
-{
+ // ZN439E
}
-//**************************************************************************
-// IMPLEMENTATION
-//**************************************************************************
+} // anonymous namespace
-u8 arc_serial_midi_device::read(offs_t offset)
-{
- return m_adlc->read(offset);
-}
-void arc_serial_midi_device::write(offs_t offset, u8 data)
-{
- m_adlc->write(offset, data);
-}
+DEFINE_DEVICE_TYPE_PRIVATE(ARC_SERIAL_MIDI, device_archimedes_econet_interface, arc_serial_midi_device, "arc_serial_midi", "The Serial Port MIDI Interface");
+DEFINE_DEVICE_TYPE_PRIVATE(ARC_SERIAL_SAMPLER, device_archimedes_econet_interface, arc_serial_sampler_device, "arc_serial_sampler", "The Serial Port Sampler and MIDI Interface");
diff --git a/src/devices/bus/archimedes/econet/midi.h b/src/devices/bus/archimedes/econet/midi.h
index da078f91d6a..9a3ce9d866e 100644
--- a/src/devices/bus/archimedes/econet/midi.h
+++ b/src/devices/bus/archimedes/econet/midi.h
@@ -1,73 +1,14 @@
// license:BSD-3-Clause
// copyright-holders:Nigel Barnes
-/**********************************************************************
-
- The Serial Port MIDI Interface
-
-**********************************************************************/
-
-
#ifndef MAME_BUS_ARCHIMEDES_ECONET_MIDI_H
#define MAME_BUS_ARCHIMEDES_ECONET_MIDI_H
#pragma once
-
#include "slot.h"
-#include "machine/mc6854.h"
-
-
-//**************************************************************************
-// TYPE DEFINITIONS
-//**************************************************************************
-
-// ======================> arc_serial_midi_device
-
-class arc_serial_midi_device:
- public device_t,
- public device_archimedes_econet_interface
-{
-public:
- // construction/destruction
- arc_serial_midi_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
-
-protected:
- arc_serial_midi_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
-
- // device-level overrides
- virtual void device_start() override ATTR_COLD;
-
- // optional information overrides
- virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
-
- virtual u8 read(offs_t offset) override;
- virtual void write(offs_t offset, u8 data) override;
-
-private:
- required_device<mc6854_device> m_adlc;
-};
-
-
-// ======================> arc_serial_sampler_device
-
-class arc_serial_sampler_device: public arc_serial_midi_device
-{
-public:
- // construction/destruction
- arc_serial_sampler_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
-
- static constexpr feature_type unemulated_features() { return feature::CAPTURE; }
-
-protected:
- // optional information overrides
- virtual void device_add_mconfig(machine_config &config) override ATTR_COLD;
-};
-
-
-// device type definition
-DECLARE_DEVICE_TYPE(ARC_SERIAL_MIDI, arc_serial_midi_device);
-DECLARE_DEVICE_TYPE(ARC_SERIAL_SAMPLER, arc_serial_sampler_device);
+DECLARE_DEVICE_TYPE(ARC_SERIAL_MIDI, device_archimedes_econet_interface);
+DECLARE_DEVICE_TYPE(ARC_SERIAL_SAMPLER, device_archimedes_econet_interface);
-#endif /* MAME_BUS_ARCHIMEDES_ECONET_MIDI_H */
+#endif // MAME_BUS_ARCHIMEDES_ECONET_MIDI_H
diff --git a/src/devices/bus/archimedes/econet/rtfmjoy.cpp b/src/devices/bus/archimedes/econet/rtfmjoy.cpp
index c53e7c155da..5144a0aa1c4 100644
--- a/src/devices/bus/archimedes/econet/rtfmjoy.cpp
+++ b/src/devices/bus/archimedes/econet/rtfmjoy.cpp
@@ -10,15 +10,50 @@
#include "rtfmjoy.h"
-//**************************************************************************
-// DEVICE DEFINITIONS
-//**************************************************************************
+namespace {
-DEFINE_DEVICE_TYPE(ARC_RTFM_JOY, arc_rtfm_joystick_device, "arc_rtfmjoy", "Acorn Archimedes RTFM Joystick Interface");
+class arc_rtfm_joystick_device : public device_t, public device_archimedes_econet_interface
+{
+public:
+ // construction/destruction
+ arc_rtfm_joystick_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
+ : device_t(mconfig, ARC_RTFM_JOY, tag, owner, clock)
+ , device_archimedes_econet_interface(mconfig, *this)
+ , m_joy(*this, "JOY%u", 0U)
+ {
+ }
+
+protected:
+ // device_t overrides
+ virtual void device_start() override ATTR_COLD { }
+
+ // optional information overrides
+ virtual ioport_constructor device_input_ports() const override ATTR_COLD;
+
+ virtual u8 read(offs_t offset) override
+ {
+ u8 data = 0xff;
+
+ switch (offset & 0x03)
+ {
+ case 0x01:
+ data = ~m_joy[0]->read() & 0x1f;
+ break;
+ case 0x02:
+ data = ~m_joy[1]->read() & 0x1f;
+ break;
+ }
+
+ return data;
+ }
+
+private:
+ required_ioport_array<2> m_joy;
+};
//-------------------------------------------------
-// INPUT_PORTS( rtfm_joystick )
+// input_ports - device-specific input ports
//-------------------------------------------------
static INPUT_PORTS_START( rtfm_joystick )
@@ -37,58 +72,12 @@ static INPUT_PORTS_START( rtfm_joystick )
PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_BUTTON1) PORT_NAME("Fire") PORT_PLAYER(2)
INPUT_PORTS_END
-
-//-------------------------------------------------
-// input_ports - device-specific input ports
-//-------------------------------------------------
-
ioport_constructor arc_rtfm_joystick_device::device_input_ports() const
{
return INPUT_PORTS_NAME( rtfm_joystick );
}
+} // anonymous namespace
-//**************************************************************************
-// LIVE DEVICE
-//**************************************************************************
-
-//-------------------------------------------------
-// archimedes_rtfm_joystick_device - constructor
-//-------------------------------------------------
-arc_rtfm_joystick_device::arc_rtfm_joystick_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
- : device_t(mconfig, ARC_RTFM_JOY, tag, owner, clock)
- , device_archimedes_econet_interface(mconfig, *this)
- , m_joy(*this, "JOY%u", 0U)
-{
-}
-
-
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void arc_rtfm_joystick_device::device_start()
-{
-}
-
-//**************************************************************************
-// IMPLEMENTATION
-//**************************************************************************
-
-u8 arc_rtfm_joystick_device::read(offs_t offset)
-{
- u8 data = 0xff;
-
- switch (offset & 0x03)
- {
- case 0x01:
- data = ~m_joy[0]->read() & 0x1f;
- break;
- case 0x02:
- data = ~m_joy[1]->read() & 0x1f;
- break;
- }
-
- return data;
-}
+DEFINE_DEVICE_TYPE_PRIVATE(ARC_RTFM_JOY, device_archimedes_econet_interface, arc_rtfm_joystick_device, "arc_rtfmjoy", "Acorn Archimedes RTFM Joystick Interface");
diff --git a/src/devices/bus/archimedes/econet/rtfmjoy.h b/src/devices/bus/archimedes/econet/rtfmjoy.h
index 63319512464..f5f38cd899a 100644
--- a/src/devices/bus/archimedes/econet/rtfmjoy.h
+++ b/src/devices/bus/archimedes/econet/rtfmjoy.h
@@ -1,50 +1,13 @@
// license:BSD-3-Clause
// copyright-holders:Nigel Barnes
-/**********************************************************************
-
- Acorn Archimedes RTFM Joystick Interface
-
-**********************************************************************/
-
-
#ifndef MAME_BUS_ARCHIMEDES_ECONET_RTFMJOY_H
#define MAME_BUS_ARCHIMEDES_ECONET_RTFMJOY_H
#pragma once
-
#include "slot.h"
+DECLARE_DEVICE_TYPE(ARC_RTFM_JOY, device_archimedes_econet_interface);
-//**************************************************************************
-// TYPE DEFINITIONS
-//**************************************************************************
-
-class arc_rtfm_joystick_device:
- public device_t,
- public device_archimedes_econet_interface
-{
-public:
- // construction/destruction
- arc_rtfm_joystick_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
-
-protected:
- // device-level overrides
- virtual void device_start() override ATTR_COLD;
-
- // optional information overrides
- virtual ioport_constructor device_input_ports() const override ATTR_COLD;
-
- virtual u8 read(offs_t offset) override;
-
-private:
- required_ioport_array<2> m_joy;
-};
-
-
-// device type definition
-DECLARE_DEVICE_TYPE(ARC_RTFM_JOY, arc_rtfm_joystick_device);
-
-
-#endif /* MAME_BUS_ARCHIMEDES_ECONET_RTFMJOY_H */
+#endif // MAME_BUS_ARCHIMEDES_ECONET_RTFMJOY_H
diff --git a/src/devices/bus/archimedes/econet/slot.cpp b/src/devices/bus/archimedes/econet/slot.cpp
index c6417eeb268..6a4642c2ff0 100644
--- a/src/devices/bus/archimedes/econet/slot.cpp
+++ b/src/devices/bus/archimedes/econet/slot.cpp
@@ -19,17 +19,17 @@ DEFINE_DEVICE_TYPE(ARCHIMEDES_ECONET_SLOT, archimedes_econet_slot_device, "archi
//**************************************************************************
-// DEVICE BBC_MODEM PORT INTERFACE
+// DEVICE ARCHIMEDES_ECONET PORT INTERFACE
//**************************************************************************
//-------------------------------------------------
// device_archimedes_econet_interface - constructor
//-------------------------------------------------
-device_archimedes_econet_interface::device_archimedes_econet_interface(const machine_config &mconfig, device_t &device) :
- device_interface(device, "arceconet")
+device_archimedes_econet_interface::device_archimedes_econet_interface(const machine_config &mconfig, device_t &device)
+ : device_interface(device, "arceconet")
+ , m_slot(dynamic_cast<archimedes_econet_slot_device *>(device.owner()))
{
- m_slot = dynamic_cast<archimedes_econet_slot_device *>(device.owner());
}
diff --git a/src/devices/bus/archimedes/econet/slot.h b/src/devices/bus/archimedes/econet/slot.h
index bd6353f45e9..10bf92b31af 100644
--- a/src/devices/bus/archimedes/econet/slot.h
+++ b/src/devices/bus/archimedes/econet/slot.h
@@ -89,7 +89,7 @@ public:
protected:
device_archimedes_econet_interface(const machine_config &mconfig, device_t &device);
- archimedes_econet_slot_device *m_slot;
+ archimedes_econet_slot_device *const m_slot;
};