mirror of
https://github.com/holub/mame
synced 2025-10-06 17:08:28 +03:00
apollo: Make beeper subdevice of keyboard; eliminate associated machine().device call (nw)
This commit is contained in:
parent
783a4188de
commit
45bd48fe24
@ -29,14 +29,12 @@
|
|||||||
#include "includes/apollo.h"
|
#include "includes/apollo.h"
|
||||||
|
|
||||||
#include "cpu/m68000/m68000.h"
|
#include "cpu/m68000/m68000.h"
|
||||||
#include "sound/beep.h"
|
|
||||||
|
|
||||||
// we use set_verbose
|
// we use set_verbose
|
||||||
#include "bus/isa/omti8621.h"
|
#include "bus/isa/omti8621.h"
|
||||||
#include "bus/isa/3c505.h"
|
#include "bus/isa/3c505.h"
|
||||||
|
|
||||||
#include "debugger.h"
|
#include "debugger.h"
|
||||||
#include "speaker.h"
|
|
||||||
|
|
||||||
#include "apollo_dsp.lh"
|
#include "apollo_dsp.lh"
|
||||||
|
|
||||||
@ -1054,11 +1052,6 @@ MACHINE_CONFIG_START(apollo_state::dn3500)
|
|||||||
|
|
||||||
apollo(config);
|
apollo(config);
|
||||||
|
|
||||||
/* keyboard beeper */
|
|
||||||
SPEAKER(config, "mono").front_center();
|
|
||||||
MCFG_DEVICE_ADD("beep", BEEP, 1000)
|
|
||||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
|
|
||||||
|
|
||||||
/* internal ram */
|
/* internal ram */
|
||||||
RAM(config, m_ram).set_default_size("8M").set_extra_options("4M,8M,16M,32M");
|
RAM(config, m_ram).set_default_size("8M").set_extra_options("4M,8M,16M,32M");
|
||||||
|
|
||||||
@ -1076,11 +1069,6 @@ MACHINE_CONFIG_START(apollo_state::dsp3500)
|
|||||||
|
|
||||||
apollo_terminal(config);
|
apollo_terminal(config);
|
||||||
|
|
||||||
/* keyboard beeper */
|
|
||||||
SPEAKER(config, "mono").front_center();
|
|
||||||
MCFG_DEVICE_ADD("beep", BEEP, 1000)
|
|
||||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
|
|
||||||
|
|
||||||
/* internal ram */
|
/* internal ram */
|
||||||
RAM(config, RAM_TAG).set_default_size("8M").set_extra_options("4M,8M,16M,32M");
|
RAM(config, RAM_TAG).set_default_size("8M").set_extra_options("4M,8M,16M,32M");
|
||||||
|
|
||||||
@ -1128,11 +1116,6 @@ MACHINE_CONFIG_START(apollo_state::dsp3000)
|
|||||||
|
|
||||||
apollo_terminal(config);
|
apollo_terminal(config);
|
||||||
|
|
||||||
/* keyboard beeper */
|
|
||||||
SPEAKER(config, "mono").front_center();
|
|
||||||
MCFG_DEVICE_ADD("beep", BEEP, 1000)
|
|
||||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
|
|
||||||
|
|
||||||
/* internal ram */
|
/* internal ram */
|
||||||
RAM(config, m_ram).set_default_size("8M").set_extra_options("4M");
|
RAM(config, m_ram).set_default_size("8M").set_extra_options("4M");
|
||||||
|
|
||||||
@ -1176,11 +1159,6 @@ MACHINE_CONFIG_START(apollo_state::dsp5500)
|
|||||||
|
|
||||||
apollo_terminal(config);
|
apollo_terminal(config);
|
||||||
|
|
||||||
/* keyboard beeper */
|
|
||||||
SPEAKER(config, "mono").front_center();
|
|
||||||
MCFG_DEVICE_ADD("beep", BEEP, 1000)
|
|
||||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00)
|
|
||||||
|
|
||||||
/* internal ram */
|
/* internal ram */
|
||||||
// FIXME: guess, to fix validation
|
// FIXME: guess, to fix validation
|
||||||
RAM(config, RAM_TAG).set_default_size("8M").set_extra_options("4M,8M,16M,32M");
|
RAM(config, RAM_TAG).set_default_size("8M").set_extra_options("4M,8M,16M,32M");
|
||||||
|
@ -15,6 +15,7 @@
|
|||||||
#define VERBOSE 0
|
#define VERBOSE 0
|
||||||
|
|
||||||
#include "machine/apollo_kbd.h"
|
#include "machine/apollo_kbd.h"
|
||||||
|
#include "speaker.h"
|
||||||
|
|
||||||
|
|
||||||
#define LOG(x) { m_device->logerror ("%s apollo_kbd: ", m_device->cpu_context()); m_device->logerror x; m_device->logerror ("\n"); }
|
#define LOG(x) { m_device->logerror ("%s apollo_kbd: ", m_device->cpu_context()); m_device->logerror x; m_device->logerror ("\n"); }
|
||||||
@ -188,6 +189,7 @@ DEFINE_DEVICE_TYPE(APOLLO_KBD, apollo_kbd_device, "apollo_kbd", "Apollo Keyboard
|
|||||||
apollo_kbd_device::apollo_kbd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
apollo_kbd_device::apollo_kbd_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||||
: device_t(mconfig, APOLLO_KBD, tag, owner, clock)
|
: device_t(mconfig, APOLLO_KBD, tag, owner, clock)
|
||||||
, device_serial_interface(mconfig, *this)
|
, device_serial_interface(mconfig, *this)
|
||||||
|
, m_beep(*this, "beep")
|
||||||
, m_io_keyboard(*this, "keyboard%u", 1U)
|
, m_io_keyboard(*this, "keyboard%u", 1U)
|
||||||
, m_io_mouse(*this, "mouse%u", 1U)
|
, m_io_mouse(*this, "mouse%u", 1U)
|
||||||
, m_tx_w(*this)
|
, m_tx_w(*this)
|
||||||
@ -195,6 +197,18 @@ apollo_kbd_device::apollo_kbd_device(const machine_config &mconfig, const char *
|
|||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------
|
||||||
|
// device_add_mconfig - add device-specific
|
||||||
|
// machine configuration
|
||||||
|
//-------------------------------------------------
|
||||||
|
|
||||||
|
void apollo_kbd_device::device_add_mconfig(machine_config &config)
|
||||||
|
{
|
||||||
|
/* keyboard beeper */
|
||||||
|
SPEAKER(config, "mono").front_center();
|
||||||
|
BEEP(config, m_beep, 1000).add_route(ALL_OUTPUTS, "mono", 1.00);
|
||||||
|
}
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// device_input_ports - device-specific ports
|
// device_input_ports - device-specific ports
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
@ -300,7 +314,7 @@ void apollo_kbd_device::beeper::start(apollo_kbd_device *device)
|
|||||||
{
|
{
|
||||||
m_device = device;
|
m_device = device;
|
||||||
LOG2(("start apollo_kbd::beeper"));
|
LOG2(("start apollo_kbd::beeper"));
|
||||||
m_beeper = m_device->machine().device<beep_device>("beep");
|
m_beeper = m_device->m_beep.target();
|
||||||
m_timer = m_device->machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(apollo_kbd_device::beeper::beeper_callback), this));
|
m_timer = m_device->machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(apollo_kbd_device::beeper::beeper_callback), this));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -46,6 +46,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
// device-level overrides
|
// device-level overrides
|
||||||
virtual ioport_constructor device_input_ports() const override;
|
virtual ioport_constructor device_input_ports() const override;
|
||||||
|
virtual void device_add_mconfig(machine_config &config) override;
|
||||||
virtual void device_resolve_objects() override;
|
virtual void device_resolve_objects() override;
|
||||||
virtual void device_start() override;
|
virtual void device_start() override;
|
||||||
virtual void device_reset() override;
|
virtual void device_reset() override;
|
||||||
@ -110,6 +111,7 @@ private:
|
|||||||
|
|
||||||
static const int XMIT_RING_SIZE = 64;
|
static const int XMIT_RING_SIZE = 64;
|
||||||
|
|
||||||
|
required_device<beep_device> m_beep;
|
||||||
required_ioport_array<4> m_io_keyboard;
|
required_ioport_array<4> m_io_keyboard;
|
||||||
required_ioport_array<3> m_io_mouse;
|
required_ioport_array<3> m_io_mouse;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user