Removed SOUND_START legacy MACRO. Added SOUND_START_MEMBER and SOUND_RESET_MEMBER macros. (nw)

This commit is contained in:
Ivan Vangelista 2013-10-27 19:38:03 +00:00
parent faa717c9a1
commit 82b896637b
28 changed files with 162 additions and 329 deletions

View File

@ -34,10 +34,10 @@
// core sound callbacks
#define MCFG_SOUND_START_OVERRIDE(_class, _func) \
driver_device::static_set_callback(config.root_device(), driver_device::CB_SOUND_START, driver_callback_delegate(&_class::_func, #_class "::" #_func, downcast<_class *>(owner)));
driver_device::static_set_callback(config.root_device(), driver_device::CB_SOUND_START, driver_callback_delegate(&_class::SOUND_START_NAME(_func), #_class "::sound_start_" #_func, downcast<_class *>(owner)));
#define MCFG_SOUND_RESET_OVERRIDE(_class, _func) \
driver_device::static_set_callback(config.root_device(), driver_device::CB_SOUND_RESET, driver_callback_delegate(&_class::_func, #_class "::" #_func, downcast<_class *>(owner)));
driver_device::static_set_callback(config.root_device(), driver_device::CB_SOUND_RESET, driver_callback_delegate(&_class::SOUND_RESET_NAME(_func), #_class "::sound_reset_" #_func, downcast<_class *>(owner)));
// core video callbacks
@ -73,10 +73,14 @@
#define SOUND_START_NAME(name) sound_start_##name
#define SOUND_START(name) void SOUND_START_NAME(name)(running_machine &machine)
#define SOUND_START_CALL(name) SOUND_START_NAME(name)(machine)
#define DECLARE_SOUND_START(name) void SOUND_START_NAME(name)()
#define SOUND_START_MEMBER(cls,name) void cls::SOUND_START_NAME(name)()
#define SOUND_RESET_NAME(name) sound_reset_##name
#define SOUND_RESET(name) void SOUND_RESET_NAME(name)(running_machine &machine)
#define SOUND_RESET_CALL(name) SOUND_RESET_NAME(name)(machine)
#define DECLARE_SOUND_RESET(name) void SOUND_RESET_NAME(name)()
#define SOUND_RESET_MEMBER(cls,name) void cls::SOUND_RESET_NAME(name)()
#define PALETTE_INIT_NAME(name) palette_init_##name
#define PALETTE_INIT(name) void PALETTE_INIT_NAME(name)(running_machine &machine) // legacy

View File

@ -23,9 +23,6 @@
#define MCFG_MACHINE_RESET(_func) \
driver_device::static_set_callback(*owner, driver_device::CB_MACHINE_RESET, MACHINE_RESET_NAME(_func));
#define MCFG_SOUND_START(_func) \
driver_device::static_set_callback(*owner, driver_device::CB_SOUND_START, SOUND_START_NAME(_func));
#define MCFG_SOUND_RESET(_func) \
driver_device::static_set_callback(*owner, driver_device::CB_SOUND_RESET, SOUND_RESET_NAME(_func));

View File

@ -124,12 +124,9 @@ Z80CTC_INTERFACE( cchasm_ctc_intf )
DEVCB_DRIVER_LINE_MEMBER(cchasm_state,ctc_timer_2_w) /* ZC/TO2 callback */
};
SOUND_START( cchasm )
void cchasm_state::sound_start()
{
cchasm_state *state = machine.driver_data<cchasm_state>();
state->m_coin_flag = 0;
state->m_sound_flags = 0;
state->m_output[0] = 0; state->m_output[1] = 0;
state->m_ctc = machine.device<z80ctc_device>("ctc");
m_coin_flag = 0;
m_sound_flags = 0;
m_output[0] = 0; m_output[1] = 0;
}

View File

@ -28,7 +28,6 @@
#include "sound/ay8910.h"
#include "drivlgcy.h"
/*************************************
*
* Macros
@ -74,20 +73,19 @@ WRITE8_MEMBER(cinemat_state::cinemat_sound_control_w)
*
*************************************/
static SOUND_START( generic )
void cinemat_state::sound_start()
{
cinemat_state *state = machine.driver_data<cinemat_state>();
/* register for save states */
state->save_item(NAME(state->m_sound_control));
state->save_item(NAME(state->m_current_shift));
state->save_item(NAME(state->m_last_shift));
state->save_item(NAME(state->m_last_shift2));
state->save_item(NAME(state->m_current_pitch));
state->save_item(NAME(state->m_last_frame));
state->save_item(NAME(state->m_sound_fifo));
state->save_item(NAME(state->m_sound_fifo_in));
state->save_item(NAME(state->m_sound_fifo_out));
state->save_item(NAME(state->m_last_portb_write));
save_item(NAME(m_sound_control));
save_item(NAME(m_current_shift));
save_item(NAME(m_last_shift));
save_item(NAME(m_last_shift2));
save_item(NAME(m_current_pitch));
save_item(NAME(m_last_frame));
save_item(NAME(m_sound_fifo));
save_item(NAME(m_sound_fifo_in));
save_item(NAME(m_sound_fifo_out));
save_item(NAME(m_last_portb_write));
}
@ -188,7 +186,6 @@ static SOUND_RESET( spacewar )
}
MACHINE_CONFIG_FRAGMENT( spacewar_sound )
MCFG_SOUND_START(generic)
MCFG_SOUND_RESET(spacewar)
MCFG_SPEAKER_STANDARD_MONO("mono")
@ -243,7 +240,6 @@ static SOUND_RESET( barrier )
}
MACHINE_CONFIG_FRAGMENT( barrier_sound )
MCFG_SOUND_START(generic)
MCFG_SOUND_RESET(barrier)
MCFG_SPEAKER_STANDARD_MONO("mono")
@ -304,7 +300,6 @@ static SOUND_RESET( speedfrk )
}
MACHINE_CONFIG_FRAGMENT( speedfrk_sound )
MCFG_SOUND_START(generic)
MCFG_SOUND_RESET(speedfrk)
MCFG_SPEAKER_STANDARD_MONO("mono")
@ -380,7 +375,6 @@ static SOUND_RESET( starhawk )
}
MACHINE_CONFIG_FRAGMENT( starhawk_sound )
MCFG_SOUND_START(generic)
MCFG_SOUND_RESET(starhawk)
MCFG_SPEAKER_STANDARD_MONO("mono")
@ -450,7 +444,6 @@ static SOUND_RESET( sundance )
}
MACHINE_CONFIG_FRAGMENT( sundance_sound )
MCFG_SOUND_START(generic)
MCFG_SOUND_RESET(sundance)
MCFG_SPEAKER_STANDARD_MONO("mono")
@ -540,7 +533,6 @@ static SOUND_RESET( tailg )
}
MACHINE_CONFIG_FRAGMENT( tailg_sound )
MCFG_SOUND_START(generic)
MCFG_SOUND_RESET(tailg)
MCFG_SPEAKER_STANDARD_MONO("mono")
@ -609,7 +601,6 @@ static SOUND_RESET( warrior )
}
MACHINE_CONFIG_FRAGMENT( warrior_sound )
MCFG_SOUND_START(generic)
MCFG_SOUND_RESET(warrior)
MCFG_SPEAKER_STANDARD_MONO("mono")
@ -705,7 +696,6 @@ static SOUND_RESET( armora )
}
MACHINE_CONFIG_FRAGMENT( armora_sound )
MCFG_SOUND_START(generic)
MCFG_SOUND_RESET(armora)
MCFG_SPEAKER_STANDARD_MONO("mono")
@ -798,7 +788,6 @@ static SOUND_RESET( ripoff )
}
MACHINE_CONFIG_FRAGMENT( ripoff_sound )
MCFG_SOUND_START(generic)
MCFG_SOUND_RESET(ripoff)
MCFG_SPEAKER_STANDARD_MONO("mono")
@ -912,7 +901,6 @@ static SOUND_RESET( starcas )
}
MACHINE_CONFIG_FRAGMENT( starcas_sound )
MCFG_SOUND_START(generic)
MCFG_SOUND_RESET(starcas)
MCFG_SPEAKER_STANDARD_MONO("mono")
@ -1048,7 +1036,6 @@ static SOUND_RESET( solarq )
}
MACHINE_CONFIG_FRAGMENT( solarq_sound )
MCFG_SOUND_START(generic)
MCFG_SOUND_RESET(solarq)
MCFG_SPEAKER_STANDARD_MONO("mono")
@ -1184,7 +1171,6 @@ static SOUND_RESET( boxingb )
}
MACHINE_CONFIG_FRAGMENT( boxingb_sound )
MCFG_SOUND_START(generic)
MCFG_SOUND_RESET(boxingb)
MCFG_SPEAKER_STANDARD_MONO("mono")
@ -1298,7 +1284,6 @@ static SOUND_RESET( wotw )
}
MACHINE_CONFIG_FRAGMENT( wotw_sound )
MCFG_SOUND_START(generic)
MCFG_SOUND_RESET(wotw)
MCFG_SPEAKER_STANDARD_MONO("mono")
@ -1454,7 +1439,6 @@ MACHINE_CONFIG_FRAGMENT( demon_sound )
MCFG_Z80CTC_ADD("ctc", 3579545 /* same as "audiocpu" */, demon_z80ctc_interface)
MCFG_SOUND_START(generic)
MCFG_SOUND_RESET(demon_sound)
/* sound hardware */

View File

@ -1106,20 +1106,6 @@ DISCRETE_TASK_END()
DISCRETE_SOUND_END
/****************************************************************
*
* Initialization
*
****************************************************************/
static SOUND_START( dkong)
{
dkong_state *state = machine.driver_data<dkong_state>();
state->m_snd_rom = state->memregion("soundcpu")->base();
}
/****************************************************************
*
* M58817 Speech
@ -1369,8 +1355,6 @@ const tms5110_interface tms_interface = {
MACHINE_CONFIG_FRAGMENT( dkong2b_audio )
MCFG_SOUND_START( dkong )
/* sound latches */
MCFG_LATCH8_ADD("ls175.3d") /* sound cmd latch */

View File

@ -11,7 +11,6 @@
#include "sound/tms5220.h"
#include "sound/pokey.h"
#include "includes/jedi.h"
#include "drivlgcy.h"
@ -21,14 +20,12 @@
*
*************************************/
static SOUND_START( jedi )
void jedi_state::sound_start()
{
jedi_state *state = machine.driver_data<jedi_state>();
/* set up save state */
state->save_item(NAME(state->m_audio_latch));
state->save_item(NAME(state->m_audio_ack_latch));
state->save_item(NAME(state->m_speech_strobe_state));
save_item(NAME(m_audio_latch));
save_item(NAME(m_audio_ack_latch));
save_item(NAME(m_speech_strobe_state));
}
@ -39,16 +36,14 @@ static SOUND_START( jedi )
*
*************************************/
static SOUND_RESET( jedi )
void jedi_state::sound_reset()
{
jedi_state *state = machine.driver_data<jedi_state>();
/* init globals */
state->m_audio_latch = 0;
state->m_audio_ack_latch = 0;
*state->m_audio_comm_stat = 0;
*state->m_speech_data = 0;
state->m_speech_strobe_state = 0;
m_audio_latch = 0;
m_audio_ack_latch = 0;
*m_audio_comm_stat = 0;
*m_speech_data = 0;
m_speech_strobe_state = 0;
}
@ -199,9 +194,6 @@ MACHINE_CONFIG_FRAGMENT( jedi_audio )
MCFG_CPU_ADD("audiocpu", M6502, JEDI_AUDIO_CPU_CLOCK)
MCFG_CPU_PROGRAM_MAP(audio_map)
MCFG_SOUND_START(jedi)
MCFG_SOUND_RESET(jedi)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
MCFG_POKEY_ADD("pokey1", JEDI_POKEY_CLOCK)

View File

@ -5,7 +5,7 @@
#include "sound/discrete.h"
#include "includes/mario.h"
#include "drivlgcy.h"
/****************************************************************
*
@ -31,9 +31,9 @@
#define I8035_P1_W(M,D) soundlatch3_byte_w(M,0,D)
#if (USE_8039)
#define I8035_P2_W(M,D) do { state->soundlatch4_byte_w(M,0,D); } while (0)
#define I8035_P2_W(M,D) do { 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_byte_w(M,0,D); } while (0)
#define I8035_P2_W(M,D) do { set_ea(M, ((D) & 0x20) ? 0 : 1); 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)))
@ -412,47 +412,45 @@ static void set_ea(address_space &space, int ea)
*
****************************************************************/
static SOUND_START( mario )
void mario_state::sound_start()
{
mario_state *state = machine.driver_data<mario_state>();
device_t *audiocpu = machine.device("audiocpu");
device_t *audiocpu = machine().device("audiocpu");
#if USE_8039
UINT8 *SND = state->memregion("audiocpu")->base();
UINT8 *SND = memregion("audiocpu")->base();
SND[0x1001] = 0x01;
#endif
state->m_eabank = NULL;
m_eabank = NULL;
if (audiocpu != NULL && audiocpu->type() != Z80)
{
state->m_eabank = "bank1";
m_eabank = "bank1";
audiocpu->memory().space(AS_PROGRAM).install_read_bank(0x000, 0x7ff, "bank1");
state->membank("bank1")->configure_entry(0, state->memregion("audiocpu")->base());
state->membank("bank1")->configure_entry(1, state->memregion("audiocpu")->base() + 0x1000);
membank("bank1")->configure_entry(0, memregion("audiocpu")->base());
membank("bank1")->configure_entry(1, memregion("audiocpu")->base() + 0x1000);
}
state->save_item(NAME(state->m_last));
state->save_item(NAME(state->m_portT));
save_item(NAME(m_last));
save_item(NAME(m_portT));
}
static SOUND_RESET( mario )
void mario_state::sound_reset()
{
mario_state *state = machine.driver_data<mario_state>();
address_space &space = machine.device("audiocpu")->memory().space(AS_PROGRAM);
address_space &space = machine().device("audiocpu")->memory().space(AS_PROGRAM);
#if USE_8039
set_ea(machine, 1);
#endif
/* FIXME: convert to latch8 */
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);
state->I8035_P1_W(space, 0x00); /* Input port */
soundlatch_clear_byte_w(space, 0, 0);
soundlatch2_clear_byte_w(space, 0, 0);
soundlatch3_clear_byte_w(space, 0, 0);
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 */
state->m_last = 0;
m_last = 0;
}
/****************************************************************
@ -505,7 +503,6 @@ WRITE8_MEMBER(mario_state::mario_sh_p1_w)
WRITE8_MEMBER(mario_state::mario_sh_p2_w)
{
mario_state *state = machine().driver_data<mario_state>();
I8035_P2_W(space, data);
}
@ -639,9 +636,6 @@ MACHINE_CONFIG_FRAGMENT( mario_audio )
MCFG_CPU_PROGRAM_MAP(mario_sound_map)
MCFG_CPU_IO_MAP(mario_sound_io_map)
MCFG_SOUND_START(mario)
MCFG_SOUND_RESET(mario)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("discrete", DISCRETE, 0)
MCFG_SOUND_CONFIG_DISCRETE(mario)
@ -654,9 +648,6 @@ MACHINE_CONFIG_FRAGMENT( masao_audio )
MCFG_CPU_ADD("audiocpu", Z80, 24576000/16) /* ???? */
MCFG_CPU_PROGRAM_MAP(masao_sound_map)
MCFG_SOUND_START(mario)
MCFG_SOUND_RESET(mario)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("aysnd", AY8910, 14318000/6)

View File

@ -9,7 +9,6 @@
#include "sound/sn76477.h"
#include "sound/discrete.h"
#include "includes/mw8080bw.h"
#include "drivlgcy.h"
/*************************************
@ -18,13 +17,11 @@
*
*************************************/
static SOUND_START( samples )
SOUND_START_MEMBER( mw8080bw_state, samples )
{
mw8080bw_state *state = machine.driver_data<mw8080bw_state>();
/* setup for save states */
state->save_item(NAME(state->m_port_1_last));
state->save_item(NAME(state->m_port_2_last));
save_item(NAME(m_port_1_last));
save_item(NAME(m_port_2_last));
}
@ -155,7 +152,7 @@ static const samples_interface seawolf_samples_interface =
MACHINE_CONFIG_FRAGMENT( seawolf_audio )
MCFG_SOUND_START(samples)
MCFG_SOUND_START_OVERRIDE(mw8080bw_state, samples)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SAMPLES_ADD("samples", seawolf_samples_interface)
@ -214,7 +211,7 @@ static const samples_interface gunfight_samples_interface =
MACHINE_CONFIG_FRAGMENT( gunfight_audio )
MCFG_SOUND_START(samples)
MCFG_SOUND_START_OVERRIDE(mw8080bw_state, samples)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@ -1567,7 +1564,7 @@ static const samples_interface gmissile_samples_interface =
MACHINE_CONFIG_FRAGMENT( gmissile_audio )
MCFG_SOUND_START(samples)
MCFG_SOUND_START_OVERRIDE(mw8080bw_state, samples)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@ -1663,7 +1660,7 @@ static const samples_interface m4_samples_interface =
MACHINE_CONFIG_FRAGMENT( m4_audio )
MCFG_SOUND_START(samples)
MCFG_SOUND_START_OVERRIDE(mw8080bw_state, samples)
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
@ -1921,7 +1918,7 @@ static const samples_interface clowns_samples_interface =
MACHINE_CONFIG_FRAGMENT( clowns_audio )
MCFG_SOUND_START(samples)
MCFG_SOUND_START_OVERRIDE(mw8080bw_state, samples)
MCFG_SPEAKER_STANDARD_MONO("mono")
@ -3316,7 +3313,7 @@ static const samples_interface phantom2_samples_interface =
MACHINE_CONFIG_FRAGMENT( phantom2_audio )
MCFG_SOUND_START(samples)
MCFG_SOUND_START_OVERRIDE(mw8080bw_state, samples)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SAMPLES_ADD("samples", phantom2_samples_interface)
@ -3595,7 +3592,7 @@ static const samples_interface invaders_samples_interface =
/* left in for all games that hack into invaders samples for audio */
MACHINE_CONFIG_FRAGMENT( invaders_samples_audio )
MCFG_SOUND_START(samples)
MCFG_SOUND_START_OVERRIDE(mw8080bw_state, samples)
MCFG_SPEAKER_STANDARD_MONO("mono")

View File

@ -455,7 +455,7 @@ TIMER_DEVICE_CALLBACK_MEMBER(n8080_state::helifire_dac_volume_timer)
}
MACHINE_START_MEMBER(n8080_state,spacefev_sound)
SOUND_START_MEMBER(n8080_state,spacefev)
{
m_sound_timer[0] = machine().scheduler().timer_alloc(FUNC(stop_mono_flop_callback));
m_sound_timer[1] = machine().scheduler().timer_alloc(FUNC(stop_mono_flop_callback));
@ -468,7 +468,7 @@ MACHINE_START_MEMBER(n8080_state,spacefev_sound)
save_item(NAME(m_mono_flop));
}
MACHINE_RESET_MEMBER(n8080_state,spacefev_sound)
SOUND_RESET_MEMBER(n8080_state,spacefev)
{
m_n8080_hardware = 1;
@ -484,7 +484,7 @@ MACHINE_RESET_MEMBER(n8080_state,spacefev_sound)
}
MACHINE_START_MEMBER(n8080_state,sheriff_sound)
SOUND_START_MEMBER(n8080_state,sheriff)
{
m_sound_timer[0] = machine().scheduler().timer_alloc(FUNC(stop_mono_flop_callback));
m_sound_timer[1] = machine().scheduler().timer_alloc(FUNC(stop_mono_flop_callback));
@ -496,7 +496,7 @@ MACHINE_START_MEMBER(n8080_state,sheriff_sound)
save_item(NAME(m_mono_flop));
}
MACHINE_RESET_MEMBER(n8080_state,sheriff_sound)
SOUND_RESET_MEMBER(n8080_state,sheriff)
{
m_n8080_hardware = 2;
@ -511,7 +511,7 @@ MACHINE_RESET_MEMBER(n8080_state,sheriff_sound)
}
MACHINE_START_MEMBER(n8080_state,helifire_sound)
SOUND_START_MEMBER(n8080_state,helifire)
{
save_item(NAME(m_prev_snd_data));
save_item(NAME(m_prev_sound_pins));
@ -522,7 +522,7 @@ MACHINE_START_MEMBER(n8080_state,helifire_sound)
save_item(NAME(m_helifire_dac_phase));
}
MACHINE_RESET_MEMBER(n8080_state,helifire_sound)
SOUND_RESET_MEMBER(n8080_state,helifire)
{
m_n8080_hardware = 3;
@ -567,6 +567,9 @@ ADDRESS_MAP_END
MACHINE_CONFIG_FRAGMENT( spacefev_sound )
MCFG_SOUND_START_OVERRIDE(n8080_state,spacefev)
MCFG_SOUND_RESET_OVERRIDE(n8080_state,spacefev)
/* basic machine hardware */
MCFG_CPU_ADD("audiocpu", I8035, 6000000)
MCFG_CPU_PROGRAM_MAP(n8080_sound_cpu_map)
@ -587,7 +590,10 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_FRAGMENT( sheriff_sound )
MCFG_SOUND_START_OVERRIDE(n8080_state,sheriff)
MCFG_SOUND_RESET_OVERRIDE(n8080_state,sheriff)
/* basic machine hardware */
MCFG_CPU_ADD("audiocpu", I8035, 6000000)
MCFG_CPU_PROGRAM_MAP(n8080_sound_cpu_map)
@ -607,6 +613,9 @@ MACHINE_CONFIG_END
MACHINE_CONFIG_FRAGMENT( helifire_sound )
MCFG_SOUND_START_OVERRIDE(n8080_state,helifire)
MCFG_SOUND_RESET_OVERRIDE(n8080_state,helifire)
/* basic machine hardware */
MCFG_CPU_ADD("audiocpu", I8035, 6000000)
MCFG_CPU_PROGRAM_MAP(n8080_sound_cpu_map)

View File

@ -15,7 +15,6 @@
#include "machine/6821pia.h"
#include "sound/ay8910.h"
#include "includes/redalert.h"
#include "drivlgcy.h"
@ -138,11 +137,10 @@ ADDRESS_MAP_END
*
*************************************/
static SOUND_START( redalert_audio )
SOUND_START_MEMBER(redalert_state,redalert)
{
redalert_state *state = machine.driver_data<redalert_state>();
state->save_item(NAME(state->m_ay8910_latch_1));
state->save_item(NAME(state->m_ay8910_latch_2));
save_item(NAME(m_ay8910_latch_1));
save_item(NAME(m_ay8910_latch_2));
}
@ -180,19 +178,6 @@ ADDRESS_MAP_END
/*************************************
*
* Red Alert audio start
*
*************************************/
static SOUND_START( redalert )
{
SOUND_START_CALL(redalert_audio);
}
/*************************************
*
* Red Alert audio board (m37b)
@ -243,7 +228,7 @@ MACHINE_CONFIG_FRAGMENT( redalert_audio )
MCFG_FRAGMENT_ADD( redalert_audio_m37b )
MCFG_FRAGMENT_ADD( redalert_audio_voice )
MCFG_SOUND_START( redalert )
MCFG_SOUND_START_OVERRIDE( redalert_state, redalert )
MACHINE_CONFIG_END
@ -259,7 +244,7 @@ MACHINE_CONFIG_FRAGMENT( ww3_audio )
MCFG_FRAGMENT_ADD( redalert_audio_m37b )
MCFG_SOUND_START( redalert_audio )
MCFG_SOUND_START_OVERRIDE( redalert_state, redalert )
MACHINE_CONFIG_END
@ -374,11 +359,10 @@ static const pia6821_interface demoneye_pia_intf =
*
*************************************/
static SOUND_START( demoneye )
SOUND_START_MEMBER( redalert_state, demoneye )
{
redalert_state *state = machine.driver_data<redalert_state>();
state->save_item(NAME(state->m_ay8910_latch_1));
state->save_item(NAME(state->m_ay8910_latch_2));
save_item(NAME(m_ay8910_latch_1));
save_item(NAME(m_ay8910_latch_2));
}
@ -397,7 +381,7 @@ MACHINE_CONFIG_FRAGMENT( demoneye_audio )
MCFG_PIA6821_ADD("sndpia", demoneye_pia_intf)
MCFG_SOUND_START( demoneye )
MCFG_SOUND_START_OVERRIDE( redalert_state, demoneye )
MCFG_SPEAKER_STANDARD_MONO("mono")

View File

@ -18,7 +18,6 @@
#include "sound/tms5110.h"
#include "sound/ay8910.h"
#include "includes/scramble.h"
#include "drivlgcy.h"
#define AD2083_TMS5110_CLOCK XTAL_640kHz
@ -319,10 +318,6 @@ static ADDRESS_MAP_START( ad2083_sound_io_map, AS_IO, 8, driver_device )
AM_RANGE(0x80, 0x80) AM_DEVWRITE("ay2", ay8910_device, address_w)
ADDRESS_MAP_END
static SOUND_START( ad2083 )
{
}
static const tmsprom_interface prom_intf =
{
"5110ctrl", /* prom memory region - sound region is automatically assigned */
@ -363,8 +358,6 @@ MACHINE_CONFIG_FRAGMENT( ad2083_audio )
MCFG_DEVICE_ADD("tmsprom", TMSPROM, AD2083_TMS5110_CLOCK / 2) /* rom clock */
MCFG_DEVICE_CONFIG(prom_intf)
MCFG_SOUND_START(ad2083)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("ay1", AY8910, 14318000/8)
MCFG_SOUND_CONFIG(ad2083_ay8910_interface_1)

View File

@ -18,7 +18,6 @@
#include "sound/tms36xx.h"
#include "sound/dac.h"
#include "devlegcy.h"
#include "drivlgcy.h"
@ -97,8 +96,6 @@ void sega005_sound_device::sound_stream_update(sound_stream &stream, stream_samp
*
*************************************/
static SOUND_START( astrob );
/*
Description of Astro Blaster sounds (in the hope of future discrete goodness):
@ -244,30 +241,12 @@ static const samples_interface astrob_samples_interface =
MACHINE_CONFIG_FRAGMENT( astrob_sound_board )
MCFG_SOUND_START(astrob)
/* sound hardware */
MCFG_SAMPLES_ADD("samples", astrob_samples_interface)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
/*************************************
*
* Startup configuration
*
*************************************/
static SOUND_START( astrob )
{
segag80r_state *state = machine.driver_data<segag80r_state>();
state->save_item(NAME(state->m_sound_state));
state->save_item(NAME(state->m_sound_rate));
}
/*************************************
*
* Astro Blaster sound triggers
@ -376,7 +355,6 @@ WRITE8_MEMBER(segag80r_state::astrob_sound_w)
*
*************************************/
static SOUND_START( sega005 );
static STREAM_UPDATE( sega005_stream_update );
static TIMER_CALLBACK( sega005_auto_timer );
@ -472,8 +450,7 @@ MACHINE_CONFIG_FRAGMENT( 005_sound_board )
MCFG_I8255A_ADD( "ppi8255", ppi8255_005_intf )
/* sound hardware */
MCFG_SOUND_START(sega005)
MCFG_SAMPLES_ADD("samples", sega005_samples_interface)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
@ -482,25 +459,6 @@ MACHINE_CONFIG_FRAGMENT( 005_sound_board )
MACHINE_CONFIG_END
/*************************************
*
* Startup configuration
*
*************************************/
static SOUND_START( sega005 )
{
segag80r_state *state = machine.driver_data<segag80r_state>();
state->save_item(NAME(state->m_sound_state));
state->save_item(NAME(state->m_sound_addr));
state->save_item(NAME(state->m_sound_data));
state->save_item(NAME(state->m_square_state));
state->save_item(NAME(state->m_square_count));
}
/*************************************
*
* 005 sound triggers
@ -666,8 +624,6 @@ static TIMER_CALLBACK( sega005_auto_timer )
*
*************************************/
static SOUND_START( spaceod );
static const char *const spaceod_sample_names[] =
{
"*spaceod",
@ -696,28 +652,12 @@ static const samples_interface spaceod_samples_interface =
MACHINE_CONFIG_FRAGMENT( spaceod_sound_board )
/* sound hardware */
MCFG_SOUND_START(spaceod)
MCFG_SAMPLES_ADD("samples", spaceod_samples_interface)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
MACHINE_CONFIG_END
/*************************************
*
* Startup configuration
*
*************************************/
static SOUND_START( spaceod )
{
segag80r_state *state = machine.driver_data<segag80r_state>();
state->save_item(NAME(state->m_sound_state));
}
/*************************************
*
* Space Odyssey sound triggers
@ -779,8 +719,6 @@ WRITE8_MEMBER(segag80r_state::spaceod_sound_w)
*
*************************************/
static SOUND_START( monsterb );
/*
Monster Bash
@ -861,8 +799,7 @@ MACHINE_CONFIG_FRAGMENT( monsterb_sound_board )
MCFG_I8243_ADD("audio_8243", NOOP, WRITE8(segag80r_state,n7751_rom_control_w))
/* sound hardware */
MCFG_SOUND_START(monsterb)
MCFG_SAMPLES_ADD("samples", monsterb_samples_interface)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
@ -875,24 +812,6 @@ MACHINE_CONFIG_FRAGMENT( monsterb_sound_board )
MACHINE_CONFIG_END
/*************************************
*
* Startup configuration
*
*************************************/
static SOUND_START( monsterb )
{
segag80r_state *state = machine.driver_data<segag80r_state>();
state->save_item(NAME(state->m_sound_state));
state->save_item(NAME(state->m_sound_addr));
state->save_item(NAME(state->m_n7751_command));
state->save_item(NAME(state->m_n7751_busy));
}
/*************************************
*
* TMS3617 access

View File

@ -22,7 +22,6 @@
#include "machine/6840ptm.h"
#include "machine/z80ctc.h"
#include "includes/cchasm.h"
#include "drivlgcy.h"
#include "scrlegcy.h"
#define CCHASM_68K_CLOCK (XTAL_8MHz)
@ -177,8 +176,7 @@ static MACHINE_CONFIG_START( cchasm, cchasm_state )
/* sound hardware */
MCFG_SOUND_START(cchasm)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("ay1", AY8910, 1818182)

View File

@ -409,7 +409,9 @@ MACHINE_START_MEMBER(dkong_state,dkong2b)
{
dkong_init_device_driver_data();
m_hardware_type = HARDWARE_TKG04;
m_snd_rom = memregion("soundcpu")->base();
save_item(NAME(m_decrypt_counter));
save_item(NAME(m_dma_latch));
}
@ -3147,6 +3149,7 @@ DRIVER_INIT_MEMBER(dkong_state,dkingjr)
}
/*************************************
*
* Game drivers

View File

@ -372,7 +372,6 @@ D
#include "sound/samples.h"
#include "machine/nvram.h"
#include "includes/equites.h"
#include "drivlgcy.h"
#define HVOLTAGE_DEBUG 0
#define EASY_TEST_MODE 0
@ -413,15 +412,6 @@ TIMER_CALLBACK_MEMBER(equites_state::equites_frq_adjuster_callback)
m_msm->set_output_gain(10, m_hihatvol + m_cymvol * (m_ay_port_b & 3) * 0.33); /* NO from msm5232 */
}
static SOUND_START(equites)
{
equites_state *state = machine.driver_data<equites_state>();
state->m_nmi_timer = machine.scheduler().timer_alloc(timer_expired_delegate(FUNC(equites_state::equites_nmi_callback),state));
state->m_adjuster_timer = machine.scheduler().timer_alloc(timer_expired_delegate(FUNC(equites_state::equites_frq_adjuster_callback),state));
state->m_adjuster_timer->adjust(attotime::from_hz(60), 0, attotime::from_hz(60));
}
WRITE8_MEMBER(equites_state::equites_c0f8_w)
{
switch (offset)
@ -1142,8 +1132,6 @@ static MACHINE_CONFIG_FRAGMENT( common_sound )
MCFG_CPU_PROGRAM_MAP(sound_map)
MCFG_CPU_IO_MAP(sound_portmap)
MCFG_SOUND_START(equites)
/* sound hardware */
MCFG_SPEAKER_STANDARD_MONO("mono")
@ -1199,6 +1187,11 @@ MACHINE_START_MEMBER(equites_state,equites)
save_item(NAME(m_hihat));
save_item(NAME(m_cymbal));
#endif
m_nmi_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(equites_state::equites_nmi_callback), this));
m_adjuster_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(equites_state::equites_frq_adjuster_callback), this));
m_adjuster_timer->adjust(attotime::from_hz(60), 0, attotime::from_hz(60));
}
MACHINE_RESET_MEMBER(equites_state,equites)
@ -1891,7 +1884,7 @@ DRIVER_INIT_MEMBER(equites_state,hvoltage)
unpack_region("gfx3");
#if HVOLTAGE_DEBUG
m_maincpu->space(AS_PROGRAM).install_legacy_read_handler(0x000038, 0x000039, read16_delegate(FUNC(equites_state::hvoltage_debug_r),this));
m_maincpu->space(AS_PROGRAM).install_read_handler(0x000038, 0x000039, read16_delegate(FUNC(equites_state::hvoltage_debug_r),this));
#endif
}

View File

@ -33,7 +33,7 @@ $c088-$c095 player tiles
#include "sound/msm5205.h"
#include "video/resnet.h"
#include "machine/nvram.h"
#include "drivlgcy.h"
#define MASTER_CLOCK XTAL_19_968MHz
@ -908,16 +908,6 @@ static const msm5205_interface msm5205_config =
MSM5205_S96_4B
};
static SOUND_START( jangou )
{
jangou_state *state = machine.driver_data<jangou_state>();
/* Create a timer to feed the CVSD DAC with sample bits */
state->m_cvsd_bit_timer = machine.scheduler().timer_alloc(timer_expired_delegate(FUNC(jangou_state::cvsd_bit_timer_callback),state));
state->m_cvsd_bit_timer->adjust(attotime::from_hz(MASTER_CLOCK / 1024), 0, attotime::from_hz(MASTER_CLOCK / 1024));
}
/*************************************
*
* Machine driver
@ -937,6 +927,10 @@ void jangou_state::machine_start()
save_item(NAME(m_cvsd_shiftreg));
save_item(NAME(m_cvsd_shift_cnt));
/* Create a timer to feed the CVSD DAC with sample bits */
m_cvsd_bit_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(jangou_state::cvsd_bit_timer_callback), this));
m_cvsd_bit_timer->adjust(attotime::from_hz(MASTER_CLOCK / 1024), 0, attotime::from_hz(MASTER_CLOCK / 1024));
}
MACHINE_START_MEMBER(jangou_state,jngolady)
@ -1007,8 +1001,6 @@ static MACHINE_CONFIG_START( jangou, jangou_state )
/* sound hardware */
MCFG_SOUND_START(jangou)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("aysnd", AY8910, MASTER_CLOCK / 16)
@ -1037,7 +1029,6 @@ static MACHINE_CONFIG_DERIVED( jngolady, jangou )
MCFG_MACHINE_RESET_OVERRIDE(jangou_state,jngolady)
/* sound hardware */
MCFG_SOUND_START(0)
MCFG_DEVICE_REMOVE("cvsd")
MCFG_SOUND_ADD("msm", MSM5205, XTAL_400kHz)
@ -1059,7 +1050,6 @@ static MACHINE_CONFIG_DERIVED( cntrygrl, jangou )
MCFG_MACHINE_RESET_OVERRIDE(jangou_state,common)
/* sound hardware */
MCFG_SOUND_START(0)
MCFG_DEVICE_REMOVE("cvsd")
MACHINE_CONFIG_END
@ -1079,7 +1069,6 @@ static MACHINE_CONFIG_DERIVED( roylcrdn, jangou )
MCFG_MACHINE_RESET_OVERRIDE(jangou_state,common)
/* sound hardware */
MCFG_SOUND_START(0)
MCFG_DEVICE_REMOVE("cvsd")
MACHINE_CONFIG_END

View File

@ -790,7 +790,6 @@
#include "machine/nvram.h"
#include "lucky74.lh"
#include "includes/lucky74.h"
#include "drivlgcy.h"
/*****************************
@ -1388,19 +1387,18 @@ GFXDECODE_END
* ADPCM sound system (09R81P + M5205) *
********************************************/
static SOUND_START( lucky74 )
void lucky74_state::sound_start()
{
lucky74_state *state = machine.driver_data<lucky74_state>();
/* cleaning all 09R81P registers */
UINT8 i;
for (i = 0; i < 6; i++)
{
state->m_adpcm_reg[i] = 0;
m_adpcm_reg[i] = 0;
}
state->m_adpcm_busy_line = 0x01; /* free and ready */
m_adpcm_busy_line = 0x01; /* free and ready */
}
WRITE_LINE_MEMBER(lucky74_state::lucky74_adpcm_int)
@ -1542,8 +1540,6 @@ static MACHINE_CONFIG_START( lucky74, lucky74_state )
MCFG_NVRAM_ADD_0FILL("nvram")
MCFG_SOUND_START(lucky74)
/* 2x 82c255 (4x 8255) */
MCFG_I8255A_ADD( "ppi8255_0", ppi8255_0_intf )
MCFG_I8255A_ADD( "ppi8255_1", ppi8255_1_intf )

View File

@ -103,7 +103,6 @@ Stephh's notes (based on the games Z80 code and some tests) :
#include "emu.h"
#include "cpu/z80/z80.h"
#include "sound/ay8910.h"
#include "drivlgcy.h"
class mirax_state : public driver_device
@ -134,6 +133,7 @@ public:
DECLARE_WRITE8_MEMBER(ay2_sel);
DECLARE_DRIVER_INIT(mirax);
virtual void palette_init();
virtual void sound_start();
UINT32 screen_update_mirax(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(mirax_vblank_irq);
void draw_tilemap(bitmap_ind16 &bitmap, const rectangle &cliprect, UINT8 draw_flag);
@ -237,10 +237,9 @@ UINT32 mirax_state::screen_update_mirax(screen_device &screen, bitmap_ind16 &bit
}
static SOUND_START(mirax)
void mirax_state::sound_start()
{
mirax_state *state = machine.driver_data<mirax_state>();
state->m_nAyCtrl = 0x00;
m_nAyCtrl = 0x00;
}
WRITE8_MEMBER(mirax_state::audio_w)
@ -478,8 +477,6 @@ static MACHINE_CONFIG_START( mirax, mirax_state )
MCFG_PALETTE_LENGTH(0x40)
MCFG_GFXDECODE(mirax)
MCFG_SOUND_START(mirax)
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("ay1", AY8910, 12000000/4)
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.80)

View File

@ -458,32 +458,13 @@ WRITE8_MEMBER(n8080_state::n8080_status_callback)
}
}
MACHINE_START_MEMBER(n8080_state,n8080)
void n8080_state::machine_start()
{
save_item(NAME(m_shift_data));
save_item(NAME(m_shift_bits));
save_item(NAME(m_inte));
}
MACHINE_START_MEMBER(n8080_state,spacefev)
{
MACHINE_START_CALL_MEMBER(n8080);
MACHINE_START_CALL_MEMBER(spacefev_sound);
}
MACHINE_START_MEMBER(n8080_state,sheriff)
{
MACHINE_START_CALL_MEMBER(n8080);
MACHINE_START_CALL_MEMBER(sheriff_sound);
}
MACHINE_START_MEMBER(n8080_state,helifire)
{
MACHINE_START_CALL_MEMBER(n8080);
MACHINE_START_CALL_MEMBER(helifire_sound);
}
MACHINE_RESET_MEMBER(n8080_state,n8080)
{
m_shift_data = 0;
@ -494,8 +475,7 @@ MACHINE_RESET_MEMBER(n8080_state,n8080)
MACHINE_RESET_MEMBER(n8080_state,spacefev)
{
MACHINE_RESET_CALL_MEMBER(n8080);
MACHINE_RESET_CALL_MEMBER(spacefev_sound);
m_spacefev_red_screen = 0;
m_spacefev_red_cannon = 0;
}
@ -503,8 +483,7 @@ MACHINE_RESET_MEMBER(n8080_state,spacefev)
MACHINE_RESET_MEMBER(n8080_state,sheriff)
{
MACHINE_RESET_CALL_MEMBER(n8080);
MACHINE_RESET_CALL_MEMBER(sheriff_sound);
m_sheriff_color_mode = 0;
m_sheriff_color_data = 0;
}
@ -512,8 +491,7 @@ MACHINE_RESET_MEMBER(n8080_state,sheriff)
MACHINE_RESET_MEMBER(n8080_state,helifire)
{
MACHINE_RESET_CALL_MEMBER(n8080);
MACHINE_RESET_CALL_MEMBER(helifire_sound);
m_helifire_mv = 0;
m_helifire_sc = 0;
m_helifire_flash = 0;
@ -529,7 +507,6 @@ static MACHINE_CONFIG_START( spacefev, n8080_state )
MCFG_CPU_PROGRAM_MAP(main_cpu_map)
MCFG_CPU_IO_MAP(main_io_map)
MCFG_MACHINE_START_OVERRIDE(n8080_state,spacefev)
MCFG_MACHINE_RESET_OVERRIDE(n8080_state,spacefev)
/* video hardware */
@ -560,7 +537,6 @@ static MACHINE_CONFIG_START( sheriff, n8080_state )
MCFG_CPU_PROGRAM_MAP(main_cpu_map)
MCFG_CPU_IO_MAP(main_io_map)
MCFG_MACHINE_START_OVERRIDE(n8080_state,sheriff)
MCFG_MACHINE_RESET_OVERRIDE(n8080_state,sheriff)
/* video hardware */
@ -603,7 +579,6 @@ static MACHINE_CONFIG_START( helifire, n8080_state )
MCFG_CPU_PROGRAM_MAP(helifire_main_cpu_map)
MCFG_CPU_IO_MAP(main_io_map)
MCFG_MACHINE_START_OVERRIDE(n8080_state,helifire)
MCFG_MACHINE_RESET_OVERRIDE(n8080_state,helifire)
/* video hardware */

View File

@ -1457,6 +1457,9 @@ DRIVER_INIT_MEMBER(segag80r_state,astrob)
/* install Astro Blaster sound board */
iospace.install_write_handler(0x3e, 0x3f, write8_delegate(FUNC(segag80r_state::astrob_sound_w),this));
save_item(NAME(m_sound_state));
save_item(NAME(m_sound_rate));
}
@ -1467,6 +1470,12 @@ DRIVER_INIT_MEMBER(segag80r_state,005)
/* configure video */
m_background_pcb = G80_BACKGROUND_NONE;
save_item(NAME(m_sound_state));
save_item(NAME(m_sound_addr));
save_item(NAME(m_sound_data));
save_item(NAME(m_square_state));
save_item(NAME(m_square_count));
}
@ -1489,6 +1498,8 @@ DRIVER_INIT_MEMBER(segag80r_state,spaceod)
/* install our wacky mangled ports */
iospace.install_read_handler(0xf8, 0xfb, read8_delegate(FUNC(segag80r_state::spaceod_mangled_ports_r),this));
iospace.install_read_handler(0xfc, 0xfc, read8_delegate(FUNC(segag80r_state::spaceod_port_fc_r),this));
save_item(NAME(m_sound_state));
}
@ -1507,6 +1518,11 @@ DRIVER_INIT_MEMBER(segag80r_state,monsterb)
/* install background board handlers */
iospace.install_write_handler(0xb8, 0xbd, write8_delegate(FUNC(segag80r_state::monsterb_back_port_w),this));
pgmspace.install_write_handler(0xe000, 0xffff, write8_delegate(FUNC(segag80r_state::monsterb_vidram_w),this));
save_item(NAME(m_sound_state));
save_item(NAME(m_sound_addr));
save_item(NAME(m_n7751_command));
save_item(NAME(m_n7751_busy));
}
@ -1527,6 +1543,11 @@ DRIVER_INIT_MEMBER(segag80r_state,monster2)
iospace.install_write_handler(0xb4, 0xb5, write8_delegate(FUNC(segag80r_state::pignewt_back_color_w),this));
iospace.install_write_handler(0xb8, 0xbd, write8_delegate(FUNC(segag80r_state::pignewt_back_port_w),this));
pgmspace.install_write_handler(0xe000, 0xffff, write8_delegate(FUNC(segag80r_state::pignewt_vidram_w),this));
save_item(NAME(m_sound_state));
save_item(NAME(m_sound_addr));
save_item(NAME(m_n7751_command));
save_item(NAME(m_n7751_busy));
}

View File

@ -19,16 +19,22 @@ public:
: driver_device(mconfig, type, tag),
m_ram(*this, "ram"),
m_maincpu(*this, "maincpu"),
m_ctc(*this, "ctc"),
m_audiocpu(*this, "audiocpu"),
m_dac1(*this, "dac1"),
m_dac2(*this, "dac2") { }
required_shared_ptr<UINT16> m_ram;
required_device<cpu_device> m_maincpu;
required_device<z80ctc_device> m_ctc;
required_device<cpu_device> m_audiocpu;
required_device<dac_device> m_dac1;
required_device<dac_device> m_dac2;
int m_sound_flags;
int m_coin_flag;
z80ctc_device *m_ctc;
int m_channel_active[2];
int m_output[2];
required_shared_ptr<UINT16> m_ram;
int m_xcenter;
int m_ycenter;
DECLARE_WRITE16_MEMBER(cchasm_led_w);
@ -42,13 +48,10 @@ public:
INPUT_CHANGED_MEMBER(cchasm_set_coin_flag);
DECLARE_WRITE_LINE_MEMBER(cchasm_6840_irq);
virtual void video_start();
virtual void sound_start();
DECLARE_WRITE_LINE_MEMBER(ctc_timer_1_w);
DECLARE_WRITE_LINE_MEMBER(ctc_timer_2_w);
void cchasm_refresh ();
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_audiocpu;
required_device<dac_device> m_dac1;
required_device<dac_device> m_dac2;
protected:
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr);

View File

@ -63,6 +63,7 @@ public:
DECLARE_DRIVER_INIT(qb3);
virtual void machine_start();
virtual void machine_reset();
virtual void sound_start();
virtual void video_start();
DECLARE_VIDEO_START(cinemat_16level);
DECLARE_VIDEO_START(cinemat_64level);

View File

@ -77,6 +77,8 @@ public:
DECLARE_WRITE8_MEMBER(speech_reset_w);
virtual void machine_start();
virtual void machine_reset();
virtual void sound_start();
virtual void sound_reset();
DECLARE_VIDEO_START(jedi);
UINT32 screen_update_jedi(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
TIMER_CALLBACK_MEMBER(generate_interrupt);

View File

@ -42,6 +42,7 @@ public:
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
virtual void video_start();
virtual void sound_start();
virtual void palette_init();
UINT32 screen_update_lucky74(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(nmi_interrupt);

View File

@ -86,6 +86,8 @@ public:
DECLARE_WRITE8_MEMBER(mario_z80dma_rdy_w);
TILE_GET_INFO_MEMBER(get_bg_tile_info);
virtual void video_start();
virtual void sound_start();
virtual void sound_reset();
virtual void palette_init();
UINT32 screen_update_mario(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(vblank_irq);

View File

@ -147,6 +147,7 @@ public:
DECLARE_MACHINE_START(spcenctr);
DECLARE_MACHINE_START(phantom2);
DECLARE_MACHINE_START(invaders);
DECLARE_SOUND_START(samples);
UINT32 screen_update_mw8080bw(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
UINT32 screen_update_spcenctr(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
UINT32 screen_update_phantom2(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);

View File

@ -43,6 +43,7 @@ public:
/* devices */
required_device<cpu_device> m_maincpu;
required_device<dac_device> m_dac;
DECLARE_WRITE8_MEMBER(n8080_shift_bits_w);
DECLARE_WRITE8_MEMBER(n8080_shift_data_w);
DECLARE_READ8_MEMBER(n8080_shift_r);
@ -61,23 +62,21 @@ public:
DECLARE_WRITE8_MEMBER(helifire_sound_ctrl_w);
DECLARE_WRITE_LINE_MEMBER(n8080_inte_callback);
DECLARE_WRITE8_MEMBER(n8080_status_callback);
DECLARE_MACHINE_START(spacefev);
virtual void machine_start();
DECLARE_MACHINE_RESET(spacefev);
DECLARE_VIDEO_START(spacefev);
DECLARE_PALETTE_INIT(n8080);
DECLARE_MACHINE_START(sheriff);
DECLARE_MACHINE_RESET(sheriff);
DECLARE_VIDEO_START(sheriff);
DECLARE_MACHINE_START(helifire);
DECLARE_MACHINE_RESET(helifire);
DECLARE_VIDEO_START(helifire);
DECLARE_PALETTE_INIT(helifire);
DECLARE_MACHINE_START(spacefev_sound);
DECLARE_MACHINE_RESET(spacefev_sound);
DECLARE_MACHINE_START(sheriff_sound);
DECLARE_MACHINE_RESET(sheriff_sound);
DECLARE_MACHINE_START(helifire_sound);
DECLARE_MACHINE_RESET(helifire_sound);
DECLARE_SOUND_START(spacefev);
DECLARE_SOUND_RESET(spacefev);
DECLARE_SOUND_START(sheriff);
DECLARE_SOUND_RESET(sheriff);
DECLARE_SOUND_START(helifire);
DECLARE_SOUND_RESET(helifire);
DECLARE_MACHINE_START(n8080);
DECLARE_MACHINE_RESET(n8080);
UINT32 screen_update_spacefev(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
@ -91,7 +90,6 @@ public:
TIMER_DEVICE_CALLBACK_MEMBER(helifire_dac_volume_timer);
void spacefev_start_red_cannon( );
void helifire_next_line( );
required_device<dac_device> m_dac;
};
/*----------- defined in audio/n8080.c -----------*/

View File

@ -48,6 +48,8 @@ public:
DECLARE_WRITE8_MEMBER(demoneye_audio_command_w);
DECLARE_VIDEO_START(redalert);
DECLARE_VIDEO_START(ww3);
DECLARE_SOUND_START(redalert);
DECLARE_SOUND_START(demoneye);
UINT32 screen_update_redalert(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
UINT32 screen_update_demoneye(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
UINT32 screen_update_panther(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);