Moved soundlatch helpers into driver.c and removed emu/audio/generic.c.

Normalized soundlatch helper function names.

Created delegates for machine/sound/video_start/reset callbacks and
added necessary infrastructure to use them going forward.
This commit is contained in:
Aaron Giles 2012-04-09 20:23:26 +00:00
parent 6711559e87
commit 5181e3ea96
369 changed files with 1230 additions and 1346 deletions

2
.gitattributes vendored
View File

@ -32,8 +32,6 @@ src/emu/addrmap.c svneol=native#text/plain
src/emu/addrmap.h svneol=native#text/plain
src/emu/attotime.c svneol=native#text/plain
src/emu/attotime.h svneol=native#text/plain
src/emu/audio/generic.c svneol=native#text/plain
src/emu/audio/generic.h svneol=native#text/plain
src/emu/audit.c svneol=native#text/plain
src/emu/audit.h svneol=native#text/plain
src/emu/cheat.c svneol=native#text/plain

View File

@ -1,168 +0,0 @@
/***************************************************************************
generic.c
Generic simple sound functions.
Copyright Nicola Salmoria and the MAME Team.
Visit http://mamedev.org for licensing and usage restrictions.
***************************************************************************/
#include "emu.h"
/***************************************************************************
TYPE DEFINITIONS
***************************************************************************/
struct _generic_audio_private
{
UINT16 latch_clear_value;
UINT16 latched_value[4];
UINT8 latch_read[4];
};
/***************************************************************************
INITIALIZATION
***************************************************************************/
/*-------------------------------------------------
generic_sound_init - initialize globals and
register for save states
-------------------------------------------------*/
int generic_sound_init(running_machine &machine)
{
generic_audio_private *state;
state = machine.generic_audio_data = auto_alloc_clear(machine, generic_audio_private);
/* register globals with the save state system */
state_save_register_global_array(machine, state->latched_value);
state_save_register_global_array(machine, state->latch_read);
return 0;
}
/***************************************************************************
Many games use a master-slave CPU setup. Typically, the main CPU writes
a command to some register, and then writes to another register to trigger
an interrupt on the slave CPU (the interrupt might also be triggered by
the first write). The slave CPU, notified by the interrupt, goes and reads
the command.
***************************************************************************/
/*-------------------------------------------------
latch_callback - time-delayed callback to
set a latch value
-------------------------------------------------*/
static TIMER_CALLBACK( latch_callback )
{
generic_audio_private *state = machine.generic_audio_data;
UINT16 value = param >> 8;
int which = param & 0xff;
/* if the latch hasn't been read and the value is changed, log a warning */
if (!state->latch_read[which] && state->latched_value[which] != value)
logerror("Warning: sound latch %d written before being read. Previous: %02x, new: %02x\n", which, state->latched_value[which], value);
/* store the new value and mark it not read */
state->latched_value[which] = value;
state->latch_read[which] = 0;
}
/*-------------------------------------------------
latch_w - handle a write to a given latch
-------------------------------------------------*/
INLINE void latch_w(address_space *space, int which, UINT16 value)
{
space->machine().scheduler().synchronize(FUNC(latch_callback), which | (value << 8));
}
/*-------------------------------------------------
latch_r - handle a read from a given latch
-------------------------------------------------*/
INLINE UINT16 latch_r(address_space *space, int which)
{
generic_audio_private *state = space->machine().generic_audio_data;
state->latch_read[which] = 1;
return state->latched_value[which];
}
/*-------------------------------------------------
latch_clear - clear a given latch
-------------------------------------------------*/
INLINE void latch_clear(address_space *space, int which)
{
generic_audio_private *state = space->machine().generic_audio_data;
state->latched_value[which] = state->latch_clear_value;
}
/*-------------------------------------------------
soundlatch_w - global write handlers for
writing to sound latches
-------------------------------------------------*/
WRITE8_MEMBER( driver_device::soundlatch_w ) { latch_w(&space, 0, data); }
WRITE16_MEMBER( driver_device::soundlatch_word_w ) { latch_w(&space, 0, data); }
WRITE8_MEMBER( driver_device::soundlatch2_w ) { latch_w(&space, 1, data); }
WRITE16_MEMBER( driver_device::soundlatch2_word_w ) { latch_w(&space, 1, data); }
WRITE8_MEMBER( driver_device::soundlatch3_w ) { latch_w(&space, 2, data); }
WRITE16_MEMBER( driver_device::soundlatch3_word_w ) { latch_w(&space, 2, data); }
WRITE8_MEMBER( driver_device::soundlatch4_w ) { latch_w(&space, 3, data); }
WRITE16_MEMBER( driver_device::soundlatch4_word_w ) { latch_w(&space, 3, data); }
/*-------------------------------------------------
soundlatch_r - global read handlers for
reading from sound latches
-------------------------------------------------*/
READ8_MEMBER( driver_device::soundlatch_r ) { return latch_r(&space, 0); }
READ16_MEMBER( driver_device::soundlatch_word_r ) { return latch_r(&space, 0); }
READ8_MEMBER( driver_device::soundlatch2_r ) { return latch_r(&space, 1); }
READ16_MEMBER( driver_device::soundlatch2_word_r ) { return latch_r(&space, 1); }
READ8_MEMBER( driver_device::soundlatch3_r ) { return latch_r(&space, 2); }
READ16_MEMBER( driver_device::soundlatch3_word_r ) { return latch_r(&space, 2); }
READ8_MEMBER( driver_device::soundlatch4_r ) { return latch_r(&space, 3); }
READ16_MEMBER( driver_device::soundlatch4_word_r ) { return latch_r(&space, 3); }
/*-------------------------------------------------
soundlatch_clear_w - global write handlers
for clearing sound latches
-------------------------------------------------*/
WRITE8_MEMBER( driver_device::soundlatch_clear_w ) { latch_clear(&space, 0); }
WRITE8_MEMBER( driver_device::soundlatch2_clear_w ) { latch_clear(&space, 1); }
WRITE8_MEMBER( driver_device::soundlatch3_clear_w ) { latch_clear(&space, 2); }
WRITE8_MEMBER( driver_device::soundlatch4_clear_w ) { latch_clear(&space, 3); }
/*-------------------------------------------------
soundlatch_setclearedvalue - set the "clear"
value for all sound latches
-------------------------------------------------*/
void soundlatch_setclearedvalue(running_machine &machine, int value)
{
generic_audio_private *state = machine.generic_audio_data;
assert_always(machine.phase() == MACHINE_PHASE_INIT, "Can only call soundlatch_setclearedvalue at init time!");
state->latch_clear_value = value;
}

View File

@ -1,33 +0,0 @@
/***************************************************************************
generic.h
Generic simple sound functions.
Copyright Nicola Salmoria and the MAME Team.
Visit http://mamedev.org for licensing and usage restrictions.
***************************************************************************/
#pragma once
#ifndef __SOUND_GENERIC_H__
#define __SOUND_GENERIC_H__
/***************************************************************************
Function prototypes
***************************************************************************/
int generic_sound_init(running_machine &machine);
/* If you're going to use soundlatchX_clear_w, and the cleared value is
something other than 0x00, use this function from machine_init. Note
that this one call effects all 4 latches */
void soundlatch_setclearedvalue(running_machine &machine, int value);
#endif /* __SOUND_GENERIC_H__ */

View File

@ -51,18 +51,21 @@
driver_device::driver_device(const machine_config &mconfig, device_type type, const char *tag)
: device_t(mconfig, type, "Driver Device", tag, NULL, 0),
m_system(NULL),
m_palette_init(NULL),
m_generic_paletteram_8(*this, "paletteram"),
m_generic_paletteram2_8(*this, "paletteram2"),
m_generic_paletteram_16(*this, "paletteram"),
m_generic_paletteram2_16(*this, "paletteram2"),
m_generic_paletteram_32(*this, "paletteram"),
m_generic_paletteram2_32(*this, "paletteram2"),
m_system(NULL),
m_palette_init(NULL),
m_latch_clear_value(0),
m_flip_screen_x(0),
m_flip_screen_y(0)
{
memset(m_callbacks, 0, sizeof(m_callbacks));
memset(m_legacy_callbacks, 0, sizeof(m_legacy_callbacks));
memset(m_latched_value, 0, sizeof(m_latched_value));
memset(m_latch_read, 0, sizeof(m_latch_read));
}
@ -101,12 +104,16 @@ void driver_device::static_set_game(device_t &device, const game_driver &game)
//-------------------------------------------------
// static_set_machine_start - set the legacy
// machine start callback in the device
// configuration
// static_set_callback - set the a callback in
// the device configuration
//-------------------------------------------------
void driver_device::static_set_callback(device_t &device, callback_type type, legacy_callback_func callback)
{
downcast<driver_device &>(device).m_legacy_callbacks[type] = callback;
}
void driver_device::static_set_callback(device_t &device, callback_type type, driver_callback_delegate callback)
{
downcast<driver_device &>(device).m_callbacks[type] = callback;
}
@ -141,8 +148,8 @@ void driver_device::driver_start()
void driver_device::machine_start()
{
if (m_callbacks[CB_MACHINE_START] != NULL)
(*m_callbacks[CB_MACHINE_START])(machine());
if (!m_callbacks[CB_MACHINE_START].isnull())
m_callbacks[CB_MACHINE_START]();
}
@ -153,8 +160,8 @@ void driver_device::machine_start()
void driver_device::sound_start()
{
if (m_callbacks[CB_SOUND_START] != NULL)
(*m_callbacks[CB_SOUND_START])(machine());
if (!m_callbacks[CB_SOUND_START].isnull())
m_callbacks[CB_SOUND_START]();
}
@ -165,8 +172,8 @@ void driver_device::sound_start()
void driver_device::video_start()
{
if (m_callbacks[CB_VIDEO_START] != NULL)
(*m_callbacks[CB_VIDEO_START])(machine());
if (!m_callbacks[CB_VIDEO_START].isnull())
m_callbacks[CB_VIDEO_START]();
}
@ -187,8 +194,8 @@ void driver_device::driver_reset()
void driver_device::machine_reset()
{
if (m_callbacks[CB_MACHINE_RESET] != NULL)
(*m_callbacks[CB_MACHINE_RESET])(machine());
if (!m_callbacks[CB_MACHINE_RESET].isnull())
m_callbacks[CB_MACHINE_RESET]();
}
@ -199,8 +206,8 @@ void driver_device::machine_reset()
void driver_device::sound_reset()
{
if (m_callbacks[CB_SOUND_RESET] != NULL)
(*m_callbacks[CB_SOUND_RESET])(machine());
if (!m_callbacks[CB_SOUND_RESET].isnull())
m_callbacks[CB_SOUND_RESET]();
}
@ -211,8 +218,8 @@ void driver_device::sound_reset()
void driver_device::video_reset()
{
if (m_callbacks[CB_VIDEO_RESET] != NULL)
(*m_callbacks[CB_VIDEO_RESET])(machine());
if (!m_callbacks[CB_VIDEO_RESET].isnull())
m_callbacks[CB_VIDEO_RESET]();
}
@ -245,6 +252,11 @@ ioport_constructor driver_device::device_input_ports() const
void driver_device::device_start()
{
// bind our legacy callbacks
for (int index = 0; index < ARRAY_LENGTH(m_legacy_callbacks); index++)
if (m_legacy_callbacks[index] != NULL)
m_callbacks[index] = driver_callback_delegate(m_legacy_callbacks[index], "legacy_callback", &machine());
// reschedule ourselves to be last
device_iterator iter(*this);
for (device_t *test = iter.first(); test != NULL; test = iter.next())
@ -291,6 +303,72 @@ void driver_device::device_reset_after_children()
//**************************************************************************
// GENERIC SOUND COMMAND LATCHING
//**************************************************************************
//-------------------------------------------------
// soundlatch_sync_callback - time-delayed
// callback to set a latch value
//-------------------------------------------------
void driver_device::soundlatch_sync_callback(void *ptr, INT32 param)
{
UINT16 value = param >> 8;
int which = param & 0xff;
// if the latch hasn't been read and the value is changed, log a warning
if (!m_latch_read[which] && m_latched_value[which] != value)
logerror("Warning: sound latch %d written before being read. Previous: %02x, new: %02x\n", which, m_latched_value[which], value);
// store the new value and mark it not read
m_latched_value[which] = value;
m_latch_read[which] = 0;
}
//-------------------------------------------------
// soundlatch_byte_w - global write handlers for
// writing to sound latches
//-------------------------------------------------
WRITE8_MEMBER( driver_device::soundlatch_byte_w ) { machine().scheduler().synchronize(timer_expired_delegate(FUNC(driver_device::soundlatch_sync_callback), this), 0 | (data << 8)); }
WRITE16_MEMBER( driver_device::soundlatch_word_w ) { machine().scheduler().synchronize(timer_expired_delegate(FUNC(driver_device::soundlatch_sync_callback), this), 0 | (data << 8)); }
WRITE8_MEMBER( driver_device::soundlatch2_byte_w ) { machine().scheduler().synchronize(timer_expired_delegate(FUNC(driver_device::soundlatch_sync_callback), this), 1 | (data << 8)); }
WRITE16_MEMBER( driver_device::soundlatch2_word_w ) { machine().scheduler().synchronize(timer_expired_delegate(FUNC(driver_device::soundlatch_sync_callback), this), 1 | (data << 8)); }
WRITE8_MEMBER( driver_device::soundlatch3_byte_w ) { machine().scheduler().synchronize(timer_expired_delegate(FUNC(driver_device::soundlatch_sync_callback), this), 2 | (data << 8)); }
WRITE16_MEMBER( driver_device::soundlatch3_word_w ) { machine().scheduler().synchronize(timer_expired_delegate(FUNC(driver_device::soundlatch_sync_callback), this), 2 | (data << 8)); }
WRITE8_MEMBER( driver_device::soundlatch4_byte_w ) { machine().scheduler().synchronize(timer_expired_delegate(FUNC(driver_device::soundlatch_sync_callback), this), 3 | (data << 8)); }
WRITE16_MEMBER( driver_device::soundlatch4_word_w ) { machine().scheduler().synchronize(timer_expired_delegate(FUNC(driver_device::soundlatch_sync_callback), this), 3 | (data << 8)); }
//-------------------------------------------------
// soundlatch_byte_r - global read handlers for
// reading from sound latches
//-------------------------------------------------
READ8_MEMBER( driver_device::soundlatch_byte_r ) { return m_latched_value[0]; }
READ16_MEMBER( driver_device::soundlatch_word_r ) { return m_latched_value[0]; }
READ8_MEMBER( driver_device::soundlatch2_byte_r ) { return m_latched_value[1]; }
READ16_MEMBER( driver_device::soundlatch2_word_r ) { return m_latched_value[1]; }
READ8_MEMBER( driver_device::soundlatch3_byte_r ) { return m_latched_value[2]; }
READ16_MEMBER( driver_device::soundlatch3_word_r ) { return m_latched_value[2]; }
READ8_MEMBER( driver_device::soundlatch4_byte_r ) { return m_latched_value[3]; }
READ16_MEMBER( driver_device::soundlatch4_word_r ) { return m_latched_value[3]; }
//-------------------------------------------------
// soundlatch_clear_byte_w - global write handlers
// for clearing sound latches
//-------------------------------------------------
WRITE8_MEMBER( driver_device::soundlatch_clear_byte_w ) { m_latched_value[0] = m_latch_clear_value; }
WRITE8_MEMBER( driver_device::soundlatch2_clear_byte_w ) { m_latched_value[1] = m_latch_clear_value; }
WRITE8_MEMBER( driver_device::soundlatch3_clear_byte_w ) { m_latched_value[2] = m_latch_clear_value; }
WRITE8_MEMBER( driver_device::soundlatch4_clear_byte_w ) { m_latched_value[3] = m_latch_clear_value; }
//**************************************************************************
// GENERIC FLIP SCREEN HANDLING
//**************************************************************************

View File

@ -51,6 +51,8 @@
// TYPE DEFINITIONS
//**************************************************************************
typedef delegate<void ()> driver_callback_delegate;
// ======================> driver_device
@ -61,6 +63,9 @@ public:
// construction/destruction
driver_device(const machine_config &mconfig, device_type type, const char *tag);
virtual ~driver_device();
// getters
const game_driver &system() const { assert(m_system != NULL); return *m_system; }
// indexes into our generic callbacks
enum callback_type
@ -77,6 +82,7 @@ public:
// inline configuration helpers
static void static_set_game(device_t &device, const game_driver &game);
static void static_set_callback(device_t &device, callback_type type, legacy_callback_func callback);
static void static_set_callback(device_t &device, callback_type type, driver_callback_delegate callback);
static void static_set_palette_init(device_t &device, palette_init_func callback);
// generic helpers
@ -86,6 +92,43 @@ public:
(downcast<_DriverClass &>(device).*_Function)();
}
// watchdog read/write handlers
DECLARE_WRITE8_MEMBER( watchdog_reset_w );
DECLARE_READ8_MEMBER( watchdog_reset_r );
DECLARE_WRITE16_MEMBER( watchdog_reset16_w );
DECLARE_READ16_MEMBER( watchdog_reset16_r );
DECLARE_WRITE32_MEMBER( watchdog_reset32_w );
DECLARE_READ32_MEMBER( watchdog_reset32_r );
// generic audio
void soundlatch_setclearedvalue(UINT16 value) { m_latch_clear_value = value; }
// sound latch readers
DECLARE_READ8_MEMBER( soundlatch_byte_r );
DECLARE_READ8_MEMBER( soundlatch2_byte_r );
DECLARE_READ8_MEMBER( soundlatch3_byte_r );
DECLARE_READ8_MEMBER( soundlatch4_byte_r );
DECLARE_READ16_MEMBER( soundlatch_word_r );
DECLARE_READ16_MEMBER( soundlatch2_word_r );
DECLARE_READ16_MEMBER( soundlatch3_word_r );
DECLARE_READ16_MEMBER( soundlatch4_word_r );
// sound latch writers
DECLARE_WRITE8_MEMBER( soundlatch_byte_w );
DECLARE_WRITE8_MEMBER( soundlatch2_byte_w );
DECLARE_WRITE8_MEMBER( soundlatch3_byte_w );
DECLARE_WRITE8_MEMBER( soundlatch4_byte_w );
DECLARE_WRITE16_MEMBER( soundlatch_word_w );
DECLARE_WRITE16_MEMBER( soundlatch2_word_w );
DECLARE_WRITE16_MEMBER( soundlatch3_word_w );
DECLARE_WRITE16_MEMBER( soundlatch4_word_w );
// sound latch clearers
DECLARE_WRITE8_MEMBER( soundlatch_clear_byte_w );
DECLARE_WRITE8_MEMBER( soundlatch2_clear_byte_w );
DECLARE_WRITE8_MEMBER( soundlatch3_clear_byte_w );
DECLARE_WRITE8_MEMBER( soundlatch4_clear_byte_w );
// generic video
void flip_screen_set(UINT32 on);
void flip_screen_set_no_update(UINT32 on);
@ -95,40 +138,6 @@ public:
UINT32 flip_screen_x() const { return m_flip_screen_x; }
UINT32 flip_screen_y() const { return m_flip_screen_y; }
// watchdog read/write handlers
DECLARE_WRITE8_MEMBER( watchdog_reset_w );
DECLARE_READ8_MEMBER( watchdog_reset_r );
DECLARE_WRITE16_MEMBER( watchdog_reset16_w );
DECLARE_READ16_MEMBER( watchdog_reset16_r );
DECLARE_WRITE32_MEMBER( watchdog_reset32_w );
DECLARE_READ32_MEMBER( watchdog_reset32_r );
// sound latch readers
DECLARE_READ8_MEMBER( soundlatch_r );
DECLARE_READ8_MEMBER( soundlatch2_r );
DECLARE_READ8_MEMBER( soundlatch3_r );
DECLARE_READ8_MEMBER( soundlatch4_r );
DECLARE_READ16_MEMBER( soundlatch_word_r );
DECLARE_READ16_MEMBER( soundlatch2_word_r );
DECLARE_READ16_MEMBER( soundlatch3_word_r );
DECLARE_READ16_MEMBER( soundlatch4_word_r );
// sound latch writers
DECLARE_WRITE8_MEMBER( soundlatch_w );
DECLARE_WRITE8_MEMBER( soundlatch2_w );
DECLARE_WRITE8_MEMBER( soundlatch3_w );
DECLARE_WRITE8_MEMBER( soundlatch4_w );
DECLARE_WRITE16_MEMBER( soundlatch_word_w );
DECLARE_WRITE16_MEMBER( soundlatch2_word_w );
DECLARE_WRITE16_MEMBER( soundlatch3_word_w );
DECLARE_WRITE16_MEMBER( soundlatch4_word_w );
// sound latch clearers
DECLARE_WRITE8_MEMBER( soundlatch_clear_w );
DECLARE_WRITE8_MEMBER( soundlatch2_clear_w );
DECLARE_WRITE8_MEMBER( soundlatch3_clear_w );
DECLARE_WRITE8_MEMBER( soundlatch4_clear_w );
// templatized palette writers for 8-bit palette data
template<int _RedBits, int _GreenBits, int _BlueBits, int _RedShift, int _GreenShift, int _BlueShift> DECLARE_WRITE8_MEMBER( palette_8bit_byte_w );
@ -239,12 +248,6 @@ protected:
inline UINT16 paletteram16_split(offs_t offset) const { return m_generic_paletteram_8[offset] | (m_generic_paletteram2_8[offset] << 8); }
inline UINT32 paletteram32_be(offs_t offset) const { return m_generic_paletteram_16[offset | 1] | (m_generic_paletteram_16[offset & ~1] << 16); }
// internal state
const game_driver * m_system; // pointer to the game driver
legacy_callback_func m_callbacks[CB_COUNT]; // generic legacy callbacks
palette_init_func m_palette_init; // one-time palette init callback
public:
// generic pointers
optional_shared_ptr<UINT8> m_generic_paletteram_8;
@ -256,11 +259,23 @@ public:
private:
// helpers
void soundlatch_sync_callback(void *ptr, INT32 param);
void updateflip();
// internal state
const game_driver * m_system; // pointer to the game driver
palette_init_func m_palette_init; // one-time palette init callback
driver_callback_delegate m_callbacks[CB_COUNT]; // start/reset callbacks
legacy_callback_func m_legacy_callbacks[CB_COUNT]; // legacy start/reset callbacks
// generic audio
UINT16 m_latch_clear_value;
UINT16 m_latched_value[4];
UINT8 m_latch_read[4];
// generic video
UINT32 m_flip_screen_x;
UINT32 m_flip_screen_y;
UINT32 m_flip_screen_x;
UINT32 m_flip_screen_y;
};

View File

@ -140,7 +140,6 @@ typedef device_t * (*machine_config_constructor)(machine_config &config, device_
// generic helpers
#include "devcb.h"
#include "drivers/xtal.h"
#include "audio/generic.h"
#include "machine/generic.h"
#include "video/generic.h"

View File

@ -134,7 +134,6 @@ EMUSOUNDOBJS = \
$(EMUOBJ)/sound/wavwrite.o \
EMUAUDIOOBJS = \
$(EMUAUDIO)/generic.o \
EMUDRIVEROBJS = \
$(EMUDRIVERS)/empty.o \

View File

@ -62,7 +62,6 @@
- calls render_init() [render.c] to initialize the rendering system
- calls ui_init() [ui.c] to initialize the user interface
- calls generic_machine_init() [machine/generic.c] to initialize generic machine structures
- calls generic_sound_init() [audio/generic.c] to initialize generic sound structures
- calls timer_init() [timer.c] to reset the timer system
- calls osd_init() [osdepend.h] to do platform-specific initialization
- calls input_port_init() [inptport.c] to set up the input ports
@ -148,7 +147,6 @@ running_machine::running_machine(const machine_config &_config, osd_interface &o
ui_input_data(NULL),
debugcpu_data(NULL),
generic_machine_data(NULL),
generic_audio_data(NULL),
m_config(_config),
m_system(_config.gamedrv()),
@ -249,7 +247,6 @@ void running_machine::start()
palette_init(*this);
m_render = auto_alloc(*this, render_manager(*this));
generic_machine_init(*this);
generic_sound_init(*this);
// allocate a soft_reset timer
m_soft_reset_timer = m_scheduler.timer_alloc(timer_expired_delegate(FUNC(running_machine::soft_reset), this));

View File

@ -189,7 +189,6 @@ typedef struct _input_port_private input_port_private;
typedef struct _ui_input_private ui_input_private;
typedef struct _debugcpu_private debugcpu_private;
typedef struct _generic_machine_private generic_machine_private;
typedef struct _generic_audio_private generic_audio_private;
// legacy callback functions
@ -412,7 +411,6 @@ public:
ui_input_private * ui_input_data; // internal data from uiinput.c
debugcpu_private * debugcpu_data; // internal data from debugcpu.c
generic_machine_private *generic_machine_data; // internal data from machine/generic.c
generic_audio_private * generic_audio_data; // internal data from audio/generic.c
private:
// internal helpers

View File

@ -21,7 +21,7 @@ WRITE16_HANDLER( aztarac_sound_w )
if (ACCESSING_BITS_0_7)
{
data &= 0xff;
state->soundlatch_w(*space, offset, data);
state->soundlatch_byte_w(*space, offset, data);
state->m_sound_status ^= 0x21;
if (state->m_sound_status & 0x20)
cputag_set_input_line(space->machine(), "audiocpu", 0, HOLD_LINE);
@ -33,7 +33,7 @@ READ8_HANDLER( aztarac_snd_command_r )
aztarac_state *state = space->machine().driver_data<aztarac_state>();
state->m_sound_status |= 0x01;
state->m_sound_status &= ~0x20;
return state->soundlatch_r(*space,offset);
return state->soundlatch_byte_r(*space,offset);
}
READ8_HANDLER( aztarac_snd_status_r )

View File

@ -44,14 +44,14 @@ READ8_HANDLER( cchasm_soundlatch2_r )
cchasm_state *state = space->machine().driver_data<cchasm_state>();
state->m_sound_flags &= ~0x80;
z80ctc_trg2_w(state->m_ctc, 0);
return state->soundlatch2_r(*space, offset);
return state->soundlatch2_byte_r(*space, offset);
}
WRITE8_HANDLER( cchasm_soundlatch4_w )
{
cchasm_state *state = space->machine().driver_data<cchasm_state>();
state->m_sound_flags |= 0x40;
state->soundlatch4_w(*space, offset, data);
state->soundlatch4_byte_w(*space, offset, data);
cputag_set_input_line(space->machine(), "maincpu", 1, HOLD_LINE);
}
@ -66,11 +66,11 @@ WRITE16_HANDLER( cchasm_io_w )
switch (offset & 0xf)
{
case 0:
state->soundlatch_w(*space, offset, data);
state->soundlatch_byte_w(*space, offset, data);
break;
case 1:
state->m_sound_flags |= 0x80;
state->soundlatch2_w(*space, offset, data);
state->soundlatch2_byte_w(*space, offset, data);
z80ctc_trg2_w(state->m_ctc, 1);
cputag_set_input_line(space->machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
break;
@ -87,10 +87,10 @@ READ16_HANDLER( cchasm_io_r )
switch (offset & 0xf)
{
case 0x0:
return state->soundlatch3_r(*space, offset) << 8;
return state->soundlatch3_byte_r(*space, offset) << 8;
case 0x1:
state->m_sound_flags &= ~0x40;
return state->soundlatch4_r(*space,offset) << 8;
return state->soundlatch4_byte_r(*space,offset) << 8;
case 0x2:
return (state->m_sound_flags| (input_port_read(space->machine(), "IN3") & 0x07) | 0x08) << 8;
case 0x5:

View File

@ -46,7 +46,7 @@ WRITE8_DEVICE_HANDLER( hyprolyb_adpcm_w )
{
hyprolyb_adpcm_state *state = get_safe_token(device);
driver_device *drvstate = device->machine().driver_data<driver_device>();
drvstate->soundlatch2_w(*state->m_space, offset, data);
drvstate->soundlatch2_byte_w(*state->m_space, offset, data);
state->m_adpcm_ready = 0x80;
}
@ -86,7 +86,7 @@ static READ8_DEVICE_HANDLER( hyprolyb_adpcm_data_r )
hyprolyb_adpcm_state *state = get_safe_token(device);
driver_device *drvstate = device->machine().driver_data<driver_device>();
state->m_adpcm_ready = 0x00;
return drvstate->soundlatch2_r(*state->m_space, offset);
return drvstate->soundlatch2_byte_r(*state->m_space, offset);
}
static ADDRESS_MAP_START( hyprolyb_adpcm_map, AS_PROGRAM, 8, driver_device )

View File

@ -66,7 +66,7 @@ WRITE8_HANDLER( irem_sound_cmd_w )
{
driver_device *drvstate = space->machine().driver_data<driver_device>();
if ((data & 0x80) == 0)
drvstate->soundlatch_w(*space, 0, data & 0x7f);
drvstate->soundlatch_byte_w(*space, 0, data & 0x7f);
else
cputag_set_input_line(space->machine(), "iremsound", 0, ASSERT_LINE);
}
@ -251,7 +251,7 @@ static const ay8910_interface irem_ay8910_interface_1 =
{
AY8910_SINGLE_OUTPUT | AY8910_DISCRETE_OUTPUT,
{470, 0, 0},
DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_DRIVER_MEMBER(driver_device, soundlatch_byte_r),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_DEVICE_HANDLER("irem_audio", ay8910_0_portb_w)

View File

@ -154,7 +154,7 @@ WRITE16_DEVICE_HANDLER( m72_sound_command_w )
{
m72_audio_state *state = get_safe_token(device);
driver_device *drvstate = device->machine().driver_data<driver_device>();
drvstate->soundlatch_w(*state->space, offset, data);
drvstate->soundlatch_byte_w(*state->space, offset, data);
device->machine().scheduler().synchronize(FUNC(setvector_callback), Z80_ASSERT, state);
}
}
@ -163,7 +163,7 @@ WRITE8_DEVICE_HANDLER( m72_sound_command_byte_w )
{
m72_audio_state *state = get_safe_token(device);
driver_device *drvstate = device->machine().driver_data<driver_device>();
drvstate->soundlatch_w(*state->space, offset, data);
drvstate->soundlatch_byte_w(*state->space, offset, data);
device->machine().scheduler().synchronize(FUNC(setvector_callback), Z80_ASSERT, state);
}

View File

@ -22,17 +22,17 @@
#define ACTIVELOW_PORT_BIT(P,A,D) ((P & (~(1 << A))) | ((D ^ 1) << A))
#define ACTIVEHIGH_PORT_BIT(P,A,D) ((P & (~(1 << A))) | (D << A))
#define I8035_T_R(M,N) ((state->soundlatch2_r(M,0) >> (N)) & 1)
#define I8035_T_W_AH(M,N,D) do { state->m_portT = ACTIVEHIGH_PORT_BIT(state->m_portT,N,D); state->soundlatch2_w(M, 0, state->m_portT); } while (0)
#define I8035_T_R(M,N) ((state->soundlatch2_byte_r(M,0) >> (N)) & 1)
#define I8035_T_W_AH(M,N,D) do { state->m_portT = ACTIVEHIGH_PORT_BIT(state->m_portT,N,D); state->soundlatch2_byte_w(M, 0, state->m_portT); } while (0)
#define I8035_P1_R(M) (state->soundlatch3_r(M,0))
#define I8035_P2_R(M) (state->soundlatch4_r(M,0))
#define I8035_P1_W(M,D) state->soundlatch3_w(M,0,D)
#define I8035_P1_R(M) (state->soundlatch3_byte_r(M,0))
#define I8035_P2_R(M) (state->soundlatch4_byte_r(M,0))
#define I8035_P1_W(M,D) state->soundlatch3_byte_w(M,0,D)
#if (USE_8039)
#define I8035_P2_W(M,D) do { state->soundlatch4_w(M,0,D); } while (0)
#define I8035_P2_W(M,D) do { state->soundlatch4_byte_w(M,0,D); } while (0)
#else
#define I8035_P2_W(M,D) do { set_ea(M, ((D) & 0x20) ? 0 : 1); state->soundlatch4_w(M,0,D); } while (0)
#define I8035_P2_W(M,D) do { set_ea(M, ((D) & 0x20) ? 0 : 1); state->soundlatch4_byte_w(M,0,D); } while (0)
#endif
#define I8035_P1_W_AH(M,B,D) I8035_P1_W(M,ACTIVEHIGH_PORT_BIT(I8035_P1_R(M),B,(D)))
@ -444,10 +444,10 @@ static SOUND_RESET( mario )
#endif
/* FIXME: convert to latch8 */
state->soundlatch_clear_w(*space, 0, 0);
state->soundlatch2_clear_w(*space, 0, 0);
state->soundlatch3_clear_w(*space, 0, 0);
state->soundlatch4_clear_w(*space, 0, 0);
state->soundlatch_clear_byte_w(*space, 0, 0);
state->soundlatch2_clear_byte_w(*space, 0, 0);
state->soundlatch3_clear_byte_w(*space, 0, 0);
state->soundlatch4_clear_byte_w(*space, 0, 0);
I8035_P1_W(*space, 0x00); /* Input port */
I8035_P2_W(*space, 0xff); /* Port is in high impedance state after reset */
@ -492,7 +492,7 @@ static READ8_HANDLER( mario_sh_tune_r )
UINT8 p2 = I8035_P2_R(*space);
if ((p2 >> 7) & 1)
return state->soundlatch_r(*space, offset);
return state->soundlatch_byte_r(*space, offset);
else
return (SND[(0x1000 + (p2 & 0x0f) * 256 + offset) & mask]);
}
@ -536,7 +536,7 @@ WRITE8_HANDLER( masao_sh_irqtrigger_w )
WRITE8_HANDLER( mario_sh_tuneselect_w )
{
mario_state *state = space->machine().driver_data<mario_state>();
state->soundlatch_w(*space, offset, data);
state->soundlatch_byte_w(*space, offset, data);
}
/* Sound 0 and 1 are pulsed !*/
@ -626,7 +626,7 @@ static const ay8910_interface ay8910_config =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_DRIVER_MEMBER(driver_device, soundlatch_byte_r),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL

View File

@ -66,7 +66,7 @@ WRITE8_HANDLER( redalert_audio_command_w )
{
redalert_state *state = space->machine().driver_data<redalert_state>();
/* the byte is connected to port A of the AY8910 */
state->soundlatch_w(*space, 0, data);
state->soundlatch_byte_w(*space, 0, data);
/* D7 is also connected to the NMI input of the CPU -
the NMI is actually toggled by a 74121 */
@ -119,7 +119,7 @@ static const ay8910_interface redalert_ay8910_interface =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_DRIVER_MEMBER(driver_device, soundlatch_byte_r),
DEVCB_NULL, /* port A/B read */
DEVCB_NULL,
DEVCB_HANDLER(redalert_analog_w) /* port A/B write */
@ -158,7 +158,7 @@ static SOUND_START( redalert_audio )
WRITE8_HANDLER( redalert_voice_command_w )
{
redalert_state *state = space->machine().driver_data<redalert_state>();
state->soundlatch2_w(*space, 0, (data & 0x78) >> 3);
state->soundlatch2_byte_w(*space, 0, (data & 0x78) >> 3);
cputag_set_input_line(space->machine(), "voice", I8085_RST75_LINE, (~data & 0x80) ? ASSERT_LINE : CLEAR_LINE);
}
@ -188,7 +188,7 @@ static ADDRESS_MAP_START( redalert_voice_map, AS_PROGRAM, 8, driver_device )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x7fff) AM_NOP
AM_RANGE(0x8000, 0x83ff) AM_MIRROR(0x3c00) AM_RAM
AM_RANGE(0xc000, 0xc000) AM_MIRROR(0x3fff) AM_READ(soundlatch2_r) AM_WRITENOP
AM_RANGE(0xc000, 0xc000) AM_MIRROR(0x3fff) AM_READ(soundlatch2_byte_r) AM_WRITENOP
ADDRESS_MAP_END
@ -286,7 +286,7 @@ WRITE8_HANDLER( demoneye_audio_command_w )
{
redalert_state *state = space->machine().driver_data<redalert_state>();
/* the byte is connected to port A of the AY8910 */
state->soundlatch_w(*space, 0, data);
state->soundlatch_byte_w(*space, 0, data);
cputag_set_input_line(space->machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
}
@ -359,7 +359,7 @@ static const ay8910_interface demoneye_ay8910_interface =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_DRIVER_MEMBER(driver_device, soundlatch_byte_r),
DEVCB_NULL, /* port A/B read */
DEVCB_NULL,
DEVCB_NULL /* port A/B write */

View File

@ -126,7 +126,7 @@ READ8_DEVICE_HANDLER( hotshock_soundlatch_r )
{
driver_device *drvstate = device->machine().driver_data<driver_device>();
cputag_set_input_line(device->machine(), "audiocpu", 0, CLEAR_LINE);
return drvstate->soundlatch_r(*device->machine().device("audiocpu")->memory().space(AS_PROGRAM),0);
return drvstate->soundlatch_byte_r(*device->machine().device("audiocpu")->memory().space(AS_PROGRAM),0);
}
static void filter_w(device_t *device, int data)

View File

@ -198,7 +198,7 @@ static const ay8910_interface timeplt_ay8910_interface =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_DRIVER_MEMBER(driver_device, soundlatch_byte_r),
DEVCB_DEVICE_HANDLER("timeplt_audio", timeplt_portB_r),
DEVCB_NULL,
DEVCB_NULL

View File

@ -544,7 +544,7 @@ static READ8_HANDLER( narc_command_r )
driver_device *drvstate = space->machine().driver_data<driver_device>();
device_set_input_line(state->sound_cpu, M6809_IRQ_LINE, CLEAR_LINE);
state->sound_int_state = 0;
return drvstate->soundlatch_r(*space, 0);
return drvstate->soundlatch_byte_r(*space, 0);
}
@ -552,7 +552,7 @@ static WRITE8_HANDLER( narc_command2_w )
{
williams_audio_state *state = &audio;
driver_device *drvstate = space->machine().driver_data<driver_device>();
drvstate->soundlatch2_w(*space, 0, data & 0xff);
drvstate->soundlatch2_byte_w(*space, 0, data & 0xff);
device_set_input_line(state->soundalt_cpu, M6809_FIRQ_LINE, ASSERT_LINE);
}
@ -562,7 +562,7 @@ static READ8_HANDLER( narc_command2_r )
williams_audio_state *state = &audio;
driver_device *drvstate = space->machine().driver_data<driver_device>();
device_set_input_line(state->soundalt_cpu, M6809_FIRQ_LINE, CLEAR_LINE);
return drvstate->soundlatch2_r(*space, 0);
return drvstate->soundlatch2_byte_r(*space, 0);
}
@ -619,7 +619,7 @@ void williams_narc_data_w(running_machine &machine, int data)
device_t *sound_cpu = state->sound_cpu;
address_space *space = sound_cpu->memory().space(AS_PROGRAM);
driver_device *drvstate = space->machine().driver_data<driver_device>();
drvstate->soundlatch_w(*space, 0, data & 0xff);
drvstate->soundlatch_byte_w(*space, 0, data & 0xff);
device_set_input_line(sound_cpu, INPUT_LINE_NMI, (data & 0x100) ? CLEAR_LINE : ASSERT_LINE);
if (!(data & 0x200))
{
@ -697,7 +697,7 @@ static READ8_HANDLER( adpcm_command_r )
self-tests to pass */
space->machine().scheduler().timer_set(attotime::from_usec(10), FUNC(clear_irq_state));
driver_device *drvstate = space->machine().driver_data<driver_device>();
return drvstate->soundlatch_r(*space, 0);
return drvstate->soundlatch_byte_r(*space, 0);
}
@ -720,7 +720,7 @@ void williams_adpcm_data_w(running_machine &machine, int data)
device_t *sound_cpu = state->sound_cpu;
address_space *space = sound_cpu->memory().space(AS_PROGRAM);
driver_device *drvstate = space->machine().driver_data<driver_device>();
drvstate->soundlatch_w(*space, 0, data & 0xff);
drvstate->soundlatch_byte_w(*space, 0, data & 0xff);
if (!(data & 0x200))
{
device_set_input_line(sound_cpu, M6809_IRQ_LINE, ASSERT_LINE);

View File

@ -94,7 +94,7 @@ static ADDRESS_MAP_START( c1942_map, AS_PROGRAM, 8, _1942_state )
AM_RANGE(0xc002, 0xc002) AM_READ_PORT("P2")
AM_RANGE(0xc003, 0xc003) AM_READ_PORT("DSWA")
AM_RANGE(0xc004, 0xc004) AM_READ_PORT("DSWB")
AM_RANGE(0xc800, 0xc800) AM_WRITE(soundlatch_w)
AM_RANGE(0xc800, 0xc800) AM_WRITE(soundlatch_byte_w)
AM_RANGE(0xc802, 0xc803) AM_WRITE(c1942_scroll_w)
AM_RANGE(0xc804, 0xc804) AM_WRITE(c1942_c804_w)
AM_RANGE(0xc805, 0xc805) AM_WRITE(c1942_palette_bank_w)
@ -108,7 +108,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, _1942_state )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_r)
AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_byte_r)
AM_RANGE(0x8000, 0x8001) AM_DEVWRITE_LEGACY("ay1", ay8910_address_data_w)
AM_RANGE(0xc000, 0xc001) AM_DEVWRITE_LEGACY("ay2", ay8910_address_data_w)
ADDRESS_MAP_END

View File

@ -59,7 +59,7 @@ static ADDRESS_MAP_START( c1943_map, AS_PROGRAM, 8, _1943_state )
AM_RANGE(0xc003, 0xc003) AM_READ_PORT("DSWA")
AM_RANGE(0xc004, 0xc004) AM_READ_PORT("DSWB")
AM_RANGE(0xc007, 0xc007) AM_READ(c1943_protection_r)
AM_RANGE(0xc800, 0xc800) AM_WRITE(soundlatch_w)
AM_RANGE(0xc800, 0xc800) AM_WRITE(soundlatch_byte_w)
AM_RANGE(0xc804, 0xc804) AM_WRITE(c1943_c804_w) // ROM bank switch, screen flip
AM_RANGE(0xc806, 0xc806) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xc807, 0xc807) AM_WRITENOP // ???
@ -80,7 +80,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, _1943_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xc800) AM_READ(soundlatch_r)
AM_RANGE(0xc800, 0xc800) AM_READ(soundlatch_byte_r)
AM_RANGE(0xe000, 0xe001) AM_DEVWRITE_LEGACY("ym1", ym2203_w)
AM_RANGE(0xe002, 0xe003) AM_DEVWRITE_LEGACY("ym2", ym2203_w)
ADDRESS_MAP_END

View File

@ -236,7 +236,7 @@ static TIMER_CALLBACK( nmi_callback )
WRITE8_MEMBER(fortyl_state::sound_command_w)
{
soundlatch_w(space, 0, data);
soundlatch_byte_w(space, 0, data);
machine().scheduler().synchronize(FUNC(nmi_callback), data);
}
@ -750,7 +750,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, fortyl_state )
AM_RANGE(0xca00, 0xca0d) AM_DEVWRITE_LEGACY("msm", msm5232_w)
AM_RANGE(0xcc00, 0xcc00) AM_DEVWRITE_LEGACY("msm", sound_control_0_w)
AM_RANGE(0xce00, 0xce00) AM_DEVWRITE_LEGACY("msm", sound_control_1_w)
AM_RANGE(0xd800, 0xd800) AM_READ(soundlatch_r) AM_WRITE(to_main_w)
AM_RANGE(0xd800, 0xd800) AM_READ(soundlatch_byte_r) AM_WRITE(to_main_w)
AM_RANGE(0xda00, 0xda00) AM_READNOP AM_WRITE(nmi_enable_w) /* unknown read */
AM_RANGE(0xdc00, 0xdc00) AM_WRITE(nmi_disable_w)
AM_RANGE(0xde00, 0xde00) AM_READNOP AM_DEVWRITE_LEGACY("dac", dac_signed_w) /* signed 8-bit DAC - unknown read */

View File

@ -134,7 +134,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, _88games_state )
AM_RANGE(0x3800, 0x3fff) AM_READWRITE(bankedram_r, bankedram_w) AM_BASE(m_ram)
AM_RANGE(0x5f84, 0x5f84) AM_WRITE(k88games_5f84_w)
AM_RANGE(0x5f88, 0x5f88) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x5f8c, 0x5f8c) AM_WRITE(soundlatch_w)
AM_RANGE(0x5f8c, 0x5f8c) AM_WRITE(soundlatch_byte_w)
AM_RANGE(0x5f90, 0x5f90) AM_WRITE(k88games_sh_irqtrigger_w)
AM_RANGE(0x5f94, 0x5f94) AM_READ_PORT("IN0")
AM_RANGE(0x5f95, 0x5f95) AM_READ_PORT("IN1")
@ -150,7 +150,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, _88games_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_WRITE(speech_msg_w)
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_byte_r)
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0xe000, 0xe000) AM_WRITE(speech_control_w)
ADDRESS_MAP_END

View File

@ -55,7 +55,7 @@ READ8_MEMBER(actfancr_state::triothep_control_r)
WRITE8_MEMBER(actfancr_state::actfancr_sound_w)
{
soundlatch_w(space, 0, data & 0xff);
soundlatch_byte_w(space, 0, data & 0xff);
device_set_input_line(m_audiocpu, INPUT_LINE_NMI, PULSE_LINE);
}
@ -118,7 +118,7 @@ static ADDRESS_MAP_START( dec0_s_map, AS_PROGRAM, 8, actfancr_state )
AM_RANGE(0x0000, 0x07ff) AM_RAM
AM_RANGE(0x0800, 0x0801) AM_DEVWRITE_LEGACY("ym1", ym2203_w)
AM_RANGE(0x1000, 0x1001) AM_DEVWRITE_LEGACY("ym2", ym3812_w)
AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_r)
AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_byte_r)
AM_RANGE(0x3800, 0x3800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0x4000, 0xffff) AM_ROM
ADDRESS_MAP_END

View File

@ -83,8 +83,8 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, aeroboto_state )
AM_RANGE(0x2900, 0x2fff) AM_WRITENOP // cleared along with sprite RAM
AM_RANGE(0x2973, 0x2973) AM_READ(aeroboto_2973_r) // protection read
AM_RANGE(0x3000, 0x3000) AM_READWRITE(aeroboto_in0_r, aeroboto_3000_w)
AM_RANGE(0x3001, 0x3001) AM_READ_PORT("DSW1") AM_WRITE(soundlatch_w)
AM_RANGE(0x3002, 0x3002) AM_READ_PORT("DSW2") AM_WRITE(soundlatch2_w)
AM_RANGE(0x3001, 0x3001) AM_READ_PORT("DSW1") AM_WRITE(soundlatch_byte_w)
AM_RANGE(0x3002, 0x3002) AM_READ_PORT("DSW2") AM_WRITE(soundlatch2_byte_w)
AM_RANGE(0x3003, 0x3003) AM_WRITEONLY AM_BASE(m_vscroll)
AM_RANGE(0x3004, 0x3004) AM_READ(aeroboto_201_r) AM_WRITEONLY AM_BASE(m_starx)
AM_RANGE(0x3005, 0x3005) AM_WRITEONLY AM_BASE(m_stary) // usable but probably wrong
@ -217,8 +217,8 @@ static const ay8910_interface ay8910_config =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_DRIVER_MEMBER(driver_device, soundlatch2_r),
DEVCB_DRIVER_MEMBER(driver_device, soundlatch_byte_r),
DEVCB_DRIVER_MEMBER(driver_device, soundlatch2_byte_r),
DEVCB_NULL,
DEVCB_NULL
};

View File

@ -71,7 +71,7 @@ WRITE16_MEMBER(aerofgt_state::sound_command_w)
if (ACCESSING_BITS_0_7)
{
m_pending_command = 1;
soundlatch_w(space, offset, data & 0xff);
soundlatch_byte_w(space, offset, data & 0xff);
device_set_input_line(m_audiocpu, INPUT_LINE_NMI, PULSE_LINE);
}
}
@ -81,7 +81,7 @@ WRITE16_MEMBER(aerofgt_state::turbofrc_sound_command_w)
if (ACCESSING_BITS_8_15)
{
m_pending_command = 1;
soundlatch_w(space, offset, (data >> 8) & 0xff);
soundlatch_byte_w(space, offset, (data >> 8) & 0xff);
device_set_input_line(m_audiocpu, INPUT_LINE_NMI, PULSE_LINE);
}
}
@ -90,7 +90,7 @@ WRITE16_MEMBER(aerofgt_state::aerfboot_soundlatch_w)
{
if(ACCESSING_BITS_8_15)
{
soundlatch_w(space, 0, (data >> 8) & 0xff);
soundlatch_byte_w(space, 0, (data >> 8) & 0xff);
device_set_input_line(m_audiocpu, INPUT_LINE_NMI, PULSE_LINE);
}
}
@ -385,7 +385,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( turbofrc_sound_portmap, AS_IO, 8, aerofgt_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(aerofgt_sh_bankswitch_w)
AM_RANGE(0x14, 0x14) AM_READ(soundlatch_r) AM_WRITE(pending_command_clear_w)
AM_RANGE(0x14, 0x14) AM_READ(soundlatch_byte_r) AM_WRITE(pending_command_clear_w)
AM_RANGE(0x18, 0x1b) AM_DEVREADWRITE_LEGACY("ymsnd", ym2610_r, ym2610_w)
ADDRESS_MAP_END
@ -394,7 +394,7 @@ static ADDRESS_MAP_START( aerofgt_sound_portmap, AS_IO, 8, aerofgt_state )
AM_RANGE(0x00, 0x03) AM_DEVREADWRITE_LEGACY("ymsnd", ym2610_r, ym2610_w)
AM_RANGE(0x04, 0x04) AM_WRITE(aerofgt_sh_bankswitch_w)
AM_RANGE(0x08, 0x08) AM_WRITE(pending_command_clear_w)
AM_RANGE(0x0c, 0x0c) AM_READ(soundlatch_r)
AM_RANGE(0x0c, 0x0c) AM_READ(soundlatch_byte_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( aerfboot_sound_map, AS_PROGRAM, 8, aerofgt_state )
@ -402,7 +402,7 @@ static ADDRESS_MAP_START( aerfboot_sound_map, AS_PROGRAM, 8, aerofgt_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_WRITE(aerfboot_okim6295_banking_w)
AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_byte_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( wbbc97_sound_map, AS_PROGRAM, 8, aerofgt_state )
@ -411,7 +411,7 @@ static ADDRESS_MAP_START( wbbc97_sound_map, AS_PROGRAM, 8, aerofgt_state )
AM_RANGE(0xf800, 0xf800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0xf810, 0xf811) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)
AM_RANGE(0xfc00, 0xfc00) AM_NOP
AM_RANGE(0xfc20, 0xfc20) AM_READ(soundlatch_r)
AM_RANGE(0xfc20, 0xfc20) AM_READ(soundlatch_byte_r)
ADDRESS_MAP_END
static INPUT_PORTS_START( pspikes )

View File

@ -295,25 +295,25 @@ READ8_MEMBER(airbustr_state::soundcommand_status_r)
READ8_MEMBER(airbustr_state::soundcommand_r)
{
m_soundlatch_status = 0; // soundlatch has been read
return soundlatch_r(space, 0);
return soundlatch_byte_r(space, 0);
}
READ8_MEMBER(airbustr_state::soundcommand2_r)
{
m_soundlatch2_status = 0; // soundlatch2 has been read
return soundlatch2_r(space, 0);
return soundlatch2_byte_r(space, 0);
}
WRITE8_MEMBER(airbustr_state::soundcommand_w)
{
soundlatch_w(space, 0, data);
soundlatch_byte_w(space, 0, data);
m_soundlatch_status = 1; // soundlatch has been written
device_set_input_line(m_audiocpu, INPUT_LINE_NMI, PULSE_LINE); // cause a nmi to sub cpu
}
WRITE8_MEMBER(airbustr_state::soundcommand2_w)
{
soundlatch2_w(space, 0, data);
soundlatch2_byte_w(space, 0, data);
m_soundlatch2_status = 1; // soundlatch2 has been written
}

View File

@ -56,7 +56,7 @@ static ADDRESS_MAP_START( ajax_sound_map, AS_PROGRAM, 8, ajax_state )
AM_RANGE(0xb80c, 0xb80c) AM_DEVWRITE_LEGACY("k007232_2", k007232_extvol_w) /* extra volume, goes to the 007232 w/ A11 */
/* selecting a different latch for the external port */
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w) /* YM2151 */
AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r) /* soundlatch_r */
AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_byte_r) /* soundlatch_byte_r */
ADDRESS_MAP_END

View File

@ -69,7 +69,7 @@ WRITE8_MEMBER(aliens_state::aliens_coin_counter_w)
WRITE8_MEMBER(aliens_state::aliens_sh_irqtrigger_w)
{
soundlatch_w(space, offset, data);
soundlatch_byte_w(space, offset, data);
device_set_input_line_and_vector(m_audiocpu, 0, HOLD_LINE, 0xff);
}
@ -133,7 +133,7 @@ static ADDRESS_MAP_START( aliens_sound_map, AS_PROGRAM, 8, aliens_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM /* ROM g04_b03.bin */
AM_RANGE(0x8000, 0x87ff) AM_RAM /* RAM */
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0xc000, 0xc000) AM_READ(soundlatch_r) /* soundlatch_r */
AM_RANGE(0xc000, 0xc000) AM_READ(soundlatch_byte_r) /* soundlatch_byte_r */
AM_RANGE(0xe000, 0xe00d) AM_DEVREADWRITE_LEGACY("k007232", k007232_r, k007232_w)
ADDRESS_MAP_END

View File

@ -296,20 +296,20 @@ READ16_MEMBER(alpha68k_state::jongbou_inputs_r)
WRITE16_MEMBER(alpha68k_state::kyros_sound_w)
{
if(ACCESSING_BITS_8_15)
soundlatch_w(space, 0, (data >> 8) & 0xff);
soundlatch_byte_w(space, 0, (data >> 8) & 0xff);
}
WRITE16_MEMBER(alpha68k_state::alpha68k_II_sound_w)
{
if(ACCESSING_BITS_0_7)
soundlatch_w(space, 0, data & 0xff);
soundlatch_byte_w(space, 0, data & 0xff);
}
WRITE16_MEMBER(alpha68k_state::alpha68k_V_sound_w)
{
/* Sound & fix bank select are in the same word */
if(ACCESSING_BITS_0_7)
soundlatch_w(space, 0, data & 0xff);
soundlatch_byte_w(space, 0, data & 0xff);
if(ACCESSING_BITS_8_15)
alpha68k_V_video_bank_w(machine(), (data >> 8) & 0xff);
}
@ -319,7 +319,7 @@ WRITE16_MEMBER(alpha68k_state::paddlema_soundlatch_w)
if (ACCESSING_BITS_0_7)
{
soundlatch_w(space, 0, data);
soundlatch_byte_w(space, 0, data);
device_set_input_line(m_audiocpu, 0, HOLD_LINE);
}
}
@ -329,7 +329,7 @@ WRITE16_MEMBER(alpha68k_state::tnextspc_soundlatch_w)
if (ACCESSING_BITS_0_7)
{
soundlatch_w(space, 0, data);
soundlatch_byte_w(space, 0, data);
device_set_input_line(m_audiocpu, INPUT_LINE_NMI, PULSE_LINE);
}
}
@ -750,8 +750,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( kyros_sound_map, AS_PROGRAM, 8, alpha68k_state )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
AM_RANGE(0xe002, 0xe002) AM_WRITE(soundlatch_clear_w)
AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_byte_r)
AM_RANGE(0xe002, 0xe002) AM_WRITE(soundlatch_clear_byte_w)
AM_RANGE(0xe004, 0xe004) AM_DEVWRITE_LEGACY("dac", dac_signed_w)
AM_RANGE(0xe006, 0xe00e) AM_WRITENOP // soundboard I/O's, ignored
/* reference only
@ -766,8 +766,8 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sstingry_sound_map, AS_PROGRAM, 8, alpha68k_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xc100, 0xc100) AM_READ(soundlatch_r)
AM_RANGE(0xc102, 0xc102) AM_WRITE(soundlatch_clear_w)
AM_RANGE(0xc100, 0xc100) AM_READ(soundlatch_byte_r)
AM_RANGE(0xc102, 0xc102) AM_WRITE(soundlatch_clear_byte_w)
AM_RANGE(0xc104, 0xc104) AM_DEVWRITE_LEGACY("dac", dac_signed_w)
AM_RANGE(0xc106, 0xc10e) AM_WRITENOP // soundboard I/O's, ignored
ADDRESS_MAP_END
@ -779,7 +779,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( alpha68k_I_s_map, AS_PROGRAM, 8, alpha68k_state )
AM_RANGE(0x0000, 0x9fff) AM_ROM
AM_RANGE(0xe000, 0xe000) AM_READWRITE(soundlatch_r, soundlatch_clear_w)
AM_RANGE(0xe000, 0xe000) AM_READWRITE(soundlatch_byte_r, soundlatch_clear_byte_w)
AM_RANGE(0xe800, 0xe800) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_status_port_r, ym3812_control_port_w)
AM_RANGE(0xec00, 0xec00) AM_DEVWRITE_LEGACY("ymsnd", ym3812_write_port_w)
AM_RANGE(0xf000, 0xf7ff) AM_RAM
@ -790,12 +790,12 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( tnextspc_sound_map, AS_PROGRAM, 8, alpha68k_state )
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xf800) AM_READWRITE(soundlatch_r, soundlatch_clear_w)
AM_RANGE(0xf800, 0xf800) AM_READWRITE(soundlatch_byte_r, soundlatch_clear_byte_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, alpha68k_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READWRITE(soundlatch_r, soundlatch_clear_w)
AM_RANGE(0x00, 0x00) AM_READWRITE(soundlatch_byte_r, soundlatch_clear_byte_w)
AM_RANGE(0x08, 0x08) AM_DEVWRITE_LEGACY("dac", dac_signed_w)
AM_RANGE(0x0a, 0x0b) AM_DEVWRITE_LEGACY("ym2", ym2413_w)
AM_RANGE(0x0c, 0x0d) AM_DEVWRITE_LEGACY("ym1", ym2203_w)
@ -815,7 +815,7 @@ static ADDRESS_MAP_START( jongbou_sound_portmap, AS_IO, 8, alpha68k_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_DEVWRITE_LEGACY("aysnd", ay8910_address_w)
AM_RANGE(0x01, 0x01) AM_DEVREADWRITE_LEGACY("aysnd", ay8910_r, ay8910_data_w)
AM_RANGE(0x02, 0x02) AM_WRITE(soundlatch_clear_w)
AM_RANGE(0x02, 0x02) AM_WRITE(soundlatch_clear_byte_w)
AM_RANGE(0x06, 0x06) AM_WRITENOP
ADDRESS_MAP_END
@ -1823,7 +1823,7 @@ static const ay8910_interface ay8910_config =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r)
DEVCB_DRIVER_MEMBER(driver_device, soundlatch_byte_r)
};
WRITE8_MEMBER(alpha68k_state::porta_w)
@ -1847,7 +1847,7 @@ static const ym2203_interface ym2203_config =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_DRIVER_MEMBER(driver_device, soundlatch_byte_r),
DEVCB_NULL,
DEVCB_DRIVER_MEMBER(alpha68k_state, porta_w),
DEVCB_NULL

View File

@ -69,7 +69,7 @@ static READ8_DEVICE_HANDLER( amspdwy_sound_r )
WRITE8_MEMBER(amspdwy_state::amspdwy_sound_w)
{
soundlatch_w(space, 0, data);
soundlatch_byte_w(space, 0, data);
device_set_input_line(m_audiocpu, INPUT_LINE_NMI, PULSE_LINE);
}
@ -114,7 +114,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( amspdwy_sound_map, AS_PROGRAM, 8, amspdwy_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM // ROM
// AM_RANGE(0x8000, 0x8000) AM_WRITENOP // ? Written with 0 at the start
AM_RANGE(0x9000, 0x9000) AM_READ(soundlatch_r) // From Main CPU
AM_RANGE(0x9000, 0x9000) AM_READ(soundlatch_byte_r) // From Main CPU
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w) //
AM_RANGE(0xc000, 0xdfff) AM_RAM // Work RAM
AM_RANGE(0xffff, 0xffff) AM_READNOP // ??? IY = FFFF at the start ?

View File

@ -62,7 +62,7 @@ WRITE16_MEMBER(aquarium_state::aquarium_sound_w)
{
// popmessage("sound write %04x",data);
soundlatch_w(space, 1, data & 0xff);
soundlatch_byte_w(space, 1, data & 0xff);
device_set_input_line(m_audiocpu, INPUT_LINE_NMI, PULSE_LINE );
}
@ -131,7 +131,7 @@ static ADDRESS_MAP_START( snd_portmap, AS_IO, 8, aquarium_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0x02, 0x02) AM_READWRITE(aquarium_oki_r, aquarium_oki_w)
AM_RANGE(0x04, 0x04) AM_READ(soundlatch_r)
AM_RANGE(0x04, 0x04) AM_READ(soundlatch_byte_r)
AM_RANGE(0x06, 0x06) AM_WRITE(aquarium_snd_ack_w)
AM_RANGE(0x08, 0x08) AM_WRITE(aquarium_z80_bank_w)
ADDRESS_MAP_END

View File

@ -198,7 +198,7 @@ static ADDRESS_MAP_START( argus_map, AS_PROGRAM, 8, argus_state )
AM_RANGE(0xc002, 0xc002) AM_READ_PORT("P2")
AM_RANGE(0xc003, 0xc003) AM_READ_PORT("DSW1")
AM_RANGE(0xc004, 0xc004) AM_READ_PORT("DSW2")
AM_RANGE(0xc200, 0xc200) AM_WRITE(soundlatch_w)
AM_RANGE(0xc200, 0xc200) AM_WRITE(soundlatch_byte_w)
AM_RANGE(0xc201, 0xc201) AM_WRITE(argus_flipscreen_w)
AM_RANGE(0xc202, 0xc202) AM_WRITE(argus_bankselect_w)
AM_RANGE(0xc300, 0xc301) AM_RAM AM_BASE(m_bg0_scrollx)
@ -222,7 +222,7 @@ static ADDRESS_MAP_START( valtric_map, AS_PROGRAM, 8, argus_state )
AM_RANGE(0xc002, 0xc002) AM_READ_PORT("P2")
AM_RANGE(0xc003, 0xc003) AM_READ_PORT("DSW1")
AM_RANGE(0xc004, 0xc004) AM_READ_PORT("DSW2")
AM_RANGE(0xc200, 0xc200) AM_WRITE(soundlatch_w)
AM_RANGE(0xc200, 0xc200) AM_WRITE(soundlatch_byte_w)
AM_RANGE(0xc201, 0xc201) AM_WRITE(argus_flipscreen_w)
AM_RANGE(0xc202, 0xc202) AM_WRITE(argus_bankselect_w)
AM_RANGE(0xc300, 0xc300) AM_WRITE(valtric_unknown_w)
@ -247,7 +247,7 @@ static ADDRESS_MAP_START( butasan_map, AS_PROGRAM, 8, argus_state )
AM_RANGE(0xc003, 0xc003) AM_READ_PORT("DSW1")
AM_RANGE(0xc004, 0xc004) AM_READ_PORT("DSW2")
AM_RANGE(0xc100, 0xc100) AM_WRITE(butasan_unknown_w)
AM_RANGE(0xc200, 0xc200) AM_WRITE(soundlatch_w)
AM_RANGE(0xc200, 0xc200) AM_WRITE(soundlatch_byte_w)
AM_RANGE(0xc201, 0xc201) AM_WRITE(argus_flipscreen_w)
AM_RANGE(0xc202, 0xc202) AM_WRITE(argus_bankselect_w)
AM_RANGE(0xc203, 0xc203) AM_WRITE(butasan_pageselect_w)
@ -268,13 +268,13 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map_a, AS_PROGRAM, 8, argus_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xc000, 0xc000) AM_READ(soundlatch_r)
AM_RANGE(0xc000, 0xc000) AM_READ(soundlatch_byte_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map_b, AS_PROGRAM, 8, argus_state )
AM_RANGE(0x0000, 0xbfff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_byte_r)
ADDRESS_MAP_END
#if 0

View File

@ -361,12 +361,12 @@ WRITE16_MEMBER(armedf_state::bootleg_io_w)
WRITE16_MEMBER(armedf_state::sound_command_w)
{
if (ACCESSING_BITS_0_7)
soundlatch_w(space, 0, ((data & 0x7f) << 1) | 1);
soundlatch_byte_w(space, 0, ((data & 0x7f) << 1) | 1);
}
READ8_MEMBER(armedf_state::soundlatch_clear_r)
{
soundlatch_clear_w(space, 0, 0);
soundlatch_clear_byte_w(space, 0, 0);
return 0;
}
@ -758,7 +758,7 @@ static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, armedf_state )
AM_RANGE(0x2, 0x2) AM_DEVWRITE_LEGACY("dac1", dac_signed_w)
AM_RANGE(0x3, 0x3) AM_DEVWRITE_LEGACY("dac2", dac_signed_w)
AM_RANGE(0x4, 0x4) AM_READ(soundlatch_clear_r)
AM_RANGE(0x6, 0x6) AM_READ(soundlatch_r)
AM_RANGE(0x6, 0x6) AM_READ(soundlatch_byte_r)
ADDRESS_MAP_END

View File

@ -91,7 +91,7 @@ WRITE16_MEMBER(ashnojoe_state::ashnojoe_soundlatch_w)
if (ACCESSING_BITS_0_7)
{
m_soundlatch_status = 1;
soundlatch_w(space, 0, data & 0xff);
soundlatch_byte_w(space, 0, data & 0xff);
}
}
@ -126,7 +126,7 @@ WRITE8_MEMBER(ashnojoe_state::adpcm_w)
READ8_MEMBER(ashnojoe_state::sound_latch_r)
{
m_soundlatch_status = 0;
return soundlatch_r(space, 0);
return soundlatch_byte_r(space, 0);
}
READ8_MEMBER(ashnojoe_state::sound_latch_status_r)

View File

@ -522,7 +522,7 @@ static const ay8910_interface ay8912_interface =
WRITE8_MEMBER(astrocde_state::tenpindx_sound_w)
{
soundlatch_w(space, offset, data);
soundlatch_byte_w(space, offset, data);
cputag_set_input_line(machine(), "sub", INPUT_LINE_NMI, PULSE_LINE);
}
@ -708,7 +708,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( tenpin_sub_io_map, AS_IO, 8, astrocde_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x90, 0x93) AM_DEVREADWRITE_LEGACY("ctc", z80ctc_r, z80ctc_w)
AM_RANGE(0x97, 0x97) AM_READ(soundlatch_r)
AM_RANGE(0x97, 0x97) AM_READ(soundlatch_byte_r)
AM_RANGE(0x98, 0x98) AM_DEVWRITE_LEGACY("aysnd", ay8910_address_w)
AM_RANGE(0x98, 0x98) AM_DEVREAD_LEGACY("aysnd", ay8910_r)
AM_RANGE(0x9a, 0x9a) AM_DEVWRITE_LEGACY("aysnd", ay8910_data_w)

View File

@ -35,7 +35,7 @@ WRITE8_MEMBER(battlera_state::battlera_sound_w)
{
if (offset == 0)
{
soundlatch_w(space,0,data);
soundlatch_byte_w(space,0,data);
cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE);
}
}
@ -111,7 +111,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, battlera_state )
AM_RANGE(0x080000, 0x080001) AM_WRITE(battlera_adpcm_data_w)
AM_RANGE(0x1fe800, 0x1fe80f) AM_DEVWRITE_LEGACY("c6280", c6280_w)
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank7") /* Main ram */
AM_RANGE(0x1ff000, 0x1ff001) AM_READ(soundlatch_r) AM_DEVWRITE_LEGACY("msm", battlera_adpcm_reset_w)
AM_RANGE(0x1ff000, 0x1ff001) AM_READ(soundlatch_byte_r) AM_DEVWRITE_LEGACY("msm", battlera_adpcm_reset_w)
AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE_LEGACY(h6280_irq_status_w)
ADDRESS_MAP_END

View File

@ -70,7 +70,7 @@ static ADDRESS_MAP_START( battlnts_map, AS_PROGRAM, 8, battlnts_state )
AM_RANGE(0x2e08, 0x2e08) AM_WRITE(battlnts_bankswitch_w) /* bankswitch control */
AM_RANGE(0x2e0c, 0x2e0c) AM_WRITE(battlnts_spritebank_w) /* sprite bank select */
AM_RANGE(0x2e10, 0x2e10) AM_WRITE(watchdog_reset_w) /* watchdog reset */
AM_RANGE(0x2e14, 0x2e14) AM_WRITE(soundlatch_w) /* sound code # */
AM_RANGE(0x2e14, 0x2e14) AM_WRITE(soundlatch_byte_w) /* sound code # */
AM_RANGE(0x2e18, 0x2e18) AM_WRITE(battlnts_sh_irqtrigger_w) /* cause interrupt on audio CPU */
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank1") /* banked ROM */
AM_RANGE(0x8000, 0xffff) AM_ROM /* ROM 777e02.bin */
@ -81,7 +81,7 @@ static ADDRESS_MAP_START( battlnts_sound_map, AS_PROGRAM, 8, battlnts_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM /* RAM */
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE_LEGACY("ym1", ym3812_r, ym3812_w) /* YM3812 (chip 1) */
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE_LEGACY("ym2", ym3812_r, ym3812_w) /* YM3812 (chip 2) */
AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r) /* soundlatch_r */
AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_byte_r) /* soundlatch_byte_r */
ADDRESS_MAP_END
/*************************************

View File

@ -253,7 +253,7 @@ WRITE16_MEMBER(bbusters_state::sound_cpu_w)
{
if (ACCESSING_BITS_0_7)
{
soundlatch_w(space, 0, data&0xff);
soundlatch_byte_w(space, 0, data&0xff);
cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
}
}
@ -376,7 +376,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, bbusters_state )
AM_RANGE(0x0000, 0xefff) AM_ROM
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xf800) AM_READ(soundlatch_r) AM_WRITE(sound_status_w)
AM_RANGE(0xf800, 0xf800) AM_READ(soundlatch_byte_r) AM_WRITE(sound_status_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_portmap, AS_IO, 8, bbusters_state )

View File

@ -695,7 +695,7 @@ static ADDRESS_MAP_START( sc1_base, AS_PROGRAM, 8, bfm_sc1_state )
AM_RANGE(0x2E00, 0x2E00) AM_READ(irqlatch_r) // irq latch
AM_RANGE(0x3001, 0x3001) AM_READ(soundlatch_r)
AM_RANGE(0x3001, 0x3001) AM_READ(soundlatch_byte_r)
AM_RANGE(0x3001, 0x3001) AM_DEVWRITE_LEGACY("aysnd", ay8910_data_w)
AM_RANGE(0x3101, 0x3201) AM_DEVWRITE_LEGACY("aysnd", ay8910_address_w)

View File

@ -89,7 +89,7 @@ READ8_MEMBER(bingoc_state::sound_test_r)
#else
WRITE16_MEMBER(bingoc_state::main_sound_latch_w)
{
soundlatch_w(space,0,data&0xff);
soundlatch_byte_w(space,0,data&0xff);
cputag_set_input_line(machine(), "soundcpu", INPUT_LINE_NMI, PULSE_LINE);
}
#endif
@ -127,7 +127,7 @@ static ADDRESS_MAP_START( sound_io, AS_IO, 8, bingoc_state )
AM_RANGE(0x40, 0x40) AM_DEVWRITE_LEGACY("upd", bingoc_play_w)
AM_RANGE(0x80, 0x80) AM_DEVWRITE_LEGACY("upd", upd7759_port_w)
#if !SOUND_TEST
AM_RANGE(0xc0, 0xc0) AM_READ(soundlatch_r) //soundlatch
AM_RANGE(0xc0, 0xc0) AM_READ(soundlatch_byte_r) //soundlatch
#else
AM_RANGE(0xc0, 0xc0) AM_READ(sound_test_r)
#endif

View File

@ -102,7 +102,7 @@ WRITE16_MEMBER(bionicc_state::hacked_soundcommand_w)
{
COMBINE_DATA(&m_soundcommand);
soundlatch_w(space, 0, m_soundcommand & 0xff);
soundlatch_byte_w(space, 0, m_soundcommand & 0xff);
}
READ16_MEMBER(bionicc_state::hacked_soundcommand_r)
@ -164,7 +164,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, bionicc_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_byte_r)
AM_RANGE(0xc000, 0xc7ff) AM_RAM
ADDRESS_MAP_END

View File

@ -42,7 +42,7 @@ WRITE8_MEMBER(bking_state::bking_soundlatch_w)
if (data & (1 << i))
code |= 0x80 >> i;
soundlatch_w(space, offset, code);
soundlatch_byte_w(space, offset, code);
if (m_sound_nmi_enable)
device_set_input_line(m_audiocpu, INPUT_LINE_NMI, PULSE_LINE);
}
@ -133,7 +133,7 @@ static ADDRESS_MAP_START( bking_audio_map, AS_PROGRAM, 8, bking_state )
AM_RANGE(0x4401, 0x4401) AM_DEVREAD_LEGACY("ay1", ay8910_r)
AM_RANGE(0x4402, 0x4403) AM_DEVWRITE_LEGACY("ay2", ay8910_address_data_w)
AM_RANGE(0x4403, 0x4403) AM_DEVREAD_LEGACY("ay2", ay8910_r)
AM_RANGE(0x4800, 0x4800) AM_READ(soundlatch_r)
AM_RANGE(0x4800, 0x4800) AM_READ(soundlatch_byte_r)
AM_RANGE(0x4802, 0x4802) AM_READWRITE(bking_sndnmi_disable_r, bking_sndnmi_enable_w)
AM_RANGE(0xe000, 0xefff) AM_ROM /* Space for diagnostic ROM */
ADDRESS_MAP_END

View File

@ -90,7 +90,7 @@ WRITE8_MEMBER(bladestl_state::bladestl_bankswitch_w)
WRITE8_MEMBER(bladestl_state::bladestl_sh_irqtrigger_w)
{
soundlatch_w(space, offset, data);
soundlatch_byte_w(space, offset, data);
device_set_input_line(m_audiocpu, M6809_IRQ_LINE, HOLD_LINE);
//logerror("(sound) write %02x\n", data);
}
@ -146,7 +146,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, bladestl_state )
AM_RANGE(0x3000, 0x3000) AM_DEVWRITE_LEGACY("upd", bladestl_speech_ctrl_w) /* UPD7759 */
AM_RANGE(0x4000, 0x4000) AM_DEVREAD_LEGACY("upd", bladestl_speech_busy_r) /* UPD7759 */
AM_RANGE(0x5000, 0x5000) AM_WRITENOP /* ??? */
AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_r) /* soundlatch_r */
AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_byte_r) /* soundlatch_byte_r */
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END

View File

@ -80,7 +80,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( blktiger_io_map, AS_IO, 8, blktiger_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_WRITE(soundlatch_w)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_WRITE(soundlatch_byte_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1") AM_WRITE(blktiger_bankswitch_w)
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2")
AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW0") AM_WRITE(blktiger_coinlockout_w)
@ -97,7 +97,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( blktigerbl_io_map, AS_IO, 8, blktiger_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_WRITE(soundlatch_w)
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") AM_WRITE(soundlatch_byte_w)
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1") AM_WRITE(blktiger_bankswitch_w)
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2")
AM_RANGE(0x03, 0x03) AM_READ_PORT("DSW0") AM_WRITE(blktiger_coinlockout_w)
@ -115,7 +115,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( blktiger_sound_map, AS_PROGRAM, 8, blktiger_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xc800) AM_READ(soundlatch_r)
AM_RANGE(0xc800, 0xc800) AM_READ(soundlatch_byte_r)
AM_RANGE(0xe000, 0xe001) AM_DEVREADWRITE_LEGACY("ym1", ym2203_r, ym2203_w)
AM_RANGE(0xe002, 0xe003) AM_DEVREADWRITE_LEGACY("ym2", ym2203_r, ym2203_w)
ADDRESS_MAP_END

View File

@ -92,7 +92,7 @@ WRITE8_MEMBER(blockhl_state::k052109_051960_w)
static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, blockhl_state )
AM_RANGE(0x1f84, 0x1f84) AM_WRITE(soundlatch_w)
AM_RANGE(0x1f84, 0x1f84) AM_WRITE(soundlatch_byte_w)
AM_RANGE(0x1f88, 0x1f88) AM_WRITE(blockhl_sh_irqtrigger_w)
AM_RANGE(0x1f8c, 0x1f8c) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x1f94, 0x1f94) AM_READ_PORT("DSW3")
@ -110,7 +110,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, blockhl_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_byte_r)
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0xe00c, 0xe00d) AM_WRITENOP /* leftover from missing 007232? */
ADDRESS_MAP_END

View File

@ -79,7 +79,7 @@ WRITE16_MEMBER(blockout_state::blockout_sound_command_w)
if (ACCESSING_BITS_0_7)
{
soundlatch_w(space, offset, data & 0xff);
soundlatch_byte_w(space, offset, data & 0xff);
device_set_input_line(m_audiocpu, INPUT_LINE_NMI, PULSE_LINE);
}
}
@ -147,7 +147,7 @@ static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, blockout_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_byte_r)
ADDRESS_MAP_END

View File

@ -70,7 +70,7 @@ READ8_MEMBER(blueprnt_state::blueprnt_sh_dipsw_r)
WRITE8_MEMBER(blueprnt_state::blueprnt_sound_command_w)
{
soundlatch_w(space, offset, data);
soundlatch_byte_w(space, offset, data);
device_set_input_line(m_audiocpu, INPUT_LINE_NMI, PULSE_LINE);
}
@ -254,7 +254,7 @@ static const ay8910_interface ay8910_interface_1 =
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
DEVCB_NULL,
DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_DRIVER_MEMBER(driver_device, soundlatch_byte_r),
DEVCB_HANDLER(dipsw_w),
DEVCB_NULL
};

View File

@ -134,7 +134,7 @@ static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, boogwing_state )
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_device, read, write)
AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_device, read, write)
AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_byte_r)
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE_LEGACY(h6280_timer_w)
AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE_LEGACY(h6280_irq_status_w)

View File

@ -169,7 +169,7 @@ static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, bottom9_state )
AM_RANGE(0x1f80, 0x1f80) AM_WRITE(bankswitch_w)
AM_RANGE(0x1f90, 0x1f90) AM_WRITE(bottom9_1f90_w)
AM_RANGE(0x1fa0, 0x1fa0) AM_WRITE(watchdog_reset_w)
AM_RANGE(0x1fb0, 0x1fb0) AM_WRITE(soundlatch_w)
AM_RANGE(0x1fb0, 0x1fb0) AM_WRITE(soundlatch_byte_w)
AM_RANGE(0x1fc0, 0x1fc0) AM_WRITE(bottom9_sh_irqtrigger_w)
AM_RANGE(0x1fd0, 0x1fd0) AM_READ_PORT("SYSTEM")
AM_RANGE(0x1fd1, 0x1fd1) AM_READ_PORT("P1")
@ -190,7 +190,7 @@ static ADDRESS_MAP_START( audio_map, AS_PROGRAM, 8, bottom9_state )
AM_RANGE(0x9000, 0x9000) AM_WRITE(sound_bank_w)
AM_RANGE(0xa000, 0xa00d) AM_DEVREADWRITE_LEGACY("k007232_1", k007232_r, k007232_w)
AM_RANGE(0xb000, 0xb00d) AM_DEVREADWRITE_LEGACY("k007232_2", k007232_r, k007232_w)
AM_RANGE(0xd000, 0xd000) AM_READ(soundlatch_r)
AM_RANGE(0xd000, 0xd000) AM_READ(soundlatch_byte_r)
AM_RANGE(0xf000, 0xf000) AM_WRITE(nmi_enable_w)
ADDRESS_MAP_END

View File

@ -92,7 +92,7 @@ WRITE8_MEMBER(brkthru_state::darwin_0803_w)
WRITE8_MEMBER(brkthru_state::brkthru_soundlatch_w)
{
soundlatch_w(space, offset, data);
soundlatch_byte_w(space, offset, data);
device_set_input_line(m_audiocpu, INPUT_LINE_NMI, PULSE_LINE);
}
@ -151,7 +151,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, brkthru_state )
AM_RANGE(0x0000, 0x1fff) AM_RAM
AM_RANGE(0x2000, 0x2001) AM_DEVWRITE_LEGACY("ym2", ym3526_w)
AM_RANGE(0x4000, 0x4000) AM_READ(soundlatch_r)
AM_RANGE(0x4000, 0x4000) AM_READ(soundlatch_byte_r)
AM_RANGE(0x6000, 0x6001) AM_DEVREADWRITE_LEGACY("ym1", ym2203_r, ym2203_w)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END

View File

@ -511,7 +511,7 @@ static ADDRESS_MAP_START( disco_audio_map, AS_PROGRAM, 8, btime_state )
AM_RANGE(0x5000, 0x5fff) AM_DEVWRITE_LEGACY("ay1", ay8910_address_w)
AM_RANGE(0x6000, 0x6fff) AM_DEVWRITE_LEGACY("ay2", ay8910_data_w)
AM_RANGE(0x7000, 0x7fff) AM_DEVWRITE_LEGACY("ay2", ay8910_address_w)
AM_RANGE(0x8000, 0x8fff) AM_READ(soundlatch_r) AM_WRITENOP /* ack ? */
AM_RANGE(0x8000, 0x8fff) AM_READ(soundlatch_byte_r) AM_WRITENOP /* ack ? */
AM_RANGE(0xf000, 0xffff) AM_ROM
ADDRESS_MAP_END
@ -541,14 +541,14 @@ static INPUT_CHANGED( coin_inserted_nmi_lo )
WRITE8_MEMBER(btime_state::audio_command_w)
{
soundlatch_w(space, offset, data);
soundlatch_byte_w(space, offset, data);
device_set_input_line(m_audiocpu, 0, ASSERT_LINE);
}
READ8_MEMBER(btime_state::audio_command_r)
{
device_set_input_line(m_audiocpu, 0, CLEAR_LINE);
return soundlatch_r(space, offset);
return soundlatch_byte_r(space, offset);
}
READ8_MEMBER(btime_state::zoar_dsw1_read)

View File

@ -308,7 +308,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, bublbobl_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", ym3526_r, ym3526_w)
AM_RANGE(0xb000, 0xb000) AM_READ(soundlatch_r) AM_WRITE(bublbobl_sound_status_w)
AM_RANGE(0xb000, 0xb000) AM_READ(soundlatch_byte_r) AM_WRITE(bublbobl_sound_status_w)
AM_RANGE(0xb001, 0xb001) AM_WRITE(bublbobl_sh_nmi_enable_w) AM_READNOP
AM_RANGE(0xb002, 0xb002) AM_WRITE(bublbobl_sh_nmi_disable_w)
AM_RANGE(0xe000, 0xffff) AM_ROM // space for diagnostic ROM?
@ -392,7 +392,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( tokio_sound_map, AS_PROGRAM, 8, bublbobl_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x8fff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_READ(soundlatch_r) AM_WRITE(bublbobl_sound_status_w)
AM_RANGE(0x9000, 0x9000) AM_READ(soundlatch_byte_r) AM_WRITE(bublbobl_sound_status_w)
AM_RANGE(0x9800, 0x9800) AM_READNOP // ???
AM_RANGE(0xa000, 0xa000) AM_WRITE(bublbobl_sh_nmi_disable_w)
AM_RANGE(0xa800, 0xa800) AM_WRITE(bublbobl_sh_nmi_enable_w)

View File

@ -103,7 +103,7 @@ static TIMER_CALLBACK( nmi_callback )
WRITE8_MEMBER(buggychl_state::sound_command_w)
{
soundlatch_w(space, 0, data);
soundlatch_byte_w(space, 0, data);
machine().scheduler().synchronize(FUNC(nmi_callback), data);
}
@ -169,7 +169,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, buggychl_state )
AM_RANGE(0x4810, 0x481d) AM_DEVWRITE_LEGACY("msm", msm5232_w)
AM_RANGE(0x4820, 0x4820) AM_RAM /* VOL/BAL for the 7630 on the MSM5232 output */
AM_RANGE(0x4830, 0x4830) AM_RAM /* TRBL/BASS for the 7630 on the MSM5232 output */
AM_RANGE(0x5000, 0x5000) AM_READ(soundlatch_r)
AM_RANGE(0x5000, 0x5000) AM_READ(soundlatch_byte_r)
// AM_RANGE(0x5001, 0x5001) AM_READNOP /* is command pending? */
AM_RANGE(0x5001, 0x5001) AM_WRITE(nmi_enable_w)
AM_RANGE(0x5002, 0x5002) AM_WRITE(nmi_disable_w)

View File

@ -103,7 +103,7 @@ WRITE8_MEMBER(bwing_state::bwp1_ctrl_w)
device_set_input_line(m_subcpu, INPUT_LINE_NMI, ASSERT_LINE); // SNMI
else
{
soundlatch_w(space, 0, data);
soundlatch_byte_w(space, 0, data);
device_set_input_line(m_audiocpu, DECO16_IRQ_LINE, HOLD_LINE); // SNDREQ
}
break;
@ -178,7 +178,7 @@ static ADDRESS_MAP_START( bwp3_map, AS_PROGRAM, 8, bwing_state )
AM_RANGE(0x4000, 0x4000) AM_DEVWRITE_LEGACY("ay1", ay8910_address_w)
AM_RANGE(0x6000, 0x6000) AM_DEVWRITE_LEGACY("ay2", ay8910_data_w)
AM_RANGE(0x8000, 0x8000) AM_DEVWRITE_LEGACY("ay2", ay8910_address_w)
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_byte_r)
AM_RANGE(0xd000, 0xd000) AM_WRITE(bwp3_nmimask_w)
AM_RANGE(0xe000, 0xffff) AM_ROM AM_BASE_SIZE(m_bwp3_rombase, m_bwp3_romsize)
ADDRESS_MAP_END

View File

@ -199,13 +199,13 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( cabalbl_sound_map, AS_PROGRAM, 8, cabal_state )
AM_RANGE(0x0000, 0x1fff) AM_ROM
AM_RANGE(0x2000, 0x2fff) AM_RAM
AM_RANGE(0x4000, 0x4000) AM_WRITE(soundlatch3_w)
AM_RANGE(0x4002, 0x4002) AM_WRITE(soundlatch4_w)
AM_RANGE(0x4000, 0x4000) AM_WRITE(soundlatch3_byte_w)
AM_RANGE(0x4002, 0x4002) AM_WRITE(soundlatch4_byte_w)
AM_RANGE(0x4004, 0x4004) AM_WRITE(cabalbl_coin_w)
AM_RANGE(0x4006, 0x4006) AM_READ_PORT("COIN")
AM_RANGE(0x4008, 0x4008) AM_READ(cabalbl_snd2_r)
AM_RANGE(0x400a, 0x400a) AM_READ(cabalbl_snd1_r)
AM_RANGE(0x400c, 0x400c) AM_WRITE(soundlatch2_w)
AM_RANGE(0x400c, 0x400c) AM_WRITE(soundlatch2_byte_w)
AM_RANGE(0x400e, 0x400f) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0x6000, 0x6000) AM_WRITENOP /* ??? */
AM_RANGE(0x8000, 0xffff) AM_ROM
@ -228,7 +228,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( cabalbl_talk1_portmap, AS_IO, 8, cabal_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(soundlatch3_r)
AM_RANGE(0x00, 0x00) AM_READ(soundlatch3_byte_r)
AM_RANGE(0x01, 0x01) AM_DEVWRITE_LEGACY("msm1", cabalbl_adpcm_w)
ADDRESS_MAP_END
@ -238,7 +238,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( cabalbl_talk2_portmap, AS_IO, 8, cabal_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(soundlatch4_r)
AM_RANGE(0x00, 0x00) AM_READ(soundlatch4_byte_r)
AM_RANGE(0x01, 0x01) AM_DEVWRITE_LEGACY("msm2", cabalbl_adpcm_w)
ADDRESS_MAP_END

View File

@ -224,8 +224,8 @@ WRITE8_MEMBER(calorie_state::calorie_flipscreen_w)
READ8_MEMBER(calorie_state::calorie_soundlatch_r)
{
UINT8 latch = soundlatch_r(space, 0);
soundlatch_clear_w(space, 0, 0);
UINT8 latch = soundlatch_byte_r(space, 0);
soundlatch_clear_byte_w(space, 0, 0);
return latch;
}
@ -253,7 +253,7 @@ static ADDRESS_MAP_START( calorie_map, AS_PROGRAM, 8, calorie_state )
AM_RANGE(0xf002, 0xf002) AM_READ_PORT("SYSTEM")
AM_RANGE(0xf004, 0xf004) AM_READ_PORT("DSW1") AM_WRITE(calorie_flipscreen_w)
AM_RANGE(0xf005, 0xf005) AM_READ_PORT("DSW2")
AM_RANGE(0xf800, 0xf800) AM_WRITE(soundlatch_w)
AM_RANGE(0xf800, 0xf800) AM_WRITE(soundlatch_byte_w)
ADDRESS_MAP_END

View File

@ -183,7 +183,7 @@ WRITE8_MEMBER(capbowl_state::track_reset_w)
WRITE8_MEMBER(capbowl_state::capbowl_sndcmd_w)
{
device_set_input_line(m_audiocpu, M6809_IRQ_LINE, HOLD_LINE);
soundlatch_w(space, offset, data);
soundlatch_byte_w(space, offset, data);
}
@ -264,7 +264,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, capbowl_state )
AM_RANGE(0x1000, 0x1001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2203_r, ym2203_w)
AM_RANGE(0x2000, 0x2000) AM_WRITENOP /* Not hooked up according to the schematics */
AM_RANGE(0x6000, 0x6000) AM_DEVWRITE_LEGACY("dac", dac_w)
AM_RANGE(0x7000, 0x7000) AM_READ(soundlatch_r)
AM_RANGE(0x7000, 0x7000) AM_READ(soundlatch_byte_r)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END

View File

@ -71,7 +71,7 @@ static ADDRESS_MAP_START( carjmbre_map, AS_PROGRAM, 8, carjmbre_state )
AM_RANGE(0x9800, 0x985f) AM_MIRROR(0x80) AM_WRITEONLY AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0xa000, 0xa000) AM_READ_PORT("P1")
AM_RANGE(0xa800, 0xa800) AM_READ_PORT("P2")
AM_RANGE(0xb800, 0xb800) AM_READ_PORT("DSW") AM_WRITE(soundlatch_w)
AM_RANGE(0xb800, 0xb800) AM_READ_PORT("DSW") AM_WRITE(soundlatch_byte_w)
ADDRESS_MAP_END
static ADDRESS_MAP_START( carjmbre_sound_map, AS_PROGRAM, 8, carjmbre_state )
@ -82,7 +82,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( carjmbre_sound_io_map, AS_IO, 8, carjmbre_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(soundlatch_r)
AM_RANGE(0x00, 0x00) AM_READ(soundlatch_byte_r)
AM_RANGE(0x10, 0x10) AM_WRITENOP //?? written on init/0xff sound command reset
AM_RANGE(0x20, 0x21) AM_DEVWRITE_LEGACY("ay1", ay8910_address_data_w)
AM_RANGE(0x22, 0x22) AM_WRITENOP //?? written before and after 0x21 with same value

View File

@ -39,7 +39,7 @@ WRITE16_MEMBER(cbuster_state::twocrude_control_w)
return;
case 2: /* Sound CPU write */
soundlatch_w(space, 0, data & 0xff);
soundlatch_byte_w(space, 0, data & 0xff);
device_set_input_line(m_audiocpu, 0, HOLD_LINE);
return;
@ -133,7 +133,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, cbuster_state )
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE_LEGACY("ym2", ym2151_r, ym2151_w)
AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_device, read, write)
AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_device, read, write)
AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_byte_r)
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE_LEGACY(h6280_timer_w)
AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE_LEGACY(h6280_irq_status_w)

View File

@ -56,7 +56,7 @@ static ADDRESS_MAP_START( sound_memmap, AS_PROGRAM, 8, cchasm_state )
AM_RANGE(0x6001, 0x6001) AM_MIRROR(0xf9e) AM_DEVREAD_LEGACY("ay1", ay8910_r)
AM_RANGE(0x6020, 0x6021) AM_MIRROR(0xf9e) AM_DEVWRITE_LEGACY("ay2", ay8910_address_data_w)
AM_RANGE(0x6021, 0x6021) AM_MIRROR(0xf9e) AM_DEVREAD_LEGACY("ay2", ay8910_r)
AM_RANGE(0x6040, 0x6040) AM_MIRROR(0xf9e) AM_READWRITE(soundlatch_r, soundlatch3_w)
AM_RANGE(0x6040, 0x6040) AM_MIRROR(0xf9e) AM_READWRITE(soundlatch_byte_r, soundlatch3_byte_w)
AM_RANGE(0x6041, 0x6041) AM_MIRROR(0xf9e) AM_READWRITE_LEGACY(cchasm_soundlatch2_r, cchasm_soundlatch4_w)
AM_RANGE(0x6061, 0x6061) AM_MIRROR(0xf9e) AM_WRITE_LEGACY(cchasm_reset_coin_flag_w)
AM_RANGE(0x7041, 0x7041) AM_NOP // TODO

View File

@ -216,7 +216,7 @@ Dip location verified from manual for: cclimber, guzzler, swimmer
WRITE8_MEMBER(cclimber_state::swimmer_sh_soundlatch_w)
{
soundlatch_w(space,offset,data);
soundlatch_byte_w(space,offset,data);
cputag_set_input_line_and_vector(machine(), "audiocpu", 0, HOLD_LINE, 0xff);
}
@ -399,7 +399,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( swimmer_audio_map, AS_PROGRAM, 8, cclimber_state )
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x2000, 0x23ff) AM_RAM
AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_r)
AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_byte_r)
AM_RANGE(0x4000, 0x4001) AM_RAM /* ??? */
ADDRESS_MAP_END

View File

@ -264,7 +264,7 @@ static ADDRESS_MAP_START( champbas_main_map, AS_PROGRAM, 8, champbas_state )
AM_RANGE(0xa007, 0xa007) AM_WRITE(champbas_mcu_switch_w) // MCU not present/not used in champbas
AM_RANGE(0xa060, 0xa06f) AM_RAM AM_BASE(m_spriteram_2)
AM_RANGE(0xa080, 0xa080) AM_WRITE(soundlatch_w)
AM_RANGE(0xa080, 0xa080) AM_WRITE(soundlatch_byte_w)
/* AM_RANGE(0xa0a0, 0xa0a0) ???? */
AM_RANGE(0xa0c0, 0xa0c0) AM_WRITE(champbas_watchdog_reset_w)
@ -293,7 +293,7 @@ static ADDRESS_MAP_START( exctsccrb_main_map, AS_PROGRAM, 8, champbas_state )
AM_RANGE(0xa007, 0xa007) AM_WRITENOP /* MCU is not used, but some leftover code still writes here */
AM_RANGE(0xa040, 0xa06f) AM_WRITEONLY AM_BASE(m_spriteram) /* Sprite Pos */
AM_RANGE(0xa080, 0xa080) AM_WRITE(soundlatch_w)
AM_RANGE(0xa080, 0xa080) AM_WRITE(soundlatch_byte_w)
AM_RANGE(0xa0c0, 0xa0c0) AM_WRITE(watchdog_reset_w)
ADDRESS_MAP_END
@ -318,7 +318,7 @@ static ADDRESS_MAP_START( exctsccr_main_map, AS_PROGRAM, 8, champbas_state )
AM_RANGE(0xa007, 0xa007) AM_WRITENOP /* This is also MCU control, but i dont need it */
AM_RANGE(0xa040, 0xa06f) AM_WRITEONLY AM_BASE(m_spriteram) /* Sprite pos */
AM_RANGE(0xa080, 0xa080) AM_WRITE(soundlatch_w)
AM_RANGE(0xa080, 0xa080) AM_WRITE(soundlatch_byte_w)
AM_RANGE(0xa0c0, 0xa0c0) AM_WRITE(watchdog_reset_w)
ADDRESS_MAP_END
@ -326,9 +326,9 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( champbas_sub_map, AS_PROGRAM, 8, champbas_state )
AM_RANGE(0x0000, 0x5fff) AM_ROM
AM_RANGE(0x6000, 0x7fff) AM_READ(soundlatch_r)
AM_RANGE(0x6000, 0x7fff) AM_READ(soundlatch_byte_r)
AM_RANGE(0x8000, 0x9fff) AM_WRITENOP // 4-bit return code to main CPU (not used)
AM_RANGE(0xa000, 0xbfff) AM_WRITE(soundlatch_clear_w)
AM_RANGE(0xa000, 0xbfff) AM_WRITE(soundlatch_clear_byte_w)
AM_RANGE(0xc000, 0xdfff) AM_DEVWRITE_LEGACY("dac", champbas_dac_w)
AM_RANGE(0xe000, 0xe3ff) AM_MIRROR(0x1c00) AM_RAM
ADDRESS_MAP_END
@ -339,8 +339,8 @@ static ADDRESS_MAP_START( exctsccr_sub_map, AS_PROGRAM, 8, champbas_state )
AM_RANGE(0xa000, 0xa7ff) AM_RAM
AM_RANGE(0xc008, 0xc008) AM_DEVWRITE_LEGACY("dac1", champbas_dac_w)
AM_RANGE(0xc009, 0xc009) AM_DEVWRITE_LEGACY("dac2", champbas_dac_w)
AM_RANGE(0xc00c, 0xc00c) AM_WRITE(soundlatch_clear_w)
AM_RANGE(0xc00d, 0xc00d) AM_READ(soundlatch_r)
AM_RANGE(0xc00c, 0xc00c) AM_WRITE(soundlatch_clear_byte_w)
AM_RANGE(0xc00d, 0xc00d) AM_READ(soundlatch_byte_r)
// AM_RANGE(0xc00f, 0xc00f) AM_WRITENOP /* ??? */
ADDRESS_MAP_END

View File

@ -140,7 +140,7 @@ static WRITE8_HANDLER( chinagat_interrupt_w )
switch (offset)
{
case 0: /* 3e00 - SND irq */
state->soundlatch_w(*space, 0, data);
state->soundlatch_byte_w(*space, 0, data);
device_set_input_line(state->m_snd_cpu, state->m_sound_irq, (state->m_sound_irq == INPUT_LINE_NMI) ? PULSE_LINE : HOLD_LINE );
break;
@ -341,7 +341,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, ddragon_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0xA000, 0xA000) AM_READ(soundlatch_r)
AM_RANGE(0xA000, 0xA000) AM_READ(soundlatch_byte_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( ym2203c_sound_map, AS_PROGRAM, 8, ddragon_state )
@ -359,7 +359,7 @@ static ADDRESS_MAP_START( ym2203c_sound_map, AS_PROGRAM, 8, ddragon_state )
// AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
// AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0xA000, 0xA000) AM_READ(soundlatch_r)
AM_RANGE(0xA000, 0xA000) AM_READ(soundlatch_byte_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( saiyugoub1_sound_map, AS_PROGRAM, 8, ddragon_state )
@ -367,7 +367,7 @@ static ADDRESS_MAP_START( saiyugoub1_sound_map, AS_PROGRAM, 8, ddragon_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0x9800, 0x9800) AM_WRITE_LEGACY(saiyugoub1_mcu_command_w)
AM_RANGE(0xA000, 0xA000) AM_READ(soundlatch_r)
AM_RANGE(0xA000, 0xA000) AM_READ(soundlatch_byte_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( i8748_map, AS_PROGRAM, 8, ddragon_state )

View File

@ -131,7 +131,7 @@ READ8_MEMBER(chqflag_state::analog_read_r)
WRITE8_MEMBER(chqflag_state::chqflag_sh_irqtrigger_w)
{
soundlatch2_w(space, 0, data);
soundlatch2_byte_w(space, 0, data);
device_set_input_line(m_audiocpu, 0, HOLD_LINE);
}
@ -145,7 +145,7 @@ static ADDRESS_MAP_START( chqflag_map, AS_PROGRAM, 8, chqflag_state )
AM_RANGE(0x2000, 0x2007) AM_DEVREADWRITE_LEGACY("k051960", k051937_r, k051937_w) /* Sprite control registers */
AM_RANGE(0x2400, 0x27ff) AM_DEVREADWRITE_LEGACY("k051960", k051960_r, k051960_w) /* Sprite RAM */
AM_RANGE(0x2800, 0x2fff) AM_READ_BANK("bank3") AM_DEVWRITE_LEGACY("k051316_2", k051316_w) /* 051316 zoom/rotation (chip 2) */
AM_RANGE(0x3000, 0x3000) AM_WRITE(soundlatch_w) /* sound code # */
AM_RANGE(0x3000, 0x3000) AM_WRITE(soundlatch_byte_w) /* sound code # */
AM_RANGE(0x3001, 0x3001) AM_WRITE(chqflag_sh_irqtrigger_w) /* cause interrupt on audio CPU */
AM_RANGE(0x3002, 0x3002) AM_WRITE(chqflag_bankswitch_w) /* bankswitch control */
AM_RANGE(0x3003, 0x3003) AM_WRITE(chqflag_vreg_w) /* enable K051316 ROM reading */
@ -187,8 +187,8 @@ static ADDRESS_MAP_START( chqflag_sound_map, AS_PROGRAM, 8, chqflag_state )
AM_RANGE(0xa01c, 0xa01c) AM_DEVWRITE_LEGACY("k007232_2", k007232_extvolume_w) /* extra volume, goes to the 007232 w/ A11 */
AM_RANGE(0xb000, 0xb00d) AM_DEVREADWRITE_LEGACY("k007232_2", k007232_r, k007232_w) /* 007232 (chip 2) */
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w) /* YM2151 */
AM_RANGE(0xd000, 0xd000) AM_READ(soundlatch_r) /* soundlatch_r */
AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch2_r) /* engine sound volume */
AM_RANGE(0xd000, 0xd000) AM_READ(soundlatch_byte_r) /* soundlatch_byte_r */
AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch2_byte_r) /* engine sound volume */
AM_RANGE(0xf000, 0xf000) AM_WRITENOP /* ??? */
ADDRESS_MAP_END

View File

@ -153,7 +153,7 @@ static ADDRESS_MAP_START( circusc_map, AS_PROGRAM, 8, circusc_state )
AM_RANGE(0x0003, 0x0004) AM_MIRROR(0x03f8) AM_WRITE(circusc_coin_counter_w) /* COIN1, COIN2 */
AM_RANGE(0x0005, 0x0005) AM_MIRROR(0x03f8) AM_WRITEONLY AM_BASE(m_spritebank) /* OBJ CHENG */
AM_RANGE(0x0400, 0x0400) AM_MIRROR(0x03ff) AM_WRITE(watchdog_reset_w) /* WDOG */
AM_RANGE(0x0800, 0x0800) AM_MIRROR(0x03ff) AM_WRITE(soundlatch_w) /* SOUND DATA */
AM_RANGE(0x0800, 0x0800) AM_MIRROR(0x03ff) AM_WRITE(soundlatch_byte_w) /* SOUND DATA */
AM_RANGE(0x0c00, 0x0c00) AM_MIRROR(0x03ff) AM_WRITE(circusc_sh_irqtrigger_w) /* SOUND-ON causes interrupt on audio CPU */
AM_RANGE(0x1000, 0x1000) AM_MIRROR(0x03fc) AM_READ_PORT("SYSTEM")
AM_RANGE(0x1001, 0x1001) AM_MIRROR(0x03fc) AM_READ_PORT("P1")
@ -174,7 +174,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, circusc_state )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x43ff) AM_MIRROR(0x1c00) AM_RAM
AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x1fff) AM_READ(soundlatch_r) /* CS0 */
AM_RANGE(0x6000, 0x6000) AM_MIRROR(0x1fff) AM_READ(soundlatch_byte_r) /* CS0 */
AM_RANGE(0x8000, 0x8000) AM_MIRROR(0x1fff) AM_READ(circusc_sh_timer_r) /* CS1 */
AM_RANGE(0xa000, 0xa07f) AM_MIRROR(0x1f80) AM_WRITE(circusc_sound_w) /* CS2 - CS6 */
ADDRESS_MAP_END

View File

@ -33,8 +33,8 @@ static ADDRESS_MAP_START( citycon_map, AS_PROGRAM, 8, citycon_state )
AM_RANGE(0x2800, 0x28ff) AM_RAM AM_BASE_SIZE(m_spriteram, m_spriteram_size)
AM_RANGE(0x2800, 0x2fff) AM_NOP //0x2900-0x2fff cleared at post but unused
AM_RANGE(0x3000, 0x3000) AM_READ(citycon_in_r) AM_WRITE(citycon_background_w) /* player 1 & 2 inputs multiplexed */
AM_RANGE(0x3001, 0x3001) AM_READ_PORT("DSW1") AM_WRITE(soundlatch_w)
AM_RANGE(0x3002, 0x3002) AM_READ_PORT("DSW2") AM_WRITE(soundlatch2_w)
AM_RANGE(0x3001, 0x3001) AM_READ_PORT("DSW1") AM_WRITE(soundlatch_byte_w)
AM_RANGE(0x3002, 0x3002) AM_READ_PORT("DSW2") AM_WRITE(soundlatch2_byte_w)
AM_RANGE(0x3004, 0x3005) AM_READNOP AM_WRITEONLY AM_BASE(m_scroll)
AM_RANGE(0x3007, 0x3007) AM_READ(citycon_irq_ack_r)
AM_RANGE(0x3800, 0x3cff) AM_RAM_WRITE(paletteram_RRRRGGGGBBBBxxxx_byte_be_w) AM_SHARE("paletteram")
@ -176,8 +176,8 @@ static const ym2203_interface ym2203_config =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_DRIVER_MEMBER(driver_device, soundlatch2_r),
DEVCB_DRIVER_MEMBER(driver_device, soundlatch_byte_r),
DEVCB_DRIVER_MEMBER(driver_device, soundlatch2_byte_r),
DEVCB_NULL,
DEVCB_NULL
},

View File

@ -57,14 +57,14 @@ Note about version levels using Mutant Fighter as the example:
WRITE16_MEMBER(cninja_state::cninja_sound_w)
{
soundlatch_w(space, 0, data & 0xff);
soundlatch_byte_w(space, 0, data & 0xff);
device_set_input_line(m_audiocpu, 0, HOLD_LINE);
}
WRITE16_MEMBER(cninja_state::stoneage_sound_w)
{
soundlatch_w(space, 0, data & 0xff);
soundlatch_byte_w(space, 0, data & 0xff);
device_set_input_line(m_audiocpu, INPUT_LINE_NMI, PULSE_LINE);
}
@ -307,7 +307,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, cninja_state )
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE_LEGACY("ym2", ym2151_r, ym2151_w)
AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_device, read, write)
AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_device, read, write)
AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_byte_r)
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE_LEGACY(h6280_timer_w)
AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE_LEGACY(h6280_irq_status_w)
@ -319,7 +319,7 @@ static ADDRESS_MAP_START( sound_map_mutantf, AS_PROGRAM, 8, cninja_state )
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_device, read, write)
AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_device, read, write)
AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_byte_r)
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE_LEGACY(h6280_timer_w)
AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE_LEGACY(h6280_irq_status_w)
@ -329,7 +329,7 @@ static ADDRESS_MAP_START( stoneage_s_map, AS_PROGRAM, 8, cninja_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_byte_r)
AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki1", okim6295_device, read, write)
ADDRESS_MAP_END

View File

@ -458,7 +458,7 @@ WRITE8_MEMBER(cntsteer_state::gekitsui_sub_irq_ack)
WRITE8_MEMBER(cntsteer_state::cntsteer_sound_w)
{
soundlatch_w(space, 0, data);
soundlatch_byte_w(space, 0, data);
device_set_input_line(m_audiocpu, 0, HOLD_LINE);
}
@ -597,7 +597,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, cntsteer_state )
AM_RANGE(0x4000, 0x4000) AM_DEVWRITE_LEGACY("ay1", ay8910_address_w)
AM_RANGE(0x6000, 0x6000) AM_DEVWRITE_LEGACY("ay2", ay8910_data_w)
AM_RANGE(0x8000, 0x8000) AM_DEVWRITE_LEGACY("ay2", ay8910_address_w)
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_byte_r)
AM_RANGE(0xd000, 0xd000) AM_WRITE(nmimask_w)
AM_RANGE(0xe000, 0xffff) AM_ROM
ADDRESS_MAP_END

View File

@ -110,7 +110,7 @@ SOUND CPU:
9000 uPD7759
b000 uPD7759
c000 uPD7759
d000 soundlatch_r
d000 soundlatch_byte_r
e000-e001 YM2203
@ -150,7 +150,7 @@ WRITE8_MEMBER(combatsc_state::combatsc_vreg_w)
WRITE8_MEMBER(combatsc_state::combatscb_sh_irqtrigger_w)
{
soundlatch_w(space, offset, data);
soundlatch_byte_w(space, offset, data);
device_set_input_line(m_audiocpu, INPUT_LINE_NMI, PULSE_LINE);
}
@ -389,7 +389,7 @@ static ADDRESS_MAP_START( combatsc_map, AS_PROGRAM, 8, combatsc_state )
AM_RANGE(0x0408, 0x0408) AM_WRITE(combatsc_coin_counter_w) /* coin counters */
AM_RANGE(0x040c, 0x040c) AM_WRITE(combatsc_vreg_w)
AM_RANGE(0x0410, 0x0410) AM_WRITE(combatsc_bankselect_w)
AM_RANGE(0x0414, 0x0414) AM_WRITE(soundlatch_w)
AM_RANGE(0x0414, 0x0414) AM_WRITE(soundlatch_byte_w)
AM_RANGE(0x0418, 0x0418) AM_WRITE(combatsc_sh_irqtrigger_w)
AM_RANGE(0x041c, 0x041c) AM_WRITE(watchdog_reset_w) /* watchdog reset? */
@ -419,7 +419,7 @@ static ADDRESS_MAP_START( combatsc_sound_map, AS_PROGRAM, 8, combatsc_state )
AM_RANGE(0xb000, 0xb000) AM_DEVREAD_LEGACY("upd", combatsc_busy_r) /* upd7759 busy? */
AM_RANGE(0xc000, 0xc000) AM_DEVWRITE_LEGACY("upd", combatsc_voice_reset_w) /* upd7759 reset? */
AM_RANGE(0xd000, 0xd000) AM_READ(soundlatch_r) /* soundlatch_r? */
AM_RANGE(0xd000, 0xd000) AM_READ(soundlatch_byte_r) /* soundlatch_byte_r? */
AM_RANGE(0xe000, 0xe001) AM_DEVREADWRITE_LEGACY("ymsnd", combatsc_ym2203_r, ym2203_w) /* YM 2203 intercepted */
ADDRESS_MAP_END
@ -440,7 +440,7 @@ static ADDRESS_MAP_START( combatscb_sound_map, AS_PROGRAM, 8, combatsc_state )
AM_RANGE(0x9000, 0x9001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2203_r, ym2203_w) /* YM 2203 */
AM_RANGE(0x9008, 0x9009) AM_DEVREAD_LEGACY("ymsnd", ym2203_r) /* ??? */
AM_RANGE(0x9800, 0x9800) AM_DEVWRITE_LEGACY("msm5205",combatscb_dac_w)
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r) /* soundlatch_r? */
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_byte_r) /* soundlatch_byte_r? */
ADDRESS_MAP_END
/*************************************

View File

@ -57,7 +57,7 @@ static ADDRESS_MAP_START( commando_map, AS_PROGRAM, 8, commando_state )
AM_RANGE(0xc002, 0xc002) AM_READ_PORT("P2")
AM_RANGE(0xc003, 0xc003) AM_READ_PORT("DSW1")
AM_RANGE(0xc004, 0xc004) AM_READ_PORT("DSW2")
AM_RANGE(0xc800, 0xc800) AM_WRITE(soundlatch_w)
AM_RANGE(0xc800, 0xc800) AM_WRITE(soundlatch_byte_w)
AM_RANGE(0xc804, 0xc804) AM_WRITE(commando_c804_w)
AM_RANGE(0xc808, 0xc809) AM_WRITE(commando_scrollx_w)
AM_RANGE(0xc80a, 0xc80b) AM_WRITE(commando_scrolly_w)
@ -73,7 +73,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, commando_state )
AM_RANGE(0x0000, 0x3fff) AM_ROM
AM_RANGE(0x4000, 0x47ff) AM_RAM
AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_r)
AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_byte_r)
AM_RANGE(0x8000, 0x8001) AM_DEVWRITE_LEGACY("ym1", ym2203_w)
AM_RANGE(0x8002, 0x8003) AM_DEVWRITE_LEGACY("ym2", ym2203_w)
ADDRESS_MAP_END

View File

@ -53,7 +53,7 @@ WRITE8_MEMBER(contra_state::contra_coin_counter_w)
WRITE8_MEMBER(contra_state::cpu_sound_command_w)
{
soundlatch_w(space, offset, data);
soundlatch_byte_w(space, offset, data);
}
@ -96,7 +96,7 @@ static ADDRESS_MAP_START( contra_map, AS_PROGRAM, 8, contra_state )
ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, contra_state )
AM_RANGE(0x0000, 0x0000) AM_READ(soundlatch_r)
AM_RANGE(0x0000, 0x0000) AM_READ(soundlatch_byte_r)
AM_RANGE(0x2000, 0x2001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0x4000, 0x4000) AM_WRITENOP /* read triggers irq reset and latch read (in the hardware only). */
AM_RANGE(0x6000, 0x67ff) AM_RAM

View File

@ -72,13 +72,13 @@ Mighty Guy board layout:
WRITE8_MEMBER(cop01_state::cop01_sound_command_w)
{
soundlatch_w(space, offset, data);
soundlatch_byte_w(space, offset, data);
device_set_input_line(m_audiocpu, 0, ASSERT_LINE );
}
READ8_MEMBER(cop01_state::cop01_sound_command_r)
{
int res = (soundlatch_r(space, offset) & 0x7f) << 1;
int res = (soundlatch_byte_r(space, offset) & 0x7f) << 1;
/* bit 0 seems to be a timer */
if ((m_audiocpu->total_cycles() / TIMER_RATE) & 1)

View File

@ -486,14 +486,14 @@ static SCREEN_UPDATE_IND16(luckyrlt)
WRITE8_MEMBER(corona_state::sound_latch_w)
{
soundlatch_w(space, 0, data & 0xff);
soundlatch_byte_w(space, 0, data & 0xff);
cputag_set_input_line(machine(), "soundcpu", 0, ASSERT_LINE);
}
READ8_MEMBER(corona_state::sound_latch_r)
{
cputag_set_input_line(machine(), "soundcpu", 0, CLEAR_LINE);
return soundlatch_r(space, 0);
return soundlatch_byte_r(space, 0);
}

View File

@ -292,13 +292,13 @@ static WRITE8_DEVICE_HANDLER( cps1_oki_pin7_w )
WRITE16_MEMBER(cps_state::cps1_soundlatch_w)
{
if (ACCESSING_BITS_0_7)
soundlatch_w(space, 0, data & 0xff);
soundlatch_byte_w(space, 0, data & 0xff);
}
WRITE16_MEMBER(cps_state::cps1_soundlatch2_w)
{
if (ACCESSING_BITS_0_7)
soundlatch2_w(space, 0, data & 0xff);
soundlatch2_byte_w(space, 0, data & 0xff);
}
WRITE16_MEMBER(cps_state::cps1_coinctrl_w)
@ -582,8 +582,8 @@ static ADDRESS_MAP_START( sub_map, AS_PROGRAM, 8, cps_state )
AM_RANGE(0xf002, 0xf002) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0xf004, 0xf004) AM_WRITE(cps1_snd_bankswitch_w)
AM_RANGE(0xf006, 0xf006) AM_DEVWRITE_LEGACY("oki", cps1_oki_pin7_w) /* controls pin 7 of OKI chip */
AM_RANGE(0xf008, 0xf008) AM_READ(soundlatch_r) /* Sound command */
AM_RANGE(0xf00a, 0xf00a) AM_READ(soundlatch2_r) /* Sound timer fade */
AM_RANGE(0xf008, 0xf008) AM_READ(soundlatch_byte_r) /* Sound command */
AM_RANGE(0xf00a, 0xf00a) AM_READ(soundlatch2_byte_r) /* Sound timer fade */
ADDRESS_MAP_END
static ADDRESS_MAP_START( qsound_main_map, AS_PROGRAM, 16, cps_state )

View File

@ -32,7 +32,7 @@ WRITE8_MEMBER(crimfght_state::crimfght_coin_w)
WRITE8_MEMBER(crimfght_state::crimfght_sh_irqtrigger_w)
{
soundlatch_w(space, offset, data);
soundlatch_byte_w(space, offset, data);
device_set_input_line_and_vector(m_audiocpu, 0, HOLD_LINE, 0xff);
}
@ -99,7 +99,7 @@ static ADDRESS_MAP_START( crimfght_sound_map, AS_PROGRAM, 8, crimfght_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM /* ROM 821l01.h4 */
AM_RANGE(0x8000, 0x87ff) AM_RAM /* RAM */
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w) /* YM2151 */
AM_RANGE(0xc000, 0xc000) AM_READ(soundlatch_r) /* soundlatch_r */
AM_RANGE(0xc000, 0xc000) AM_READ(soundlatch_byte_r) /* soundlatch_byte_r */
AM_RANGE(0xe000, 0xe00d) AM_DEVREADWRITE_LEGACY("k007232", k007232_r, k007232_w) /* 007232 registers */
ADDRESS_MAP_END

View File

@ -42,7 +42,7 @@ WRITE16_MEMBER(crospang_state::crospang_soundlatch_w)
{
if(ACCESSING_BITS_0_7)
{
soundlatch_w(space, 0, data & 0xff);
soundlatch_byte_w(space, 0, data & 0xff);
}
}
@ -100,7 +100,7 @@ static ADDRESS_MAP_START( crospang_sound_io_map, AS_IO, 8, crospang_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE_LEGACY("ymsnd", ym3812_r, ym3812_w)
AM_RANGE(0x02, 0x02) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0x06, 0x06) AM_READ(soundlatch_r)
AM_RANGE(0x06, 0x06) AM_READ(soundlatch_byte_r)
ADDRESS_MAP_END

View File

@ -165,7 +165,7 @@ WRITE16_MEMBER(crshrace_state::sound_command_w)
if (ACCESSING_BITS_0_7)
{
m_pending_command = 1;
soundlatch_w(space, offset, data & 0xff);
soundlatch_byte_w(space, offset, data & 0xff);
m_audiocpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
}
}
@ -214,7 +214,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, crshrace_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(crshrace_sh_bankswitch_w)
AM_RANGE(0x04, 0x04) AM_READ(soundlatch_r) AM_WRITE(pending_command_clear_w)
AM_RANGE(0x04, 0x04) AM_READ(soundlatch_byte_r) AM_WRITE(pending_command_clear_w)
AM_RANGE(0x08, 0x0b) AM_DEVREADWRITE_LEGACY("ymsnd", ym2610_r, ym2610_w)
ADDRESS_MAP_END

View File

@ -109,7 +109,7 @@ WRITE16_MEMBER(csplayh5_state::csplayh5_mux_w)
WRITE16_MEMBER(csplayh5_state::csplayh5_sound_w)
{
soundlatch_w(space, 0, ((data >> 8) & 0xff));
soundlatch_byte_w(space, 0, ((data >> 8) & 0xff));
}
@ -174,12 +174,12 @@ static void csplayh5_soundbank_w(running_machine &machine, int data)
READ8_MEMBER(csplayh5_state::csplayh5_sound_r)
{
return soundlatch_r(space, 0);
return soundlatch_byte_r(space, 0);
}
WRITE8_MEMBER(csplayh5_state::csplayh5_soundclr_w)
{
soundlatch_clear_w(space, 0, 0);
soundlatch_clear_byte_w(space, 0, 0);
}
READ8_MEMBER(csplayh5_state::tmpz84c011_pio_r)

View File

@ -391,7 +391,7 @@ READ8_MEMBER(cvs_state::cvs_speech_command_r)
/* FIXME: this was by observation on board ???
* -bit 7 is TMS status (active LO) */
return ((tms5110_ctl_r(m_tms, 0) ^ 1) << 7) | (soundlatch_r(space, 0) & 0x7f);
return ((tms5110_ctl_r(m_tms, 0) ^ 1) << 7) | (soundlatch_byte_r(space, 0) & 0x7f);
}
@ -459,7 +459,7 @@ WRITE8_MEMBER(cvs_state::audio_command_w)
LOG(("data %02x\n", data));
/* cause interrupt on audio CPU if bit 7 set */
soundlatch_w(space, 0, data);
soundlatch_byte_w(space, 0, data);
cvs_slave_cpu_interrupt(m_audiocpu, data & 0x80 ? 1 : 0);
}
@ -506,7 +506,7 @@ static ADDRESS_MAP_START( cvs_dac_cpu_map, AS_PROGRAM, 8, cvs_state )
ADDRESS_MAP_GLOBAL_MASK(0x7fff)
AM_RANGE(0x0000, 0x0fff) AM_ROM
AM_RANGE(0x1000, 0x107f) AM_RAM
AM_RANGE(0x1800, 0x1800) AM_READ(soundlatch_r)
AM_RANGE(0x1800, 0x1800) AM_READ(soundlatch_byte_r)
AM_RANGE(0x1840, 0x1840) AM_DEVWRITE_LEGACY("dac1", dac_w)
AM_RANGE(0x1880, 0x1883) AM_DEVWRITE_LEGACY("dac2", cvs_4_bit_dac_data_w) AM_BASE(m_cvs_4_bit_dac_data)
AM_RANGE(0x1884, 0x1887) AM_DEVWRITE_LEGACY("dac3", cvs_unknown_w) AM_BASE(m_dac3_state) /* ???? not connected to anything */

View File

@ -227,7 +227,7 @@ WRITE8_MEMBER(cyclemb_state::cyclemb_bankswitch_w)
#if 0
WRITE8_MEMBER(cyclemb_state::sound_cmd_w)
{
soundlatch_w(space, 0, data & 0xff);
soundlatch_byte_w(space, 0, data & 0xff);
cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE);
}
#endif
@ -241,7 +241,7 @@ READ8_MEMBER(cyclemb_state::mcu_status_r)
WRITE8_MEMBER(cyclemb_state::sound_cmd_w)//actually ciom
{
soundlatch_w(space, 0, data & 0xff);
soundlatch_byte_w(space, 0, data & 0xff);
cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE);
}
#endif
@ -280,7 +280,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( cyclemb_sound_io, AS_IO, 8, cyclemb_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x01) AM_DEVREADWRITE_LEGACY("aysnd", ay8910_r, ay8910_address_data_w)
AM_RANGE(0x40, 0x40) AM_READ(soundlatch_r) AM_WRITE(soundlatch2_w)
AM_RANGE(0x40, 0x40) AM_READ(soundlatch_byte_r) AM_WRITE(soundlatch2_byte_w)
ADDRESS_MAP_END
static MACHINE_RESET( cyclemb )

View File

@ -203,7 +203,7 @@ WRITE8_MEMBER(dacholer_state::coins_w)
WRITE8_MEMBER(dacholer_state::snd_w)
{
soundlatch_w(space, offset, data);
soundlatch_byte_w(space, offset, data);
device_set_input_line(m_audiocpu, INPUT_LINE_NMI, PULSE_LINE);
}
@ -284,7 +284,7 @@ WRITE8_MEMBER(dacholer_state::music_irq_w)
static ADDRESS_MAP_START( snd_io_map, AS_IO, 8, dacholer_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READWRITE(soundlatch_r, soundlatch_clear_w )
AM_RANGE(0x00, 0x00) AM_READWRITE(soundlatch_byte_r, soundlatch_clear_byte_w )
AM_RANGE(0x04, 0x04) AM_WRITE(music_irq_w)
AM_RANGE(0x08, 0x08) AM_WRITE(snd_irq_w)
AM_RANGE(0x0c, 0x0c) AM_WRITE(snd_ack_w)
@ -296,7 +296,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( itaten_snd_io_map, AS_IO, 8, dacholer_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READWRITE(soundlatch_r, soundlatch_clear_w )
AM_RANGE(0x00, 0x00) AM_READWRITE(soundlatch_byte_r, soundlatch_clear_byte_w )
AM_RANGE(0x86, 0x87) AM_DEVWRITE_LEGACY("ay1", ay8910_data_address_w)
AM_RANGE(0x8a, 0x8b) AM_DEVWRITE_LEGACY("ay2", ay8910_data_address_w)
AM_RANGE(0x8e, 0x8f) AM_DEVWRITE_LEGACY("ay3", ay8910_data_address_w)

View File

@ -32,7 +32,7 @@ WRITE16_MEMBER(darkseal_state::darkseal_control_w)
m_spriteram->copy();
return;
case 8: /* Sound CPU write */
soundlatch_w(space, 0, data & 0xff);
soundlatch_byte_w(space, 0, data & 0xff);
cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE);
return;
case 0xa: /* IRQ Ack (VBL) */
@ -88,7 +88,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, darkseal_state )
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE_LEGACY("ym2", ym2151_r, ym2151_w)
AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_device, read, write)
AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_device, read, write)
AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_byte_r)
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE_LEGACY(h6280_timer_w)
AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE_LEGACY(h6280_irq_status_w)

View File

@ -166,7 +166,7 @@ READ16_MEMBER(dassault_state::dassault_sub_control_r)
WRITE16_MEMBER(dassault_state::dassault_sound_w)
{
soundlatch_w(space, 0, data & 0xff);
soundlatch_byte_w(space, 0, data & 0xff);
device_set_input_line(m_audiocpu, 0, HOLD_LINE); /* IRQ1 */
}
@ -254,7 +254,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, dassault_state )
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE_LEGACY("ym2", ym2151_r, ym2151_w)
AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_device, read, write)
AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_device, read, write)
AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_byte_r)
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE_LEGACY(h6280_timer_w)
AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE_LEGACY(h6280_irq_status_w)

View File

@ -240,7 +240,7 @@ WRITE16_MEMBER(dblewing_state::dblewing_prot_w)
//printf("%04x\n",m_280_data);
return;
case 0x380: // sound write
soundlatch_w(space, 0, data & 0xff);
soundlatch_byte_w(space, 0, data & 0xff);
m_sound_irq |= 0x02;
device_set_input_line(m_audiocpu, 0, (m_sound_irq != 0) ? ASSERT_LINE : CLEAR_LINE);
return;
@ -347,7 +347,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, dblewing_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0xa000, 0xa001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_status_port_r,ym2151_w)
AM_RANGE(0xb000, 0xb000) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0xc000, 0xc000) AM_READ(soundlatch_r)
AM_RANGE(0xc000, 0xc000) AM_READ(soundlatch_byte_r)
AM_RANGE(0xd000, 0xd000) AM_READ(irq_latch_r) //timing? sound latch?
AM_RANGE(0xf000, 0xf000) AM_DEVREADWRITE("oki", okim6295_device, read, write)
ADDRESS_MAP_END

View File

@ -97,7 +97,7 @@ WRITE16_MEMBER(dbz_state::dbzcontrol_w)
WRITE16_MEMBER(dbz_state::dbz_sound_command_w)
{
soundlatch_w(space, 0, data >> 8);
soundlatch_byte_w(space, 0, data >> 8);
}
WRITE16_MEMBER(dbz_state::dbz_sound_cause_nmi)
@ -154,7 +154,7 @@ static ADDRESS_MAP_START( dbz_sound_map, AS_PROGRAM, 8, dbz_state )
AM_RANGE(0x8000, 0xbfff) AM_RAM
AM_RANGE(0xc000, 0xc001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0xd000, 0xd002) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0xe000, 0xe001) AM_READ(soundlatch_r)
AM_RANGE(0xe000, 0xe001) AM_READ(soundlatch_byte_r)
ADDRESS_MAP_END
static ADDRESS_MAP_START( dbz_sound_io_map, AS_IO, 8, dbz_state )

View File

@ -143,7 +143,7 @@ WRITE16_MEMBER(dcheese_state::sound_command_w)
/* write the latch and set the IRQ */
m_soundlatch_full = 1;
device_set_input_line(m_audiocpu, 0, ASSERT_LINE);
soundlatch_w(space, 0, data & 0xff);
soundlatch_byte_w(space, 0, data & 0xff);
}
}
@ -161,7 +161,7 @@ READ8_MEMBER(dcheese_state::sound_command_r)
/* read the latch and clear the IRQ */
m_soundlatch_full = 0;
device_set_input_line(m_audiocpu, 0, CLEAR_LINE);
return soundlatch_r(space, 0);
return soundlatch_byte_r(space, 0);
}

View File

@ -205,7 +205,7 @@ WRITE8_MEMBER(ddayjlc_state::bg2_w)
WRITE8_MEMBER(ddayjlc_state::sound_w)
{
soundlatch_w(space, offset, data);
soundlatch_byte_w(space, offset, data);
device_set_input_line_and_vector(m_audiocpu, 0, HOLD_LINE, 0xff);
}
@ -421,7 +421,7 @@ static const ay8910_interface ay8910_config =
{
AY8910_LEGACY_OUTPUT,
AY8910_DEFAULT_LOADS,
DEVCB_DRIVER_MEMBER(driver_device, soundlatch_r),
DEVCB_DRIVER_MEMBER(driver_device, soundlatch_byte_r),
DEVCB_NULL,
DEVCB_NULL,
DEVCB_NULL

View File

@ -2090,7 +2090,7 @@ WRITE8_MEMBER(dynax_state::mmpanic_rombank_w)
WRITE8_MEMBER(dynax_state::mmpanic_soundlatch_w)
{
soundlatch_w(*&space, 0, data);
soundlatch_byte_w(*&space, 0, data);
device_set_input_line(m_soundcpu, INPUT_LINE_NMI, PULSE_LINE);
}
@ -2200,7 +2200,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( mmpanic_sound_portmap, AS_IO, 8, dynax_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_READ(soundlatch_r)
AM_RANGE(0x00, 0x00) AM_READ(soundlatch_byte_r)
AM_RANGE(0x02, 0x02) AM_READNOP // read just before port 00
AM_RANGE(0x04, 0x04) AM_NOP // read only once at the start
AM_RANGE(0x06, 0x06) AM_WRITENOP // almost always 1, sometimes 0
@ -2338,7 +2338,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( funkyfig_sound_portmap, AS_IO, 8, dynax_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x02, 0x02) AM_READ(soundlatch_r)
AM_RANGE(0x02, 0x02) AM_READ(soundlatch_byte_r)
AM_RANGE(0x04, 0x04) AM_READNOP // read only once at the start
ADDRESS_MAP_END

View File

@ -316,7 +316,7 @@ static WRITE8_HANDLER( ddragon_interrupt_w )
break;
case 3: /* 380e - SND irq */
state->soundlatch_w(*space, 0, data);
state->soundlatch_byte_w(*space, 0, data);
device_set_input_line(state->m_snd_cpu, state->m_sound_irq, (state->m_sound_irq == INPUT_LINE_NMI) ? PULSE_LINE : HOLD_LINE);
break;
@ -594,7 +594,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, ddragon_state )
AM_RANGE(0x0000, 0x0fff) AM_RAM
AM_RANGE(0x1000, 0x1000) AM_READ(soundlatch_r)
AM_RANGE(0x1000, 0x1000) AM_READ(soundlatch_byte_r)
AM_RANGE(0x1800, 0x1800) AM_READ_LEGACY(dd_adpcm_status_r)
AM_RANGE(0x2800, 0x2801) AM_DEVREADWRITE_LEGACY("fmsnd", ym2151_r, ym2151_w)
AM_RANGE(0x3800, 0x3807) AM_WRITE_LEGACY(dd_adpcm_w)
@ -607,7 +607,7 @@ static ADDRESS_MAP_START( dd2_sound_map, AS_PROGRAM, 8, ddragon_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE_LEGACY("fmsnd", ym2151_r, ym2151_w)
AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0xA000, 0xA000) AM_READ(soundlatch_r)
AM_RANGE(0xA000, 0xA000) AM_READ(soundlatch_byte_r)
ADDRESS_MAP_END

View File

@ -171,8 +171,8 @@ WRITE16_MEMBER(ddragon3_state::ddragon3_io_w)
m_vreg = m_io_reg[0];
break;
case 1: /* soundlatch_w */
soundlatch_w(space, 1, m_io_reg[1] & 0xff);
case 1: /* soundlatch_byte_w */
soundlatch_byte_w(space, 1, m_io_reg[1] & 0xff);
device_set_input_line(m_audiocpu, INPUT_LINE_NMI, PULSE_LINE );
break;
@ -257,7 +257,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, ddragon3_state )
AM_RANGE(0xc000, 0xc7ff) AM_RAM
AM_RANGE(0xc800, 0xc801) AM_DEVREADWRITE_LEGACY("ym2151", ym2151_r, ym2151_w)
AM_RANGE(0xd800, 0xd800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_r)
AM_RANGE(0xe000, 0xe000) AM_READ(soundlatch_byte_r)
AM_RANGE(0xe800, 0xe800) AM_DEVWRITE_LEGACY("oki", oki_bankswitch_w)
ADDRESS_MAP_END
@ -266,7 +266,7 @@ static ADDRESS_MAP_START( ctribe_sound_map, AS_PROGRAM, 8, ddragon3_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x8800, 0x8801) AM_DEVREADWRITE_LEGACY("ym2151", ym2151_status_port_r, ym2151_w)
AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_byte_r)
ADDRESS_MAP_END
/*************************************

View File

@ -188,7 +188,7 @@ WRITE16_MEMBER(dec0_state::dec0_control_w)
case 4: /* 6502 sound cpu */
if (ACCESSING_BITS_0_7)
{
soundlatch_w(space, 0, data & 0xff);
soundlatch_byte_w(space, 0, data & 0xff);
cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
}
break;
@ -227,7 +227,7 @@ WRITE16_MEMBER(dec0_state::automat_control_w)
case 0xe: /* 6502 sound cpu */
if (ACCESSING_BITS_0_7)
{
soundlatch_w(space, 0, data & 0xff);
soundlatch_byte_w(space, 0, data & 0xff);
cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE);
}
break;
@ -260,7 +260,7 @@ WRITE16_MEMBER(dec0_state::slyspy_control_w)
case 0:
if (ACCESSING_BITS_0_7)
{
soundlatch_w(space, 0, data & 0xff);
soundlatch_byte_w(space, 0, data & 0xff);
cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
}
break;
@ -274,7 +274,7 @@ WRITE16_MEMBER(dec0_state::midres_sound_w)
{
if (ACCESSING_BITS_0_7)
{
soundlatch_w(space, 0, data & 0xff);
soundlatch_byte_w(space, 0, data & 0xff);
cputag_set_input_line(machine(), "audiocpu", INPUT_LINE_NMI, PULSE_LINE);
}
}
@ -552,7 +552,7 @@ static ADDRESS_MAP_START( dec0_s_map, AS_PROGRAM, 8, dec0_state )
AM_RANGE(0x0000, 0x05ff) AM_RAM
AM_RANGE(0x0800, 0x0801) AM_DEVWRITE_LEGACY("ym1", ym2203_w)
AM_RANGE(0x1000, 0x1001) AM_DEVWRITE_LEGACY("ym2", ym3812_w)
AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_r)
AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_byte_r)
AM_RANGE(0x3800, 0x3800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
@ -564,7 +564,7 @@ static ADDRESS_MAP_START( slyspy_s_map, AS_PROGRAM, 8, dec0_state )
AM_RANGE(0x0a0000, 0x0a0001) AM_READNOP /* Protection counter */
AM_RANGE(0x0b0000, 0x0b0001) AM_DEVWRITE_LEGACY("ym1", ym2203_w)
AM_RANGE(0x0e0000, 0x0e0001) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0x0f0000, 0x0f0001) AM_READ(soundlatch_r)
AM_RANGE(0x0f0000, 0x0f0001) AM_READ(soundlatch_byte_r)
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE_LEGACY(h6280_irq_status_w)
ADDRESS_MAP_END
@ -574,7 +574,7 @@ static ADDRESS_MAP_START( midres_s_map, AS_PROGRAM, 8, dec0_state )
AM_RANGE(0x108000, 0x108001) AM_DEVWRITE_LEGACY("ym2", ym3812_w)
AM_RANGE(0x118000, 0x118001) AM_DEVWRITE_LEGACY("ym1", ym2203_w)
AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0x138000, 0x138001) AM_READ(soundlatch_r)
AM_RANGE(0x138000, 0x138001) AM_READ(soundlatch_byte_r)
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE_LEGACY(h6280_irq_status_w)
ADDRESS_MAP_END
@ -652,7 +652,7 @@ static ADDRESS_MAP_START( automat_s_map, AS_PROGRAM, 8, dec0_state )
AM_RANGE(0xc000, 0xc7ff) AM_RAM
// AM_RANGE(0xc800, 0xc800) AM_WRITE_LEGACY(ym2203_control_port_0_w)
// AM_RANGE(0xc801, 0xc801) AM_WRITE_LEGACY(ym2203_write_port_0_w)
AM_RANGE(0xd800, 0xd800) AM_READ(soundlatch_r)
AM_RANGE(0xd800, 0xd800) AM_READ(soundlatch_byte_r)
// AM_RANGE(0xd000, 0xd000) AM_WRITE_LEGACY(ym2203_control_port_1_w)
// AM_RANGE(0xd001, 0xd001) AM_WRITE_LEGACY(ym2203_write_port_1_w)
AM_RANGE(0xf000, 0xf000) AM_WRITE(automat_adpcm_w)

View File

@ -478,7 +478,7 @@ WRITE8_MEMBER(dec8_state::csilver_control_w)
WRITE8_MEMBER(dec8_state::dec8_sound_w)
{
soundlatch_w(space, 0, data);
soundlatch_byte_w(space, 0, data);
device_set_input_line(m_audiocpu, INPUT_LINE_NMI, PULSE_LINE);
}
@ -873,7 +873,7 @@ static ADDRESS_MAP_START( dec8_s_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x0000, 0x05ff) AM_RAM
AM_RANGE(0x2000, 0x2001) AM_DEVWRITE_LEGACY("ym1", ym2203_w)
AM_RANGE(0x4000, 0x4001) AM_DEVWRITE_LEGACY("ym2", ym3812_w)
AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_r)
AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_byte_r)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
@ -882,7 +882,7 @@ static ADDRESS_MAP_START( oscar_s_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x0000, 0x05ff) AM_RAM
AM_RANGE(0x2000, 0x2001) AM_DEVWRITE_LEGACY("ym1", ym2203_w)
AM_RANGE(0x4000, 0x4001) AM_DEVWRITE_LEGACY("ym2", ym3526_w)
AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_r)
AM_RANGE(0x6000, 0x6000) AM_READ(soundlatch_byte_r)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
@ -891,7 +891,7 @@ static ADDRESS_MAP_START( ym3526_s_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x0000, 0x05ff) AM_RAM
AM_RANGE(0x0800, 0x0801) AM_DEVWRITE_LEGACY("ym1", ym2203_w)
AM_RANGE(0x1000, 0x1001) AM_DEVWRITE_LEGACY("ym2", ym3526_w)
AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_r)
AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_byte_r)
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
@ -902,7 +902,7 @@ static ADDRESS_MAP_START( csilver_s_map, AS_PROGRAM, 8, dec8_state )
AM_RANGE(0x1000, 0x1001) AM_DEVWRITE_LEGACY("ym2", ym3526_w)
AM_RANGE(0x1800, 0x1800) AM_WRITE(csilver_adpcm_data_w) /* ADPCM data for the MSM5205 chip */
AM_RANGE(0x2000, 0x2000) AM_WRITE(csilver_sound_bank_w)
AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_r)
AM_RANGE(0x3000, 0x3000) AM_READ(soundlatch_byte_r)
AM_RANGE(0x3400, 0x3400) AM_DEVREAD_LEGACY("msm", csilver_adpcm_reset_r) /* ? not sure */
AM_RANGE(0x4000, 0x7fff) AM_ROMBANK("bank3")
AM_RANGE(0x8000, 0xffff) AM_ROM

View File

@ -343,7 +343,7 @@ WRITE32_MEMBER(deco32_state::deco32_irq_controller_w)
WRITE32_MEMBER(deco32_state::deco32_sound_w)
{
soundlatch_w(space,0,data & 0xff);
soundlatch_byte_w(space,0,data & 0xff);
cputag_set_input_line(machine(), "audiocpu", 0, HOLD_LINE);
}
@ -669,7 +669,7 @@ WRITE32_MEMBER(deco32_state::nslasher_prot_w)
if (offset==0x700/4) {
/* bit 1 of nslasher_sound_irq specifies IRQ command writes */
soundlatch_w(space,0,(data>>16)&0xff);
soundlatch_byte_w(space,0,(data>>16)&0xff);
m_nslasher_sound_irq |= 0x02;
cputag_set_input_line(machine(), "audiocpu", 0, (m_nslasher_sound_irq != 0) ? ASSERT_LINE : CLEAR_LINE);
}
@ -1004,7 +1004,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, deco32_state )
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki1", okim6295_device, read, write)
AM_RANGE(0x130000, 0x130001) AM_DEVREADWRITE("oki2", okim6295_device, read, write)
AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_byte_r)
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE_LEGACY(h6280_timer_w)
AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE_LEGACY(h6280_irq_status_w)
@ -1015,7 +1015,7 @@ READ8_MEMBER(deco32_state::latch_r)
/* bit 1 of nslasher_sound_irq specifies IRQ command writes */
m_nslasher_sound_irq &= ~0x02;
cputag_set_input_line(machine(), "audiocpu", 0, (m_nslasher_sound_irq != 0) ? ASSERT_LINE : CLEAR_LINE);
return soundlatch_r(space,0);
return soundlatch_byte_r(space,0);
}
static ADDRESS_MAP_START( nslasher_sound, AS_PROGRAM, 8, deco32_state )
@ -3352,7 +3352,8 @@ static DRIVER_INIT( nslasher )
deco156_decrypt(machine);
soundlatch_setclearedvalue(machine, 0xff);
deco32_state *state = machine.driver_data<deco32_state>();
state->soundlatch_setclearedvalue(0xff);
/* The board for Night Slashers is very close to the Fighter's History and
Tattoo Assassins boards, but has an encrypted ARM cpu. */

View File

@ -156,7 +156,7 @@ static SCREEN_UPDATE_IND16( rblaster )
#if 0
WRITE8_MEMBER(deco_ld_state::rblaster_sound_w)
{
soundlatch_w(space,0,data);
soundlatch_byte_w(space,0,data);
device_set_input_line(machine().cpu[1], 0, HOLD_LINE);
}
#endif
@ -258,7 +258,7 @@ static ADDRESS_MAP_START( rblaster_sound_map, AS_PROGRAM, 8, deco_ld_state )
AM_RANGE(0x4000, 0x4000) AM_DEVWRITE_LEGACY("ay1", ay8910_address_w)
AM_RANGE(0x6000, 0x6000) AM_DEVWRITE_LEGACY("ay2", ay8910_data_w)
AM_RANGE(0x8000, 0x8000) AM_DEVWRITE_LEGACY("ay2", ay8910_address_w)
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_byte_r)
AM_RANGE(0xe000, 0xffff) AM_ROM
ADDRESS_MAP_END

View File

@ -52,7 +52,7 @@ WRITE16_MEMBER(deniam_state::sound_command_w)
{
if (ACCESSING_BITS_8_15)
{
soundlatch_w(space,offset, (data >> 8) & 0xff);
soundlatch_byte_w(space,offset, (data >> 8) & 0xff);
device_set_input_line(m_audio_cpu, INPUT_LINE_NMI, PULSE_LINE);
}
}
@ -101,7 +101,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_io_map, AS_IO, 8, deniam_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x01, 0x01) AM_READ(soundlatch_r)
AM_RANGE(0x01, 0x01) AM_READ(soundlatch_byte_r)
AM_RANGE(0x02, 0x03) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)
AM_RANGE(0x05, 0x05) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0x07, 0x07) AM_DEVWRITE_LEGACY("oki", deniam16b_oki_rom_bank_w)

View File

@ -37,7 +37,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, dietgo_state )
AM_RANGE(0x110000, 0x110001) AM_DEVREADWRITE_LEGACY("ymsnd", ym2151_r, ym2151_w)
AM_RANGE(0x120000, 0x120001) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0x130000, 0x130001) AM_NOP /* This board only has 1 oki chip */
AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_r)
AM_RANGE(0x140000, 0x140001) AM_READ(soundlatch_byte_r)
AM_RANGE(0x1f0000, 0x1f1fff) AM_RAMBANK("bank8")
AM_RANGE(0x1fec00, 0x1fec01) AM_WRITE_LEGACY(h6280_timer_w)
AM_RANGE(0x1ff400, 0x1ff403) AM_WRITE_LEGACY(h6280_irq_status_w)

View File

@ -232,7 +232,7 @@ WRITE8_MEMBER(discoboy_state::discoboy_port_03_w)// sfx? (to sound cpu)
{
// printf("unk discoboy_port_03_w %02x\n", data);
// device_set_input_line(m_audiocpu, INPUT_LINE_NMI, HOLD_LINE);
soundlatch_w(space, 0, data);
soundlatch_byte_w(space, 0, data);
device_set_input_line(m_audiocpu, 0, HOLD_LINE);
}
@ -349,7 +349,7 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, discoboy_state )
AM_RANGE(0xe400, 0xe400) AM_WRITE(yunsung8_adpcm_w)
AM_RANGE(0xec00, 0xec01) AM_DEVWRITE_LEGACY("ymsnd", ym3812_w)
AM_RANGE(0xf000, 0xf7ff) AM_RAM
AM_RANGE(0xf800, 0xf800) AM_READ(soundlatch_r)
AM_RANGE(0xf800, 0xf800) AM_READ(soundlatch_byte_r)
ADDRESS_MAP_END

View File

@ -123,7 +123,7 @@ WRITE16_MEMBER(diverboy_state::soundcmd_w)
if (ACCESSING_BITS_0_7)
{
soundlatch_w(space, 0, data & 0xff);
soundlatch_byte_w(space, 0, data & 0xff);
device_set_input_line(m_audiocpu, 0, HOLD_LINE);
}
}
@ -161,7 +161,7 @@ static ADDRESS_MAP_START( snd_map, AS_PROGRAM, 8, diverboy_state )
AM_RANGE(0x8000, 0x87ff) AM_RAM
AM_RANGE(0x9000, 0x9000) AM_DEVWRITE_LEGACY("oki", okibank_w)
AM_RANGE(0x9800, 0x9800) AM_DEVREADWRITE("oki", okim6295_device, read, write)
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_r)
AM_RANGE(0xa000, 0xa000) AM_READ(soundlatch_byte_r)
ADDRESS_MAP_END

View File

@ -232,7 +232,7 @@ WRITE8_MEMBER(djboy_state::coin_count_w)
WRITE8_MEMBER(djboy_state::trigger_nmi_on_sound_cpu2)
{
soundlatch_w(space, 0, data);
soundlatch_byte_w(space, 0, data);
device_set_input_line(m_cpu2, INPUT_LINE_NMI, PULSE_LINE);
} /* trigger_nmi_on_sound_cpu2 */
@ -293,7 +293,7 @@ static ADDRESS_MAP_START( cpu2_port_am, AS_IO, 8, djboy_state )
ADDRESS_MAP_GLOBAL_MASK(0xff)
AM_RANGE(0x00, 0x00) AM_WRITE(cpu2_bankswitch_w)
AM_RANGE(0x02, 0x03) AM_DEVREADWRITE_LEGACY("ymsnd", ym2203_r, ym2203_w)
AM_RANGE(0x04, 0x04) AM_READ(soundlatch_r)
AM_RANGE(0x04, 0x04) AM_READ(soundlatch_byte_r)
AM_RANGE(0x06, 0x06) AM_DEVREADWRITE("oki1", okim6295_device, read, write)
AM_RANGE(0x07, 0x07) AM_DEVREADWRITE("oki2", okim6295_device, read, write)
ADDRESS_MAP_END

Some files were not shown because too many files have changed in this diff Show More