summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Andrew Gardner <andrew-gardner@users.noreply.github.com>2013-03-06 04:33:54 +0000
committer Andrew Gardner <andrew-gardner@users.noreply.github.com>2013-03-06 04:33:54 +0000
commitc64c35d64a6fbc3c58ec89a3426bc0fd5c21236d (patch)
treed3afc90121acbcac91f21c69211802b2f85fd8d3 /src
parent1230f110d6aa715d65e3ea8632454b859f2db228 (diff)
Modernized the beep and taitosnd devices. [Andrew Gardner]
Diffstat (limited to 'src')
-rw-r--r--src/emu/sound/beep.c188
-rw-r--r--src/emu/sound/beep.h31
-rw-r--r--src/mame/audio/taitosnd.c334
-rw-r--r--src/mame/audio/taitosnd.h71
-rw-r--r--src/mame/drivers/asuka.c28
-rw-r--r--src/mame/drivers/darius.c12
-rw-r--r--src/mame/drivers/deshoros.c6
-rw-r--r--src/mame/drivers/dlair.c4
-rw-r--r--src/mame/drivers/exzisus.c8
-rw-r--r--src/mame/drivers/mlanding.c16
-rw-r--r--src/mame/drivers/ninjaw.c12
-rw-r--r--src/mame/drivers/opwolf.c12
-rw-r--r--src/mame/drivers/othunder.c12
-rw-r--r--src/mame/drivers/pcxt.c8
-rw-r--r--src/mame/drivers/rainbow.c8
-rw-r--r--src/mame/drivers/rastan.c8
-rw-r--r--src/mame/drivers/slapshot.c12
-rw-r--r--src/mame/drivers/taito_b.c78
-rw-r--r--src/mame/drivers/taito_f2.c120
-rw-r--r--src/mame/drivers/taito_h.c16
-rw-r--r--src/mame/drivers/taito_l.c24
-rw-r--r--src/mame/drivers/taito_x.c24
-rw-r--r--src/mame/drivers/taito_z.c18
-rw-r--r--src/mame/drivers/taitoair.c8
-rw-r--r--src/mame/drivers/topspeed.c12
-rw-r--r--src/mame/drivers/volfied.c8
-rw-r--r--src/mame/drivers/warriorb.c12
-rw-r--r--src/mame/drivers/wgp.c12
-rw-r--r--src/mame/drivers/zn.c14
-rw-r--r--src/mame/includes/darius.h3
-rw-r--r--src/mame/includes/ninjaw.h3
-rw-r--r--src/mame/includes/othunder.h3
-rw-r--r--src/mame/includes/slapshot.h4
-rw-r--r--src/mame/includes/taito_z.h3
-rw-r--r--src/mame/includes/warriorb.h3
-rw-r--r--src/mame/includes/wgp.h4
-rw-r--r--src/mess/drivers/a5105.c4
-rw-r--r--src/mess/drivers/alphatro.c8
-rw-r--r--src/mess/drivers/bigbord2.c6
-rw-r--r--src/mess/drivers/bmjr.c6
-rw-r--r--src/mess/drivers/bml3.c6
-rw-r--r--src/mess/drivers/ex800.c12
-rw-r--r--src/mess/drivers/fidelz80.c2
-rw-r--r--src/mess/drivers/fm7.c28
-rw-r--r--src/mess/drivers/glasgow.c14
-rw-r--r--src/mess/drivers/h19.c6
-rw-r--r--src/mess/drivers/h8.c4
-rw-r--r--src/mess/drivers/jr100.c12
-rw-r--r--src/mess/drivers/jr200.c10
-rw-r--r--src/mess/drivers/lx800.c6
-rw-r--r--src/mess/drivers/mephisto.c6
-rw-r--r--src/mess/drivers/micronic.c4
-rw-r--r--src/mess/drivers/mmodular.c36
-rw-r--r--src/mess/drivers/multi8.c6
-rw-r--r--src/mess/drivers/mz2000.c8
-rw-r--r--src/mess/drivers/mz2500.c6
-rw-r--r--src/mess/drivers/nc.c10
-rw-r--r--src/mess/drivers/osi.c10
-rw-r--r--src/mess/drivers/pb1000.c2
-rw-r--r--src/mess/drivers/pc100.c6
-rw-r--r--src/mess/drivers/pc2000.c2
-rw-r--r--src/mess/drivers/pc4.c2
-rw-r--r--src/mess/drivers/pc8801.c10
-rw-r--r--src/mess/drivers/pc9801.c6
-rw-r--r--src/mess/drivers/pce220.c2
-rw-r--r--src/mess/drivers/pcw.c12
-rw-r--r--src/mess/drivers/pcw16.c10
-rw-r--r--src/mess/drivers/psion.c4
-rw-r--r--src/mess/drivers/rex6000.c6
-rw-r--r--src/mess/drivers/sc2.c2
-rw-r--r--src/mess/drivers/smc777.c6
-rw-r--r--src/mess/drivers/studio2.c8
-rw-r--r--src/mess/drivers/supercon.c4
-rw-r--r--src/mess/drivers/tmc1800.c7
-rw-r--r--src/mess/drivers/vk100.c4
-rw-r--r--src/mess/drivers/vt100.c6
-rw-r--r--src/mess/drivers/x07.c8
-rw-r--r--src/mess/drivers/xerox820.c8
-rw-r--r--src/mess/drivers/z9001.c4
-rw-r--r--src/mess/drivers/zrt80.c8
-rw-r--r--src/mess/includes/fidelz80.h10
-rw-r--r--src/mess/includes/osi.h2
-rw-r--r--src/mess/includes/psion.h14
-rw-r--r--src/mess/includes/studio2.h12
-rw-r--r--src/mess/includes/tmc1800.h1
-rw-r--r--src/mess/includes/xerox820.h2
-rw-r--r--src/mess/machine/apollo_kbd.c10
-rw-r--r--src/mess/machine/apollo_kbd.h3
-rw-r--r--src/mess/machine/electron.c18
-rw-r--r--src/mess/machine/kay_kbd.c12
-rw-r--r--src/mess/machine/osborne1.c8
-rw-r--r--src/mess/video/911_vdt.c8
92 files changed, 762 insertions, 814 deletions
diff --git a/src/emu/sound/beep.c b/src/emu/sound/beep.c
index 262276bd19f..51bf4f3c8c3 100644
--- a/src/emu/sound/beep.c
+++ b/src/emu/sound/beep.c
@@ -14,49 +14,65 @@
#include "emu.h"
#include "sound/beep.h"
+#define BEEP_RATE (48000)
-#define BEEP_RATE 48000
-struct beep_state
-{
- sound_stream *stream; /* stream number */
- int enable; /* enable beep */
- int frequency; /* set frequency - this can be changed using the appropiate function */
- int incr; /* initial wave state */
- INT16 signal; /* current signal */
-};
+// device type definition
+const device_type BEEP = &device_creator<beep_device>;
+
+//**************************************************************************
+// LIVE DEVICE
+//**************************************************************************
-INLINE beep_state *get_safe_token(device_t *device)
+//-------------------------------------------------
+// beep_device - constructor
+//-------------------------------------------------
+
+beep_device::beep_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
+ : device_t(mconfig, BEEP, "Beep", tag, owner, clock),
+ device_sound_interface(mconfig, *this),
+ m_stream(NULL),
+ m_enable(0),
+ m_frequency(0),
+ m_incr(0),
+ m_signal(0)
{
- assert(device != NULL);
- assert(device->type() == BEEP);
- return (beep_state *)downcast<beep_device *>(device)->token();
}
+//-------------------------------------------------
+// device_start - device-specific startup
+//-------------------------------------------------
+
+void beep_device::device_start()
+{
+ m_stream = stream_alloc(0, 1, BEEP_RATE);
+ m_enable = 0;
+ m_frequency = 3250;
+ m_incr = 0;
+ m_signal = 0x07fff;
+}
-/*************************************
- *
- * Stream updater
- *
- *************************************/
-static STREAM_UPDATE( beep_sound_update )
+//-------------------------------------------------
+// sound_stream_update - handle a stream update
+//-------------------------------------------------
+
+void beep_device::sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples)
{
- beep_state *bs = (beep_state *) param;
stream_sample_t *buffer = outputs[0];
- INT16 signal = bs->signal;
+ INT16 signal = m_signal;
int clock = 0, rate = BEEP_RATE / 2;
/* get progress through wave */
- int incr = bs->incr;
+ int incr = m_incr;
- if (bs->frequency > 0)
- clock = bs->frequency;
+ if (m_frequency > 0)
+ clock = m_frequency;
/* if we're not enabled, just fill with 0 */
- if ( !bs->enable || clock == 0 )
+ if ( !m_enable || clock == 0 )
{
memset( buffer, 0, samples * sizeof(*buffer) );
return;
@@ -75,127 +91,55 @@ static STREAM_UPDATE( beep_sound_update )
}
/* store progress through wave */
- bs->incr = incr;
- bs->signal = signal;
-}
-
-
-
-/*************************************
- *
- * Sound handler start
- *
- *************************************/
-
-static DEVICE_START( beep )
-{
- beep_state *pBeep = get_safe_token(device);
-
- pBeep->stream = device->machine().sound().stream_alloc(*device, 0, 1, BEEP_RATE, pBeep, beep_sound_update );
- pBeep->enable = 0;
- pBeep->frequency = 3250;
- pBeep->incr = 0;
- pBeep->signal = 0x07fff;
+ m_incr = incr;
+ m_signal = signal;
}
+//-------------------------------------------------
+// changing state to on from off will restart tone
+//-------------------------------------------------
-/*************************************
- *
- * changing state to on from off will restart tone
- *
- *************************************/
-
-void beep_set_state(device_t *device, int on)
+void beep_device::set_state(int on)
{
- beep_state *info = get_safe_token(device);
-
/* only update if new state is not the same as old state */
- if (info->enable == on)
+ if (m_enable == on)
return;
- info->stream->update();
+ m_stream->update();
+ m_enable = on;
- info->enable = on;
/* restart wave from beginning */
- info->incr = 0;
- info->signal = 0x07fff;
-}
-
-
-
-/*************************************
- *
- * setting new frequency starts from beginning
- *
- *************************************/
-
-void beep_set_frequency(device_t *device,int frequency)
-{
- beep_state *info = get_safe_token(device);
-
- if (info->frequency == frequency)
- return;
-
- info->stream->update();
- info->frequency = frequency;
- info->signal = 0x07fff;
- info->incr = 0;
+ m_incr = 0;
+ m_signal = 0x07fff;
}
-/*************************************
- *
- * change a channel volume
- *
- *************************************/
-
-void beep_set_volume(device_t *device, int volume)
-{
- beep_state *info = get_safe_token(device);
-
- info->stream->update();
-
- volume = 100 * volume / 7;
-
- downcast<beep_device *>(device)->set_output_gain(0, volume);
-}
-
-const device_type BEEP = &device_creator<beep_device>;
-
-beep_device::beep_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
- : device_t(mconfig, BEEP, "Beep", tag, owner, clock),
- device_sound_interface(mconfig, *this)
-{
- m_token = global_alloc_clear(beep_state);
-}
-
//-------------------------------------------------
-// device_config_complete - perform any
-// operations now that the configuration is
-// complete
+// setting new frequency starts from beginning
//-------------------------------------------------
-void beep_device::device_config_complete()
+void beep_device::set_frequency(int frequency)
{
+ if (m_frequency == frequency)
+ return;
+
+ m_stream->update();
+ m_frequency = frequency;
+ m_signal = 0x07fff;
+ m_incr = 0;
}
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-void beep_device::device_start()
-{
- DEVICE_START_NAME( beep )(this);
-}
//-------------------------------------------------
-// sound_stream_update - handle a stream update
+// change a channel volume
//-------------------------------------------------
-void beep_device::sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples)
+void beep_device::set_volume(int volume)
{
- // should never get here
- fatalerror("sound_stream_update called; not applicable to legacy sound devices\n");
+ m_stream->update();
+ volume = 100 * volume / 7;
+ set_output_gain(0, volume);
}
diff --git a/src/emu/sound/beep.h b/src/emu/sound/beep.h
index e8ad25513aa..d7b50bacbe9 100644
--- a/src/emu/sound/beep.h
+++ b/src/emu/sound/beep.h
@@ -3,33 +3,40 @@
#ifndef __BEEP_H__
#define __BEEP_H__
-#include "devlegcy.h"
-
#define BEEPER_TAG "beeper"
-void beep_set_state(device_t *device, int on);
-void beep_set_frequency(device_t *device, int frequency);
-void beep_set_volume(device_t *device, int volume);
+
+//**************************************************************************
+// TYPE DEFINITIONS
+//**************************************************************************
+
+// ======================> beep_device
class beep_device : public device_t,
- public device_sound_interface
+ public device_sound_interface
{
public:
beep_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
- ~beep_device() { global_free(m_token); }
+ ~beep_device() { }
- // access to legacy token
- void *token() const { assert(m_token != NULL); return m_token; }
protected:
// device-level overrides
- virtual void device_config_complete();
virtual void device_start();
// sound stream update overrides
virtual void sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples);
+
+public:
+ void set_state(int on);
+ void set_frequency(int frequency);
+ void set_volume(int volume);
+
private:
- // internal state
- void *m_token;
+ sound_stream *m_stream; /* stream number */
+ int m_enable; /* enable beep */
+ int m_frequency; /* set frequency - this can be changed using the appropiate function */
+ int m_incr; /* initial wave state */
+ INT16 m_signal; /* current signal */
};
extern const device_type BEEP;
diff --git a/src/mame/audio/taitosnd.c b/src/mame/audio/taitosnd.c
index 948044fa054..429f2f93b6f 100644
--- a/src/mame/audio/taitosnd.c
+++ b/src/mame/audio/taitosnd.c
@@ -15,60 +15,101 @@
#define TC0140SYT_PORT01_FULL_MASTER (0x04)
#define TC0140SYT_PORT23_FULL_MASTER (0x08)
-struct tc0140syt_state
+
+// device type definition
+const device_type TC0140SYT = &device_creator<tc0140syt_device>;
+
+
+//**************************************************************************
+// LIVE DEVICE
+//**************************************************************************
+
+//-------------------------------------------------
+// tc0140syt_device - constructor
+//-------------------------------------------------
+
+tc0140syt_device::tc0140syt_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
+ : device_t(mconfig, TC0140SYT, "Taito TC0140SYT", tag, owner, clock),
+ m_mainmode(0),
+ m_submode(0),
+ m_status(0),
+ m_nmi_enabled(0),
+ m_nmi_req(0),
+ m_mastercpu(NULL),
+ m_slavecpu(NULL)
{
- UINT8 slavedata[4]; /* Data on master->slave port (4 nibbles) */
- UINT8 masterdata[4]; /* Data on slave->master port (4 nibbles) */
- UINT8 mainmode; /* Access mode on master cpu side */
- UINT8 submode; /* Access mode on slave cpu side */
- UINT8 status; /* Status data */
- UINT8 nmi_enabled; /* 1 if slave cpu has nmi's enabled */
- UINT8 nmi_req; /* 1 if slave cpu has a pending nmi */
-
- device_t *mastercpu; /* this is the maincpu */
- device_t *slavecpu; /* this is the audiocpu */
-};
-
-/*****************************************************************************
- INLINE FUNCTIONS
-*****************************************************************************/
-
-INLINE tc0140syt_state *get_safe_token( device_t *device )
+ memset(m_slavedata, 0, sizeof(UINT8)*4);
+ memset(m_masterdata, 0, sizeof(UINT8)*4);
+}
+
+
+//-------------------------------------------------
+// device_start - device-specific startup
+//-------------------------------------------------
+
+void tc0140syt_device::device_start()
{
- assert(device != NULL);
- assert(device->type() == TC0140SYT);
+ const tc0140syt_interface *intf = reinterpret_cast<const tc0140syt_interface*>(static_config());
- return (tc0140syt_state *)downcast<tc0140syt_device *>(device)->token();
+ /* use the given gfx set */
+ m_mastercpu = machine().device(intf->master);
+ m_slavecpu = machine().device(intf->slave);
+
+ save_item(NAME(m_mainmode));
+ save_item(NAME(m_submode));
+ save_item(NAME(m_status));
+ save_item(NAME(m_nmi_enabled));
+ save_item(NAME(m_nmi_req));
+ save_item(NAME(m_slavedata));
+ save_item(NAME(m_masterdata));
}
-INLINE const tc0140syt_interface *get_interface( device_t *device )
+
+//-------------------------------------------------
+// device_reset - device-specific reset
+//-------------------------------------------------
+
+void tc0140syt_device::device_reset()
{
- assert(device != NULL);
- assert((device->type() == TC0140SYT));
- return (const tc0140syt_interface *) device->static_config();
+ int i;
+
+ m_mainmode = 0;
+ m_submode = 0;
+ m_status = 0;
+ m_nmi_enabled = 0;
+ m_nmi_req = 0;
+
+ for (i = 0; i < 4; i++)
+ {
+ m_slavedata[i] = 0;
+ m_masterdata[i] = 0;
+ }
}
-/*****************************************************************************
- DEVICE HANDLERS
-*****************************************************************************/
-static void interrupt_controller( device_t *device )
-{
- tc0140syt_state *tc0140syt = get_safe_token(device);
+//-------------------------------------------------
+// DEVICE HANDLERS
+//-------------------------------------------------
- if (tc0140syt->nmi_req && tc0140syt->nmi_enabled)
+void tc0140syt_device::interrupt_controller( )
+{
+ if (m_nmi_req && m_nmi_enabled)
{
- tc0140syt->slavecpu->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
- tc0140syt->nmi_req = 0;
+ m_slavecpu->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
+ m_nmi_req = 0;
}
}
-WRITE8_DEVICE_HANDLER( tc0140syt_port_w )
+
+//-------------------------------------------------
+// MASTER SIDE
+//-------------------------------------------------
+
+WRITE8_MEMBER( tc0140syt_device::tc0140syt_port_w )
{
- tc0140syt_state *tc0140syt = get_safe_token(device);
data &= 0x0f;
- tc0140syt->mainmode = data;
+ m_mainmode = data;
//logerror("taitosnd: Master cpu mode [%02x]\n", data);
if (data > 4)
{
@@ -76,274 +117,195 @@ WRITE8_DEVICE_HANDLER( tc0140syt_port_w )
}
}
-WRITE8_DEVICE_HANDLER( tc0140syt_comm_w )
-{
- tc0140syt_state *tc0140syt = get_safe_token(device);
+WRITE8_MEMBER( tc0140syt_device::tc0140syt_comm_w )
+{
data &= 0x0f; /*this is important, otherwise ballbros won't work*/
- switch (tc0140syt->mainmode)
+ switch (m_mainmode)
{
case 0x00: // mode #0
- tc0140syt->slavedata[tc0140syt->mainmode ++] = data;
+ m_slavedata[m_mainmode ++] = data;
//logerror("taitosnd: Master cpu written port 0, data %01x\n", data);
break;
case 0x01: // mode #1
- tc0140syt->slavedata[tc0140syt->mainmode ++] = data;
- tc0140syt->status |= TC0140SYT_PORT01_FULL;
- tc0140syt->nmi_req = 1;
- //logerror("taitosnd: Master cpu sends 0/1 : %01x%01x\n", tc0140syt->slavedata[1], tc0140syt->slavedata[0]);
+ m_slavedata[m_mainmode ++] = data;
+ m_status |= TC0140SYT_PORT01_FULL;
+ m_nmi_req = 1;
+ //logerror("taitosnd: Master cpu sends 0/1 : %01x%01x\n", m_slavedata[1], m_slavedata[0]);
break;
case 0x02: // mode #2
- tc0140syt->slavedata[tc0140syt->mainmode ++] = data;
+ m_slavedata[m_mainmode ++] = data;
//logerror("taitosnd: Master cpu written port 2, data %01\n", data);
break;
case 0x03: // mode #3
- tc0140syt->slavedata[tc0140syt->mainmode ++] = data;
- tc0140syt->status |= TC0140SYT_PORT23_FULL;
- tc0140syt->nmi_req = 1;
- //logerror("taitosnd: Master cpu sends 2/3 : %01x%01x\n", tc0140syt->slavedata[3], tc0140syt->slavedata[2]);
+ m_slavedata[m_mainmode ++] = data;
+ m_status |= TC0140SYT_PORT23_FULL;
+ m_nmi_req = 1;
+ //logerror("taitosnd: Master cpu sends 2/3 : %01x%01x\n", m_slavedata[3], m_slavedata[2]);
break;
case 0x04: // port status
//logerror("taitosnd: Master issued control value %02x (PC = %08x) \n",data, space.device().safe_pc() );
/* this does a hi-lo transition to reset the sound cpu */
if (data)
- tc0140syt->slavecpu->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
+ m_slavecpu->execute().set_input_line(INPUT_LINE_RESET, ASSERT_LINE);
else
{
- tc0140syt->slavecpu->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
- tc0140syt->mastercpu->execute().spin(); /* otherwise no sound in driftout */
+ m_slavecpu->execute().set_input_line(INPUT_LINE_RESET, CLEAR_LINE);
+ m_mastercpu->execute().spin(); /* otherwise no sound in driftout */
}
break;
default:
- //logerror("taitosnd: Master cpu written in mode [%02x] data[%02x]\n", tc0140syt->mainmode, data);
+ //logerror("taitosnd: Master cpu written in mode [%02x] data[%02x]\n", m_mainmode, data);
break;
}
}
-READ8_DEVICE_HANDLER( tc0140syt_comm_r )
-{
- tc0140syt_state *tc0140syt = get_safe_token(device);
- switch( tc0140syt->mainmode )
+READ8_MEMBER( tc0140syt_device::tc0140syt_comm_r )
+{
+ switch( m_mainmode )
{
case 0x00: // mode #0
- //logerror("taitosnd: Master cpu read portdata %01x\n", tc0140syt->masterdata[0]);
- return tc0140syt->masterdata[tc0140syt->mainmode ++];
+ //logerror("taitosnd: Master cpu read portdata %01x\n", m_masterdata[0]);
+ return m_masterdata[m_mainmode ++];
case 0x01: // mode #1
- //logerror("taitosnd: Master cpu receives 0/1 : %01x%01x\n", tc0140syt->masterdata[1], tc0140syt->masterdata[0]);
- tc0140syt->status &= ~TC0140SYT_PORT01_FULL_MASTER;
- return tc0140syt->masterdata[tc0140syt->mainmode ++];
+ //logerror("taitosnd: Master cpu receives 0/1 : %01x%01x\n", m_masterdata[1], m_masterdata[0]);
+ m_status &= ~TC0140SYT_PORT01_FULL_MASTER;
+ return m_masterdata[m_mainmode ++];
case 0x02: // mode #2
- //logerror("taitosnd: Master cpu read masterdata %01x\n", tc0140syt->masterdata[2]);
- return tc0140syt->masterdata[tc0140syt->mainmode ++];
+ //logerror("taitosnd: Master cpu read masterdata %01x\n", m_masterdata[2]);
+ return m_masterdata[m_mainmode ++];
case 0x03: // mode #3
- //logerror("taitosnd: Master cpu receives 2/3 : %01x%01x\n", tc0140syt->masterdata[3], tc0140syt->masterdata[2]);
- tc0140syt->status &= ~TC0140SYT_PORT23_FULL_MASTER;
- return tc0140syt->masterdata[tc0140syt->mainmode ++];
+ //logerror("taitosnd: Master cpu receives 2/3 : %01x%01x\n", m_masterdata[3], m_masterdata[2]);
+ m_status &= ~TC0140SYT_PORT23_FULL_MASTER;
+ return m_masterdata[m_mainmode ++];
case 0x04: // port status
- //logerror("tc0140syt : Master cpu read status : %02x\n", tc0140syt->status);
- return tc0140syt->status;
+ //logerror("tc0140syt : Master cpu read status : %02x\n", m_status);
+ return m_status;
default:
- //logerror("tc0140syt : Master cpu read in mode [%02x]\n", tc0140syt->mainmode);
+ //logerror("tc0140syt : Master cpu read in mode [%02x]\n", m_mainmode);
return 0;
}
}
+//-------------------------------------------------
//SLAVE SIDE
+//-------------------------------------------------
-WRITE8_DEVICE_HANDLER( tc0140syt_slave_port_w )
+WRITE8_MEMBER( tc0140syt_device::tc0140syt_slave_port_w )
{
- tc0140syt_state *tc0140syt = get_safe_token(device);
-
data &= 0x0f;
- tc0140syt->submode = data;
+ m_submode = data;
//logerror("taitosnd: Slave cpu mode [%02x]\n", data);
if (data > 6)
logerror("tc0140syt error : Slave cpu unknown mode[%02x]\n", data);
}
-WRITE8_DEVICE_HANDLER( tc0140syt_slave_comm_w )
+WRITE8_MEMBER( tc0140syt_device::tc0140syt_slave_comm_w )
{
- tc0140syt_state *tc0140syt = get_safe_token(device);
-
data &= 0x0f;
- switch (tc0140syt->submode)
+ switch (m_submode)
{
case 0x00: // mode #0
- tc0140syt->masterdata[tc0140syt->submode ++] = data;
+ m_masterdata[m_submode ++] = data;
//logerror("taitosnd: Slave cpu written port 0, data %01x\n", data);
break;
case 0x01: // mode #1
- tc0140syt->masterdata[tc0140syt->submode ++] = data;
- tc0140syt->status |= TC0140SYT_PORT01_FULL_MASTER;
- //logerror("taitosnd: Slave cpu sends 0/1 : %01x%01x\n" , tc0140syt->masterdata[1] , tc0140syt->masterdata[0]);
- tc0140syt->slavecpu->execute().spin(); /* writing should take longer than emulated, so spin */
+ m_masterdata[m_submode ++] = data;
+ m_status |= TC0140SYT_PORT01_FULL_MASTER;
+ //logerror("taitosnd: Slave cpu sends 0/1 : %01x%01x\n" , m_masterdata[1] , m_masterdata[0]);
+ m_slavecpu->execute().spin(); /* writing should take longer than emulated, so spin */
break;
case 0x02: // mode #2
//logerror("taitosnd: Slave cpu written port 2, data %01x\n", data);
- tc0140syt->masterdata[tc0140syt->submode ++] = data;
+ m_masterdata[m_submode ++] = data;
break;
case 0x03: // mode #3
- tc0140syt->masterdata[tc0140syt->submode ++] = data;
- tc0140syt->status |= TC0140SYT_PORT23_FULL_MASTER;
- //logerror("taitosnd: Slave cpu sends 2/3 : %01x%01x\n" , tc0140syt->masterdata[3] , tc0140syt->masterdata[2]);
- tc0140syt->slavecpu->execute().spin(); /* writing should take longer than emulated, so spin */
+ m_masterdata[m_submode ++] = data;
+ m_status |= TC0140SYT_PORT23_FULL_MASTER;
+ //logerror("taitosnd: Slave cpu sends 2/3 : %01x%01x\n" , m_masterdata[3] , m_masterdata[2]);
+ m_slavecpu->execute().spin(); /* writing should take longer than emulated, so spin */
break;
case 0x04: // port status
- //tc0140syt->status = TC0140SYT_SET_OK;
+ //m_status = TC0140SYT_SET_OK;
//logerror("tc0140syt : Slave cpu status ok.\n");
break;
case 0x05: // nmi disable
- tc0140syt->nmi_enabled = 0;
+ m_nmi_enabled = 0;
break;
case 0x06: // nmi enable
- tc0140syt->nmi_enabled = 1;
+ m_nmi_enabled = 1;
break;
default:
- //logerror("tc0140syt: Slave cpu written in mode [%02x] data[%02x]\n" , tc0140syt->submode, data & 0xff);
+ //logerror("tc0140syt: Slave cpu written in mode [%02x] data[%02x]\n" , m_submode, data & 0xff);
break;
}
- interrupt_controller(device);
+ interrupt_controller();
}
-READ8_DEVICE_HANDLER( tc0140syt_slave_comm_r )
+READ8_MEMBER( tc0140syt_device::tc0140syt_slave_comm_r )
{
- tc0140syt_state *tc0140syt = get_safe_token(device);
UINT8 res = 0;
- switch ( tc0140syt->submode )
+ switch ( m_submode )
{
case 0x00: // mode #0
- //logerror("taitosnd: Slave cpu read slavedata %01x\n", tc0140syt->slavedata[0]);
- res = tc0140syt->slavedata[tc0140syt->submode ++];
+ //logerror("taitosnd: Slave cpu read slavedata %01x\n", m_slavedata[0]);
+ res = m_slavedata[m_submode ++];
break;
case 0x01: // mode #1
- //logerror("taitosnd: Slave cpu receives 0/1 : %01x%01x PC=%4x\n", tc0140syt->slavedata[1] , tc0140syt->slavedata[0],space.device().safe_pc());
- tc0140syt->status &= ~TC0140SYT_PORT01_FULL;
- res = tc0140syt->slavedata[tc0140syt->submode ++];
+ //logerror("taitosnd: Slave cpu receives 0/1 : %01x%01x PC=%4x\n", m_slavedata[1] , m_slavedata[0],space.device().safe_pc());
+ m_status &= ~TC0140SYT_PORT01_FULL;
+ res = m_slavedata[m_submode ++];
break;
case 0x02: // mode #2
- //logerror("taitosnd: Slave cpu read slavedata %01x\n", tc0140syt->slavedata[2]);
- res = tc0140syt->slavedata[tc0140syt->submode ++];
+ //logerror("taitosnd: Slave cpu read slavedata %01x\n", m_slavedata[2]);
+ res = m_slavedata[m_submode ++];
break;
case 0x03: // mode #3
- //logerror("taitosnd: Slave cpu receives 2/3 : %01x%01x\n", tc0140syt->slavedata[3] , tc0140syt->slavedata[2]);
- tc0140syt->status &= ~TC0140SYT_PORT23_FULL;
- res = tc0140syt->slavedata[tc0140syt->submode ++];
+ //logerror("taitosnd: Slave cpu receives 2/3 : %01x%01x\n", m_slavedata[3] , m_slavedata[2]);
+ m_status &= ~TC0140SYT_PORT23_FULL;
+ res = m_slavedata[m_submode ++];
break;
case 0x04: // port status
- //logerror("tc0140syt : Slave cpu read status : %02x\n", tc0140syt->status);
- res = tc0140syt->status;
+ //logerror("tc0140syt : Slave cpu read status : %02x\n", m_status);
+ res = m_status;
break;
default:
- //logerror("tc0140syt : Slave cpu read in mode [%02x]\n", tc0140syt->submode);
+ //logerror("tc0140syt : Slave cpu read in mode [%02x]\n", m_submode);
res = 0;
break;
}
- interrupt_controller(device);
+ interrupt_controller();
return res;
}
-/*****************************************************************************
- DEVICE INTERFACE
-*****************************************************************************/
-
-static DEVICE_START( tc0140syt )
-{
- tc0140syt_state *tc0140syt = get_safe_token(device);
- const tc0140syt_interface *intf = get_interface(device);
-
- /* use the given gfx set */
- tc0140syt->mastercpu = device->machine().device(intf->master);
- tc0140syt->slavecpu = device->machine().device(intf->slave);
-
- device->save_item(NAME(tc0140syt->mainmode));
- device->save_item(NAME(tc0140syt->submode));
- device->save_item(NAME(tc0140syt->status));
- device->save_item(NAME(tc0140syt->nmi_enabled));
- device->save_item(NAME(tc0140syt->nmi_req));
- device->save_item(NAME(tc0140syt->slavedata));
- device->save_item(NAME(tc0140syt->masterdata));
-}
-
-static DEVICE_RESET( tc0140syt )
-{
- tc0140syt_state *tc0140syt = get_safe_token(device);
- int i;
-
- tc0140syt->mainmode = 0;
- tc0140syt->submode = 0;
- tc0140syt->status = 0;
- tc0140syt->nmi_enabled = 0;
- tc0140syt->nmi_req = 0;
-
- for (i = 0; i < 4; i++)
- {
- tc0140syt->slavedata[i] = 0;
- tc0140syt->masterdata[i] = 0;
- }
-}
-
-const device_type TC0140SYT = &device_creator<tc0140syt_device>;
-
-tc0140syt_device::tc0140syt_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
- : device_t(mconfig, TC0140SYT, "Taito TC0140SYT", tag, owner, clock)
-{
- m_token = global_alloc_clear(tc0140syt_state);
-}
-//-------------------------------------------------
-// device_config_complete - perform any
-// operations now that the configuration is
-// complete
-//-------------------------------------------------
-
-void tc0140syt_device::device_config_complete()
-{
-}
-
-//-------------------------------------------------
-// device_start - device-specific startup
-//-------------------------------------------------
-
-void tc0140syt_device::device_start()
-{
- DEVICE_START_NAME( tc0140syt )(this);
-}
-
-//-------------------------------------------------
-// device_reset - device-specific reset
-//-------------------------------------------------
-
-void tc0140syt_device::device_reset()
-{
- DEVICE_RESET_NAME( tc0140syt )(this);
-}
diff --git a/src/mame/audio/taitosnd.h b/src/mame/audio/taitosnd.h
index c1815f2baa9..9c2ca4a0bb8 100644
--- a/src/mame/audio/taitosnd.h
+++ b/src/mame/audio/taitosnd.h
@@ -1,12 +1,20 @@
#ifndef __TAITOSND_H__
#define __TAITOSND_H__
-#include "devlegcy.h"
#include "devcb.h"
-/***************************************************************************
- TYPE DEFINITIONS
-***************************************************************************/
+//**************************************************************************
+// INTERFACE CONFIGURATION MACROS
+//**************************************************************************
+
+#define MCFG_TC0140SYT_ADD(_tag, _interface) \
+ MCFG_DEVICE_ADD(_tag, TC0140SYT, 0) \
+ MCFG_DEVICE_CONFIG(_interface)
+
+
+//**************************************************************************
+// TYPE DEFINITIONS
+//**************************************************************************
struct tc0140syt_interface
{
@@ -14,49 +22,48 @@ struct tc0140syt_interface
const char *slave;
};
+
+// ======================> tc0140syt_device
+
class tc0140syt_device : public device_t
{
public:
tc0140syt_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
- ~tc0140syt_device() { global_free(m_token); }
+ ~tc0140syt_device() { }
- // access to legacy token
- void *token() const { assert(m_token != NULL); return m_token; }
protected:
// device-level overrides
- virtual void device_config_complete();
virtual void device_start();
virtual void device_reset();
-private:
- // internal state
- void *m_token;
-};
-extern const device_type TC0140SYT;
-
-
-/***************************************************************************
- DEVICE CONFIGURATION MACROS
-***************************************************************************/
+public:
+ // MASTER (8bit bus) control functions
+ DECLARE_WRITE8_MEMBER( tc0140syt_port_w );
+ DECLARE_WRITE8_MEMBER( tc0140syt_comm_w );
+ DECLARE_READ8_MEMBER( tc0140syt_comm_r );
-#define MCFG_TC0140SYT_ADD(_tag, _interface) \
- MCFG_DEVICE_ADD(_tag, TC0140SYT, 0) \
- MCFG_DEVICE_CONFIG(_interface)
+ // SLAVE (8bit bus) control functions ONLY
+ DECLARE_WRITE8_MEMBER( tc0140syt_slave_port_w );
+ DECLARE_READ8_MEMBER( tc0140syt_slave_comm_r );
+ DECLARE_WRITE8_MEMBER( tc0140syt_slave_comm_w );
-/***************************************************************************
- DEVICE I/O FUNCTIONS
-***************************************************************************/
+private:
+ void interrupt_controller();
-/* MASTER (8bit bus) control functions */
-DECLARE_WRITE8_DEVICE_HANDLER( tc0140syt_port_w );
-DECLARE_WRITE8_DEVICE_HANDLER( tc0140syt_comm_w );
-DECLARE_READ8_DEVICE_HANDLER( tc0140syt_comm_r );
+private:
+ UINT8 m_slavedata[4]; /* Data on master->slave port (4 nibbles) */
+ UINT8 m_masterdata[4]; /* Data on slave->master port (4 nibbles) */
+ UINT8 m_mainmode; /* Access mode on master cpu side */
+ UINT8 m_submode; /* Access mode on slave cpu side */
+ UINT8 m_status; /* Status data */
+ UINT8 m_nmi_enabled; /* 1 if slave cpu has nmi's enabled */
+ UINT8 m_nmi_req; /* 1 if slave cpu has a pending nmi */
+ device_t *m_mastercpu; /* this is the maincpu */
+ device_t *m_slavecpu; /* this is the audiocpu */
+};
-/* SLAVE (8bit bus) control functions ONLY */
-DECLARE_WRITE8_DEVICE_HANDLER( tc0140syt_slave_port_w );
-DECLARE_READ8_DEVICE_HANDLER( tc0140syt_slave_comm_r );
-DECLARE_WRITE8_DEVICE_HANDLER( tc0140syt_slave_comm_w );
+extern const device_type TC0140SYT;
#endif /*__TAITOSND_H__*/
diff --git a/src/mame/drivers/asuka.c b/src/mame/drivers/asuka.c
index 6ed257a063a..4452e4ed29a 100644
--- a/src/mame/drivers/asuka.c
+++ b/src/mame/drivers/asuka.c
@@ -318,8 +318,8 @@ static ADDRESS_MAP_START( bonzeadv_map, AS_PROGRAM, 16, asuka_state )
AM_RANGE(0x3b0000, 0x3b0001) AM_READ_PORT("DSWB")
AM_RANGE(0x3c0000, 0x3c0001) AM_WRITE(watchdog_reset16_w)
AM_RANGE(0x3d0000, 0x3d0001) AM_READNOP
- AM_RANGE(0x3e0000, 0x3e0001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
- AM_RANGE(0x3e0002, 0x3e0003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
+ AM_RANGE(0x3e0000, 0x3e0001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0x00ff)
+ AM_RANGE(0x3e0002, 0x3e0003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
AM_RANGE(0x800000, 0x8007ff) AM_READWRITE(bonzeadv_cchip_ram_r, bonzeadv_cchip_ram_w)
AM_RANGE(0x800802, 0x800803) AM_READWRITE(bonzeadv_cchip_ctrl_r, bonzeadv_cchip_ctrl_w)
AM_RANGE(0x800c00, 0x800c01) AM_WRITE(bonzeadv_cchip_bank_w)
@@ -334,8 +334,8 @@ static ADDRESS_MAP_START( asuka_map, AS_PROGRAM, 16, asuka_state )
AM_RANGE(0x1076f0, 0x1076f1) AM_READNOP /* Mofflott init does dummy reads here */
AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE_LEGACY("tc0110pcr", tc0110pcr_word_r, tc0110pcr_step1_word_w)
AM_RANGE(0x3a0000, 0x3a0003) AM_WRITE(asuka_spritectrl_w)
- AM_RANGE(0x3e0000, 0x3e0001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
- AM_RANGE(0x3e0002, 0x3e0003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
+ AM_RANGE(0x3e0000, 0x3e0001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0x00ff)
+ AM_RANGE(0x3e0002, 0x3e0003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
AM_RANGE(0x400000, 0x40000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0x00ff)
AM_RANGE(0xc00000, 0xc0ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
AM_RANGE(0xc10000, 0xc103ff) AM_WRITENOP /* error in Asuka init code */
@@ -346,8 +346,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( cadash_map, AS_PROGRAM, 16, asuka_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x080000, 0x080003) AM_WRITE(asuka_spritectrl_w)
- AM_RANGE(0x0c0000, 0x0c0001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
- AM_RANGE(0x0c0002, 0x0c0003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
+ AM_RANGE(0x0c0000, 0x0c0001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0x00ff)
+ AM_RANGE(0x0c0002, 0x0c0003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
AM_RANGE(0x100000, 0x107fff) AM_RAM
AM_RANGE(0x800000, 0x800fff) AM_READWRITE(cadash_share_r,cadash_share_w) /* network ram */
AM_RANGE(0x900000, 0x90000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0x00ff)
@@ -364,8 +364,8 @@ static ADDRESS_MAP_START( eto_map, AS_PROGRAM, 16 /* N.B. tc100scn mirror over
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0x00ff)
AM_RANGE(0x400000, 0x40000f) AM_DEVREAD8_LEGACY("tc0220ioc", tc0220ioc_r, 0x00ff) /* service mode mirror */
AM_RANGE(0x4a0000, 0x4a0003) AM_WRITE(asuka_spritectrl_w)
- AM_RANGE(0x4e0000, 0x4e0001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
- AM_RANGE(0x4e0002, 0x4e0003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
+ AM_RANGE(0x4e0000, 0x4e0001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0x00ff)
+ AM_RANGE(0x4e0002, 0x4e0003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
AM_RANGE(0xc00000, 0xc03fff) AM_DEVREADWRITE_LEGACY("pc090oj", pc090oj_word_r, pc090oj_word_w) /* sprite ram */
AM_RANGE(0xc00000, 0xc0ffff) AM_DEVWRITE_LEGACY("tc0100scn", tc0100scn_word_w)
AM_RANGE(0xd00000, 0xd0ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
@@ -380,8 +380,8 @@ static ADDRESS_MAP_START( bonzeadv_z80_map, AS_PROGRAM, 8, asuka_state )
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE_LEGACY("ymsnd", ym2610_r, ym2610_w)
- AM_RANGE(0xe200, 0xe200) AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_slave_port_w)
- AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
+ AM_RANGE(0xe200, 0xe200) AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_port_w)
+ AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
AM_RANGE(0xe400, 0xe403) AM_WRITENOP /* pan */
AM_RANGE(0xe600, 0xe600) AM_WRITENOP
AM_RANGE(0xee00, 0xee00) AM_WRITENOP
@@ -395,8 +395,8 @@ static ADDRESS_MAP_START( z80_map, AS_PROGRAM, 8, asuka_state )
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x9001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
// AM_RANGE(0x9002, 0x9100) AM_READNOP
- AM_RANGE(0xa000, 0xa000) AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_slave_port_w)
- AM_RANGE(0xa001, 0xa001) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
+ AM_RANGE(0xa000, 0xa000) AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_port_w)
+ AM_RANGE(0xa001, 0xa001) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
AM_RANGE(0xb000, 0xb000) AM_WRITE(asuka_msm5205_address_w)
AM_RANGE(0xc000, 0xc000) AM_WRITE(asuka_msm5205_start_w)
AM_RANGE(0xd000, 0xd000) AM_WRITE(asuka_msm5205_stop_w)
@@ -408,8 +408,8 @@ static ADDRESS_MAP_START( cadash_z80_map, AS_PROGRAM, 8, asuka_state )
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x9001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
- AM_RANGE(0xa000, 0xa000) AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_slave_port_w)
- AM_RANGE(0xa001, 0xa001) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
+ AM_RANGE(0xa000, 0xa000) AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_port_w)
+ AM_RANGE(0xa001, 0xa001) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
ADDRESS_MAP_END
/*
diff --git a/src/mame/drivers/darius.c b/src/mame/drivers/darius.c
index 457e44b6855..7a112ffb4d4 100644
--- a/src/mame/drivers/darius.c
+++ b/src/mame/drivers/darius.c
@@ -174,7 +174,7 @@ READ16_MEMBER(darius_state::darius_ioc_r)
switch (offset)
{
case 0x01:
- return (tc0140syt_comm_r(m_tc0140syt, space, 0) & 0xff); /* sound interface read */
+ return (m_tc0140syt->tc0140syt_comm_r(space, 0) & 0xff); /* sound interface read */
case 0x04:
return ioport("P1")->read();
@@ -203,12 +203,12 @@ WRITE16_MEMBER(darius_state::darius_ioc_w)
{
case 0x00: /* sound interface write */
- tc0140syt_port_w(m_tc0140syt, space, 0, data & 0xff);
+ m_tc0140syt->tc0140syt_port_w(space, 0, data & 0xff);
return;
case 0x01: /* sound interface write */
- tc0140syt_comm_w(m_tc0140syt, space, 0, data & 0xff);
+ m_tc0140syt->tc0140syt_comm_w(space, 0, data & 0xff);
return;
case 0x28: /* unknown, written by both cpus - always 0? */
@@ -466,8 +466,8 @@ static ADDRESS_MAP_START( darius_sound_map, AS_PROGRAM, 8, darius_state )
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x9001) AM_DEVREADWRITE_LEGACY("ym1", ym2203_r, ym2203_w)
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE_LEGACY("ym2", ym2203_r, ym2203_w)
- AM_RANGE(0xb000, 0xb000) AM_READNOP AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_slave_port_w)
- AM_RANGE(0xb001, 0xb001) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
+ AM_RANGE(0xb000, 0xb000) AM_READNOP AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_port_w)
+ AM_RANGE(0xb001, 0xb001) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
AM_RANGE(0xc000, 0xc000) AM_WRITE(darius_fm0_pan)
AM_RANGE(0xc400, 0xc400) AM_WRITE(darius_fm1_pan)
AM_RANGE(0xc800, 0xc800) AM_WRITE(darius_psg0_pan)
@@ -830,7 +830,7 @@ void darius_state::machine_start()
m_cpub = machine().device("cpub");
m_adpcm = machine().device("adpcm");
m_pc080sn = machine().device("pc080sn");
- m_tc0140syt = machine().device("tc0140syt");
+ m_tc0140syt = machine().device<tc0140syt_device>("tc0140syt");
m_lscreen = machine().device("lscreen");
m_mscreen = machine().device("mscreen");
diff --git a/src/mame/drivers/deshoros.c b/src/mame/drivers/deshoros.c
index e46c7d9d93a..cc5e2092a82 100644
--- a/src/mame/drivers/deshoros.c
+++ b/src/mame/drivers/deshoros.c
@@ -158,7 +158,7 @@ INPUT_CHANGED_MEMBER(destiny_state::coin_inserted)
WRITE8_MEMBER(destiny_state::sound_w)
{
// a0: sound on/off
- beep_set_state(machine().device(BEEPER_TAG), ~offset & 1);
+ machine().device<beep_device>(BEEPER_TAG)->set_state(~offset & 1);
}
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, destiny_state )
@@ -247,8 +247,8 @@ INPUT_PORTS_END
void destiny_state::machine_start()
{
- beep_set_frequency(machine().device(BEEPER_TAG),800); // TODO: determine exact frequency thru schematics
- beep_set_state(machine().device(BEEPER_TAG),0);
+ machine().device<beep_device>(BEEPER_TAG)->set_frequency(800); // TODO: determine exact frequency thru schematics
+ machine().device<beep_device>(BEEPER_TAG)->set_state(0);
}
void destiny_state::machine_reset()
diff --git a/src/mame/drivers/dlair.c b/src/mame/drivers/dlair.c
index a1f80e9d5db..b27dfa8e34a 100644
--- a/src/mame/drivers/dlair.c
+++ b/src/mame/drivers/dlair.c
@@ -286,8 +286,8 @@ INTERRUPT_GEN_MEMBER(dlair_state::vblank_callback)
if (beep != NULL)
{
z80ctc_device *ctc = machine().device<z80ctc_device>("ctc");
- beep_set_state(beep, 1);
- beep_set_frequency(beep, ATTOSECONDS_TO_HZ(ctc->period(0).attoseconds));
+ beep->set_state(1);
+ beep->set_frequency(ATTOSECONDS_TO_HZ(ctc->period(0).attoseconds));
}
}
diff --git a/src/mame/drivers/exzisus.c b/src/mame/drivers/exzisus.c
index b062cce425b..08edf3fb5ea 100644
--- a/src/mame/drivers/exzisus.c
+++ b/src/mame/drivers/exzisus.c
@@ -151,8 +151,8 @@ static ADDRESS_MAP_START( cpub_map, AS_PROGRAM, 8, exzisus_state )
AM_RANGE(0xc000, 0xc5ff) AM_READWRITE(exzisus_objectram_0_r, exzisus_objectram_0_w) AM_SHARE("objectram0")
AM_RANGE(0xc600, 0xdfff) AM_READWRITE(exzisus_videoram_0_r, exzisus_videoram_0_w) AM_SHARE("videoram0")
AM_RANGE(0xe000, 0xefff) AM_RAM
- AM_RANGE(0xf000, 0xf000) AM_READNOP AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_port_w)
- AM_RANGE(0xf001, 0xf001) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w)
+ AM_RANGE(0xf000, 0xf000) AM_READNOP AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_port_w)
+ AM_RANGE(0xf001, 0xf001) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w)
AM_RANGE(0xf400, 0xf400) AM_READ_PORT("P1")
AM_RANGE(0xf400, 0xf400) AM_WRITE(exzisus_cpub_bankswitch_w)
AM_RANGE(0xf401, 0xf401) AM_READ_PORT("P2")
@@ -176,8 +176,8 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, exzisus_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x9001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
- AM_RANGE(0xa000, 0xa000) AM_READNOP AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_slave_port_w)
- AM_RANGE(0xa001, 0xa001) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
+ AM_RANGE(0xa000, 0xa000) AM_READNOP AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_port_w)
+ AM_RANGE(0xa001, 0xa001) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/mlanding.c b/src/mame/drivers/mlanding.c
index 62a439185a9..289883705cb 100644
--- a/src/mame/drivers/mlanding.c
+++ b/src/mame/drivers/mlanding.c
@@ -346,25 +346,25 @@ WRITE16_MEMBER(mlanding_state::ml_sub_reset_w)
WRITE16_MEMBER(mlanding_state::ml_to_sound_w)
{
- device_t *tc0140syt = machine().device("tc0140syt");
+ tc0140syt_device *tc0140syt = machine().device<tc0140syt_device>("tc0140syt");
if (offset == 0)
- tc0140syt_port_w(tc0140syt, space, 0, data & 0xff);
+ tc0140syt->tc0140syt_port_w(space, 0, data & 0xff);
else if (offset == 1)
{
//machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, ASSERT_LINE);
- tc0140syt_comm_w(tc0140syt, space, 0, data & 0xff);
+ tc0140syt->tc0140syt_comm_w(space, 0, data & 0xff);
}
}
WRITE8_MEMBER(mlanding_state::ml_sound_to_main_w)
{
- device_t *tc0140syt = machine().device("tc0140syt");
+ tc0140syt_device *tc0140syt = machine().device<tc0140syt_device>("tc0140syt");
if (offset == 0)
- tc0140syt_slave_port_w(tc0140syt, space, 0, data & 0xff);
+ tc0140syt->tc0140syt_slave_port_w(space, 0, data & 0xff);
else if (offset == 1)
{
//machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, CLEAR_LINE);
- tc0140syt_slave_comm_w(tc0140syt, space, 0, data & 0xff);
+ tc0140syt->tc0140syt_slave_comm_w(space, 0, data & 0xff);
}
}
@@ -489,7 +489,7 @@ static ADDRESS_MAP_START( mlanding_mem, AS_PROGRAM, 16, mlanding_state )
AM_RANGE(0x2d0000, 0x2d0003) AM_WRITE(ml_to_sound_w)
AM_RANGE(0x2d0000, 0x2d0001) AM_READNOP
- AM_RANGE(0x2d0002, 0x2d0003) AM_DEVREAD8_LEGACY("tc0140syt", tc0140syt_comm_r, 0x00ff)
+ AM_RANGE(0x2d0002, 0x2d0003) AM_DEVREAD8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, 0x00ff)
AM_RANGE(0x200000, 0x20ffff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x280000, 0x2807ff) AM_READWRITE(ml_mecha_ram_r,ml_mecha_ram_w)
@@ -542,7 +542,7 @@ static ADDRESS_MAP_START( mlanding_z80_mem, AS_PROGRAM, 8, mlanding_state )
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x9001) AM_MIRROR(0x00fe) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
AM_RANGE(0xa000, 0xa001) AM_WRITE(ml_sound_to_main_w)
- AM_RANGE(0xa001, 0xa001) AM_DEVREAD_LEGACY("tc0140syt", tc0140syt_slave_comm_r)
+ AM_RANGE(0xa001, 0xa001) AM_DEVREAD("tc0140syt", tc0140syt_device, tc0140syt_slave_comm_r)
// AM_RANGE(0xb000, 0xb000) AM_WRITE_LEGACY(ml_msm5205_address_w) //guess
// AM_RANGE(0xc000, 0xc000) AM_DEVWRITE_LEGACY("msm", ml_msm5205_start_w)
diff --git a/src/mame/drivers/ninjaw.c b/src/mame/drivers/ninjaw.c
index 458a559b636..88b94a52932 100644
--- a/src/mame/drivers/ninjaw.c
+++ b/src/mame/drivers/ninjaw.c
@@ -364,9 +364,9 @@ WRITE8_MEMBER(ninjaw_state::sound_bankswitch_w)
WRITE16_MEMBER(ninjaw_state::ninjaw_sound_w)
{
if (offset == 0)
- tc0140syt_port_w(m_tc0140syt, space, 0, data & 0xff);
+ m_tc0140syt->tc0140syt_port_w(space, 0, data & 0xff);
else if (offset == 1)
- tc0140syt_comm_w(m_tc0140syt, space, 0, data & 0xff);
+ m_tc0140syt->tc0140syt_comm_w(space, 0, data & 0xff);
#ifdef MAME_DEBUG
if (data & 0xff00)
@@ -377,7 +377,7 @@ WRITE16_MEMBER(ninjaw_state::ninjaw_sound_w)
READ16_MEMBER(ninjaw_state::ninjaw_sound_r)
{
if (offset == 1)
- return ((tc0140syt_comm_r(m_tc0140syt, space, 0) & 0xff));
+ return ((m_tc0140syt->tc0140syt_comm_r(space, 0) & 0xff));
else
return 0;
}
@@ -489,8 +489,8 @@ static ADDRESS_MAP_START( ninjaw_sound_map, AS_PROGRAM, 8, ninjaw_state )
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank10")
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE_LEGACY("ymsnd", ym2610_r,ym2610_w)
- AM_RANGE(0xe200, 0xe200) AM_READNOP AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_slave_port_w)
- AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_slave_comm_r,tc0140syt_slave_comm_w)
+ AM_RANGE(0xe200, 0xe200) AM_READNOP AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_port_w)
+ AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_comm_r,tc0140syt_slave_comm_w)
AM_RANGE(0xe400, 0xe403) AM_WRITE(ninjaw_pancontrol) /* pan */
AM_RANGE(0xea00, 0xea00) AM_READNOP
AM_RANGE(0xee00, 0xee00) AM_WRITENOP /* ? */
@@ -800,7 +800,7 @@ void ninjaw_state::machine_start()
m_maincpu = machine().device<cpu_device>("maincpu");
m_audiocpu = machine().device<cpu_device>("audiocpu");
m_subcpu = machine().device<cpu_device>("sub");
- m_tc0140syt = machine().device("tc0140syt");
+ m_tc0140syt = machine().device<tc0140syt_device>("tc0140syt");
m_tc0100scn_1 = machine().device("tc0100scn_1");
m_tc0100scn_2 = machine().device("tc0100scn_2");
m_tc0100scn_3 = machine().device("tc0100scn_3");
diff --git a/src/mame/drivers/opwolf.c b/src/mame/drivers/opwolf.c
index c3245325259..90085ae8845 100644
--- a/src/mame/drivers/opwolf.c
+++ b/src/mame/drivers/opwolf.c
@@ -367,8 +367,8 @@ static ADDRESS_MAP_START( opwolf_map, AS_PROGRAM, 16, opwolf_state )
AM_RANGE(0x380000, 0x380003) AM_WRITE(opwolf_spritectrl_w) // usually 0x4, changes when you fire
AM_RANGE(0x3a0000, 0x3a0003) AM_READ(opwolf_lightgun_r) /* lightgun, read at $11e0/6 */
AM_RANGE(0x3c0000, 0x3c0001) AM_WRITENOP /* watchdog ?? */
- AM_RANGE(0x3e0000, 0x3e0001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x3e0002, 0x3e0003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x3e0000, 0x3e0001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x3e0002, 0x3e0003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0xc00000, 0xc0ffff) AM_DEVREADWRITE_LEGACY("pc080sn", pc080sn_word_r, pc080sn_word_w)
AM_RANGE(0xc10000, 0xc1ffff) AM_WRITEONLY /* error in init code (?) */
AM_RANGE(0xc20000, 0xc20003) AM_DEVWRITE_LEGACY("pc080sn", pc080sn_yscroll_word_w)
@@ -388,8 +388,8 @@ static ADDRESS_MAP_START( opwolfb_map, AS_PROGRAM, 16, opwolf_state )
AM_RANGE(0x380000, 0x380003) AM_WRITE(opwolf_spritectrl_w) // usually 0x4, changes when you fire
AM_RANGE(0x3a0000, 0x3a0003) AM_READ(opwolf_lightgun_r) /* lightgun, read at $11e0/6 */
AM_RANGE(0x3c0000, 0x3c0001) AM_WRITENOP /* watchdog ?? */
- AM_RANGE(0x3e0000, 0x3e0001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x3e0002, 0x3e0003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x3e0000, 0x3e0001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x3e0002, 0x3e0003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0xc00000, 0xc0ffff) AM_DEVREADWRITE_LEGACY("pc080sn", pc080sn_word_r, pc080sn_word_w)
AM_RANGE(0xc10000, 0xc1ffff) AM_WRITEONLY /* error in init code (?) */
AM_RANGE(0xc20000, 0xc20003) AM_DEVWRITE_LEGACY("pc080sn", pc080sn_yscroll_word_w)
@@ -540,8 +540,8 @@ static ADDRESS_MAP_START( opwolf_sound_z80_map, AS_PROGRAM, 8, opwolf_state )
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x9001) AM_DEVREADWRITE("ymsnd", ym2151_device,read,write)
AM_RANGE(0x9002, 0x9100) AM_READNOP
- AM_RANGE(0xa000, 0xa000) AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_slave_port_w)
- AM_RANGE(0xa001, 0xa001) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
+ AM_RANGE(0xa000, 0xa000) AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_port_w)
+ AM_RANGE(0xa001, 0xa001) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
AM_RANGE(0xb000, 0xb006) AM_WRITE(opwolf_adpcm_b_w)
AM_RANGE(0xc000, 0xc006) AM_WRITE(opwolf_adpcm_c_w)
AM_RANGE(0xd000, 0xd000) AM_WRITE(opwolf_adpcm_d_w)
diff --git a/src/mame/drivers/othunder.c b/src/mame/drivers/othunder.c
index aef5fb0fc3d..3e789e71a04 100644
--- a/src/mame/drivers/othunder.c
+++ b/src/mame/drivers/othunder.c
@@ -397,15 +397,15 @@ WRITE8_MEMBER(othunder_state::sound_bankswitch_w)
WRITE16_MEMBER(othunder_state::othunder_sound_w)
{
if (offset == 0)
- tc0140syt_port_w(m_tc0140syt, space, 0, data & 0xff);
+ m_tc0140syt->tc0140syt_port_w(space, 0, data & 0xff);
else if (offset == 1)
- tc0140syt_comm_w(m_tc0140syt, space, 0, data & 0xff);
+ m_tc0140syt->tc0140syt_comm_w(space, 0, data & 0xff);
}
READ16_MEMBER(othunder_state::othunder_sound_r)
{
if (offset == 1)
- return ((tc0140syt_comm_r(m_tc0140syt, space, 0) & 0xff));
+ return ((m_tc0140syt->tc0140syt_comm_r(space, 0) & 0xff));
else
return 0;
}
@@ -466,8 +466,8 @@ static ADDRESS_MAP_START( z80_sound_map, AS_PROGRAM, 8, othunder_state )
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank10")
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE_LEGACY("ymsnd", ym2610_r, ym2610_w)
- AM_RANGE(0xe200, 0xe200) AM_READNOP AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_slave_port_w)
- AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
+ AM_RANGE(0xe200, 0xe200) AM_READNOP AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_port_w)
+ AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
AM_RANGE(0xe400, 0xe403) AM_WRITE(othunder_TC0310FAM_w) /* pan */
AM_RANGE(0xe600, 0xe600) AM_WRITENOP /* ? */
AM_RANGE(0xea00, 0xea00) AM_READ_PORT(ROTARY_PORT_TAG) /* rotary input */
@@ -671,7 +671,7 @@ void othunder_state::machine_start()
m_tc0220ioc = machine().device("tc0220ioc");
m_tc0100scn = machine().device("tc0100scn");
m_tc0110pcr = machine().device("tc0110pcr");
- m_tc0140syt = machine().device("tc0140syt");
+ m_tc0140syt = machine().device<tc0140syt_device>("tc0140syt");
m_2610_0l = machine().device<filter_volume_device>("2610.0l");
m_2610_0r = machine().device<filter_volume_device>("2610.0r");
m_2610_1l = machine().device<filter_volume_device>("2610.1l");
diff --git a/src/mame/drivers/pcxt.c b/src/mame/drivers/pcxt.c
index c6dcbabb77b..cd0ded621a3 100644
--- a/src/mame/drivers/pcxt.c
+++ b/src/mame/drivers/pcxt.c
@@ -332,13 +332,13 @@ WRITE8_MEMBER(pcxt_state::port_b_w)
pit8253_gate2_w(m_pit8253, BIT(data, 0));
pcxt_speaker_set_spkrdata( data & 0x02 );
m_port_b_data = data;
-// device_t *beep = machine().device("beep");
+// device_t *beep = machine().device<beep_device>("beep");
// device_t *cvsd = machine().device("cvsd");
// hc55516_digit_w(cvsd, data);
// popmessage("%02x\n",data);
-// beep_set_state(beep, 0);
-// beep_set_state(beep, 1);
-// beep_set_frequency(beep, m_port_b_data);
+// beep->beep_set_state(0);
+// beep->beep_set_state(1);
+// beep->beep_set_frequency(m_port_b_data);
}
WRITE8_MEMBER(pcxt_state::wss_1_w)
diff --git a/src/mame/drivers/rainbow.c b/src/mame/drivers/rainbow.c
index 159b319176c..0e6d05485a4 100644
--- a/src/mame/drivers/rainbow.c
+++ b/src/mame/drivers/rainbow.c
@@ -352,8 +352,8 @@ static ADDRESS_MAP_START( rbisland_map, AS_PROGRAM, 16, rbisland_state )
AM_RANGE(0x3a0000, 0x3a0001) AM_WRITE(rbisland_spritectrl_w)
AM_RANGE(0x3b0000, 0x3b0003) AM_READ_PORT("DSWB")
AM_RANGE(0x3c0000, 0x3c0003) AM_WRITENOP /* written very often, watchdog? */
- AM_RANGE(0x3e0000, 0x3e0001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
- AM_RANGE(0x3e0002, 0x3e0003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r,tc0140syt_comm_w, 0x00ff)
+ AM_RANGE(0x3e0000, 0x3e0001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0x00ff)
+ AM_RANGE(0x3e0002, 0x3e0003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r,tc0140syt_comm_w, 0x00ff)
AM_RANGE(0x800000, 0x8007ff) AM_READWRITE(rbisland_cchip_ram_r,rbisland_cchip_ram_w)
AM_RANGE(0x800802, 0x800803) AM_READWRITE(rbisland_cchip_ctrl_r,rbisland_cchip_ctrl_w)
AM_RANGE(0x800c00, 0x800c01) AM_WRITE(rbisland_cchip_bank_w)
@@ -411,8 +411,8 @@ static ADDRESS_MAP_START( rbisland_sound_map, AS_PROGRAM, 8, rbisland_state )
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x9001) AM_DEVREADWRITE("ymsnd", ym2151_device,read,write)
AM_RANGE(0x9002, 0x9100) AM_READNOP
- AM_RANGE(0xa000, 0xa000) AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_slave_port_w)
- AM_RANGE(0xa001, 0xa001) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
+ AM_RANGE(0xa000, 0xa000) AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_port_w)
+ AM_RANGE(0xa001, 0xa001) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( jumping_sound_map, AS_PROGRAM, 8, rbisland_state )
diff --git a/src/mame/drivers/rastan.c b/src/mame/drivers/rastan.c
index 9e04bbf788c..b487061a3b3 100644
--- a/src/mame/drivers/rastan.c
+++ b/src/mame/drivers/rastan.c
@@ -216,8 +216,8 @@ static ADDRESS_MAP_START( rastan_map, AS_PROGRAM, 16, rastan_state )
AM_RANGE(0x390008, 0x390009) AM_READ_PORT("DSWA")
AM_RANGE(0x39000a, 0x39000b) AM_READ_PORT("DSWB")
AM_RANGE(0x3c0000, 0x3c0001) AM_WRITE(watchdog_reset16_w)
- AM_RANGE(0x3e0000, 0x3e0001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
- AM_RANGE(0x3e0002, 0x3e0003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
+ AM_RANGE(0x3e0000, 0x3e0001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0x00ff)
+ AM_RANGE(0x3e0002, 0x3e0003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
AM_RANGE(0xc00000, 0xc0ffff) AM_DEVREADWRITE_LEGACY("pc080sn", pc080sn_word_r, pc080sn_word_w)
AM_RANGE(0xc20000, 0xc20003) AM_DEVWRITE_LEGACY("pc080sn", pc080sn_yscroll_word_w)
AM_RANGE(0xc40000, 0xc40003) AM_DEVWRITE_LEGACY("pc080sn", pc080sn_xscroll_word_w)
@@ -231,8 +231,8 @@ static ADDRESS_MAP_START( rastan_s_map, AS_PROGRAM, 8, rastan_state )
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x9001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
- AM_RANGE(0xa000, 0xa000) AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_slave_port_w)
- AM_RANGE(0xa001, 0xa001) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
+ AM_RANGE(0xa000, 0xa000) AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_port_w)
+ AM_RANGE(0xa001, 0xa001) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
AM_RANGE(0xb000, 0xb000) AM_WRITE(rastan_msm5205_address_w)
AM_RANGE(0xc000, 0xc000) AM_WRITE(rastan_msm5205_start_w)
AM_RANGE(0xd000, 0xd000) AM_WRITE(rastan_msm5205_stop_w)
diff --git a/src/mame/drivers/slapshot.c b/src/mame/drivers/slapshot.c
index cb9e3087448..27ed56b22f2 100644
--- a/src/mame/drivers/slapshot.c
+++ b/src/mame/drivers/slapshot.c
@@ -252,9 +252,9 @@ WRITE8_MEMBER(slapshot_state::sound_bankswitch_w)
WRITE16_MEMBER(slapshot_state::slapshot_msb_sound_w)
{
if (offset == 0)
- tc0140syt_port_w(m_tc0140syt, space, 0, (data >> 8) & 0xff);
+ m_tc0140syt->tc0140syt_port_w(space, 0, (data >> 8) & 0xff);
else if (offset == 1)
- tc0140syt_comm_w(m_tc0140syt, space, 0, (data >> 8) & 0xff);
+ m_tc0140syt->tc0140syt_comm_w(space, 0, (data >> 8) & 0xff);
#ifdef MAME_DEBUG
if (data & 0xff)
@@ -265,7 +265,7 @@ WRITE16_MEMBER(slapshot_state::slapshot_msb_sound_w)
READ16_MEMBER(slapshot_state::slapshot_msb_sound_r)
{
if (offset == 1)
- return ((tc0140syt_comm_r(m_tc0140syt, space, 0) & 0xff) << 8);
+ return ((m_tc0140syt->tc0140syt_comm_r(space, 0) & 0xff) << 8);
else
return 0;
}
@@ -314,8 +314,8 @@ static ADDRESS_MAP_START( opwolf3_z80_sound_map, AS_PROGRAM, 8, slapshot_state )
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank10")
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE_LEGACY("ymsnd", ym2610_r,ym2610_w)
- AM_RANGE(0xe200, 0xe200) AM_READNOP AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_slave_port_w)
- AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
+ AM_RANGE(0xe200, 0xe200) AM_READNOP AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_port_w)
+ AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
AM_RANGE(0xe400, 0xe403) AM_WRITENOP /* pan */
AM_RANGE(0xea00, 0xea00) AM_READNOP
AM_RANGE(0xee00, 0xee00) AM_WRITENOP /* ? */
@@ -519,7 +519,7 @@ void slapshot_state::machine_start()
m_maincpu = machine().device<cpu_device>("maincpu");
m_audiocpu = machine().device<cpu_device>("audiocpu");
- m_tc0140syt = machine().device("tc0140syt");
+ m_tc0140syt = machine().device<tc0140syt_device>("tc0140syt");
m_tc0480scp = machine().device("tc0480scp");
m_tc0360pri = machine().device("tc0360pri");
m_tc0640fio = machine().device("tc0640fio");
diff --git a/src/mame/drivers/taito_b.c b/src/mame/drivers/taito_b.c
index f489db82b7a..d4bfecb705b 100644
--- a/src/mame/drivers/taito_b.c
+++ b/src/mame/drivers/taito_b.c
@@ -504,8 +504,8 @@ static ADDRESS_MAP_START( rastsag2_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x600000, 0x607fff) AM_RAM /* Main RAM */ /*ashura up to 603fff only*/
TC0180VCU_MEMRW( 0x400000 )
- AM_RANGE(0x800000, 0x800001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x800002, 0x800003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x800000, 0x800001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x800002, 0x800003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0xa00000, 0xa0000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0xff00)
ADDRESS_MAP_END
@@ -514,8 +514,8 @@ static ADDRESS_MAP_START( crimec_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0xff00)
TC0180VCU_MEMRW( 0x400000 )
- AM_RANGE(0x600000, 0x600001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x600002, 0x600003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x600000, 0x600001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x600002, 0x600003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0xa00000, 0xa0ffff) AM_RAM /* Main RAM */
ADDRESS_MAP_END
@@ -523,8 +523,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( tetrist_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x200000, 0x200001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x200002, 0x200003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x200000, 0x200001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x200002, 0x200003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
TC0180VCU_MEMRW( 0x400000 )
AM_RANGE(0x600000, 0x60000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0xff00)
AM_RANGE(0x800000, 0x807fff) AM_RAM /* Main RAM */
@@ -538,8 +538,8 @@ static ADDRESS_MAP_START( tetrista_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x600000, 0x600001) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_portreg_r, tc0220ioc_portreg_w, 0xff00)
AM_RANGE(0x600002, 0x600003) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_port_r, tc0220ioc_port_w, 0xff00)
AM_RANGE(0x800000, 0x803fff) AM_RAM /* Main RAM */
- AM_RANGE(0xa00000, 0xa00001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0xa00002, 0xa00003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0xa00000, 0xa00001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0xa00002, 0xa00003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
ADDRESS_MAP_END
@@ -548,8 +548,8 @@ static ADDRESS_MAP_START( hitice_map, AS_PROGRAM, 16, taitob_state )
TC0180VCU_MEMRW( 0x400000 )
AM_RANGE(0x600000, 0x60000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0xff00)
AM_RANGE(0x610000, 0x610001) AM_READ_PORT("P3_P4")
- AM_RANGE(0x700000, 0x700001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x700002, 0x700003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x700000, 0x700001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x700002, 0x700003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x800000, 0x803fff) AM_RAM /* Main RAM */
AM_RANGE(0xa00000, 0xa01fff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0xb00000, 0xb7ffff) AM_RAM_WRITE(hitice_pixelram_w) AM_SHARE("pixelram")
@@ -561,8 +561,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( rambo3_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x200000, 0x200001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x200002, 0x200003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x200000, 0x200001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x200002, 0x200003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
TC0180VCU_MEMRW( 0x400000 )
AM_RANGE(0x600000, 0x60000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0xff00)
AM_RANGE(0x600010, 0x600011) AM_READ(tracky1_lo_r) /*player 1*/
@@ -587,8 +587,8 @@ static ADDRESS_MAP_START( pbobble_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x500028, 0x500029) AM_WRITE(player_34_coin_ctrl_w) /* simply locks coins 3&4 out */
AM_RANGE(0x50002e, 0x50002f) AM_READ_PORT("P3_P4_B") /* shown in service mode, game omits to read it */
AM_RANGE(0x600000, 0x600003) AM_WRITE(gain_control_w)
- AM_RANGE(0x700000, 0x700001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x700002, 0x700003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x700000, 0x700001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x700002, 0x700003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x900000, 0x90ffff) AM_RAM /* Main RAM */
ADDRESS_MAP_END
@@ -603,16 +603,16 @@ static ADDRESS_MAP_START( spacedx_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x500028, 0x500029) AM_WRITE(player_34_coin_ctrl_w) /* simply locks coins 3&4 out */
AM_RANGE(0x50002e, 0x50002f) AM_READ_PORT("P3_P4_B")
AM_RANGE(0x600000, 0x600003) AM_WRITE(gain_control_w)
- AM_RANGE(0x700000, 0x700001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x700002, 0x700003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x700000, 0x700001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x700002, 0x700003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x900000, 0x90ffff) AM_RAM /* Main RAM */
ADDRESS_MAP_END
static ADDRESS_MAP_START( spacedxo_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x100000, 0x100001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x100002, 0x100003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x100000, 0x100001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x100002, 0x100003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x200000, 0x20000f) AM_DEVREAD8_LEGACY("tc0220ioc", tc0220ioc_r, 0x00ff) AM_WRITE(spacedxo_tc0220ioc_w)
AM_RANGE(0x210000, 0x210001) AM_READ_PORT("IN3")
AM_RANGE(0x220000, 0x220001) AM_READ_PORT("IN4")
@@ -632,8 +632,8 @@ static ADDRESS_MAP_START( qzshowby_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x200028, 0x200029) AM_READWRITE(player_34_coin_ctrl_r, player_34_coin_ctrl_w)
AM_RANGE(0x20002e, 0x20002f) AM_READ_PORT("P3_P4_B") /* player 3,4 buttons */
TC0180VCU_MEMRW( 0x400000 )
- AM_RANGE(0x600000, 0x600001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x600002, 0x600003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x600000, 0x600001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x600002, 0x600003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x700000, 0x700003) AM_WRITE(gain_control_w)
AM_RANGE(0x800000, 0x801fff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x900000, 0x90ffff) AM_RAM /* Main RAM */
@@ -642,8 +642,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( viofight_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x200000, 0x200001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x200002, 0x200003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x200000, 0x200001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x200002, 0x200003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
TC0180VCU_MEMRW( 0x400000 )
AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x800000, 0x80000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0xff00)
@@ -658,15 +658,15 @@ static ADDRESS_MAP_START( masterw_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x800000, 0x800001) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_portreg_r, tc0220ioc_portreg_w, 0xff00)
AM_RANGE(0x800002, 0x800003) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_port_r, tc0220ioc_port_w, 0xff00)
- AM_RANGE(0xa00000, 0xa00001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0xa00002, 0xa00003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0xa00000, 0xa00001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0xa00002, 0xa00003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
ADDRESS_MAP_END
static ADDRESS_MAP_START( silentd_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x100000, 0x100001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x100002, 0x100003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x100000, 0x100001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x100002, 0x100003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
// AM_RANGE(0x10001a, 0x10001b) AM_READNOP // ??? read at $1e344
// AM_RANGE(0x10001c, 0x10001d) AM_READNOP // ??? read at $1e356
AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0x00ff)
@@ -688,8 +688,8 @@ static ADDRESS_MAP_START( selfeena_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x300000, 0x301fff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBRGBx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x400000, 0x40000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0xff00)
AM_RANGE(0x410000, 0x41000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0xff00) /* mirror address - seems to be only used for coin control */
- AM_RANGE(0x500000, 0x500001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x500002, 0x500003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x500000, 0x500001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x500002, 0x500003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
ADDRESS_MAP_END
@@ -698,8 +698,8 @@ static ADDRESS_MAP_START( sbm_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x100000, 0x10ffff) AM_RAM /* Main RAM */
AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE_LEGACY("tc0510nio", tc0510nio_halfword_wordswap_r, tc0510nio_halfword_wordswap_w)
- AM_RANGE(0x320000, 0x320001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x320002, 0x320003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x320000, 0x320001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x320002, 0x320003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
TC0180VCU_MEMRW( 0x900000 )
ADDRESS_MAP_END
@@ -710,15 +710,15 @@ static ADDRESS_MAP_START( realpunc_map, AS_PROGRAM, 16, taitob_state )
AM_RANGE(0x130000, 0x13ffff) AM_RAM // Check me
AM_RANGE(0x180000, 0x18000f) AM_DEVREADWRITE_LEGACY("tc0510nio", tc0510nio_halfword_wordswap_r, tc0510nio_halfword_wordswap_w)
AM_RANGE(0x184000, 0x184001) AM_WRITE(realpunc_video_ctrl_w)
- AM_RANGE(0x188000, 0x188001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x188002, 0x188003) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x188000, 0x188001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x188002, 0x188003) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x18c000, 0x18c001) AM_WRITE(realpunc_output_w)
TC0180VCU_MEMRW( 0x200000 )
AM_RANGE(0x280000, 0x281fff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x300000, 0x300001) AM_DEVREADWRITE_LEGACY("hd63484", hd63484_status_r, hd63484_address_w)
AM_RANGE(0x300002, 0x300003) AM_DEVREADWRITE_LEGACY("hd63484", hd63484_data_r, hd63484_data_w)
// AM_RANGE(0x320000, 0x320001) AM_READ_LEGACY(SMH_NOP) // ?
- AM_RANGE(0x320002, 0x320003) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x320002, 0x320003) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_w, 0xff00)
ADDRESS_MAP_END
static ADDRESS_MAP_START( masterw_sound_map, AS_PROGRAM, 8, taitob_state )
@@ -726,8 +726,8 @@ static ADDRESS_MAP_START( masterw_sound_map, AS_PROGRAM, 8, taitob_state )
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x9001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2203_r, ym2203_w)
- AM_RANGE(0xa000, 0xa000) AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_slave_port_w)
- AM_RANGE(0xa001, 0xa001) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
+ AM_RANGE(0xa000, 0xa000) AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_port_w)
+ AM_RANGE(0xa001, 0xa001) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, taitob_state )
@@ -735,8 +735,8 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, taitob_state )
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE_LEGACY("ymsnd", ym2610_r, ym2610_w)
- AM_RANGE(0xe200, 0xe200) AM_READNOP AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_slave_port_w)
- AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
+ AM_RANGE(0xe200, 0xe200) AM_READNOP AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_port_w)
+ AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
AM_RANGE(0xe400, 0xe403) AM_WRITENOP /* pan */
AM_RANGE(0xe600, 0xe600) AM_WRITENOP /* ? */
AM_RANGE(0xea00, 0xea00) AM_READNOP
@@ -751,8 +751,8 @@ static ADDRESS_MAP_START( viofight_sound_map, AS_PROGRAM, 8, taitob_state )
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x9001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2203_r, ym2203_w)
AM_RANGE(0xb000, 0xb001) AM_DEVREADWRITE("oki", okim6295_device, read, write) /* yes, both addresses for the same chip */
- AM_RANGE(0xa000, 0xa000) AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_slave_port_w)
- AM_RANGE(0xa001, 0xa001) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
+ AM_RANGE(0xa000, 0xa000) AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_port_w)
+ AM_RANGE(0xa001, 0xa001) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/taito_f2.c b/src/mame/drivers/taito_f2.c
index d78072850e0..5648ef6dcbc 100644
--- a/src/mame/drivers/taito_f2.c
+++ b/src/mame/drivers/taito_f2.c
@@ -684,8 +684,8 @@ static ADDRESS_MAP_START( finalb_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x200000, 0x200007) AM_DEVREADWRITE_LEGACY("tc0110pcr", tc0110pcr_word_r, tc0110pcr_word_w) /* palette */
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0x00ff)
- AM_RANGE(0x320000, 0x320001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
- AM_RANGE(0x320002, 0x320003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
+ AM_RANGE(0x320000, 0x320001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0x00ff)
+ AM_RANGE(0x320002, 0x320003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
AM_RANGE(0x810000, 0x81ffff) AM_WRITENOP /* error in game init code ? */
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
@@ -698,8 +698,8 @@ static ADDRESS_MAP_START( dondokod_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0x00ff)
- AM_RANGE(0x320000, 0x320001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x320002, 0x320003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x320000, 0x320001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x320002, 0x320003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_SHARE("spriteram")
@@ -710,8 +710,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( megab_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
- AM_RANGE(0x100000, 0x100001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x100002, 0x100003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x100000, 0x100001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x100002, 0x100003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x120000, 0x12000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0x00ff)
AM_RANGE(0x180000, 0x180fff) AM_READWRITE(cchip2_word_r, cchip2_word_w) AM_SHARE("cchip2_ram")
AM_RANGE(0x200000, 0x20ffff) AM_RAM
@@ -727,8 +727,8 @@ static ADDRESS_MAP_START( thundfox_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x101fff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0x00ff)
- AM_RANGE(0x220000, 0x220001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x220002, 0x220003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x220000, 0x220001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x220002, 0x220003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x300000, 0x30ffff) AM_RAM
AM_RANGE(0x400000, 0x40ffff) AM_DEVREADWRITE_LEGACY("tc0100scn_1", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
AM_RANGE(0x420000, 0x42000f) AM_DEVREADWRITE_LEGACY("tc0100scn_1", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
@@ -744,8 +744,8 @@ static ADDRESS_MAP_START( cameltry_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0x00ff)
AM_RANGE(0x300018, 0x30001f) AM_READ(cameltry_paddle_r)
- AM_RANGE(0x320000, 0x320001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x320002, 0x320003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x320000, 0x320001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x320002, 0x320003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x800000, 0x813fff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_SHARE("spriteram")
@@ -759,8 +759,8 @@ static ADDRESS_MAP_START( qtorimon_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x200000, 0x200007) AM_DEVREADWRITE_LEGACY("tc0110pcr", tc0110pcr_word_r, tc0110pcr_word_w) /* palette */
AM_RANGE(0x500000, 0x50000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0x00ff)
- AM_RANGE(0x600000, 0x600001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x600002, 0x600003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x600000, 0x600001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x600002, 0x600003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_SHARE("spriteram")
@@ -772,8 +772,8 @@ static ADDRESS_MAP_START( liquidk_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0x00ff)
- AM_RANGE(0x320000, 0x320001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
- AM_RANGE(0x320002, 0x320003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
+ AM_RANGE(0x320000, 0x320001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0x00ff)
+ AM_RANGE(0x320002, 0x320003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_SHARE("spriteram")
@@ -792,8 +792,8 @@ static ADDRESS_MAP_START( quizhq_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x580000, 0x580001) AM_READ_PORT("DSWA")
AM_RANGE(0x580002, 0x580003) AM_READ_PORT("IN1")
AM_RANGE(0x580004, 0x580005) AM_READ_PORT("IN2")
- AM_RANGE(0x600000, 0x600001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
- AM_RANGE(0x600002, 0x600003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
+ AM_RANGE(0x600000, 0x600001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0x00ff)
+ AM_RANGE(0x600002, 0x600003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
AM_RANGE(0x680000, 0x680001) AM_WRITENOP /* ??? */
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
AM_RANGE(0x810000, 0x81ffff) AM_WRITENOP /* error in init code ? */
@@ -806,8 +806,8 @@ static ADDRESS_MAP_START( ssi_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x100000, 0x10000f) AM_DEVREADWRITE_LEGACY("tc0510nio", tc0510nio_halfword_r, tc0510nio_halfword_w)
AM_RANGE(0x200000, 0x20ffff) AM_RAM
AM_RANGE(0x300000, 0x301fff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
- AM_RANGE(0x400000, 0x400001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x400002, 0x400003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x400000, 0x400001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x400002, 0x400003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
// AM_RANGE(0x500000, 0x500001) AM_WRITENOP /* ?? */
AM_RANGE(0x600000, 0x60ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps (not used) */
AM_RANGE(0x620000, 0x62000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
@@ -819,8 +819,8 @@ static ADDRESS_MAP_START( gunfront_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE_LEGACY("tc0510nio", tc0510nio_halfword_wordswap_r, tc0510nio_halfword_wordswap_w)
- AM_RANGE(0x320000, 0x320001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x320002, 0x320003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x320000, 0x320001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x320002, 0x320003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_SHARE("spriteram")
@@ -839,8 +839,8 @@ static ADDRESS_MAP_START( growl_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x320002, 0x320003) AM_READ_PORT("IN1")
AM_RANGE(0x320004, 0x320005) AM_READ_PORT("IN2")
AM_RANGE(0x340000, 0x340001) AM_WRITE(watchdog_reset16_w)
- AM_RANGE(0x400000, 0x400001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x400002, 0x400003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x400000, 0x400001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x400002, 0x400003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x500000, 0x50000f) AM_WRITE(taitof2_spritebank_w)
AM_RANGE(0x504000, 0x504001) AM_WRITENOP /* unknown... various values */
AM_RANGE(0x508000, 0x50800f) AM_READ_PORT("IN3")
@@ -861,8 +861,8 @@ static ADDRESS_MAP_START( mjnquest_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x320000, 0x320001) AM_WRITE(mjnquest_inputselect_w)
AM_RANGE(0x330000, 0x330001) AM_WRITENOP /* watchdog ? */
AM_RANGE(0x350000, 0x350001) AM_WRITENOP /* watchdog ? */
- AM_RANGE(0x360000, 0x360001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x360002, 0x360003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x360000, 0x360001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x360002, 0x360003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x380000, 0x380001) AM_DEVWRITE_LEGACY("tc0100scn", tc0100scn_gfxbank_w) /* scr gfx bank select */
AM_RANGE(0x400000, 0x40ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
AM_RANGE(0x420000, 0x42000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
@@ -887,8 +887,8 @@ static ADDRESS_MAP_START( footchmp_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x70000e, 0x70000f) AM_READ_PORT("IN3")
AM_RANGE(0x700010, 0x700011) AM_READ_PORT("IN4")
AM_RANGE(0x800000, 0x800001) AM_WRITE(watchdog_reset16_w) /* ??? */
- AM_RANGE(0xa00000, 0xa00001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
- AM_RANGE(0xa00002, 0xa00003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
+ AM_RANGE(0xa00000, 0xa00001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0x00ff)
+ AM_RANGE(0xa00002, 0xa00003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
ADDRESS_MAP_END
static ADDRESS_MAP_START( koshien_map, AS_PROGRAM, 16, taitof2_state )
@@ -896,8 +896,8 @@ static ADDRESS_MAP_START( koshien_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x100000, 0x10ffff) AM_RAM
AM_RANGE(0x200000, 0x201fff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x300000, 0x30000f) AM_DEVREADWRITE_LEGACY("tc0510nio", tc0510nio_halfword_r, tc0510nio_halfword_w)
- AM_RANGE(0x320000, 0x320001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x320002, 0x320003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x320000, 0x320001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x320002, 0x320003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_SHARE("spriteram")
@@ -908,8 +908,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( yuyugogo_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x000000, 0x03ffff) AM_ROM
AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE_LEGACY("tc0510nio", tc0510nio_halfword_r, tc0510nio_halfword_w)
- AM_RANGE(0x400000, 0x400001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x400002, 0x400003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x400000, 0x400001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x400002, 0x400003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
AM_RANGE(0x900000, 0x90ffff) AM_RAM AM_SHARE("spriteram")
@@ -926,8 +926,8 @@ static ADDRESS_MAP_START( ninjak_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x300000, 0x30000f) AM_READ(ninjak_input_r)
AM_RANGE(0x30000e, 0x30000f) AM_WRITE(ninjak_coin_word_w)
AM_RANGE(0x380000, 0x380001) AM_WRITE(watchdog_reset16_w) /* ??? */
- AM_RANGE(0x400000, 0x400001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x400002, 0x400003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x400000, 0x400001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x400002, 0x400003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x600000, 0x60000f) AM_WRITE(taitof2_spritebank_w)
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
AM_RANGE(0x820000, 0x82000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
@@ -946,8 +946,8 @@ static ADDRESS_MAP_START( solfigtr_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x320002, 0x320003) AM_READ_PORT("IN1")
AM_RANGE(0x320004, 0x320005) AM_READ_PORT("IN2")
AM_RANGE(0x340000, 0x340001) AM_WRITE(watchdog_reset16_w) /* NOT VERIFIED */
- AM_RANGE(0x400000, 0x400001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x400002, 0x400003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x400000, 0x400001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x400002, 0x400003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x500000, 0x50000f) AM_WRITE(taitof2_spritebank_w)
AM_RANGE(0x504000, 0x504001) AM_WRITENOP /* unknown... various values */
AM_RANGE(0x800000, 0x80ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
@@ -959,8 +959,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( qzquest_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x000000, 0x17ffff) AM_ROM
AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE_LEGACY("tc0510nio", tc0510nio_halfword_r, tc0510nio_halfword_w)
- AM_RANGE(0x300000, 0x300001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
- AM_RANGE(0x300002, 0x300003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
+ AM_RANGE(0x300000, 0x300001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0x00ff)
+ AM_RANGE(0x300002, 0x300003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
AM_RANGE(0x400000, 0x401fff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x500000, 0x50ffff) AM_RAM
AM_RANGE(0x600000, 0x60ffff) AM_RAM AM_SHARE("spriteram")
@@ -970,8 +970,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( pulirula_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x000000, 0x0bffff) AM_ROM
- AM_RANGE(0x200000, 0x200001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x200002, 0x200003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x200000, 0x200001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x200002, 0x200003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x300000, 0x30ffff) AM_RAM
AM_RANGE(0x400000, 0x401fff) AM_DEVREADWRITE_LEGACY("tc0430grw", tc0430grw_word_r, tc0430grw_word_w) /* ROZ tilemap */
AM_RANGE(0x402000, 0x40200f) AM_DEVWRITE_LEGACY("tc0430grw", tc0430grw_ctrl_word_w)
@@ -995,16 +995,16 @@ static ADDRESS_MAP_START( metalb_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x600000, 0x60001f) AM_DEVWRITE8_LEGACY("tc0360pri", tc0360pri_w, 0x00ff)
AM_RANGE(0x700000, 0x703fff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x800000, 0x80000f) AM_DEVREADWRITE_LEGACY("tc0510nio", tc0510nio_halfword_wordswap_r, tc0510nio_halfword_wordswap_w)
- AM_RANGE(0x900000, 0x900001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x900002, 0x900003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x900000, 0x900001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x900002, 0x900003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
// AM_RANGE(0xa00000, 0xa00001) AM_WRITENOP /* ??? */
ADDRESS_MAP_END
static ADDRESS_MAP_START( qzchikyu_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x000000, 0x17ffff) AM_ROM
AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE_LEGACY("tc0510nio", tc0510nio_halfword_r, tc0510nio_halfword_w)
- AM_RANGE(0x300000, 0x300001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
- AM_RANGE(0x300002, 0x300003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
+ AM_RANGE(0x300000, 0x300001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0x00ff)
+ AM_RANGE(0x300002, 0x300003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
AM_RANGE(0x400000, 0x401fff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0x500000, 0x50ffff) AM_RAM
AM_RANGE(0x600000, 0x60ffff) AM_RAM AM_SHARE("spriteram")
@@ -1020,8 +1020,8 @@ static ADDRESS_MAP_START( yesnoj_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x520000, 0x52000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
AM_RANGE(0x600000, 0x601fff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
// AM_RANGE(0x700000, 0x70000b) AM_READ_LEGACY(yesnoj_unknown_r) /* what's this? */
- AM_RANGE(0x800000, 0x800001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x800002, 0x800003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x800000, 0x800001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x800002, 0x800003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x900002, 0x900003) AM_WRITENOP /* lots of similar writes */
AM_RANGE(0xa00000, 0xa00001) AM_READ_PORT("IN0")
AM_RANGE(0xa00002, 0xa00003) AM_READ_PORT("IN1")
@@ -1048,8 +1048,8 @@ static ADDRESS_MAP_START( deadconx_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x70000a, 0x70000b) AM_READ_PORT("IN0")
AM_RANGE(0x70000c, 0x70000d) AM_READ_PORT("IN1")
AM_RANGE(0x800000, 0x800001) AM_WRITE(watchdog_reset16_w) /* ??? */
- AM_RANGE(0xa00000, 0xa00001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0xa00002, 0xa00003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0xa00000, 0xa00001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0xa00002, 0xa00003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
ADDRESS_MAP_END
static ADDRESS_MAP_START( dinorex_map, AS_PROGRAM, 16, taitof2_state )
@@ -1062,15 +1062,15 @@ static ADDRESS_MAP_START( dinorex_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_SHARE("spriteram")
AM_RANGE(0x900000, 0x90ffff) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_word_r, tc0100scn_word_w) /* tilemaps */
AM_RANGE(0x920000, 0x92000f) AM_DEVREADWRITE_LEGACY("tc0100scn", tc0100scn_ctrl_word_r, tc0100scn_ctrl_word_w)
- AM_RANGE(0xa00000, 0xa00001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0xa00002, 0xa00003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0xa00000, 0xa00001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0xa00002, 0xa00003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0xb00000, 0xb00001) AM_WRITENOP /* watchdog? */
ADDRESS_MAP_END
static ADDRESS_MAP_START( qjinsei_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x000000, 0x1fffff) AM_ROM
- AM_RANGE(0x200000, 0x200001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x200002, 0x200003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x200000, 0x200001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x200002, 0x200003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x300000, 0x30ffff) AM_RAM
AM_RANGE(0x500000, 0x500001) AM_WRITENOP /* watchdog ? */
AM_RANGE(0x600000, 0x603fff) AM_WRITE(taitof2_sprite_extension_w) AM_SHARE("sprite_ext")
@@ -1087,8 +1087,8 @@ static ADDRESS_MAP_START( qcrayon_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x100000, 0x10ffff) AM_RAM
// AM_RANGE(0x200000, 0x200001) AM_WRITENOP /* unknown */
AM_RANGE(0x300000, 0x3fffff) AM_ROM AM_REGION("extra", 0) /* extra data rom */
- AM_RANGE(0x500000, 0x500001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x500002, 0x500003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x500000, 0x500001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x500002, 0x500003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x600000, 0x603fff) AM_WRITE(taitof2_sprite_extension_w) AM_SHARE("sprite_ext")
AM_RANGE(0x700000, 0x701fff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_word_w) AM_SHARE("paletteram")
AM_RANGE(0x800000, 0x80ffff) AM_RAM AM_SHARE("spriteram")
@@ -1108,15 +1108,15 @@ static ADDRESS_MAP_START( qcrayon2_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x600000, 0x67ffff) AM_ROM AM_REGION("extra", 0) /* extra data rom */
AM_RANGE(0x700000, 0x70000f) AM_DEVREADWRITE_LEGACY("tc0510nio", tc0510nio_halfword_r, tc0510nio_halfword_w)
AM_RANGE(0x900000, 0x90001f) AM_DEVWRITE8_LEGACY("tc0360pri", tc0360pri_w, 0x00ff) /* ?? */
- AM_RANGE(0xa00000, 0xa00001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0xa00002, 0xa00003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0xa00000, 0xa00001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0xa00002, 0xa00003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0xb00000, 0xb017ff) AM_WRITE(taitof2_sprite_extension_w) AM_SHARE("sprite_ext")
ADDRESS_MAP_END
static ADDRESS_MAP_START( driftout_map, AS_PROGRAM, 16, taitof2_state )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
- AM_RANGE(0x200000, 0x200001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0xff00)
- AM_RANGE(0x200002, 0x200003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
+ AM_RANGE(0x200000, 0x200001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0xff00)
+ AM_RANGE(0x200002, 0x200003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0xff00)
AM_RANGE(0x300000, 0x30ffff) AM_RAM
AM_RANGE(0x400000, 0x401fff) AM_DEVREADWRITE_LEGACY("tc0430grw", tc0430grw_word_r, tc0430grw_word_w) /* ROZ tilemap */
AM_RANGE(0x402000, 0x40200f) AM_DEVWRITE_LEGACY("tc0430grw", tc0430grw_ctrl_word_w)
@@ -1155,8 +1155,8 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, taitof2_state )
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank2")
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE_LEGACY("ymsnd", ym2610_r, ym2610_w)
- AM_RANGE(0xe200, 0xe200) AM_READNOP AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_slave_port_w)
- AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
+ AM_RANGE(0xe200, 0xe200) AM_READNOP AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_port_w)
+ AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
AM_RANGE(0xe400, 0xe403) AM_WRITENOP /* pan */
AM_RANGE(0xea00, 0xea00) AM_READNOP
AM_RANGE(0xee00, 0xee00) AM_WRITENOP /* ? */
@@ -1171,8 +1171,8 @@ static ADDRESS_MAP_START( cameltrya_sound_map, AS_PROGRAM, 8, taitof2_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM // I can't see a bank control, but there ARE some bytes past 0x8000
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x9001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2203_r, ym2203_w)
- AM_RANGE(0xa000, 0xa000) AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_slave_port_w)
- AM_RANGE(0xa001, 0xa001) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
+ AM_RANGE(0xa000, 0xa000) AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_port_w)
+ AM_RANGE(0xa001, 0xa001) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
// AM_RANGE(0xb000, 0xb000) AM_WRITE_LEGACY(unknown_w) // probably controlling sample player?
AM_RANGE(0xb000, 0xb001) AM_MIRROR(0x0001) AM_DEVREADWRITE("oki", okim6295_device, read, write)
ADDRESS_MAP_END
diff --git a/src/mame/drivers/taito_h.c b/src/mame/drivers/taito_h.c
index b87e39b9846..12ab680d72a 100644
--- a/src/mame/drivers/taito_h.c
+++ b/src/mame/drivers/taito_h.c
@@ -251,8 +251,8 @@ static ADDRESS_MAP_START( syvalion_map, AS_PROGRAM, 16, taitoh_state )
AM_RANGE(0x100000, 0x10ffff) AM_MIRROR(0x010000) AM_RAM AM_SHARE("m68000_mainram")
AM_RANGE(0x200000, 0x200001) AM_READ8(syvalion_input_bypass_r, 0x00ff) AM_DEVWRITE8_LEGACY("tc0220ioc", tc0220ioc_portreg_w, 0x00ff)
AM_RANGE(0x200002, 0x200003) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_port_r, tc0220ioc_port_w, 0x00ff)
- AM_RANGE(0x300000, 0x300001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
- AM_RANGE(0x300002, 0x300003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
+ AM_RANGE(0x300000, 0x300001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0x00ff)
+ AM_RANGE(0x300002, 0x300003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
AM_RANGE(0x400000, 0x420fff) AM_DEVREADWRITE_LEGACY("tc0080vco", tc0080vco_word_r, tc0080vco_word_w)
AM_RANGE(0x500800, 0x500fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
ADDRESS_MAP_END
@@ -262,8 +262,8 @@ static ADDRESS_MAP_START( recordbr_map, AS_PROGRAM, 16, taitoh_state )
AM_RANGE(0x100000, 0x10ffff) AM_MIRROR(0x010000) AM_RAM AM_SHARE("m68000_mainram")
AM_RANGE(0x200000, 0x200001) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_portreg_r, tc0220ioc_portreg_w, 0x00ff)
AM_RANGE(0x200002, 0x200003) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_port_r, tc0220ioc_port_w, 0x00ff)
- AM_RANGE(0x300000, 0x300001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
- AM_RANGE(0x300002, 0x300003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
+ AM_RANGE(0x300000, 0x300001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0x00ff)
+ AM_RANGE(0x300002, 0x300003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
AM_RANGE(0x400000, 0x420fff) AM_DEVREADWRITE_LEGACY("tc0080vco", tc0080vco_word_r, tc0080vco_word_w)
AM_RANGE(0x500800, 0x500fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
ADDRESS_MAP_END
@@ -272,8 +272,8 @@ static ADDRESS_MAP_START( dleague_map, AS_PROGRAM, 16, taitoh_state )
AM_RANGE(0x000000, 0x05ffff) AM_ROM
AM_RANGE(0x100000, 0x10ffff) AM_MIRROR(0x010000) AM_RAM AM_SHARE("m68000_mainram")
AM_RANGE(0x200000, 0x20000f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0x00ff)
- AM_RANGE(0x300000, 0x300001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
- AM_RANGE(0x300002, 0x300003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
+ AM_RANGE(0x300000, 0x300001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0x00ff)
+ AM_RANGE(0x300002, 0x300003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
AM_RANGE(0x400000, 0x420fff) AM_DEVREADWRITE_LEGACY("tc0080vco", tc0080vco_word_r, tc0080vco_word_w)
AM_RANGE(0x500800, 0x500fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x600000, 0x600001) AM_WRITENOP /* ?? writes zero once per frame */
@@ -285,8 +285,8 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, taitoh_state )
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE_LEGACY("ymsnd", ym2610_r, ym2610_w)
- AM_RANGE(0xe200, 0xe200) AM_READNOP AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_slave_port_w)
- AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
+ AM_RANGE(0xe200, 0xe200) AM_READNOP AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_port_w)
+ AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
AM_RANGE(0xe400, 0xe403) AM_WRITENOP /* pan control */
AM_RANGE(0xea00, 0xea00) AM_READNOP
AM_RANGE(0xee00, 0xee00) AM_WRITENOP /* ? */
diff --git a/src/mame/drivers/taito_l.c b/src/mame/drivers/taito_l.c
index 7a5184966c3..1d56fb54847 100644
--- a/src/mame/drivers/taito_l.c
+++ b/src/mame/drivers/taito_l.c
@@ -672,8 +672,8 @@ static ADDRESS_MAP_START( fhawk_2_map, AS_PROGRAM, 8, taitol_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank6")
AM_RANGE(0xc000, 0xc000) AM_WRITE(rombank2switch_w)
- AM_RANGE(0xc800, 0xc800) AM_READNOP AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_port_w)
- AM_RANGE(0xc801, 0xc801) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w)
+ AM_RANGE(0xc800, 0xc800) AM_READNOP AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_port_w)
+ AM_RANGE(0xc801, 0xc801) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w)
AM_RANGE(0xd000, 0xd000) AM_READ_PORT("DSWA") AM_WRITENOP // Direct copy of input port 0
AM_RANGE(0xd001, 0xd001) AM_READ_PORT("DSWB")
AM_RANGE(0xd002, 0xd002) AM_READ_PORT("IN0")
@@ -688,8 +688,8 @@ static ADDRESS_MAP_START( fhawk_3_map, AS_PROGRAM, 8, taitol_state )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank7")
AM_RANGE(0x8000, 0x9fff) AM_RAM
- AM_RANGE(0xe000, 0xe000) AM_READNOP AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_slave_port_w)
- AM_RANGE(0xe001, 0xe001) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
+ AM_RANGE(0xe000, 0xe000) AM_READNOP AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_port_w)
+ AM_RANGE(0xe001, 0xe001) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
AM_RANGE(0xf000, 0xf001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2203_r, ym2203_w)
ADDRESS_MAP_END
@@ -699,8 +699,8 @@ static ADDRESS_MAP_START( raimais_map, AS_PROGRAM, 8, taitol_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM AM_SHARE("share1")
AM_RANGE(0x8800, 0x8800) AM_READWRITE(mux_r, mux_w)
AM_RANGE(0x8801, 0x8801) AM_WRITE(mux_ctrl_w) AM_READNOP // Watchdog or interrupt ack (value ignored)
- AM_RANGE(0x8c00, 0x8c00) AM_READNOP AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_port_w)
- AM_RANGE(0x8c01, 0x8c01) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w)
+ AM_RANGE(0x8c00, 0x8c00) AM_READNOP AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_port_w)
+ AM_RANGE(0x8c01, 0x8c01) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w)
AM_RANGE(0xa000, 0xbfff) AM_RAM
ADDRESS_MAP_END
@@ -724,8 +724,8 @@ static ADDRESS_MAP_START( raimais_3_map, AS_PROGRAM, 8, taitol_state )
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank7")
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE_LEGACY("ymsnd", ym2610_r, ym2610_w)
- AM_RANGE(0xe200, 0xe200) AM_READNOP AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_slave_port_w)
- AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
+ AM_RANGE(0xe200, 0xe200) AM_READNOP AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_port_w)
+ AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
AM_RANGE(0xe400, 0xe403) AM_WRITENOP /* pan */
AM_RANGE(0xe600, 0xe600) AM_WRITENOP /* ? */
AM_RANGE(0xee00, 0xee00) AM_WRITENOP /* ? */
@@ -751,8 +751,8 @@ static ADDRESS_MAP_START( champwr_2_map, AS_PROGRAM, 8, taitol_state )
AM_RANGE(0xe004, 0xe004) AM_WRITE(control2_w)
AM_RANGE(0xe007, 0xe007) AM_READ_PORT("IN2")
AM_RANGE(0xe008, 0xe00f) AM_READNOP
- AM_RANGE(0xe800, 0xe800) AM_READNOP AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_port_w)
- AM_RANGE(0xe801, 0xe801) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w)
+ AM_RANGE(0xe800, 0xe800) AM_READNOP AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_port_w)
+ AM_RANGE(0xe801, 0xe801) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w)
AM_RANGE(0xf000, 0xf000) AM_READWRITE(rombank2switch_r, rombank2switch_w)
ADDRESS_MAP_END
@@ -761,8 +761,8 @@ static ADDRESS_MAP_START( champwr_3_map, AS_PROGRAM, 8, taitol_state )
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank7")
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x9001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2203_r, ym2203_w)
- AM_RANGE(0xa000, 0xa000) AM_READNOP AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_slave_port_w)
- AM_RANGE(0xa001, 0xa001) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
+ AM_RANGE(0xa000, 0xa000) AM_READNOP AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_port_w)
+ AM_RANGE(0xa001, 0xa001) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
AM_RANGE(0xb000, 0xb000) AM_WRITE(champwr_msm5205_hi_w)
AM_RANGE(0xc000, 0xc000) AM_WRITE(champwr_msm5205_lo_w)
AM_RANGE(0xd000, 0xd000) AM_WRITE(champwr_msm5205_start_w)
diff --git a/src/mame/drivers/taito_x.c b/src/mame/drivers/taito_x.c
index 6b9ee3d33e2..b5bf5e80ee0 100644
--- a/src/mame/drivers/taito_x.c
+++ b/src/mame/drivers/taito_x.c
@@ -433,8 +433,8 @@ static ADDRESS_MAP_START( superman_map, AS_PROGRAM, 16, taitox_state )
AM_RANGE(0x400000, 0x400001) AM_WRITENOP /* written each frame at $3aa2, mostly 0x10 */
AM_RANGE(0x500000, 0x500007) AM_READ(superman_dsw_input_r)
AM_RANGE(0x600000, 0x600001) AM_WRITENOP /* written each frame at $3ab0, mostly 0x10 */
- AM_RANGE(0x800000, 0x800001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
- AM_RANGE(0x800002, 0x800003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
+ AM_RANGE(0x800000, 0x800001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0x00ff)
+ AM_RANGE(0x800002, 0x800003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
AM_RANGE(0x900000, 0x9007ff) AM_READWRITE_LEGACY(cchip1_ram_r, cchip1_ram_w)
AM_RANGE(0x900802, 0x900803) AM_READWRITE_LEGACY(cchip1_ctrl_r, cchip1_ctrl_w)
AM_RANGE(0x900c00, 0x900c01) AM_WRITE_LEGACY(cchip1_bank_w)
@@ -450,8 +450,8 @@ static ADDRESS_MAP_START( daisenpu_map, AS_PROGRAM, 16, taitox_state )
// AM_RANGE(0x400000, 0x400001) AM_WRITENOP /* written each frame at $2ac, values change */
AM_RANGE(0x500000, 0x50000f) AM_READ(superman_dsw_input_r)
// AM_RANGE(0x600000, 0x600001) AM_WRITENOP /* written each frame at $2a2, values change */
- AM_RANGE(0x800000, 0x800001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
- AM_RANGE(0x800002, 0x800003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
+ AM_RANGE(0x800000, 0x800001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0x00ff)
+ AM_RANGE(0x800002, 0x800003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
AM_RANGE(0x900000, 0x90000f) AM_READWRITE(daisenpu_input_r, daisenpu_input_w)
AM_RANGE(0xb00000, 0xb00fff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0xd00000, 0xd005ff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spriteylow_r16, spriteylow_w16) // Sprites Y
@@ -465,8 +465,8 @@ static ADDRESS_MAP_START( gigandes_map, AS_PROGRAM, 16, taitox_state )
AM_RANGE(0x400000, 0x400001) AM_WRITENOP /* 0x1 written each frame at $d42, watchdog? */
AM_RANGE(0x500000, 0x500007) AM_READ(superman_dsw_input_r)
AM_RANGE(0x600000, 0x600001) AM_WRITENOP /* 0x1 written each frame at $d3c, watchdog? */
- AM_RANGE(0x800000, 0x800001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
- AM_RANGE(0x800002, 0x800003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
+ AM_RANGE(0x800000, 0x800001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0x00ff)
+ AM_RANGE(0x800002, 0x800003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
AM_RANGE(0x900000, 0x90000f) AM_READWRITE(daisenpu_input_r, daisenpu_input_w)
AM_RANGE(0xb00000, 0xb00fff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0xd00000, 0xd005ff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spriteylow_r16, spriteylow_w16) // Sprites Y
@@ -480,8 +480,8 @@ static ADDRESS_MAP_START( ballbros_map, AS_PROGRAM, 16, taitox_state )
AM_RANGE(0x400000, 0x400001) AM_WRITENOP /* 0x1 written each frame at $c56, watchdog? */
AM_RANGE(0x500000, 0x50000f) AM_READ(superman_dsw_input_r)
AM_RANGE(0x600000, 0x600001) AM_WRITENOP /* 0x1 written each frame at $c4e, watchdog? */
- AM_RANGE(0x800000, 0x800001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
- AM_RANGE(0x800002, 0x800003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
+ AM_RANGE(0x800000, 0x800001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0x00ff)
+ AM_RANGE(0x800002, 0x800003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
AM_RANGE(0x900000, 0x90000f) AM_READWRITE(daisenpu_input_r, daisenpu_input_w)
AM_RANGE(0xb00000, 0xb00fff) AM_RAM_WRITE(paletteram_xRRRRRGGGGGBBBBB_word_w) AM_SHARE("paletteram")
AM_RANGE(0xd00000, 0xd005ff) AM_RAM AM_DEVREADWRITE_LEGACY("spritegen", spriteylow_r16, spriteylow_w16) // Sprites Y
@@ -498,8 +498,8 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, taitox_state )
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank2")
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE_LEGACY("ymsnd", ym2610_r, ym2610_w)
- AM_RANGE(0xe200, 0xe200) AM_READNOP AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_slave_port_w)
- AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
+ AM_RANGE(0xe200, 0xe200) AM_READNOP AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_port_w)
+ AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
AM_RANGE(0xe400, 0xe403) AM_WRITENOP /* pan */
AM_RANGE(0xea00, 0xea00) AM_READNOP
AM_RANGE(0xee00, 0xee00) AM_WRITENOP /* ? */
@@ -512,8 +512,8 @@ static ADDRESS_MAP_START( daisenpu_sound_map, AS_PROGRAM, 8, taitox_state )
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank2")
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
- AM_RANGE(0xe200, 0xe200) AM_READNOP AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_slave_port_w)
- AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
+ AM_RANGE(0xe200, 0xe200) AM_READNOP AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_port_w)
+ AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
AM_RANGE(0xe400, 0xe403) AM_WRITENOP /* pan */
AM_RANGE(0xea00, 0xea00) AM_READNOP
AM_RANGE(0xee00, 0xee00) AM_WRITENOP /* ? */
diff --git a/src/mame/drivers/taito_z.c b/src/mame/drivers/taito_z.c
index 2ba44bcd75a..ad3f7b4905e 100644
--- a/src/mame/drivers/taito_z.c
+++ b/src/mame/drivers/taito_z.c
@@ -1417,9 +1417,9 @@ WRITE8_MEMBER(taitoz_state::sound_bankswitch_w)
WRITE16_MEMBER(taitoz_state::taitoz_sound_w)
{
if (offset == 0)
- tc0140syt_port_w(m_tc0140syt, space, 0, data & 0xff);
+ m_tc0140syt->tc0140syt_port_w(space, 0, data & 0xff);
else if (offset == 1)
- tc0140syt_comm_w(m_tc0140syt, space, 0, data & 0xff);
+ m_tc0140syt->tc0140syt_comm_w(space, 0, data & 0xff);
#ifdef MAME_DEBUG
// if (data & 0xff00)
@@ -1435,7 +1435,7 @@ WRITE16_MEMBER(taitoz_state::taitoz_sound_w)
READ16_MEMBER(taitoz_state::taitoz_sound_r)
{
if (offset == 1)
- return (tc0140syt_comm_r(m_tc0140syt, space, 0) & 0xff);
+ return (m_tc0140syt->tc0140syt_comm_r(space, 0) & 0xff);
else
return 0;
}
@@ -1444,9 +1444,9 @@ READ16_MEMBER(taitoz_state::taitoz_sound_r)
WRITE16_MEMBER(taitoz_state::taitoz_msb_sound_w)
{
if (offset == 0)
- tc0140syt_port_w(m_tc0140syt, 0, (data >> 8) & 0xff);
+ m_tc0140syt->tc0140syt_port_w(0, (data >> 8) & 0xff);
else if (offset == 1)
- tc0140syt_comm_w(m_tc0140syt, 0, (data >> 8) & 0xff);
+ m_tc0140syt->tc0140syt_comm_w(0, (data >> 8) & 0xff);
#ifdef MAME_DEBUG
if (data & 0xff)
@@ -1462,7 +1462,7 @@ WRITE16_MEMBER(taitoz_state::taitoz_msb_sound_w)
READ16_MEMBER(taitoz_state::taitoz_msb_sound_r)
{
if (offset == 1)
- return ((tc0140syt_comm_r(m_tc0140syt, 0) & 0xff) << 8);
+ return ((m_tc0140syt->tc0140syt_comm_r(0) & 0xff) << 8);
else
return 0;
}
@@ -1746,8 +1746,8 @@ static ADDRESS_MAP_START( z80_sound_map, AS_PROGRAM, 8, taitoz_state )
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank10")
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE_LEGACY("ymsnd", ym2610_r, ym2610_w)
- AM_RANGE(0xe200, 0xe200) AM_READNOP AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_slave_port_w)
- AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
+ AM_RANGE(0xe200, 0xe200) AM_READNOP AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_port_w)
+ AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
AM_RANGE(0xe400, 0xe403) AM_WRITE(taitoz_pancontrol) /* pan */
AM_RANGE(0xea00, 0xea00) AM_READNOP
AM_RANGE(0xee00, 0xee00) AM_WRITENOP /* ? */
@@ -3039,7 +3039,7 @@ MACHINE_START_MEMBER(taitoz_state,bshark)
m_tc0150rod = machine().device("tc0150rod");
m_tc0480scp = machine().device("tc0480scp");
m_tc0220ioc = machine().device("tc0220ioc");
- m_tc0140syt = machine().device("tc0140syt");
+ m_tc0140syt = machine().device<tc0140syt_device>("tc0140syt");
save_item(NAME(m_cpua_ctrl));
diff --git a/src/mame/drivers/taitoair.c b/src/mame/drivers/taitoair.c
index 99aa26ee1b2..665657b3b5a 100644
--- a/src/mame/drivers/taitoair.c
+++ b/src/mame/drivers/taitoair.c
@@ -401,8 +401,8 @@ static ADDRESS_MAP_START( airsys_map, AS_PROGRAM, 16, taitoair_state )
AM_RANGE(0xa00000, 0xa00007) AM_READ(stick_input_r)
AM_RANGE(0xa00100, 0xa00107) AM_READ(stick2_input_r)
AM_RANGE(0xa00200, 0xa0020f) AM_DEVREADWRITE8_LEGACY("tc0220ioc", tc0220ioc_r, tc0220ioc_w, 0x00ff) /* other I/O */
- AM_RANGE(0xa80000, 0xa80001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
- AM_RANGE(0xa80002, 0xa80003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
+ AM_RANGE(0xa80000, 0xa80001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0x00ff)
+ AM_RANGE(0xa80002, 0xa80003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
AM_RANGE(0xb00000, 0xb007ff) AM_RAM /* "power common ram" (mecha drive) */
ADDRESS_MAP_END
@@ -413,8 +413,8 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, taitoair_state )
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1")
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE_LEGACY("ymsnd", ym2610_r, ym2610_w)
- AM_RANGE(0xe200, 0xe200) AM_READNOP AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_slave_port_w)
- AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
+ AM_RANGE(0xe200, 0xe200) AM_READNOP AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_port_w)
+ AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
AM_RANGE(0xe400, 0xe403) AM_WRITENOP /* pan control */
AM_RANGE(0xea00, 0xea00) AM_READNOP
AM_RANGE(0xee00, 0xee00) AM_WRITENOP /* ? */
diff --git a/src/mame/drivers/topspeed.c b/src/mame/drivers/topspeed.c
index 0150a1fa870..2eaa517fec3 100644
--- a/src/mame/drivers/topspeed.c
+++ b/src/mame/drivers/topspeed.c
@@ -419,9 +419,9 @@ WRITE8_MEMBER(topspeed_state::sound_bankswitch_w)/* assumes Z80 sandwiched betwe
WRITE8_MEMBER(topspeed_state::topspeed_tc0140syt_comm_w)
{
- device_t *device = machine().device("tc0140syt");
+ tc0140syt_device *device = machine().device<tc0140syt_device>("tc0140syt");
machine().device("audiocpu")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
- tc0140syt_comm_w(device, space, 0, data);
+ device->tc0140syt_comm_w(space, 0, data);
}
static void topspeed_msm5205_clock( device_t *device, int chip )
@@ -502,8 +502,8 @@ static ADDRESS_MAP_START( topspeed_map, AS_PROGRAM, 16, topspeed_state )
AM_RANGE(0x400000, 0x40ffff) AM_READWRITE(sharedram_r, sharedram_w) AM_SHARE("sharedram")
AM_RANGE(0x500000, 0x503fff) AM_RAM_WRITE(paletteram_xBBBBBGGGGGRRRRR_word_w) AM_SHARE("paletteram")
AM_RANGE(0x600002, 0x600003) AM_WRITE(cpua_ctrl_w)
- AM_RANGE(0x7e0000, 0x7e0001) AM_READNOP AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
- AM_RANGE(0x7e0002, 0x7e0003) AM_DEVREAD8_LEGACY("tc0140syt", tc0140syt_comm_r, 0x00ff) AM_WRITE8(topspeed_tc0140syt_comm_w, 0x00ff)
+ AM_RANGE(0x7e0000, 0x7e0001) AM_READNOP AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0x00ff)
+ AM_RANGE(0x7e0002, 0x7e0003) AM_DEVREAD8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, 0x00ff) AM_WRITE8(topspeed_tc0140syt_comm_w, 0x00ff)
AM_RANGE(0x800000, 0x8003ff) AM_RAM AM_SHARE("raster_ctrl")
AM_RANGE(0x800400, 0x80ffff) AM_RAM
AM_RANGE(0xa00000, 0xa0ffff) AM_DEVREADWRITE_LEGACY("pc080sn_1", pc080sn_word_r, pc080sn_word_w)
@@ -534,8 +534,8 @@ static ADDRESS_MAP_START( z80_map, AS_PROGRAM, 8, topspeed_state )
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank10")
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x9001) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
- AM_RANGE(0xa000, 0xa000) AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_slave_port_w)
- AM_RANGE(0xa001, 0xa001) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
+ AM_RANGE(0xa000, 0xa000) AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_port_w)
+ AM_RANGE(0xa001, 0xa001) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
AM_RANGE(0xb000, 0xd3ff) AM_WRITE(topspeed_msm5205_command_w)
AM_RANGE(0xd400, 0xd400) AM_WRITENOP // ym2151 volume
AM_RANGE(0xd600, 0xd600) AM_WRITENOP // ym2151 volume
diff --git a/src/mame/drivers/volfied.c b/src/mame/drivers/volfied.c
index e5d1edf72b1..6433f3c3e3e 100644
--- a/src/mame/drivers/volfied.c
+++ b/src/mame/drivers/volfied.c
@@ -71,8 +71,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 16, volfied_state )
AM_RANGE(0x600000, 0x600001) AM_WRITE(volfied_video_mask_w)
AM_RANGE(0x700000, 0x700001) AM_WRITE(volfied_sprite_ctrl_w)
AM_RANGE(0xd00000, 0xd00001) AM_READWRITE(volfied_video_ctrl_r, volfied_video_ctrl_w)
- AM_RANGE(0xe00000, 0xe00001) AM_DEVWRITE8_LEGACY("tc0140syt", tc0140syt_port_w, 0x00ff)
- AM_RANGE(0xe00002, 0xe00003) AM_DEVREADWRITE8_LEGACY("tc0140syt", tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
+ AM_RANGE(0xe00000, 0xe00001) AM_DEVWRITE8("tc0140syt", tc0140syt_device, tc0140syt_port_w, 0x00ff)
+ AM_RANGE(0xe00002, 0xe00003) AM_DEVREADWRITE8("tc0140syt", tc0140syt_device, tc0140syt_comm_r, tc0140syt_comm_w, 0x00ff)
AM_RANGE(0xf00000, 0xf007ff) AM_READWRITE(volfied_cchip_ram_r, volfied_cchip_ram_w)
AM_RANGE(0xf00802, 0xf00803) AM_READWRITE(volfied_cchip_ctrl_r, volfied_cchip_ctrl_w)
AM_RANGE(0xf00c00, 0xf00c01) AM_WRITE(volfied_cchip_bank_w)
@@ -81,8 +81,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( z80_map, AS_PROGRAM, 8, volfied_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
- AM_RANGE(0x8800, 0x8800) AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_slave_port_w)
- AM_RANGE(0x8801, 0x8801) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
+ AM_RANGE(0x8800, 0x8800) AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_port_w)
+ AM_RANGE(0x8801, 0x8801) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
AM_RANGE(0x9000, 0x9001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2203_r, ym2203_w)
AM_RANGE(0x9800, 0x9800) AM_WRITENOP /* ? */
ADDRESS_MAP_END
diff --git a/src/mame/drivers/warriorb.c b/src/mame/drivers/warriorb.c
index 81f565a22b3..b17cbbe49b1 100644
--- a/src/mame/drivers/warriorb.c
+++ b/src/mame/drivers/warriorb.c
@@ -178,15 +178,15 @@ WRITE8_MEMBER(warriorb_state::sound_bankswitch_w)
WRITE16_MEMBER(warriorb_state::warriorb_sound_w)
{
if (offset == 0)
- tc0140syt_port_w(m_tc0140syt, space, 0, data & 0xff);
+ m_tc0140syt->tc0140syt_port_w(space, 0, data & 0xff);
else if (offset == 1)
- tc0140syt_comm_w(m_tc0140syt, space, 0, data & 0xff);
+ m_tc0140syt->tc0140syt_comm_w(space, 0, data & 0xff);
}
READ16_MEMBER(warriorb_state::warriorb_sound_r)
{
if (offset == 1)
- return ((tc0140syt_comm_r(m_tc0140syt, space, 0) & 0xff));
+ return ((m_tc0140syt->tc0140syt_comm_r(space, 0) & 0xff));
else
return 0;
}
@@ -259,8 +259,8 @@ static ADDRESS_MAP_START( z80_sound_map, AS_PROGRAM, 8, warriorb_state )
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank10")
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE_LEGACY("ymsnd", ym2610_r, ym2610_w)
- AM_RANGE(0xe200, 0xe200) AM_READNOP AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_slave_port_w)
- AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
+ AM_RANGE(0xe200, 0xe200) AM_READNOP AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_port_w)
+ AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
AM_RANGE(0xe400, 0xe403) AM_WRITE(warriorb_pancontrol) /* pan */
AM_RANGE(0xea00, 0xea00) AM_READNOP
AM_RANGE(0xee00, 0xee00) AM_WRITENOP /* ? */
@@ -509,7 +509,7 @@ void warriorb_state::machine_start()
m_maincpu = machine().device<cpu_device>("maincpu");
m_audiocpu = machine().device<cpu_device>("audiocpu");
- m_tc0140syt = machine().device("tc0140syt");
+ m_tc0140syt = machine().device<tc0140syt_device>("tc0140syt");
m_tc0100scn_1 = machine().device("tc0100scn_1");
m_tc0100scn_2 = machine().device("tc0100scn_2");
diff --git a/src/mame/drivers/wgp.c b/src/mame/drivers/wgp.c
index a4a887ed5b9..8d87af5f37b 100644
--- a/src/mame/drivers/wgp.c
+++ b/src/mame/drivers/wgp.c
@@ -614,15 +614,15 @@ WRITE8_MEMBER(wgp_state::sound_bankswitch_w)
WRITE16_MEMBER(wgp_state::wgp_sound_w)
{
if (offset == 0)
- tc0140syt_port_w(m_tc0140syt, space, 0, data & 0xff);
+ m_tc0140syt->tc0140syt_port_w(space, 0, data & 0xff);
else if (offset == 1)
- tc0140syt_comm_w(m_tc0140syt, space, 0, data & 0xff);
+ m_tc0140syt->tc0140syt_comm_w(space, 0, data & 0xff);
}
READ16_MEMBER(wgp_state::wgp_sound_r)
{
if (offset == 1)
- return ((tc0140syt_comm_r(m_tc0140syt, space, 0) & 0xff));
+ return ((m_tc0140syt->tc0140syt_comm_r(space, 0) & 0xff));
else
return 0;
}
@@ -671,8 +671,8 @@ static ADDRESS_MAP_START( z80_sound_map, AS_PROGRAM, 8, wgp_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE_LEGACY("ymsnd", ym2610_r, ym2610_w)
- AM_RANGE(0xe200, 0xe200) AM_READNOP AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_slave_port_w)
- AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
+ AM_RANGE(0xe200, 0xe200) AM_READNOP AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_port_w)
+ AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
AM_RANGE(0xe400, 0xe403) AM_WRITENOP /* pan */
AM_RANGE(0xea00, 0xea00) AM_READNOP
AM_RANGE(0xee00, 0xee00) AM_WRITENOP /* ? */
@@ -940,7 +940,7 @@ void wgp_state::machine_start()
m_maincpu = machine().device<cpu_device>("maincpu");
m_audiocpu = machine().device<cpu_device>("audiocpu");
m_subcpu = machine().device<cpu_device>("sub");
- m_tc0140syt = machine().device("tc0140syt");
+ m_tc0140syt = machine().device<tc0140syt_device>("tc0140syt");
m_tc0100scn = machine().device("tc0100scn");
save_item(NAME(m_cpua_ctrl));
diff --git a/src/mame/drivers/zn.c b/src/mame/drivers/zn.c
index ef36e28c69e..14089d8c890 100644
--- a/src/mame/drivers/zn.c
+++ b/src/mame/drivers/zn.c
@@ -1105,21 +1105,21 @@ WRITE8_MEMBER(zn_state::fx1a_sound_bankswitch_w)
READ32_MEMBER(zn_state::taitofx1a_ymsound_r)
{
- device_t *tc0140syt = machine().device("tc0140syt");
- return tc0140syt_comm_r(tc0140syt, space, 0) << 16;
+ tc0140syt_device *tc0140syt = machine().device<tc0140syt_device>("tc0140syt");
+ return tc0140syt->tc0140syt_comm_r(space, 0) << 16;
}
WRITE32_MEMBER(zn_state::taitofx1a_ymsound_w)
{
- device_t *tc0140syt = machine().device("tc0140syt");
+ tc0140syt_device *tc0140syt = machine().device<tc0140syt_device>("tc0140syt");
if (mem_mask == 0x0000ffff)
{
- tc0140syt_port_w(tc0140syt, space, 0, data & 0xff);
+ tc0140syt->tc0140syt_port_w(space, 0, data & 0xff);
}
else
{
- tc0140syt_comm_w(tc0140syt, space, 0, (data >> 16) & 0xff);
+ tc0140syt->tc0140syt_comm_w(space, 0, (data >> 16) & 0xff);
}
}
@@ -1147,8 +1147,8 @@ static ADDRESS_MAP_START( fx1a_sound_map, AS_PROGRAM, 8, zn_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe003) AM_DEVREADWRITE_LEGACY("ymsnd", ym2610_r, ym2610_w)
- AM_RANGE(0xe200, 0xe200) AM_READNOP AM_DEVWRITE_LEGACY("tc0140syt", tc0140syt_slave_port_w)
- AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE_LEGACY("tc0140syt", tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
+ AM_RANGE(0xe200, 0xe200) AM_READNOP AM_DEVWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_port_w)
+ AM_RANGE(0xe201, 0xe201) AM_DEVREADWRITE("tc0140syt", tc0140syt_device, tc0140syt_slave_comm_r, tc0140syt_slave_comm_w)
AM_RANGE(0xe400, 0xe403) AM_WRITENOP /* pan */
AM_RANGE(0xee00, 0xee00) AM_NOP /* ? */
AM_RANGE(0xf000, 0xf000) AM_WRITENOP /* ? */
diff --git a/src/mame/includes/darius.h b/src/mame/includes/darius.h
index 9964f33d42c..5dca2b5d80b 100644
--- a/src/mame/includes/darius.h
+++ b/src/mame/includes/darius.h
@@ -5,6 +5,7 @@
*************************************************************************/
#include <sound/flt_vol.h>
+#include <audio/taitosnd.h>
#define DARIUS_VOL_MAX (3*2 + 2)
#define DARIUS_PAN_MAX (2 + 2 + 1) /* FM 2port + PSG 2port + DA 1port */
@@ -39,7 +40,7 @@ public:
cpu_device *m_audiocpu;
device_t *m_cpub;
device_t *m_adpcm;
- device_t *m_tc0140syt;
+ tc0140syt_device *m_tc0140syt;
device_t *m_pc080sn;
device_t *m_lscreen;
diff --git a/src/mame/includes/ninjaw.h b/src/mame/includes/ninjaw.h
index 7987552e9fe..b06a015d021 100644
--- a/src/mame/includes/ninjaw.h
+++ b/src/mame/includes/ninjaw.h
@@ -5,6 +5,7 @@
*************************************************************************/
#include <sound/flt_vol.h>
+#include <audio/taitosnd.h>
class ninjaw_state : public driver_device
{
@@ -25,7 +26,7 @@ public:
cpu_device *m_maincpu;
cpu_device *m_audiocpu;
cpu_device *m_subcpu;
- device_t *m_tc0140syt;
+ tc0140syt_device *m_tc0140syt;
device_t *m_tc0100scn_1;
device_t *m_tc0100scn_2;
device_t *m_tc0100scn_3;
diff --git a/src/mame/includes/othunder.h b/src/mame/includes/othunder.h
index 98267c7e544..64f3cdc4b25 100644
--- a/src/mame/includes/othunder.h
+++ b/src/mame/includes/othunder.h
@@ -6,6 +6,7 @@
#include "machine/eeprom.h"
#include <sound/flt_vol.h>
+#include <audio/taitosnd.h>
struct othunder_tempsprite
{
@@ -44,7 +45,7 @@ public:
device_t *m_tc0220ioc;
device_t *m_tc0100scn;
device_t *m_tc0110pcr;
- device_t *m_tc0140syt;
+ tc0140syt_device *m_tc0140syt;
filter_volume_device *m_2610_0l;
filter_volume_device *m_2610_0r;
filter_volume_device *m_2610_1l;
diff --git a/src/mame/includes/slapshot.h b/src/mame/includes/slapshot.h
index 9192d402cad..ed3365a5e64 100644
--- a/src/mame/includes/slapshot.h
+++ b/src/mame/includes/slapshot.h
@@ -4,6 +4,8 @@
*************************************************************************/
+#include <audio/taitosnd.h>
+
struct slapshot_tempsprite
{
int gfx;
@@ -49,7 +51,7 @@ public:
/* devices */
cpu_device *m_maincpu;
cpu_device *m_audiocpu;
- device_t *m_tc0140syt;
+ tc0140syt_device *m_tc0140syt;
device_t *m_tc0480scp;
device_t *m_tc0360pri;
device_t *m_tc0640fio;
diff --git a/src/mame/includes/taito_z.h b/src/mame/includes/taito_z.h
index dbff979d581..3c235e02a07 100644
--- a/src/mame/includes/taito_z.h
+++ b/src/mame/includes/taito_z.h
@@ -5,6 +5,7 @@
*************************************************************************/
+#include <audio/taitosnd.h>
#include "machine/eeprom.h"
class taitoz_state : public driver_device
@@ -38,7 +39,7 @@ public:
device_t *m_tc0150rod;
device_t *m_tc0100scn;
device_t *m_tc0220ioc;
- device_t *m_tc0140syt;
+ tc0140syt_device *m_tc0140syt;
DECLARE_WRITE16_MEMBER(cpua_ctrl_w);
DECLARE_WRITE16_MEMBER(chasehq_cpua_ctrl_w);
diff --git a/src/mame/includes/warriorb.h b/src/mame/includes/warriorb.h
index 9e6c5c45cdb..ecb8f10ba26 100644
--- a/src/mame/includes/warriorb.h
+++ b/src/mame/includes/warriorb.h
@@ -5,6 +5,7 @@
*************************************************************************/
#include <sound/flt_vol.h>
+#include <audio/taitosnd.h>
class warriorb_state : public driver_device
{
@@ -23,7 +24,7 @@ public:
/* devices */
cpu_device *m_maincpu;
cpu_device *m_audiocpu;
- device_t *m_tc0140syt;
+ tc0140syt_device *m_tc0140syt;
device_t *m_tc0100scn_1;
device_t *m_tc0100scn_2;
device_t *m_lscreen;
diff --git a/src/mame/includes/wgp.h b/src/mame/includes/wgp.h
index ffc016f264b..0c2ee49254d 100644
--- a/src/mame/includes/wgp.h
+++ b/src/mame/includes/wgp.h
@@ -4,6 +4,8 @@
*************************************************************************/
+#include <audio/taitosnd.h>
+
class wgp_state : public driver_device
{
public:
@@ -44,7 +46,7 @@ public:
cpu_device *m_audiocpu;
cpu_device *m_subcpu;
device_t *m_tc0100scn;
- device_t *m_tc0140syt;
+ tc0140syt_device *m_tc0140syt;
DECLARE_READ16_MEMBER(sharedram_r);
DECLARE_WRITE16_MEMBER(sharedram_w);
DECLARE_WRITE16_MEMBER(cpua_ctrl_w);
diff --git a/src/mess/drivers/a5105.c b/src/mess/drivers/a5105.c
index 8a19b8bedc0..323706dfbf9 100644
--- a/src/mess/drivers/a5105.c
+++ b/src/mess/drivers/a5105.c
@@ -222,7 +222,7 @@ WRITE8_MEMBER( a5105_state::a5105_ab_w )
break;
case 6:
- beep_set_state(m_beep, BIT(data, 0));
+ m_beep->set_state(BIT(data, 0));
break;
}
}
@@ -482,7 +482,7 @@ void a5105_state::machine_reset()
{
address_space &space = m_maincpu->space(AS_PROGRAM);
a5105_ab_w(space, 0, 9); // turn motor off
- beep_set_frequency(m_beep, 500);
+ m_beep->set_frequency(500);
m_ram_base = (UINT8*)machine().device<ram_device>(RAM_TAG)->pointer();
m_rom_base = (UINT8*)machine().root_device().memregion("maincpu")->base();
diff --git a/src/mess/drivers/alphatro.c b/src/mess/drivers/alphatro.c
index 8fb48ccdef4..aa90c60389d 100644
--- a/src/mess/drivers/alphatro.c
+++ b/src/mess/drivers/alphatro.c
@@ -76,7 +76,7 @@ private:
TIMER_CALLBACK_MEMBER(alphatro_state::alphatro_beepoff)
{
- beep_set_state(m_beep, 0);
+ m_beep->set_state(0);
}
READ8_MEMBER( alphatro_state::port10_r )
@@ -102,7 +102,7 @@ WRITE8_MEMBER( alphatro_state::port10_w )
if (length)
{
machine().scheduler().timer_set(attotime::from_msec(length), timer_expired_delegate(FUNC(alphatro_state::alphatro_beepoff),this));
- beep_set_state(m_beep, 1);
+ m_beep->set_state(1);
}
m_cass->change_state( BIT(data, 3) ? CASSETTE_MOTOR_ENABLED : CASSETTE_MOTOR_DISABLED, CASSETTE_MASK_MOTOR);
@@ -360,8 +360,8 @@ void alphatro_state::machine_reset()
m_sys_timer->adjust(attotime::from_usec(10),0,attotime::from_usec(10));
m_serial_timer->adjust(attotime::from_hz(500),0,attotime::from_hz(500)); // USART clock - this is a guesstimate
m_timer_bit = 0;
- beep_set_state(m_beep, 0);
- beep_set_frequency(m_beep, 950); /* piezo-device needs to be measured */
+ m_beep->set_state(0);
+ m_beep->set_frequency(950); /* piezo-device needs to be measured */
}
void alphatro_state::palette_init()
diff --git a/src/mess/drivers/bigbord2.c b/src/mess/drivers/bigbord2.c
index c8ac47cc002..1f54ef8941e 100644
--- a/src/mess/drivers/bigbord2.c
+++ b/src/mess/drivers/bigbord2.c
@@ -285,7 +285,7 @@ WRITE8_MEMBER( bigbord2_state::portc8_w )
break;
case 7:
// beeper
- beep_set_state(m_beeper, m_c8[7]);
+ m_beeper->set_state(m_c8[7]);
break;
}
}
@@ -556,8 +556,8 @@ void bigbord2_state::machine_reset()
UINT8 i;
for (i = 0; i < 8; i++)
m_c8[i] = 0;
- beep_set_state(m_beeper, 0);
- beep_set_frequency(m_beeper, 950); // actual frequency is unknown
+ m_beeper->set_state(0);
+ m_beeper->set_frequency(950); // actual frequency is unknown
membank("bankr")->set_entry(0);
membank("bankv")->set_entry(0);
membank("banka")->set_entry(0);
diff --git a/src/mess/drivers/bmjr.c b/src/mess/drivers/bmjr.c
index f8b4c118766..e9ad5f353cb 100644
--- a/src/mess/drivers/bmjr.c
+++ b/src/mess/drivers/bmjr.c
@@ -133,7 +133,7 @@ WRITE8_MEMBER( bmjr_state::tape_w )
{
if(!m_tape_switch)
{
- beep_set_state(m_beep, !BIT(data, 7));
+ m_beep->set_state(!BIT(data, 7));
}
else
{
@@ -333,8 +333,8 @@ void bmjr_state::palette_init()
void bmjr_state::machine_start()
{
- beep_set_frequency(m_beep, 1200); //guesswork
- beep_set_state(m_beep, 0);
+ m_beep->set_frequency(1200); //guesswork
+ m_beep->set_state(0);
}
void bmjr_state::machine_reset()
diff --git a/src/mess/drivers/bml3.c b/src/mess/drivers/bml3.c
index 995247e0e85..512094aa9c3 100644
--- a/src/mess/drivers/bml3.c
+++ b/src/mess/drivers/bml3.c
@@ -364,7 +364,7 @@ READ8_MEMBER( bml3_state::bml3_beep_r)
WRITE8_MEMBER( bml3_state::bml3_beep_w)
{
- beep_set_state(m_beep,!BIT(data, 7));
+ m_beep->set_state(!BIT(data, 7));
}
READ8_MEMBER( bml3_state::bml3_a000_r) { return m_extram[offset + 0xa000]; }
@@ -632,8 +632,8 @@ void bml3_state::palette_init()
void bml3_state::machine_start()
{
- beep_set_frequency(machine().device(BEEPER_TAG),1200); //guesswork
- beep_set_state(machine().device(BEEPER_TAG),0);
+ m_beep->set_frequency(1200); //guesswork
+ m_beep->set_state(0);
m_extram = auto_alloc_array(machine(),UINT8,0x10000);
}
diff --git a/src/mess/drivers/ex800.c b/src/mess/drivers/ex800.c
index ca0664c3377..cd9e7252308 100644
--- a/src/mess/drivers/ex800.c
+++ b/src/mess/drivers/ex800.c
@@ -206,10 +206,10 @@ INPUT_CHANGED_MEMBER(ex800_state::online_switch)
void ex800_state::machine_start()
{
m_irq_state = ASSERT_LINE;
- device_t *speaker = machine().device(BEEPER_TAG);
+ beep_device *speaker = machine().device<beep_device>(BEEPER_TAG);
/* Setup beep */
- beep_set_state(speaker, 0);
- beep_set_frequency(speaker, 4000); /* measured at 4000 Hz */
+ speaker->set_state(0);
+ speaker->set_frequency(4000); /* measured at 4000 Hz */
}
@@ -265,11 +265,11 @@ WRITE8_MEMBER(ex800_state::ex800_portb_w)
WRITE8_MEMBER(ex800_state::ex800_portc_w)
{
- device_t *speaker = machine().device(BEEPER_TAG);
+ beep_device *speaker = machine().device<beep_device>(BEEPER_TAG);
if (data & 0x80)
- beep_set_state(speaker, 0);
+ speaker->set_state(0);
else
- beep_set_state(speaker, 1);
+ speaker->set_state(1);
logerror("PC W %x @%x\n", data, space.device().safe_pc());
}
diff --git a/src/mess/drivers/fidelz80.c b/src/mess/drivers/fidelz80.c
index e693df8b830..8e323227e7a 100644
--- a/src/mess/drivers/fidelz80.c
+++ b/src/mess/drivers/fidelz80.c
@@ -667,7 +667,7 @@ WRITE8_MEMBER( fidelz80_state::fidelz80_portc_w )
WRITE8_MEMBER( fidelz80_state::cc10_porta_w )
{
- beep_set_state(m_beep, (data & 0x80) ? 0 : 1);
+ m_beep->set_state((data & 0x80) ? 0 : 1);
m_digit_data = data;
diff --git a/src/mess/drivers/fm7.c b/src/mess/drivers/fm7.c
index f83f85265da..e152631b383 100644
--- a/src/mess/drivers/fm7.c
+++ b/src/mess/drivers/fm7.c
@@ -236,7 +236,7 @@ READ8_MEMBER(fm7_state::fm7_irq_cause_r)
TIMER_CALLBACK_MEMBER(fm7_state::fm7_beeper_off)
{
- beep_set_state(machine().device(BEEPER_TAG),0);
+ machine().device<beep_device>(BEEPER_TAG)->set_state(0);
logerror("timed beeper off\n");
}
@@ -246,23 +246,23 @@ WRITE8_MEMBER(fm7_state::fm7_beeper_w)
if(!m_speaker_active) // speaker not active, disable all beeper sound
{
- beep_set_state(machine().device(BEEPER_TAG),0);
+ machine().device<beep_device>(BEEPER_TAG)->set_state(0);
return;
}
if(data & 0x80)
{
if(m_speaker_active)
- beep_set_state(machine().device(BEEPER_TAG),1);
+ machine().device<beep_device>(BEEPER_TAG)->set_state(1);
}
else
- beep_set_state(machine().device(BEEPER_TAG),0);
+ machine().device<beep_device>(BEEPER_TAG)->set_state(0);
if(data & 0x40)
{
if(m_speaker_active)
{
- beep_set_state(machine().device(BEEPER_TAG),1);
+ machine().device<beep_device>(BEEPER_TAG)->set_state(1);
logerror("timed beeper on\n");
machine().scheduler().timer_set(attotime::from_msec(205), timer_expired_delegate(FUNC(fm7_state::fm7_beeper_off),this));
}
@@ -279,7 +279,7 @@ READ8_MEMBER(fm7_state::fm7_sub_beeper_r)
{
if(m_speaker_active)
{
- beep_set_state(machine().device(BEEPER_TAG),1);
+ machine().device<beep_device>(BEEPER_TAG)->set_state(1);
logerror("timed beeper on\n");
machine().scheduler().timer_set(attotime::from_msec(205), timer_expired_delegate(FUNC(fm7_state::fm7_beeper_off),this));
}
@@ -1848,8 +1848,8 @@ MACHINE_START_MEMBER(fm7_state,fm7)
memset(m_shared_ram,0xff,0x80);
m_type = SYS_FM7;
- beep_set_frequency(machine().device(BEEPER_TAG),1200);
- beep_set_state(machine().device(BEEPER_TAG),0);
+ machine().device<beep_device>(BEEPER_TAG)->set_frequency(1200);
+ machine().device<beep_device>(BEEPER_TAG)->set_state(0);
}
MACHINE_START_MEMBER(fm7_state,fm77av)
@@ -1869,8 +1869,8 @@ MACHINE_START_MEMBER(fm7_state,fm77av)
membank("bank21")->set_base(RAM+0x800);
m_type = SYS_FM77AV;
- beep_set_frequency(machine().device(BEEPER_TAG),1200);
- beep_set_state(machine().device(BEEPER_TAG),0);
+ machine().device<beep_device>(BEEPER_TAG)->set_frequency(1200);
+ machine().device<beep_device>(BEEPER_TAG)->set_state(0);
}
MACHINE_START_MEMBER(fm7_state,fm11)
@@ -1880,8 +1880,8 @@ MACHINE_START_MEMBER(fm7_state,fm11)
memset(m_shared_ram,0xff,0x80);
m_type = SYS_FM11;
- beep_set_frequency(machine().device(BEEPER_TAG),1200);
- beep_set_state(machine().device(BEEPER_TAG),0);
+ machine().device<beep_device>(BEEPER_TAG)->set_frequency(1200);
+ machine().device<beep_device>(BEEPER_TAG)->set_state(0);
// last part of Initiate ROM is visible at the end of RAM too (interrupt vectors)
memcpy(RAM+0x3fff0,ROM+0x0ff0,16);
}
@@ -1889,8 +1889,8 @@ MACHINE_START_MEMBER(fm7_state,fm11)
MACHINE_START_MEMBER(fm7_state,fm16)
{
m_type = SYS_FM16;
- beep_set_frequency(machine().device(BEEPER_TAG),1200);
- beep_set_state(machine().device(BEEPER_TAG),0);
+ machine().device<beep_device>(BEEPER_TAG)->set_frequency(1200);
+ machine().device<beep_device>(BEEPER_TAG)->set_state(0);
}
void fm7_state::machine_reset()
diff --git a/src/mess/drivers/glasgow.c b/src/mess/drivers/glasgow.c
index 83c643b43c4..3cab4efa410 100644
--- a/src/mess/drivers/glasgow.c
+++ b/src/mess/drivers/glasgow.c
@@ -106,7 +106,7 @@ WRITE16_MEMBER( glasgow_state::glasgow_lcd_flag_w )
{
UINT16 lcd_flag = data & 0x8100;
- beep_set_state(m_beep, BIT(lcd_flag, 8));
+ m_beep->set_state(BIT(lcd_flag, 8));
if (lcd_flag)
m_led7 = 255;
@@ -153,7 +153,7 @@ WRITE16_MEMBER( glasgow_state::write_lcd_flag )
// UINT8 lcd_flag;
mboard_lcd_invert = 0;
// lcd_flag=data >> 8;
- //beep_set_state(0, (data >> 8) & 1 ? 1 : 0);
+ //m_beep->set_state((data >> 8) & 1 ? 1 : 0);
if ((data >> 8) == 0)
{
mboard_key_selector = 1;
@@ -175,7 +175,7 @@ WRITE16_MEMBER( glasgow_state::write_lcd_flag )
WRITE16_MEMBER( glasgow_state::write_irq_flag )
{
- beep_set_state(m_beep, data & 0x100);
+ m_beep->set_state(data & 0x100);
logerror("Write 0x800004 = %x \n", data);
m_irq_flag = 1;
m_beeper = data;
@@ -236,7 +236,7 @@ WRITE32_MEMBER( glasgow_state::write_lcd_flag32 )
//logerror("LCD Flag 32 = %x \n", data >> 24);
- //beep_set_state(0, (data >> 24) & 1 ? 1 : 0);
+ //m_beep->set_state((data >> 24) & 1 ? 1 : 0);
// if (lcd_flag != 0)
// m_led7 = 255;
@@ -269,7 +269,7 @@ READ16_MEMBER(glasgow_state::read_board_amsterd)
WRITE32_MEMBER( glasgow_state::write_beeper32 )
{
- beep_set_state(m_beep, data & 0x01000000);
+ m_beep->set_state(data & 0x01000000);
logerror("Write 0x8000004 = %x \n", data);
m_irq_flag = 1;
m_beeper = data;
@@ -290,7 +290,7 @@ void glasgow_state::machine_start()
mboard_key_selector = 0;
m_irq_flag = 0;
m_lcd_shift_counter = 3;
- beep_set_frequency(m_beep, 44);
+ m_beep->set_frequency(44);
mboard_savestate_register();
}
@@ -299,7 +299,7 @@ void glasgow_state::machine_start()
MACHINE_START_MEMBER(glasgow_state,dallas32)
{
m_lcd_shift_counter = 3;
- beep_set_frequency(m_beep, 44);
+ m_beep->set_frequency(44);
mboard_savestate_register();
}
diff --git a/src/mess/drivers/h19.c b/src/mess/drivers/h19.c
index b40451c5b1e..50611f353c0 100644
--- a/src/mess/drivers/h19.c
+++ b/src/mess/drivers/h19.c
@@ -73,7 +73,7 @@ public:
TIMER_CALLBACK_MEMBER(h19_state::h19_beepoff)
{
- beep_set_state(m_beep, 0);
+ m_beep->set_state(0);
}
READ8_MEMBER( h19_state::h19_80_r )
@@ -99,7 +99,7 @@ WRITE8_MEMBER( h19_state::h19_c0_w )
offset 20-3F = terminal bell */
UINT8 length = (offset & 0x20) ? 200 : 4;
- beep_set_state(m_beep, 1);
+ m_beep->set_state(1);
machine().scheduler().timer_set(attotime::from_msec(length), timer_expired_delegate(FUNC(h19_state::h19_beepoff),this));
}
@@ -291,7 +291,7 @@ INPUT_PORTS_END
void h19_state::machine_reset()
{
- beep_set_frequency(m_beep, H19_BEEP_FRQ);
+ m_beep->set_frequency(H19_BEEP_FRQ);
}
void h19_state::video_start()
diff --git a/src/mess/drivers/h8.c b/src/mess/drivers/h8.c
index a000edd8be5..4d5b3673e02 100644
--- a/src/mess/drivers/h8.c
+++ b/src/mess/drivers/h8.c
@@ -102,7 +102,7 @@ WRITE8_MEMBER( h8_state::h8_f0_w )
if (m_digit) output_set_digit_value(m_digit, m_segment);
output_set_value("mon_led",(data & 0x20) ? 0 : 1);
- beep_set_state(m_beep, (data & 0x80) ? 0 : 1);
+ m_beep->set_state((data & 0x80) ? 0 : 1);
machine().device("maincpu")->execute().set_input_line(INPUT_LINE_IRQ0, CLEAR_LINE);
m_irq_ctl &= 0xf0;
@@ -167,7 +167,7 @@ INPUT_PORTS_END
void h8_state::machine_reset()
{
- beep_set_frequency(m_beep, H8_BEEP_FRQ);
+ m_beep->set_frequency(H8_BEEP_FRQ);
output_set_value("pwr_led", 0);
m_irq_ctl = 1;
}
diff --git a/src/mess/drivers/jr100.c b/src/mess/drivers/jr100.c
index 9c0c1af6845..bd8399d17c2 100644
--- a/src/mess/drivers/jr100.c
+++ b/src/mess/drivers/jr100.c
@@ -68,7 +68,7 @@ public:
protected:
required_device<via6522_device> m_via;
required_device<cassette_image_device> m_cassette;
- required_device<device_t> m_beeper;
+ required_device<beep_device> m_beeper;
required_device<device_t> m_speaker;
required_memory_region m_region_maincpu;
required_ioport m_line0;
@@ -94,7 +94,7 @@ WRITE8_MEMBER(jr100_state::jr100_via_w)
m_beep_en = ((data & 0xe0) == 0xe0);
if(!m_beep_en)
- beep_set_state(m_beeper,0);
+ m_beeper->set_state(0);
}
/* T1L-L */
@@ -113,8 +113,8 @@ WRITE8_MEMBER(jr100_state::jr100_via_w)
/* writing here actually enables the beeper, if above masking condition is satisfied */
if(m_beep_en)
{
- beep_set_state(m_beeper,1);
- beep_set_frequency(m_beeper,894886.25 / (double)(m_t1latch) / 2.0);
+ m_beeper->set_state(1);
+ m_beeper->set_frequency(894886.25 / (double)(m_t1latch) / 2.0);
}
}
m_via->write(space,offset,data);
@@ -198,8 +198,8 @@ INPUT_PORTS_END
void jr100_state::machine_start()
{
- beep_set_frequency(m_beeper,0);
- beep_set_state(m_beeper,0);
+ m_beeper->set_frequency(0);
+ m_beeper->set_state(0);
}
void jr100_state::machine_reset()
diff --git a/src/mess/drivers/jr200.c b/src/mess/drivers/jr200.c
index 3b2dc29fc48..8c24b090beb 100644
--- a/src/mess/drivers/jr200.c
+++ b/src/mess/drivers/jr200.c
@@ -73,7 +73,7 @@ public:
protected:
required_device<cpu_device> m_maincpu;
- required_device<device_t> m_beeper;
+ required_device<beep_device> m_beeper;
required_memory_region m_pcg;
required_memory_region m_gfx_rom;
required_memory_region m_gfx_ram;
@@ -297,7 +297,7 @@ READ8_MEMBER(jr200_state::mcu_keyb_r)
WRITE8_MEMBER(jr200_state::jr200_beep_w)
{
/* writing 0x0e enables the beeper, writing anything else disables it */
- beep_set_state(m_beeper,((data & 0xf) == 0x0e) ? 1 : 0);
+ m_beeper->set_state(((data & 0xf) == 0x0e) ? 1 : 0);
}
WRITE8_MEMBER(jr200_state::jr200_beep_freq_w)
@@ -308,7 +308,7 @@ WRITE8_MEMBER(jr200_state::jr200_beep_freq_w)
beep_freq = ((m_freq_reg[0]<<8) | (m_freq_reg[1] & 0xff)) + 1;
- beep_set_frequency(m_beeper,84000 / beep_freq);
+ m_beeper->set_frequency(84000 / beep_freq);
}
WRITE8_MEMBER(jr200_state::jr200_border_col_w)
@@ -516,8 +516,8 @@ GFXDECODE_END
void jr200_state::machine_start()
{
- beep_set_frequency(m_beeper,0);
- beep_set_state(m_beeper,0);
+ m_beeper->set_frequency(0);
+ m_beeper->set_state(0);
m_timer_d = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(jr200_state::timer_d_callback),this));
}
diff --git a/src/mess/drivers/lx800.c b/src/mess/drivers/lx800.c
index 7590e09246a..162f9d154d1 100644
--- a/src/mess/drivers/lx800.c
+++ b/src/mess/drivers/lx800.c
@@ -108,7 +108,7 @@ WRITE8_MEMBER( lx800_state::lx800_portc_w )
logerror("--> err: %d, ack: %d, fire: %d, buzzer: %d\n", BIT(data, 4), BIT(data, 5), BIT(data, 6), BIT(data, 7));
output_set_value("online_led", !BIT(data, 2));
- beep_set_state(m_beep, !BIT(data, 7));
+ m_beep->set_state(!BIT(data, 7));
}
@@ -146,8 +146,8 @@ WRITE_LINE_MEMBER( lx800_state::lx800_reset_w )
void lx800_state::machine_start()
{
- beep_set_state(m_beep, 0);
- beep_set_frequency(m_beep, 4000); /* ? */
+ m_beep->set_state(0);
+ m_beep->set_frequency(4000); /* ? */
}
diff --git a/src/mess/drivers/mephisto.c b/src/mess/drivers/mephisto.c
index ad320f82e3a..947bd9ef743 100644
--- a/src/mess/drivers/mephisto.c
+++ b/src/mess/drivers/mephisto.c
@@ -393,20 +393,20 @@ TIMER_DEVICE_CALLBACK_MEMBER(mephisto_state::update_nmi)
m_allowNMI = 0;
m_maincpu->set_input_line(INPUT_LINE_NMI,PULSE_LINE);
}
- beep_set_state(m_beep, m_led_status&64?1:0);
+ m_beep->set_state(m_led_status&64?1:0);
}
TIMER_DEVICE_CALLBACK_MEMBER(mephisto_state::update_nmi_r5)
{
m_maincpu->set_input_line(INPUT_LINE_NMI,PULSE_LINE);
- beep_set_state(m_beep, m_led_status&64?1:0);
+ m_beep->set_state(m_led_status&64?1:0);
}
TIMER_DEVICE_CALLBACK_MEMBER(mephisto_state::update_irq)//only mm2
{
m_maincpu->set_input_line(M65C02_IRQ_LINE, HOLD_LINE);
- beep_set_state(m_beep, m_led_status&64?1:0);
+ m_beep->set_state(m_led_status&64?1:0);
}
void mephisto_state::machine_start()
diff --git a/src/mess/drivers/micronic.c b/src/mess/drivers/micronic.c
index 2661acd67a1..7a0f11534b4 100644
--- a/src/mess/drivers/micronic.c
+++ b/src/mess/drivers/micronic.c
@@ -157,8 +157,8 @@ WRITE8_MEMBER( micronic_state::beep_w )
500, 444, 400, 364, 333, 308, 286, 267
};
- beep_set_frequency(m_beep, frequency[data & 0x0f]);
- beep_set_state(m_beep, (data & 0x0f) ? 1 : 0);
+ m_beep->set_frequency(frequency[data & 0x0f]);
+ m_beep->set_state((data & 0x0f) ? 1 : 0);
}
READ8_MEMBER( micronic_state::irq_flag_r )
diff --git a/src/mess/drivers/mmodular.c b/src/mess/drivers/mmodular.c
index ce5d9a94ffa..ef9650b9269 100644
--- a/src/mess/drivers/mmodular.c
+++ b/src/mess/drivers/mmodular.c
@@ -243,7 +243,10 @@ WRITE8_MEMBER(polgar_state::write_polgar_IO)
m_lcdc->write(space, BIT(data,0), lcd_char);
}
- if (BIT(data,2) || BIT(data,3)) beep_set_state(machine().device("beep"),1); else beep_set_state(machine().device("beep"),0);
+ if (BIT(data,2) || BIT(data,3))
+ machine().device<beep_device>("beep")->set_state(1);
+ else
+ machine().device<beep_device>("beep")->set_state(0);
if (BIT(data,7) && BIT(data, 4)) {
for (i = 0;i < 8;i++)
@@ -408,9 +411,12 @@ WRITE8_MEMBER(polgar_state::milano_write_LED)
WRITE8_MEMBER(polgar_state::megaiv_write_LED)
{
-if (BIT(data,7)) beep_set_state(machine().device("beep"),1); else beep_set_state(machine().device("beep"),0);
-output_set_led_value(102,BIT(data,1)?1:0);
-output_set_led_value(107,BIT(data,6)?1:0);
+ if (BIT(data,7))
+ machine().device<beep_device>("beep")->set_state(1);
+ else
+ machine().device<beep_device>("beep")->set_state(0);
+ output_set_led_value(102,BIT(data,1)?1:0);
+ output_set_led_value(107,BIT(data,6)?1:0);
// logerror("LEDs FUNC = %02x found = %d\n",data,found);
logerror("LED mask %d\n",data);
@@ -468,8 +474,14 @@ if ((data & 0xa1) == 0xa1) {
found = 1;
}
-if (BIT(data,7)) beep_set_state(machine().device("beep"),1); else beep_set_state(machine().device("beep"),0);
-if (BIT(data,1)) beep_set_state(machine().device("beep"),1); else beep_set_state(machine().device("beep"),0);
+if (BIT(data,7))
+ machine().device<beep_device>("beep")->set_state(1);
+else
+ machine().device<beep_device>("beep")->set_state(0);
+if (BIT(data,1))
+ machine().device<beep_device>("beep")->set_state(1);
+else
+ machine().device<beep_device>("beep")->set_state(0);
// logerror("LEDs FUNC = %02x found = %d\n",data,found);
if (!found) {
logerror("unknown LED mask %d\n",data);
@@ -711,7 +723,10 @@ READ32_MEMBER(polgar_state::read_keys_BPL32)
WRITE8_MEMBER(polgar_state::beep_academy)
{
- if (!BIT(data,7)) beep_set_state(machine().device("beep"),1); else beep_set_state(machine().device("beep"),0);
+ if (!BIT(data,7))
+ machine().device<beep_device>("beep")->set_state(1);
+ else
+ machine().device<beep_device>("beep")->set_state(0);
}
WRITE8_MEMBER(polgar_state::megaiv_IO)
@@ -863,7 +878,7 @@ WRITE16_MEMBER(polgar_state::write_LCD_data)
void polgar_state::write_IOenable(unsigned char data,address_space &space)
{
hd44780_device * hd44780 = space.machine().device<hd44780_device>("hd44780");
- device_t *speaker = space.machine().device("beep");
+ beep_device *speaker = machine().device<beep_device>("beep");
if (BIT(data,5) && BIT(data,4)) {
if (BIT(data,1)) {
@@ -888,7 +903,10 @@ void polgar_state::write_IOenable(unsigned char data,address_space &space)
logerror("Write to IOENBL data: %08x\n",data);
- if (BIT(data,2) || BIT(data,3)) beep_set_state(speaker,1); else beep_set_state(speaker,0);
+ if (BIT(data,2) || BIT(data,3))
+ speaker->set_state(1);
+ else
+ speaker->set_state(0);
}
}
diff --git a/src/mess/drivers/multi8.c b/src/mess/drivers/multi8.c
index 9279cea9931..fd747614b4e 100644
--- a/src/mess/drivers/multi8.c
+++ b/src/mess/drivers/multi8.c
@@ -629,7 +629,7 @@ static I8255_INTERFACE( ppi8255_intf_0 )
WRITE8_MEMBER( multi8_state::ym2203_porta_w )
{
- beep_set_state(m_beep, (data & 0x08));
+ m_beep->set_state((data & 0x08));
}
static const ym2203_interface ym2203_config =
@@ -655,8 +655,8 @@ void multi8_state::machine_start()
void multi8_state::machine_reset()
{
- beep_set_frequency(machine().device(BEEPER_TAG),1200); //guesswork
- beep_set_state(machine().device(BEEPER_TAG),0);
+ machine().device<beep_device>(BEEPER_TAG)->set_frequency(1200); //guesswork
+ machine().device<beep_device>(BEEPER_TAG)->set_state(0);
m_mcu_init = 0;
}
diff --git a/src/mess/drivers/mz2000.c b/src/mess/drivers/mz2000.c
index bd2dcfee203..c1f7edad992 100644
--- a/src/mess/drivers/mz2000.c
+++ b/src/mess/drivers/mz2000.c
@@ -120,7 +120,7 @@ protected:
required_device<cpu_device> m_maincpu;
required_device<device_t> m_mb8877a;
required_device<device_t> m_pit8253;
- required_device<device_t> m_beeper;
+ required_device<beep_device> m_beeper;
required_memory_region m_region_tvram;
required_memory_region m_region_gvram;
required_memory_region m_region_chargen;
@@ -555,8 +555,8 @@ void mz2000_state::machine_reset()
m_tvram_enable = 0;
m_gvram_enable = 0;
- beep_set_frequency(m_beeper,4096);
- beep_set_state(m_beeper,0);
+ m_beeper->set_frequency(4096);
+ m_beeper->set_state(0);
m_color_mode = m_io_config->read() & 1;
m_has_fdc = (m_io_config->read() & 2) >> 1;
@@ -732,7 +732,7 @@ WRITE8_MEMBER(mz2000_state::mz2000_portc_w)
m_maincpu->set_input_line(INPUT_LINE_RESET, PULSE_LINE);
}
- beep_set_state(m_beeper,data & 0x04);
+ m_beeper->set_state(data & 0x04);
m_old_portc = data;
}
diff --git a/src/mess/drivers/mz2500.c b/src/mess/drivers/mz2500.c
index 1a45b1265f3..a457f3d0f7a 100644
--- a/src/mess/drivers/mz2500.c
+++ b/src/mess/drivers/mz2500.c
@@ -1806,8 +1806,8 @@ void mz2500_state::machine_reset()
m_cg_clear_flag = 0;
- beep_set_frequency(machine().device(BEEPER_TAG),4096);
- beep_set_state(machine().device(BEEPER_TAG),0);
+ machine().device<beep_device>(BEEPER_TAG)->set_frequency(4096);
+ machine().device<beep_device>(BEEPER_TAG)->set_state(0);
// m_monitor_type = machine().root_device().ioport("DSW1")->read() & 0x40 ? 1 : 0;
}
@@ -1921,7 +1921,7 @@ WRITE8_MEMBER(mz2500_state::mz2500_portc_w)
m_old_portc = data;
- beep_set_state(machine().device(BEEPER_TAG),data & 0x04);
+ machine().device<beep_device>(BEEPER_TAG)->set_state(data & 0x04);
m_screen_enable = data & 1;
diff --git a/src/mess/drivers/nc.c b/src/mess/drivers/nc.c
index e222e06132e..bd380977d39 100644
--- a/src/mess/drivers/nc.c
+++ b/src/mess/drivers/nc.c
@@ -672,15 +672,15 @@ static void nc_sound_update(running_machine &machine, int channel)
int on;
int frequency;
int period;
- const char *beep_device = NULL;
+ const char *beeper_device = NULL;
switch(channel)
{
case 0:
- beep_device = "beep.1";
+ beeper_device = "beep.1";
break;
case 1:
- beep_device = "beep.2";
+ beeper_device = "beep.2";
break;
}
@@ -693,9 +693,9 @@ static void nc_sound_update(running_machine &machine, int channel)
frequency = (int)(1000000.0f/((float)((period & 0x07fff)<<1) * 1.6276f));
/* set state */
- beep_set_state(machine.device(beep_device), on);
+ machine.device<beep_device>(beeper_device)->set_state(on);
/* set frequency */
- beep_set_frequency(machine.device(beep_device), frequency);
+ machine.device<beep_device>(beeper_device)->set_frequency(frequency);
}
WRITE8_MEMBER(nc_state::nc_sound_w)
diff --git a/src/mess/drivers/osi.c b/src/mess/drivers/osi.c
index 9de6d4cfa6e..9c9a177f931 100644
--- a/src/mess/drivers/osi.c
+++ b/src/mess/drivers/osi.c
@@ -339,12 +339,12 @@ WRITE8_MEMBER( c1p_state::osi630_ctrl_w )
*/
- beep_set_state(m_beep, BIT(data, 1));
+ m_beep->set_state(BIT(data, 1));
}
WRITE8_MEMBER( c1p_state::osi630_sound_w )
{
- if (data) beep_set_frequency(m_beep, 49152 / data);
+ if (data) m_beep->set_frequency(49152 / data);
}
/* Disk Drive */
@@ -933,9 +933,9 @@ ROM_END
TIMER_CALLBACK_MEMBER(sb2m600_state::setup_beep)
{
- device_t *speaker = machine().device(BEEPER_TAG);
- beep_set_state(speaker, 0);
- beep_set_frequency(speaker, 300);
+ beep_device *speaker = machine().device<beep_device>(BEEPER_TAG);
+ speaker->set_state(0);
+ speaker->set_frequency(300);
}
DRIVER_INIT_MEMBER(c1p_state,c1p)
diff --git a/src/mess/drivers/pb1000.c b/src/mess/drivers/pb1000.c
index 64c7776a8c5..19abf0394c6 100644
--- a/src/mess/drivers/pb1000.c
+++ b/src/mess/drivers/pb1000.c
@@ -443,7 +443,7 @@ static UINT8 pb2000c_port_r(hd61700_cpu_device &device)
static void port_w(hd61700_cpu_device &device, UINT8 data)
{
- beep_set_state(device.machine().device(BEEPER_TAG), (BIT(data,7) ^ BIT(data,6)));
+ device.machine().device<beep_device>(BEEPER_TAG)->set_state((BIT(data,7) ^ BIT(data,6)));
//printf("%x\n", data);
}
diff --git a/src/mess/drivers/pc100.c b/src/mess/drivers/pc100.c
index 5c1ac88d5e8..d72db317e1e 100644
--- a/src/mess/drivers/pc100.c
+++ b/src/mess/drivers/pc100.c
@@ -217,7 +217,7 @@ WRITE8_MEMBER( pc100_state::pc100_output_w )
if(offset == 0)
{
m_timer_mode = (data & 0x18) >> 3;
- beep_set_state(machine().device(BEEPER_TAG),((data & 0x40) >> 6) ^ 1);
+ machine().device<beep_device>(BEEPER_TAG)->set_state(((data & 0x40) >> 6) ^ 1);
printf("%02x\n",data & 0xc0);
}
}
@@ -427,8 +427,8 @@ void pc100_state::machine_start()
void pc100_state::machine_reset()
{
- beep_set_frequency(machine().device(BEEPER_TAG),2400);
- beep_set_state(machine().device(BEEPER_TAG),0);
+ machine().device<beep_device>(BEEPER_TAG)->set_frequency(2400);
+ machine().device<beep_device>(BEEPER_TAG)->set_state(0);
}
INTERRUPT_GEN_MEMBER(pc100_state::pc100_vblank_irq)
diff --git a/src/mess/drivers/pc2000.c b/src/mess/drivers/pc2000.c
index 617f99a0903..c57df8afded 100644
--- a/src/mess/drivers/pc2000.c
+++ b/src/mess/drivers/pc2000.c
@@ -122,7 +122,7 @@ READ8_MEMBER( pc2000_state::beep_r )
WRITE8_MEMBER( pc2000_state::beep_w )
{
- beep_set_state(m_beep, BIT(data, 3));
+ m_beep->set_state(BIT(data, 3));
m_beep_state = data;
}
diff --git a/src/mess/drivers/pc4.c b/src/mess/drivers/pc4.c
index 78ce2fe295e..f6f8299f32b 100644
--- a/src/mess/drivers/pc4.c
+++ b/src/mess/drivers/pc4.c
@@ -52,7 +52,7 @@ WRITE8_MEMBER( pc4_state::bank_w )
WRITE8_MEMBER( pc4_state::beep_w )
{
- beep_set_state(m_beep, data&0x40);
+ m_beep->set_state(data&0x40);
}
static ADDRESS_MAP_START(pc4_mem, AS_PROGRAM, 8, pc4_state)
diff --git a/src/mess/drivers/pc8801.c b/src/mess/drivers/pc8801.c
index 5795fec1bf9..3bc7ca4ee3e 100644
--- a/src/mess/drivers/pc8801.c
+++ b/src/mess/drivers/pc8801.c
@@ -1184,10 +1184,10 @@ WRITE8_MEMBER(pc8801_state::pc8801_ctrl_w)
m_rtc->clk_w((data & 4) >> 2);
if(((m_device_ctrl_data & 0x20) == 0x00) && ((data & 0x20) == 0x20))
- beep_set_state(machine().device(BEEPER_TAG),1);
+ machine().device<beep_device>(BEEPER_TAG)->set_state(1);
if(((m_device_ctrl_data & 0x20) == 0x20) && ((data & 0x20) == 0x00))
- beep_set_state(machine().device(BEEPER_TAG),0);
+ machine().device<beep_device>(BEEPER_TAG)->set_state(0);
if((m_device_ctrl_data & 0x40) != (data & 0x40))
{
@@ -1214,7 +1214,7 @@ WRITE8_MEMBER(pc8801_state::pc8801_ctrl_w)
/* TODO: is SING a buzzer mask? Bastard Special relies on this ... */
if(m_device_ctrl_data & 0x80)
- beep_set_state(machine().device(BEEPER_TAG),0);
+ machine().device<beep_device>(BEEPER_TAG)->set_state(0);
m_device_ctrl_data = data;
}
@@ -2475,8 +2475,8 @@ void pc8801_state::machine_reset()
m_crtc.status = 0;
}
- beep_set_frequency(machine().device(BEEPER_TAG),2400);
- beep_set_state(machine().device(BEEPER_TAG),0);
+ machine().device<beep_device>(BEEPER_TAG)->set_frequency(2400);
+ machine().device<beep_device>(BEEPER_TAG)->set_state(0);
#ifdef USE_PROPER_I8214
{
diff --git a/src/mess/drivers/pc9801.c b/src/mess/drivers/pc9801.c
index bd81ac89c85..9b7c8053807 100644
--- a/src/mess/drivers/pc9801.c
+++ b/src/mess/drivers/pc9801.c
@@ -3109,7 +3109,7 @@ READ8_MEMBER(pc9801_state::ppi_prn_portb_r){ return machine().root_device().iopo
WRITE8_MEMBER(pc9801_state::ppi_sys_portc_w)
{
- beep_set_state(machine().device(BEEPER_TAG),!(data & 0x08));
+ machine().device<beep_device>(BEEPER_TAG)->set_state(!(data & 0x08));
}
static I8255A_INTERFACE( ppi_system_intf )
@@ -3426,8 +3426,8 @@ MACHINE_RESET_MEMBER(pc9801_state,pc9801_common)
m_tvram[(0x3fe0)+i*2] = default_memsw_data[i];
}
- beep_set_frequency(machine().device(BEEPER_TAG),2400);
- beep_set_state(machine().device(BEEPER_TAG),0);
+ machine().device<beep_device>(BEEPER_TAG)->set_frequency(2400);
+ machine().device<beep_device>(BEEPER_TAG)->set_state(0);
m_nmi_ff = 0;
m_mouse.control = 0xff;
diff --git a/src/mess/drivers/pce220.c b/src/mess/drivers/pce220.c
index bfbd3204b21..c68034158da 100644
--- a/src/mess/drivers/pce220.c
+++ b/src/mess/drivers/pce220.c
@@ -376,7 +376,7 @@ READ8_MEMBER( pce220_state::port18_r )
WRITE8_MEMBER( pce220_state::port18_w )
{
- beep_set_state(m_beep, BIT(data, 7));
+ m_beep->set_state(BIT(data, 7));
m_serial->out_busy(BIT(data, 0));
m_serial->out_dout(BIT(data, 1));
diff --git a/src/mess/drivers/pcw.c b/src/mess/drivers/pcw.c
index 545d1dcc983..c695de298b3 100644
--- a/src/mess/drivers/pcw.c
+++ b/src/mess/drivers/pcw.c
@@ -407,7 +407,7 @@ WRITE8_MEMBER(pcw_state::pcw_vdu_video_control_register_w)
WRITE8_MEMBER(pcw_state::pcw_system_control_w)
{
upd765a_device *fdc = machine().device<upd765a_device>("upd765");
- device_t *speaker = machine().device(BEEPER_TAG);
+ beep_device *speaker = machine().device<beep_device>(BEEPER_TAG);
LOG(("SYSTEM CONTROL: %d\n",data));
switch (data)
@@ -545,14 +545,14 @@ WRITE8_MEMBER(pcw_state::pcw_system_control_w)
/* beep on */
case 11:
{
- beep_set_state(speaker,1);
+ speaker->set_state(1);
}
break;
/* beep off */
case 12:
{
- beep_set_state(speaker,0);
+ speaker->set_state(0);
}
break;
@@ -996,9 +996,9 @@ ADDRESS_MAP_END
TIMER_CALLBACK_MEMBER(pcw_state::setup_beep)
{
- device_t *speaker = machine().device(BEEPER_TAG);
- beep_set_state(speaker, 0);
- beep_set_frequency(speaker, 3750);
+ beep_device *speaker = machine().device<beep_device>(BEEPER_TAG);
+ speaker->set_state(0);
+ speaker->set_frequency(3750);
}
diff --git a/src/mess/drivers/pcw16.c b/src/mess/drivers/pcw16.c
index 60441620df0..3b18e01c9ba 100644
--- a/src/mess/drivers/pcw16.c
+++ b/src/mess/drivers/pcw16.c
@@ -842,14 +842,14 @@ WRITE8_MEMBER(pcw16_state::pcw16_system_control_w)
/* bleeper on */
case 0x0b:
{
- beep_set_state(m_speaker,1);
+ m_speaker->set_state(1);
}
break;
/* bleeper off */
case 0x0c:
{
- beep_set_state(m_speaker,0);
+ m_speaker->set_state(0);
}
break;
@@ -1005,7 +1005,7 @@ void pcw16_state::machine_reset()
void pcw16_state::machine_start()
{
- device_t *speaker = machine().device(BEEPER_TAG);
+ beep_device *speaker = machine().device<beep_device>(BEEPER_TAG);
m_system_status = 0;
m_interrupt_counter = 0;
@@ -1015,8 +1015,8 @@ void pcw16_state::machine_start()
at_keyboard_init(machine(), AT_KEYBOARD_TYPE_AT);
at_keyboard_set_scan_code_set(3);
- beep_set_state(speaker,0);
- beep_set_frequency(speaker,3750);
+ speaker->set_state(0);
+ speaker->set_frequency(3750);
}
static INPUT_PORTS_START(pcw16)
diff --git a/src/mess/drivers/psion.c b/src/mess/drivers/psion.c
index b93900265a7..9d05002f009 100644
--- a/src/mess/drivers/psion.c
+++ b/src/mess/drivers/psion.c
@@ -153,10 +153,10 @@ void psion_state::io_rw(address_space &space, UINT16 offset)
m_kb_counter = 0;
break;
case 0x180:
- beep_set_state(m_beep, 1);
+ m_beep->set_state(1);
break;
case 0x1c0:
- beep_set_state(m_beep, 0);
+ m_beep->set_state(0);
break;
case 0x240:
if (offset == 0x260 && (m_rom_bank_count || m_ram_bank_count))
diff --git a/src/mess/drivers/rex6000.c b/src/mess/drivers/rex6000.c
index 78a46e33f72..ca80675a11a 100644
--- a/src/mess/drivers/rex6000.c
+++ b/src/mess/drivers/rex6000.c
@@ -233,16 +233,16 @@ WRITE8_MEMBER( rex6000_state::beep_w )
case 1: //tone mode control
if (m_beep_mode)
{
- beep_set_state(m_beep, BIT(data, 0));
+ m_beep->set_state(BIT(data, 0));
//the beeper frequency is update only if the bit 1 is set
if (BIT(data, 1))
- beep_set_frequency(m_beep, 16384 / (((m_beep_io[2] | (m_beep_io[3]<<8)) & 0x0fff) + 2));
+ m_beep->set_frequency(16384 / (((m_beep_io[2] | (m_beep_io[3]<<8)) & 0x0fff) + 2));
}
break;
case 4: //select alarm/tone mode
if (m_beep_mode != BIT(data, 0))
- beep_set_state(m_beep, 0); //turned off when mode changes
+ m_beep->set_state(0); //turned off when mode changes
m_beep_mode = BIT(data, 0);
break;
diff --git a/src/mess/drivers/sc2.c b/src/mess/drivers/sc2.c
index b27c2f7c8b9..338c780f639 100644
--- a/src/mess/drivers/sc2.c
+++ b/src/mess/drivers/sc2.c
@@ -45,7 +45,7 @@ READ8_MEMBER( sc2_state::sc2_beep )
{
m_beep_state = ~m_beep_state;
- beep_set_state(m_beep, m_beep_state);
+ m_beep->set_state(m_beep_state);
}
return 0xff;
diff --git a/src/mess/drivers/smc777.c b/src/mess/drivers/smc777.c
index 56c3391f9b9..901ffb414f6 100644
--- a/src/mess/drivers/smc777.c
+++ b/src/mess/drivers/smc777.c
@@ -528,7 +528,7 @@ WRITE8_MEMBER(smc777_state::system_output_w)
m_raminh_prefetch = (UINT8)(space.device().state().state_int(Z80_R)) & 0x7f;
break;
case 0x02: printf("Interlace %s\n",data & 0x10 ? "on" : "off"); break;
- case 0x05: beep_set_state(machine().device(BEEPER_TAG),data & 0x10); break;
+ case 0x05: machine().device<beep_device>(BEEPER_TAG)->set_state(data & 0x10); break;
default: printf("System FF W %02x\n",data); break;
}
}
@@ -990,8 +990,8 @@ void smc777_state::machine_reset()
m_raminh_prefetch = 0xff;
m_pal_mode = 0x10;
- beep_set_frequency(machine().device(BEEPER_TAG),300); //TODO: correct frequency
- beep_set_state(machine().device(BEEPER_TAG),0);
+ machine().device<beep_device>(BEEPER_TAG)->set_frequency(300); //TODO: correct frequency
+ machine().device<beep_device>(BEEPER_TAG)->set_state(0);
}
diff --git a/src/mess/drivers/studio2.c b/src/mess/drivers/studio2.c
index a93344c2e54..5e74e6066ae 100644
--- a/src/mess/drivers/studio2.c
+++ b/src/mess/drivers/studio2.c
@@ -446,7 +446,7 @@ READ_LINE_MEMBER( studio2_state::ef4_r )
WRITE_LINE_MEMBER( studio2_state::q_w )
{
- beep_set_state(m_speaker, state);
+ m_speaker->set_state(state);
}
static COSMAC_INTERFACE( studio2_cosmac_intf )
@@ -629,9 +629,9 @@ ROM_END
TIMER_CALLBACK_MEMBER(studio2_state::setup_beep)
{
- device_t *speaker = machine().device(BEEPER_TAG);
- beep_set_state(speaker, 0);
- beep_set_frequency(speaker, 300);
+ beep_device *speaker = machine().device<beep_device>(BEEPER_TAG);
+ speaker->set_state(0);
+ speaker->set_frequency(300);
}
DRIVER_INIT_MEMBER(studio2_state,studio2)
diff --git a/src/mess/drivers/supercon.c b/src/mess/drivers/supercon.c
index 9a7914a46dd..ff3a722999a 100644
--- a/src/mess/drivers/supercon.c
+++ b/src/mess/drivers/supercon.c
@@ -566,11 +566,11 @@ WRITE8_MEMBER( supercon_state::supercon_port4_w )
if ( m_data_1F00 & 0x80 )
{
- beep_set_state(m_beep, 1);
+ m_beep->set_state(1);
m_emu_started=TRUE;
}
else
- beep_set_state(m_beep ,0);
+ m_beep->set_state(0);
}
TIMER_CALLBACK_MEMBER(supercon_state::mouse_click)
diff --git a/src/mess/drivers/tmc1800.c b/src/mess/drivers/tmc1800.c
index 6e0099b72a9..2fd39d88c4f 100644
--- a/src/mess/drivers/tmc1800.c
+++ b/src/mess/drivers/tmc1800.c
@@ -112,6 +112,7 @@ Notes:
*/
#include "includes/tmc1800.h"
+#include "sound/beep.h"
/* Read/Write Handlers */
@@ -907,9 +908,9 @@ ROM_END
TIMER_CALLBACK_MEMBER(tmc1800_state::setup_beep)
{
- device_t *speaker = machine().device(BEEPER_TAG);
- beep_set_state(speaker, 0);
- beep_set_frequency( speaker, 0 );
+ beep_device *speaker = machine().device<beep_device>(BEEPER_TAG);
+ speaker->set_state(0);
+ speaker->set_frequency(0);
}
DRIVER_INIT_MEMBER(tmc1800_state,tmc1800)
diff --git a/src/mess/drivers/vk100.c b/src/mess/drivers/vk100.c
index af3c629a7e9..00eadb2381a 100644
--- a/src/mess/drivers/vk100.c
+++ b/src/mess/drivers/vk100.c
@@ -500,7 +500,7 @@ WRITE8_MEMBER(vk100_state::KBDW)
#ifdef LED_VERBOSE
if (BIT(data, 6)) logerror("kb keyclick bit 6 set: not emulated yet (multivibrator)!\n");
#endif
- beep_set_state( m_speaker, BIT(data, 7));
+ m_speaker->set_state(BIT(data, 7));
#ifdef LED_VERBOSE
logerror("LED state: %02X: %s %s %s %s %s %s\n", data&0xFF, (data&0x20)?"------- LOCAL ":"ON LINE ----- ", (data&0x10)?"--------- ":"NO SCROLL ", (data&0x8)?"----- ":"BASIC ", (data&0x4)?"--------- ":"HARD-COPY ", (data&0x2)?"-- ":"L1 ", (data&0x1)?"-- ":"L2 ");
#endif
@@ -865,7 +865,7 @@ INPUT_PORTS_END
void vk100_state::machine_start()
{
- beep_set_frequency( m_speaker, 116 ); //116 hz (page 172 of TM), but duty cycle is wrong here!
+ m_speaker->set_frequency(116); //116 hz (page 172 of TM), but duty cycle is wrong here!
output_set_value("online_led",1);
output_set_value("local_led", 0);
output_set_value("noscroll_led",1);
diff --git a/src/mess/drivers/vt100.c b/src/mess/drivers/vt100.c
index d3aa2e72060..25f70c63cba 100644
--- a/src/mess/drivers/vt100.c
+++ b/src/mess/drivers/vt100.c
@@ -145,7 +145,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(vt100_state::keyboard_callback)
WRITE8_MEMBER( vt100_state::vt100_keyboard_w )
{
- beep_set_frequency( m_speaker, 786 ); // 7.945us per serial clock = ~125865.324hz, / 160 clocks per char = ~ 786 hz
+ m_speaker->set_frequency(786); // 7.945us per serial clock = ~125865.324hz, / 160 clocks per char = ~ 786 hz
output_set_value("online_led",BIT(data, 5) ? 0 : 1);
output_set_value("local_led", BIT(data, 5));
output_set_value("locked_led",BIT(data, 4) ? 0 : 1);
@@ -154,7 +154,7 @@ WRITE8_MEMBER( vt100_state::vt100_keyboard_w )
output_set_value("l3_led", BIT(data, 1) ? 0 : 1);
output_set_value("l4_led", BIT(data, 0) ? 0 : 1);
m_key_scan = BIT(data, 6);
- beep_set_state( m_speaker, BIT(data, 7));
+ m_speaker->set_state(BIT(data, 7));
}
READ8_MEMBER( vt100_state::vt100_keyboard_r )
@@ -353,7 +353,7 @@ void vt100_state::machine_reset()
m_keyboard_int = 0;
m_receiver_int = 0;
m_vertical_int = 0;
- beep_set_frequency( m_speaker, 786 ); // 7.945us per serial clock = ~125865.324hz, / 160 clocks per char = ~ 786 hz
+ m_speaker->set_frequency(786); // 7.945us per serial clock = ~125865.324hz, / 160 clocks per char = ~ 786 hz
output_set_value("online_led",1);
output_set_value("local_led", 0);
output_set_value("locked_led",1);
diff --git a/src/mess/drivers/x07.c b/src/mess/drivers/x07.c
index 233fee70281..7ff4c40ae34 100644
--- a/src/mess/drivers/x07.c
+++ b/src/mess/drivers/x07.c
@@ -1185,13 +1185,13 @@ WRITE8_MEMBER( x07_state::x07_io_w )
#if(1)
if((data & 0x0e) == 0x0e)
{
- beep_set_state(m_beep, 1);
- beep_set_frequency(m_beep, 192000 / ((m_regs_w[2] | (m_regs_w[3] << 8)) & 0x0fff));
+ m_beep->set_state(1);
+ m_beep->set_frequency(192000 / ((m_regs_w[2] | (m_regs_w[3] << 8)) & 0x0fff));
m_beep_stop->adjust(attotime::from_msec(m_ram->pointer()[0x450] * 0x20));
}
else
- beep_set_state(m_beep, 0);
+ m_beep->set_state(0);
#endif
break;
@@ -1374,7 +1374,7 @@ TIMER_CALLBACK_MEMBER(x07_state::rstb_clear)
TIMER_CALLBACK_MEMBER(x07_state::beep_stop)
{
- beep_set_state(m_beep, 0);
+ m_beep->set_state(0);
}
static const gfx_layout x07_charlayout =
diff --git a/src/mess/drivers/xerox820.c b/src/mess/drivers/xerox820.c
index 111ee169fc8..d35b1ed758b 100644
--- a/src/mess/drivers/xerox820.c
+++ b/src/mess/drivers/xerox820.c
@@ -199,7 +199,7 @@ INPUT_PORTS_END
TIMER_CALLBACK_MEMBER( bigboard_state::bigboard_beepoff )
{
- beep_set_state(m_beeper, 0);
+ m_beeper->set_state(0);
}
/* Z80 PIO */
@@ -291,7 +291,7 @@ WRITE8_MEMBER( bigboard_state::kbpio_pa_w )
if (BIT(data, 5) & (!m_bit5))
{
machine().scheduler().timer_set(attotime::from_msec(40), timer_expired_delegate(FUNC(bigboard_state::bigboard_beepoff),this));
- beep_set_state(m_beeper, 1);
+ m_beeper->set_state(1);
}
m_bit5 = BIT(data, 5);
}
@@ -599,8 +599,8 @@ void bigboard_state::machine_reset()
bankswitch(1);
/* bigboard has a one-pulse output to drive a user-supplied beeper */
- beep_set_state(m_beeper, 0);
- beep_set_frequency(m_beeper, 950);
+ m_beeper->set_state(0);
+ m_beeper->set_frequency(950);
m_fdc->reset();
}
diff --git a/src/mess/drivers/z9001.c b/src/mess/drivers/z9001.c
index 97256692552..2984b7817d2 100644
--- a/src/mess/drivers/z9001.c
+++ b/src/mess/drivers/z9001.c
@@ -129,7 +129,7 @@ static Z80PIO_INTERFACE( pio2_intf ) // keyboard PIO
//Bits0,1 not connected; 2,3,4,5 go to a connector; 6 goes to 'graphics' LED; 7 goes to speaker.
WRITE8_MEMBER( z9001_state::port88_w )
{
- beep_set_state(m_beeper, BIT(data, 7));
+ m_beeper->set_state(BIT(data, 7));
}
WRITE_LINE_MEMBER( z9001_state::cass_w )
@@ -150,7 +150,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(z9001_state::timer_callback)
void z9001_state::machine_reset()
{
- beep_set_frequency(m_beeper, 800);
+ m_beeper->set_frequency(800);
m_maincpu->set_state_int(Z80_PC, 0xf000);
}
diff --git a/src/mess/drivers/zrt80.c b/src/mess/drivers/zrt80.c
index 1d7bcbfe1dc..d990b78026a 100644
--- a/src/mess/drivers/zrt80.c
+++ b/src/mess/drivers/zrt80.c
@@ -58,19 +58,19 @@ READ8_MEMBER( zrt80_state::zrt80_10_r )
TIMER_CALLBACK_MEMBER(zrt80_state::zrt80_beepoff)
{
- beep_set_state(m_beep, 0);
+ m_beep->set_state(0);
}
WRITE8_MEMBER(zrt80_state::zrt80_30_w)
{
machine().scheduler().timer_set(attotime::from_msec(100), timer_expired_delegate(FUNC(zrt80_state::zrt80_beepoff),this));
- beep_set_state(m_beep, 1);
+ m_beep->set_state(1);
}
WRITE8_MEMBER(zrt80_state::zrt80_38_w)
{
machine().scheduler().timer_set(attotime::from_msec(400), timer_expired_delegate(FUNC(zrt80_state::zrt80_beepoff),this));
- beep_set_state(m_beep, 1);
+ m_beep->set_state(1);
}
static ADDRESS_MAP_START(zrt80_mem, AS_PROGRAM, 8, zrt80_state)
@@ -181,7 +181,7 @@ INPUT_PORTS_END
void zrt80_state::machine_reset()
{
- beep_set_frequency(m_beep, 800);
+ m_beep->set_frequency(800);
m_term_data = 0;
}
diff --git a/src/mess/includes/fidelz80.h b/src/mess/includes/fidelz80.h
index d098a78d0b3..da2e72231eb 100644
--- a/src/mess/includes/fidelz80.h
+++ b/src/mess/includes/fidelz80.h
@@ -17,11 +17,11 @@ class fidelz80_state : public driver_device
public:
fidelz80_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
- m_maincpu(*this, "maincpu"),
- m_speech(*this, "speech"),
- m_beep(*this, BEEPER_TAG),
- m_i8041(*this, "mcu"),
- m_i8243(*this, "i8243")
+ m_maincpu(*this, "maincpu"),
+ m_speech(*this, "speech"),
+ m_beep(*this, BEEPER_TAG),
+ m_i8041(*this, "mcu"),
+ m_i8243(*this, "i8243")
{ }
required_device<cpu_device> m_maincpu;
diff --git a/src/mess/includes/osi.h b/src/mess/includes/osi.h
index 295c346ba9d..c7fe1ce7f07 100644
--- a/src/mess/includes/osi.h
+++ b/src/mess/includes/osi.h
@@ -93,7 +93,7 @@ class c1p_state : public sb2m600_state
public:
c1p_state(const machine_config &mconfig, device_type type, const char *tag)
: sb2m600_state(mconfig, type, tag),
- m_beep(*this, BEEPER_TAG)
+ m_beep(*this, BEEPER_TAG)
{ }
required_device<beep_device> m_beep;
diff --git a/src/mess/includes/psion.h b/src/mess/includes/psion.h
index 9b195ce133f..49de76d7799 100644
--- a/src/mess/includes/psion.h
+++ b/src/mess/includes/psion.h
@@ -22,13 +22,13 @@ class psion_state : public driver_device
public:
psion_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
- m_maincpu(*this, "maincpu"),
- m_lcdc(*this, "hd44780"),
- m_beep(*this, BEEPER_TAG),
- m_pack1(*this, "pack1"),
- m_pack2(*this, "pack2"),
- m_sys_register(*this, "sys_register"),
- m_ram(*this, "ram"){ }
+ m_maincpu(*this, "maincpu"),
+ m_lcdc(*this, "hd44780"),
+ m_beep(*this, BEEPER_TAG),
+ m_pack1(*this, "pack1"),
+ m_pack2(*this, "pack2"),
+ m_sys_register(*this, "sys_register"),
+ m_ram(*this, "ram"){ }
required_device<cpu_device> m_maincpu;
required_device<hd44780_device> m_lcdc;
diff --git a/src/mess/includes/studio2.h b/src/mess/includes/studio2.h
index 2d336198113..45d012b5e6e 100644
--- a/src/mess/includes/studio2.h
+++ b/src/mess/includes/studio2.h
@@ -22,12 +22,12 @@ class studio2_state : public driver_device
public:
studio2_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
- m_maincpu(*this, CDP1802_TAG),
- m_speaker(*this, BEEPER_TAG),
- m_vdc(*this, CDP1861_TAG),
- m_clear(*this, "CLEAR"),
- m_a(*this, "A"),
- m_b(*this, "B")
+ m_maincpu(*this, CDP1802_TAG),
+ m_speaker(*this, BEEPER_TAG),
+ m_vdc(*this, CDP1861_TAG),
+ m_clear(*this, "CLEAR"),
+ m_a(*this, "A"),
+ m_b(*this, "B")
{ }
required_device<cosmac_device> m_maincpu;
diff --git a/src/mess/includes/tmc1800.h b/src/mess/includes/tmc1800.h
index f473c61d6a5..4921fabfe77 100644
--- a/src/mess/includes/tmc1800.h
+++ b/src/mess/includes/tmc1800.h
@@ -10,7 +10,6 @@
#include "imagedev/snapquik.h"
#include "machine/ram.h"
#include "machine/rescap.h"
-#include "sound/beep.h"
#include "sound/cdp1864.h"
#include "video/cdp1861.h"
diff --git a/src/mess/includes/xerox820.h b/src/mess/includes/xerox820.h
index db4e426afe5..7522323f379 100644
--- a/src/mess/includes/xerox820.h
+++ b/src/mess/includes/xerox820.h
@@ -114,7 +114,7 @@ class bigboard_state : public xerox820_state
public:
bigboard_state(const machine_config &mconfig, device_type type, const char *tag)
: xerox820_state(mconfig, type, tag),
- m_beeper(*this, BEEPER_TAG)
+ m_beeper(*this, BEEPER_TAG)
{ }
required_device<beep_device> m_beeper;
diff --git a/src/mess/machine/apollo_kbd.c b/src/mess/machine/apollo_kbd.c
index dc75f3ddfd2..5d17995df9a 100644
--- a/src/mess/machine/apollo_kbd.c
+++ b/src/mess/machine/apollo_kbd.c
@@ -185,7 +185,7 @@ void apollo_kbd_device::beeper::start(apollo_kbd_device *device)
{
m_device = device;
LOG2(("start apollo_kbd::beeper"));
- m_beeper = m_device->machine().device("beep");
+ m_beeper = m_device->machine().device<beep_device>("beep");
m_timer = m_device->machine().scheduler().timer_alloc(FUNC(static_beeper_callback), this);
}
@@ -197,15 +197,15 @@ void apollo_kbd_device::beeper::reset()
void apollo_kbd_device::beeper::off()
{
- beep_set_state(m_beeper, 0);
+ m_beeper->set_state(0);
}
void apollo_kbd_device::beeper::on()
{
if (keyboard_has_beeper())
{
- beep_set_frequency(m_beeper, 1000);
- beep_set_state(m_beeper, 1);
+ m_beeper->set_frequency(1000);
+ m_beeper->set_state(1);
m_timer->adjust( attotime::from_msec(10), 0, attotime::zero);
}
}
@@ -223,7 +223,7 @@ void apollo_kbd_device::beeper::beeper_callback()
TIMER_CALLBACK( apollo_kbd_device::beeper::static_beeper_callback )
{
- reinterpret_cast<beeper *> (ptr)->beeper_callback();
+ reinterpret_cast<beeper*>(ptr)->beeper_callback();
}
//**************************************************************************
diff --git a/src/mess/machine/apollo_kbd.h b/src/mess/machine/apollo_kbd.h
index 0f84368d9ac..66ef2557415 100644
--- a/src/mess/machine/apollo_kbd.h
+++ b/src/mess/machine/apollo_kbd.h
@@ -15,6 +15,7 @@
#define __APOLLO_KBD_H__
#include "emu.h"
+#include "sound/beep.h"
// BSD-derived systems get very sad when you party with system reserved names.
#ifdef getchar
@@ -105,7 +106,7 @@ private:
static TIMER_CALLBACK( static_beeper_callback );
apollo_kbd_device *m_device; // pointer back to our device
- device_t *m_beeper; // the keyboard beeper device
+ beep_device *m_beeper; // the keyboard beeper device
emu_timer * m_timer; // timer to clock data in
};
diff --git a/src/mess/machine/electron.c b/src/mess/machine/electron.c
index 10930525653..da9fce5d41a 100644
--- a/src/mess/machine/electron.c
+++ b/src/mess/machine/electron.c
@@ -177,7 +177,7 @@ static const UINT16 electron_screen_base[8] = { 0x3000, 0x3000, 0x3000, 0x4000,
WRITE8_MEMBER(electron_state::electron_ula_w)
{
- device_t *speaker = machine().device(BEEPER_TAG);
+ beep_device *speaker = machine().device<beep_device>(BEEPER_TAG);
int i = electron_palette_offset[(( offset >> 1 ) & 0x03)];
logerror( "ULA: write offset %02x <- %02x\n", offset & 0x0f, data );
switch( offset & 0x0f )
@@ -237,7 +237,7 @@ WRITE8_MEMBER(electron_state::electron_ula_w)
case 0x06: /* Counter divider */
if ( m_ula.communication_mode == 0x01)
{
- beep_set_frequency( speaker, 1000000 / ( 16 * ( data + 1 ) ) );
+ speaker->set_frequency( 1000000 / ( 16 * ( data + 1 ) ) );
}
break;
case 0x07: /* Misc. */
@@ -245,19 +245,19 @@ WRITE8_MEMBER(electron_state::electron_ula_w)
switch( m_ula.communication_mode )
{
case 0x00: /* cassette input */
- beep_set_state( speaker, 0 );
+ speaker->set_state( 0 );
electron_tape_start();
break;
case 0x01: /* sound generation */
- beep_set_state( speaker, 1 );
+ speaker->set_state( 1 );
electron_tape_stop();
break;
case 0x02: /* cassette output */
- beep_set_state( speaker, 0 );
+ speaker->set_state( 0 );
electron_tape_stop();
break;
case 0x03: /* not used */
- beep_set_state( speaker, 0 );
+ speaker->set_state( 0 );
electron_tape_stop();
break;
}
@@ -316,9 +316,9 @@ void electron_interrupt_handler(running_machine &machine, int mode, int interrup
TIMER_CALLBACK_MEMBER(electron_state::setup_beep)
{
- device_t *speaker = machine().device(BEEPER_TAG);
- beep_set_state( speaker, 0 );
- beep_set_frequency( speaker, 300 );
+ beep_device *speaker = machine().device<beep_device>(BEEPER_TAG);
+ speaker->set_state( 0 );
+ speaker->set_frequency( 300 );
}
void electron_state::machine_reset()
diff --git a/src/mess/machine/kay_kbd.c b/src/mess/machine/kay_kbd.c
index 7e2b0b0d5c8..c4143a8726e 100644
--- a/src/mess/machine/kay_kbd.c
+++ b/src/mess/machine/kay_kbd.c
@@ -66,7 +66,7 @@
struct kay_kbd_t
{
- device_t *beeper;
+ beep_device *beeper;
UINT8 buff[16];
UINT8 head;
UINT8 tail;
@@ -287,11 +287,11 @@ MACHINE_RESET_MEMBER(kaypro_state,kay_kbd)
/* disable CapsLock LED initially */
set_led_status(machine(), 1, 1);
set_led_status(machine(), 1, 0);
- kbd->beeper = machine().device(BEEPER_TAG);
+ kbd->beeper = machine().device<beep_device>(BEEPER_TAG);
kbd->beep_on = 1;
kbd->control_status = 0x14;
- beep_set_state(kbd->beeper, 0);
- beep_set_frequency(kbd->beeper, 950); /* piezo-device needs to be measured */
+ kbd->beeper->set_state(0);
+ kbd->beeper->set_frequency(950); /* piezo-device needs to be measured */
kbd->head = kbd->tail = 0; /* init buffer */
}
@@ -471,7 +471,7 @@ static TIMER_CALLBACK( kay_kbd_beepoff )
{
kaypro_state *state = machine.driver_data<kaypro_state>();
kay_kbd_t *kbd = state->m_kbd;
- beep_set_state(kbd->beeper, 0);
+ kbd->beeper->set_state(0);
kbd->control_status |= 4;
}
@@ -509,7 +509,7 @@ void kay_kbd_d_w( running_machine &machine, UINT8 data )
{
kbd->control_status &= 0xfb;
machine.scheduler().timer_set(attotime::from_msec(length), FUNC(kay_kbd_beepoff));
- beep_set_state(kbd->beeper, 1);
+ kbd->beeper->set_state(1);
}
}
}
diff --git a/src/mess/machine/osborne1.c b/src/mess/machine/osborne1.c
index 3e5245a5d14..de2abc91504 100644
--- a/src/mess/machine/osborne1.c
+++ b/src/mess/machine/osborne1.c
@@ -389,11 +389,11 @@ TIMER_CALLBACK_MEMBER(osborne1_state::osborne1_video_callback)
if ( (ra==2) || (ra== 6) )
{
- beep_set_state( m_beep, m_beep_state );
+ m_beep->set_state( m_beep_state );
}
else
{
- beep_set_state( m_beep, 0 );
+ m_beep->set_state( 0 );
}
m_video_timer->adjust(machine().primary_screen->time_until_pos(y + 1, 0 ));
@@ -401,8 +401,8 @@ TIMER_CALLBACK_MEMBER(osborne1_state::osborne1_video_callback)
TIMER_CALLBACK_MEMBER(osborne1_state::setup_osborne1)
{
- beep_set_state( m_beep, 0 );
- beep_set_frequency( m_beep, 300 /* 60 * 240 / 2 */ );
+ m_beep->set_state( 0 );
+ m_beep->set_frequency( 300 /* 60 * 240 / 2 */ );
m_pia1->ca1_w(0);
}
diff --git a/src/mess/video/911_vdt.c b/src/mess/video/911_vdt.c
index e5a4c9b557a..681d59e4e29 100644
--- a/src/mess/video/911_vdt.c
+++ b/src/mess/video/911_vdt.c
@@ -91,7 +91,7 @@ struct vdt_t
unsigned int cursor_address; /* current cursor address (controlled by the computer, affects both display and I/O protocol) */
unsigned int cursor_address_mask; /* 1023 for 960-char model, 2047 for 1920-char model */
- emu_timer *beep_timer; /* beep clock (beeps ends when timer times out) */
+ emu_timer *beep_timer; /* beep clock (beeps ends when timer times out) */
/*void *blink_clock;*/ /* cursor blink clock */
UINT8 keyboard_data; /* last code pressed on keyboard */
@@ -230,7 +230,7 @@ void vdt911_init(running_machine &machine)
static TIMER_CALLBACK(setup_beep)
{
- beep_set_frequency(machine.device(BEEPER_TAG), 2000);
+ machine.device<beep_device>(BEEPER_TAG)->set_frequency(2000);
}
@@ -311,7 +311,7 @@ static TIMER_CALLBACK(blink_callback)
*/
static TIMER_CALLBACK(beep_callback)
{
- beep_set_state(machine.device(BEEPER_TAG), 0);
+ machine.device<beep_device>(BEEPER_TAG)->set_state(0);
}
/*
@@ -485,7 +485,7 @@ WRITE8_DEVICE_HANDLER( vdt911_cru_w )
case 0xe:
/* beep enable strobe - not tested */
- beep_set_state(space.machine().device(BEEPER_TAG), 1);
+ space.machine().device<beep_device>(BEEPER_TAG)->set_state(1);
vdt->beep_timer->adjust(attotime::from_usec(300));
break;