diff options
Diffstat (limited to 'src/devices/bus/a2bus/a2sam.cpp')
-rw-r--r-- | src/devices/bus/a2bus/a2sam.cpp | 73 |
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.") |