mirror of
https://github.com/holub/mame
synced 2025-06-01 10:31:48 +03:00
k054539: converted to use inline configs and delegates. nw.
with this, I'm done for the moment with konami chips.
This commit is contained in:
parent
19e040dc78
commit
8fd497837a
@ -18,22 +18,12 @@ const device_type K054539 = &device_creator<k054539_device>;
|
||||
k054539_device::k054539_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock)
|
||||
: device_t(mconfig, K054539, "K054539 ADPCM", tag, owner, clock, "k054539", __FILE__),
|
||||
device_sound_interface(mconfig, *this),
|
||||
m_timer_handler(*this)
|
||||
m_timer_handler(*this),
|
||||
m_rgnoverride(NULL)
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// static_set_interface - configuration helper
|
||||
// to set the interface
|
||||
//-------------------------------------------------
|
||||
|
||||
void k054539_device::static_set_interface(device_t &device, const k054539_interface &interface)
|
||||
{
|
||||
k054539_device &k = downcast<k054539_device &>(device);
|
||||
static_cast<k054539_interface &>(k) = interface;
|
||||
}
|
||||
|
||||
/* Registers:
|
||||
00..ff: 20 bytes/channel, 8 channels
|
||||
00..02: pitch (lsb, mid, msb)
|
||||
@ -318,7 +308,7 @@ void k054539_device::init_chip()
|
||||
cur_ptr = 0;
|
||||
memset(ram, 0, 0x4000);
|
||||
|
||||
memory_region *reg = (rgnoverride != NULL) ? machine().root_device().memregion(rgnoverride) : region();
|
||||
memory_region *reg = (m_rgnoverride != NULL) ? machine().root_device().memregion(m_rgnoverride) : region();
|
||||
rom = *reg;
|
||||
rom_size = reg->bytes();
|
||||
rom_mask = 0xffffffffU;
|
||||
@ -376,8 +366,8 @@ WRITE8_MEMBER(k054539_device::write)
|
||||
switch(offset) {
|
||||
case 0x13f: {
|
||||
int pan = data >= 0x11 && data <= 0x1f ? data - 0x11 : 0x18 - 0x11;
|
||||
if(apan)
|
||||
apan(this, pantab[pan], pantab[0xe - pan]);
|
||||
if (!m_apan_cb.isnull())
|
||||
m_apan_cb(pantab[pan], pantab[0xe - pan]);
|
||||
break;
|
||||
}
|
||||
|
||||
@ -502,7 +492,9 @@ void k054539_device::device_start()
|
||||
{
|
||||
m_timer = timer_alloc(0);
|
||||
|
||||
// resolve / bind callbacks
|
||||
m_timer_handler.resolve_safe();
|
||||
m_apan_cb.bind_relative_to(*owner());
|
||||
|
||||
for (int i = 0; i < 8; i++)
|
||||
gain[i] = 1.0;
|
||||
|
@ -9,19 +9,18 @@
|
||||
#ifndef __K054539_H__
|
||||
#define __K054539_H__
|
||||
|
||||
#define MCFG_K054539_ADD(_tag, _clock, _interface) \
|
||||
MCFG_DEVICE_ADD(_tag, K054539, _clock) \
|
||||
k054539_device::static_set_interface(*device, _interface);
|
||||
typedef device_delegate<void (double left, double right)> k054539_cb_delegate;
|
||||
#define K054539_CB_MEMBER(_name) void _name(double left, double right)
|
||||
|
||||
#define MCFG_K054539_APAN_CB(_class, _method) \
|
||||
k054539_device::set_analog_callback(*device, k054539_cb_delegate(&_class::_method, #_class "::" #_method, downcast<_class *>(owner)));
|
||||
|
||||
#define MCFG_K054539_REGION_OVERRRIDE(_region) \
|
||||
k054539_device::set_override(*device, _region);
|
||||
|
||||
#define MCFG_K054539_TIMER_HANDLER(_devcb) \
|
||||
devcb = &k054539_device::set_timer_handler(*device, DEVCB_##_devcb);
|
||||
|
||||
struct k054539_interface
|
||||
{
|
||||
const char *rgnoverride;
|
||||
void (*apan)(device_t *, double, double); /* Callback for analog output mixing levels (0..1 for each channel) */
|
||||
};
|
||||
|
||||
|
||||
//* control flags, may be set at DRIVER_INIT().
|
||||
#define K054539_RESET_FLAGS 0
|
||||
@ -29,13 +28,8 @@ struct k054539_interface
|
||||
#define K054539_DISABLE_REVERB 2
|
||||
#define K054539_UPDATE_AT_KEYON 4
|
||||
|
||||
void k054539_init_flags(device_t *device, int flags);
|
||||
|
||||
void k054539_set_gain(device_t *device, int channel, double gain);
|
||||
|
||||
class k054539_device : public device_t,
|
||||
public device_sound_interface,
|
||||
public k054539_interface
|
||||
public device_sound_interface
|
||||
{
|
||||
public:
|
||||
enum {
|
||||
@ -49,7 +43,8 @@ public:
|
||||
k054539_device(const machine_config &mconfig, const char *tag, device_t *owner, UINT32 clock);
|
||||
|
||||
// static configuration helpers
|
||||
static void static_set_interface(device_t &device, const k054539_interface &interface);
|
||||
static void set_analog_callback(device_t &device, k054539_cb_delegate callback) { downcast<k054539_device &>(device).m_apan_cb = callback; }
|
||||
static void set_override(device_t &device, const char *rgnoverride) { downcast<k054539_device &>(device).m_rgnoverride = rgnoverride; }
|
||||
template<class _Object> static devcb_base &set_timer_handler(device_t &device, _Object object) { return downcast<k054539_device &>(device).m_timer_handler.set_callback(object); }
|
||||
|
||||
|
||||
@ -110,9 +105,11 @@ private:
|
||||
channel channels[8];
|
||||
sound_stream *stream;
|
||||
|
||||
emu_timer *m_timer;
|
||||
UINT32 m_timer_state;
|
||||
emu_timer *m_timer;
|
||||
UINT32 m_timer_state;
|
||||
devcb_write_line m_timer_handler;
|
||||
const char *m_rgnoverride;
|
||||
k054539_cb_delegate m_apan_cb;
|
||||
|
||||
bool regupdate();
|
||||
void keyon(int channel);
|
||||
|
@ -1333,19 +1333,6 @@ GFXDECODE_END
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Sound interfaces
|
||||
*
|
||||
*************************************/
|
||||
|
||||
static const k054539_interface k054539_config =
|
||||
{
|
||||
"shared"
|
||||
};
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Machine-specific init
|
||||
@ -1424,13 +1411,13 @@ static MACHINE_CONFIG_START( djmain, djmain_state )
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_K054539_ADD("k054539_1", XTAL_18_432MHz, k054539_config)
|
||||
MCFG_SOUND_CONFIG(k054539_config)
|
||||
MCFG_DEVICE_ADD("k054539_1", K054539, XTAL_18_432MHz)
|
||||
MCFG_K054539_REGION_OVERRRIDE("shared")
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
|
||||
|
||||
MCFG_K054539_ADD("k054539_2", XTAL_18_432MHz, k054539_config)
|
||||
MCFG_SOUND_CONFIG(k054539_config)
|
||||
MCFG_DEVICE_ADD("k054539_2", K054539, XTAL_18_432MHz)
|
||||
MCFG_K054539_REGION_OVERRRIDE("shared")
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
|
@ -289,12 +289,6 @@ static INPUT_PORTS_START( gijoe )
|
||||
PORT_DIPUNUSED_DIPLOC( 0x8000, 0x8000, "SW1:4" ) /* Listed as "Unused" */
|
||||
INPUT_PORTS_END
|
||||
|
||||
static const k054539_interface k054539_config =
|
||||
{
|
||||
NULL,
|
||||
NULL,
|
||||
};
|
||||
|
||||
void gijoe_state::machine_start()
|
||||
{
|
||||
m_dmadelay_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(gijoe_state::dmaend_callback),this));
|
||||
@ -352,7 +346,7 @@ static MACHINE_CONFIG_START( gijoe, gijoe_state )
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_K054539_ADD("k054539", XTAL_18_432MHz, k054539_config)
|
||||
MCFG_DEVICE_ADD("k054539", K054539, XTAL_18_432MHz)
|
||||
MCFG_K054539_TIMER_HANDLER(INPUTLINE("audiocpu", INPUT_LINE_NMI))
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
|
||||
|
@ -228,11 +228,6 @@ WRITE_LINE_MEMBER(konamigq_state::k054539_irq_gen)
|
||||
m_sound_intck = state;
|
||||
}
|
||||
|
||||
static const k054539_interface k054539_config =
|
||||
{
|
||||
"shared"
|
||||
};
|
||||
|
||||
/* SCSI */
|
||||
|
||||
void konamigq_state::scsi_dma_read( UINT32 *p_n_psxram, UINT32 n_address, INT32 n_size )
|
||||
@ -331,12 +326,14 @@ static MACHINE_CONFIG_START( konamigq, konamigq_state )
|
||||
MCFG_K056800_ADD("k056800", XTAL_18_432MHz)
|
||||
MCFG_K056800_INT_HANDLER(INPUTLINE("soundcpu", M68K_IRQ_1))
|
||||
|
||||
MCFG_K054539_ADD("k054539_1", XTAL_18_432MHz, k054539_config)
|
||||
MCFG_DEVICE_ADD("k054539_1", K054539, XTAL_18_432MHz)
|
||||
MCFG_K054539_REGION_OVERRRIDE("shared")
|
||||
MCFG_K054539_TIMER_HANDLER(WRITELINE(konamigq_state, k054539_irq_gen))
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
|
||||
|
||||
MCFG_K054539_ADD("k054539_2", XTAL_18_432MHz, k054539_config)
|
||||
MCFG_DEVICE_ADD("k054539_2", K054539, XTAL_18_432MHz)
|
||||
MCFG_K054539_REGION_OVERRRIDE("shared")
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
|
@ -1124,11 +1124,6 @@ static ADDRESS_MAP_START( gxtmsmap, AS_DATA, 8, konamigx_state )
|
||||
AM_RANGE(0x00000, 0x3ffff) AM_RAM
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static const k054539_interface k054539_config =
|
||||
{
|
||||
"shared"
|
||||
};
|
||||
|
||||
|
||||
WRITE_LINE_MEMBER(konamigx_state::k054539_irq_gen)
|
||||
{
|
||||
@ -1666,14 +1661,16 @@ static MACHINE_CONFIG_START( konamigx, konamigx_state )
|
||||
MCFG_K056800_ADD("k056800", XTAL_18_432MHz)
|
||||
MCFG_K056800_INT_HANDLER(INPUTLINE("soundcpu", M68K_IRQ_1))
|
||||
|
||||
MCFG_K054539_ADD("k054539_1", XTAL_18_432MHz, k054539_config)
|
||||
MCFG_DEVICE_ADD("k054539_1", K054539, XTAL_18_432MHz)
|
||||
MCFG_K054539_REGION_OVERRRIDE("shared")
|
||||
MCFG_K054539_TIMER_HANDLER(WRITELINE(konamigx_state, k054539_irq_gen))
|
||||
MCFG_SOUND_ROUTE_EX(0, "dasp", 0.5, 0)
|
||||
MCFG_SOUND_ROUTE_EX(1, "dasp", 0.5, 1)
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
|
||||
|
||||
MCFG_K054539_ADD("k054539_2", XTAL_18_432MHz, k054539_config)
|
||||
MCFG_DEVICE_ADD("k054539_2", K054539, XTAL_18_432MHz)
|
||||
MCFG_K054539_REGION_OVERRRIDE("shared")
|
||||
MCFG_SOUND_ROUTE_EX(0, "dasp", 0.5, 2)
|
||||
MCFG_SOUND_ROUTE_EX(1, "dasp", 0.5, 3)
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
|
||||
|
@ -463,14 +463,6 @@ static INPUT_PORTS_START( lethalene ) /* European region does not have non-engli
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
/* sound */
|
||||
|
||||
static const k054539_interface k054539_config =
|
||||
{
|
||||
NULL,
|
||||
NULL,
|
||||
};
|
||||
|
||||
void lethal_state::machine_start()
|
||||
{
|
||||
membank("bank1")->configure_entries(0, 0x20, memregion("maincpu")->base(), 0x2000);
|
||||
@ -542,7 +534,7 @@ static MACHINE_CONFIG_START( lethalen, lethal_state )
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_K054539_ADD("k054539", XTAL_18_432MHz, k054539_config)
|
||||
MCFG_DEVICE_ADD("k054539", K054539, XTAL_18_432MHz)
|
||||
MCFG_K054539_TIMER_HANDLER(INPUTLINE("soundcpu", INPUT_LINE_NMI))
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
|
||||
|
@ -514,8 +514,6 @@ MACHINE_RESET_MEMBER(moo_state,moo)
|
||||
m_sprite_colorbase = 0;
|
||||
}
|
||||
|
||||
static k054539_interface k054539_config;
|
||||
|
||||
static MACHINE_CONFIG_START( moo, moo_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
@ -575,7 +573,7 @@ static MACHINE_CONFIG_START( moo, moo_state )
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 0.50)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 0.50)
|
||||
|
||||
MCFG_K054539_ADD("k054539", XTAL_18_432MHz, k054539_config)
|
||||
MCFG_DEVICE_ADD("k054539", K054539, XTAL_18_432MHz)
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 0.75)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 0.75)
|
||||
MACHINE_CONFIG_END
|
||||
|
@ -643,11 +643,6 @@ WRITE_LINE_MEMBER(mystwarr_state::k054539_nmi_gen)
|
||||
m_sound_nmi_clk = state;
|
||||
}
|
||||
|
||||
static const k054539_interface k054539_config =
|
||||
{
|
||||
"shared"
|
||||
};
|
||||
|
||||
/**********************************************************************************/
|
||||
|
||||
static INPUT_PORTS_START( mystwarr )
|
||||
@ -1031,12 +1026,14 @@ static MACHINE_CONFIG_START( mystwarr, mystwarr_state )
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_K054539_ADD("k054539_1", XTAL_18_432MHz, k054539_config)
|
||||
MCFG_DEVICE_ADD("k054539_1", K054539, XTAL_18_432MHz)
|
||||
MCFG_K054539_REGION_OVERRRIDE("shared")
|
||||
MCFG_K054539_TIMER_HANDLER(WRITELINE(mystwarr_state, k054539_nmi_gen))
|
||||
MCFG_SOUND_ROUTE(0, "rspeaker", 1.0) /* stereo channels are inverted */
|
||||
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
|
||||
|
||||
MCFG_K054539_ADD("k054539_2", XTAL_18_432MHz, k054539_config)
|
||||
MCFG_DEVICE_ADD("k054539_2", K054539, XTAL_18_432MHz)
|
||||
MCFG_K054539_REGION_OVERRRIDE("shared")
|
||||
MCFG_SOUND_ROUTE(0, "rspeaker", 1.0) /* stereo channels are inverted */
|
||||
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
|
@ -574,12 +574,6 @@ static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, polygonet_state )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static const k054539_interface k054539_config =
|
||||
{
|
||||
"shared",
|
||||
NULL,
|
||||
};
|
||||
|
||||
/**********************************************************************************/
|
||||
static const gfx_layout bglayout =
|
||||
{
|
||||
@ -678,7 +672,8 @@ static MACHINE_CONFIG_START( plygonet, polygonet_state )
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_K054539_ADD("k054539_1", XTAL_18_432MHz, k054539_config)
|
||||
MCFG_DEVICE_ADD("k054539_1", K054539, XTAL_18_432MHz)
|
||||
MCFG_K054539_REGION_OVERRRIDE("shared")
|
||||
MCFG_K054539_TIMER_HANDLER(WRITELINE(polygonet_state, k054539_nmi_gen))
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 0.75)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 0.75)
|
||||
|
@ -534,13 +534,6 @@ WRITE_LINE_MEMBER(qdrmfgp_state::k054539_irq1_gen)
|
||||
m_sound_intck = state;
|
||||
}
|
||||
|
||||
static const k054539_interface k054539_config =
|
||||
{
|
||||
NULL,
|
||||
NULL,
|
||||
};
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Machine-specific init
|
||||
@ -617,7 +610,7 @@ static MACHINE_CONFIG_START( qdrmfgp, qdrmfgp_state )
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_K054539_ADD("k054539", XTAL_18_432MHz, k054539_config)
|
||||
MCFG_DEVICE_ADD("k054539", K054539, XTAL_18_432MHz)
|
||||
MCFG_K054539_TIMER_HANDLER(WRITELINE(qdrmfgp_state, k054539_irq1_gen))
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
|
||||
@ -664,7 +657,7 @@ static MACHINE_CONFIG_START( qdrmfgp2, qdrmfgp_state )
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_K054539_ADD("k054539", XTAL_18_432MHz, k054539_config)
|
||||
MCFG_DEVICE_ADD("k054539", K054539, XTAL_18_432MHz)
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
|
@ -323,13 +323,6 @@ static GFXDECODE_START( rungun )
|
||||
GFXDECODE_END
|
||||
|
||||
|
||||
|
||||
static const k054539_interface k054539_config =
|
||||
{
|
||||
"shared"
|
||||
};
|
||||
|
||||
|
||||
void rungun_state::machine_start()
|
||||
{
|
||||
UINT8 *ROM = memregion("soundcpu")->base();
|
||||
@ -399,12 +392,14 @@ static MACHINE_CONFIG_START( rng, rungun_state )
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_K054539_ADD("k054539_1", XTAL_18_432MHz, k054539_config)
|
||||
MCFG_DEVICE_ADD("k054539_1", K054539, XTAL_18_432MHz)
|
||||
MCFG_K054539_REGION_OVERRRIDE("shared")
|
||||
MCFG_K054539_TIMER_HANDLER(WRITELINE(rungun_state, k054539_nmi_gen))
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
|
||||
|
||||
MCFG_K054539_ADD("k054539_2", XTAL_18_432MHz, k054539_config)
|
||||
MCFG_DEVICE_ADD("k054539_2", K054539, XTAL_18_432MHz)
|
||||
MCFG_K054539_REGION_OVERRRIDE("shared")
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
|
@ -2384,12 +2384,6 @@ static MACHINE_CONFIG_START( glfgreat, tmnt_state )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
static const k054539_interface k054539_config =
|
||||
{
|
||||
NULL,
|
||||
NULL,
|
||||
};
|
||||
|
||||
MACHINE_START_MEMBER(tmnt_state,prmrsocr)
|
||||
{
|
||||
MACHINE_START_CALL_MEMBER(common);
|
||||
@ -2449,7 +2443,7 @@ static MACHINE_CONFIG_START( prmrsocr, tmnt_state )
|
||||
/* sound hardware */
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_K054539_ADD("k054539", XTAL_18_432MHz, k054539_config)
|
||||
MCFG_DEVICE_ADD("k054539", K054539, XTAL_18_432MHz)
|
||||
MCFG_K054539_TIMER_HANDLER(INPUTLINE("audiocpu", INPUT_LINE_NMI))
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
|
||||
|
@ -208,9 +208,6 @@ void ultrsprt_state::machine_reset()
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
static k054539_interface k054539_config;
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( ultrsprt, ultrsprt_state )
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("maincpu", PPC403GA, 25000000)
|
||||
@ -239,7 +236,7 @@ static MACHINE_CONFIG_START( ultrsprt, ultrsprt_state )
|
||||
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_K054539_ADD("k054539", XTAL_18_432MHz, k054539_config)
|
||||
MCFG_DEVICE_ADD("k054539", K054539, XTAL_18_432MHz)
|
||||
MCFG_K054539_TIMER_HANDLER(INPUTLINE("audiocpu", M68K_IRQ_5))
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
|
||||
|
@ -292,13 +292,12 @@ WRITE8_MEMBER(xexex_state::sound_bankswitch_w)
|
||||
membank("z80bank")->set_entry(data & 0x07);
|
||||
}
|
||||
|
||||
static void ym_set_mixing(device_t *device, double left, double right)
|
||||
K054539_CB_MEMBER(xexex_state::ym_set_mixing)
|
||||
{
|
||||
xexex_state *state = device->machine().driver_data<xexex_state>();
|
||||
state->m_filter1l->flt_volume_set_volume((71.0 * left) / 55.0);
|
||||
state->m_filter1r->flt_volume_set_volume((71.0 * right) / 55.0);
|
||||
state->m_filter2l->flt_volume_set_volume((71.0 * left) / 55.0);
|
||||
state->m_filter2r->flt_volume_set_volume((71.0 * right) / 55.0);
|
||||
m_filter1l->flt_volume_set_volume((71.0 * left) / 55.0);
|
||||
m_filter1r->flt_volume_set_volume((71.0 * right) / 55.0);
|
||||
m_filter2l->flt_volume_set_volume((71.0 * left) / 55.0);
|
||||
m_filter2r->flt_volume_set_volume((71.0 * right) / 55.0);
|
||||
}
|
||||
|
||||
TIMER_CALLBACK_MEMBER(xexex_state::dmaend_callback)
|
||||
@ -448,12 +447,6 @@ INPUT_PORTS_END
|
||||
|
||||
|
||||
|
||||
static const k054539_interface k054539_config =
|
||||
{
|
||||
NULL,
|
||||
ym_set_mixing
|
||||
};
|
||||
|
||||
void xexex_state::xexex_postload()
|
||||
{
|
||||
parse_control2();
|
||||
@ -557,7 +550,8 @@ static MACHINE_CONFIG_START( xexex, xexex_state )
|
||||
MCFG_SOUND_ROUTE(1, "filter2l", 0.50)
|
||||
MCFG_SOUND_ROUTE(1, "filter2r", 0.50)
|
||||
|
||||
MCFG_K054539_ADD("k054539", XTAL_18_432MHz, k054539_config)
|
||||
MCFG_DEVICE_ADD("k054539", K054539, XTAL_18_432MHz)
|
||||
MCFG_K054539_APAN_CB(xexex_state, ym_set_mixing)
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
|
||||
MCFG_SOUND_ROUTE(0, "rspeaker", 1.0)
|
||||
MCFG_SOUND_ROUTE(1, "lspeaker", 1.0)
|
||||
|
@ -320,8 +320,6 @@ TIMER_DEVICE_CALLBACK_MEMBER(xmen_state::xmen_scanline)
|
||||
|
||||
}
|
||||
|
||||
static k054539_interface k054539_config;
|
||||
|
||||
static MACHINE_CONFIG_START( xmen, xmen_state )
|
||||
|
||||
/* basic machine hardware */
|
||||
@ -368,7 +366,7 @@ static MACHINE_CONFIG_START( xmen, xmen_state )
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 0.20)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 0.20)
|
||||
|
||||
MCFG_K054539_ADD("k054539", XTAL_18_432MHz, k054539_config)
|
||||
MCFG_DEVICE_ADD("k054539", K054539, XTAL_18_432MHz)
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 1.00)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 1.00)
|
||||
MACHINE_CONFIG_END
|
||||
@ -432,7 +430,7 @@ static MACHINE_CONFIG_START( xmen6p, xmen_state )
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 0.20)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 0.20)
|
||||
|
||||
MCFG_K054539_ADD("k054539", XTAL_18_432MHz, k054539_config)
|
||||
MCFG_DEVICE_ADD("k054539", K054539, XTAL_18_432MHz)
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 1.00)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 1.00)
|
||||
MACHINE_CONFIG_END
|
||||
|
@ -535,11 +535,6 @@ static ADDRESS_MAP_START( sound_memmap, AS_PROGRAM, 16, zr107_state )
|
||||
AM_RANGE(0x580000, 0x580001) AM_WRITENOP // 'NRES' - D2: K056602 /RESET
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static const k054539_interface k054539_config =
|
||||
{
|
||||
"shared"
|
||||
};
|
||||
|
||||
/*****************************************************************************/
|
||||
|
||||
|
||||
@ -807,12 +802,14 @@ static MACHINE_CONFIG_START( zr107, zr107_state )
|
||||
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_K054539_ADD("k054539_1", XTAL_18_432MHz, k054539_config)
|
||||
MCFG_DEVICE_ADD("k054539_1", K054539, XTAL_18_432MHz)
|
||||
MCFG_K054539_REGION_OVERRRIDE("shared")
|
||||
MCFG_K054539_TIMER_HANDLER(WRITELINE(zr107_state, k054539_irq_gen))
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 0.75)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 0.75)
|
||||
|
||||
MCFG_K054539_ADD("k054539_2", XTAL_18_432MHz, k054539_config)
|
||||
MCFG_DEVICE_ADD("k054539_2", K054539, XTAL_18_432MHz)
|
||||
MCFG_K054539_REGION_OVERRRIDE("shared")
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 0.75)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 0.75)
|
||||
|
||||
@ -887,13 +884,14 @@ static MACHINE_CONFIG_START( jetwave, zr107_state )
|
||||
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_K054539_ADD("k054539_1", XTAL_18_432MHz, k054539_config)
|
||||
MCFG_DEVICE_ADD("k054539_1", K054539, XTAL_18_432MHz)
|
||||
MCFG_K054539_REGION_OVERRRIDE("shared")
|
||||
MCFG_K054539_TIMER_HANDLER(WRITELINE(zr107_state, k054539_irq_gen))
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 0.75)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 0.75)
|
||||
|
||||
MCFG_K054539_ADD("k054539_2", XTAL_18_432MHz, k054539_config)
|
||||
MCFG_SOUND_CONFIG(k054539_config)
|
||||
MCFG_DEVICE_ADD("k054539_2", K054539, XTAL_18_432MHz)
|
||||
MCFG_K054539_REGION_OVERRRIDE("shared")
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 0.75)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 0.75)
|
||||
|
||||
|
@ -96,4 +96,5 @@ public:
|
||||
void parse_control2( );
|
||||
K056832_CB_MEMBER(tile_callback);
|
||||
K053246_CB_MEMBER(sprite_callback);
|
||||
K054539_CB_MEMBER(ym_set_mixing);
|
||||
};
|
||||
|
Loading…
Reference in New Issue
Block a user