summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/bus/a2bus/a2sam.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/bus/a2bus/a2sam.cpp')
-rw-r--r--src/devices/bus/a2bus/a2sam.cpp73
1 files changed, 35 insertions, 38 deletions
diff --git a/src/devices/bus/a2bus/a2sam.cpp b/src/devices/bus/a2bus/a2sam.cpp
index b796b3008d3..ecedc1eaa61 100644
--- a/src/devices/bus/a2bus/a2sam.cpp
+++ b/src/devices/bus/a2bus/a2sam.cpp
@@ -10,21 +10,42 @@
#include "emu.h"
#include "a2sam.h"
+
+#include "sound/dac.h"
+
#include "speaker.h"
-/***************************************************************************
- PARAMETERS
-***************************************************************************/
+
+namespace {
//**************************************************************************
-// GLOBAL VARIABLES
+// TYPE DEFINITIONS
//**************************************************************************
-DEFINE_DEVICE_TYPE(A2BUS_SAM, a2bus_sam_device, "a2sam", "Don't Ask Software S.A.M.")
-
-/***************************************************************************
- FUNCTION PROTOTYPES
-***************************************************************************/
+class a2bus_sam_device:
+ public device_t,
+ public device_a2bus_card_interface
+{
+public:
+ // construction/destruction
+ a2bus_sam_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
+ device_t(mconfig, A2BUS_SAM, tag, owner, clock),
+ device_a2bus_card_interface(mconfig, *this),
+ m_dac(*this, "dac")
+ {
+ }
+
+protected:
+ virtual void device_start() override { }
+ virtual void device_reset() override { }
+ virtual void device_add_mconfig(machine_config &config) override;
+
+ // overrides of standard a2bus slot functions
+ virtual void write_c0nx(uint8_t offset, uint8_t data) override { m_dac->write(data); }
+ virtual bool take_c800() override { return false; }
+
+ required_device<dac_byte_interface> m_dac;
+};
//-------------------------------------------------
// device_add_mconfig - add device configuration
@@ -36,35 +57,11 @@ void a2bus_sam_device::device_add_mconfig(machine_config &config)
DAC_8BIT_R2R(config, m_dac, 0).add_route(ALL_OUTPUTS, "speaker", 0.5); // unknown DAC
}
-//**************************************************************************
-// LIVE DEVICE
-//**************************************************************************
-
-a2bus_sam_device::a2bus_sam_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
- device_t(mconfig, A2BUS_SAM, tag, owner, clock),
- device_a2bus_card_interface(mconfig, *this),
- m_dac(*this, "dac")
-{
-}
-
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void a2bus_sam_device::device_start()
-{
-}
+} // anonymous namespace
-void a2bus_sam_device::device_reset()
-{
-}
-void a2bus_sam_device::write_c0nx(uint8_t offset, uint8_t data)
-{
- m_dac->write(data);
-}
+//**************************************************************************
+// GLOBAL VARIABLES
+//**************************************************************************
-bool a2bus_sam_device::take_c800()
-{
- return false;
-}
+DEFINE_DEVICE_TYPE_PRIVATE(A2BUS_SAM, device_a2bus_card_interface, a2bus_sam_device, "a2sam", "Don't Ask Software S.A.M.")