mirror of
https://github.com/holub/mame
synced 2025-04-22 16:31:49 +03:00
finished updating mame/audio devices to use device_add_mconfig insted of device_mconfig_additions (nw)
This commit is contained in:
parent
a20c2428d6
commit
5613114773
@ -85,27 +85,6 @@ static ADDRESS_MAP_START( gottlieb_sound_r0_map, AS_PROGRAM, 8, gottlieb_sound_r
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_START( gottlieb_sound_r0 )
|
||||
// audio CPU
|
||||
MCFG_CPU_ADD("audiocpu", M6502, SOUND1_CLOCK/4) // M6503 - clock is a gate, a resistor and a capacitor. Freq unknown.
|
||||
MCFG_CPU_PROGRAM_MAP(gottlieb_sound_r0_map)
|
||||
|
||||
// I/O configuration
|
||||
MCFG_DEVICE_ADD("r6530", MOS6530, SOUND1_CLOCK/4) // unknown - same as cpu
|
||||
MCFG_MOS6530_OUT_PA_CB(DEVWRITE8("dac", dac_byte_interface, write))
|
||||
MCFG_MOS6530_IN_PB_CB(READ8(gottlieb_sound_r0_device, r6530b_r))
|
||||
|
||||
// sound devices
|
||||
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 0.25) // unknown DAC
|
||||
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
|
||||
MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// input ports
|
||||
//-------------------------------------------------
|
||||
@ -126,14 +105,24 @@ INPUT_CHANGED_MEMBER( gottlieb_sound_r0_device::audio_nmi )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_mconfig_additions - return a pointer to
|
||||
// the device's machine fragment
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor gottlieb_sound_r0_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( gottlieb_sound_r0 );
|
||||
}
|
||||
MACHINE_CONFIG_MEMBER( gottlieb_sound_r0_device::device_add_mconfig )
|
||||
// audio CPU
|
||||
MCFG_CPU_ADD("audiocpu", M6502, SOUND1_CLOCK/4) // M6503 - clock is a gate, a resistor and a capacitor. Freq unknown.
|
||||
MCFG_CPU_PROGRAM_MAP(gottlieb_sound_r0_map)
|
||||
|
||||
// I/O configuration
|
||||
MCFG_DEVICE_ADD("r6530", MOS6530, SOUND1_CLOCK/4) // unknown - same as cpu
|
||||
MCFG_MOS6530_OUT_PA_CB(DEVWRITE8("dac", dac_byte_interface, write))
|
||||
MCFG_MOS6530_IN_PB_CB(READ8(gottlieb_sound_r0_device, r6530b_r))
|
||||
|
||||
// sound devices
|
||||
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 0.25) // unknown DAC
|
||||
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
|
||||
MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -288,37 +277,6 @@ static ADDRESS_MAP_START( gottlieb_sound_r1_map, AS_PROGRAM, 8, gottlieb_sound_r
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_START( gottlieb_sound_r1 )
|
||||
// audio CPU
|
||||
MCFG_CPU_ADD("audiocpu", M6502, SOUND1_CLOCK/4) // the board can be set to /2 as well
|
||||
MCFG_CPU_PROGRAM_MAP(gottlieb_sound_r1_map)
|
||||
|
||||
// I/O configuration
|
||||
MCFG_DEVICE_ADD("riot", RIOT6532, SOUND1_CLOCK/4)
|
||||
MCFG_RIOT6532_IN_PB_CB(IOPORT("SB1"))
|
||||
MCFG_RIOT6532_OUT_PB_CB(WRITE8(gottlieb_sound_r1_device, r6532_portb_w))
|
||||
MCFG_RIOT6532_IRQ_CB(WRITELINE(gottlieb_sound_r1_device, snd_interrupt))
|
||||
|
||||
// sound devices
|
||||
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 0.25) // unknown DAC
|
||||
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
|
||||
MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START( gottlieb_sound_r1_with_votrax )
|
||||
MCFG_FRAGMENT_ADD(gottlieb_sound_r1)
|
||||
|
||||
// add the VOTRAX
|
||||
MCFG_DEVICE_ADD("votrax", VOTRAX_SC01, 720000)
|
||||
MCFG_VOTRAX_SC01_REQUEST_CB(DEVWRITELINE(DEVICE_SELF, gottlieb_sound_r1_device, votrax_request))
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 0.5)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// input ports
|
||||
//-------------------------------------------------
|
||||
@ -345,14 +303,25 @@ INPUT_PORTS_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_mconfig_additions - return a pointer to
|
||||
// the device's machine fragment
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor gottlieb_sound_r1_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( gottlieb_sound_r1 );
|
||||
}
|
||||
MACHINE_CONFIG_MEMBER( gottlieb_sound_r1_device::device_add_mconfig )
|
||||
// audio CPU
|
||||
MCFG_CPU_ADD("audiocpu", M6502, SOUND1_CLOCK/4) // the board can be set to /2 as well
|
||||
MCFG_CPU_PROGRAM_MAP(gottlieb_sound_r1_map)
|
||||
|
||||
// I/O configuration
|
||||
MCFG_DEVICE_ADD("riot", RIOT6532, SOUND1_CLOCK/4)
|
||||
MCFG_RIOT6532_IN_PB_CB(IOPORT("SB1"))
|
||||
MCFG_RIOT6532_OUT_PB_CB(WRITE8(gottlieb_sound_r1_device, r6532_portb_w))
|
||||
MCFG_RIOT6532_IRQ_CB(WRITELINE(gottlieb_sound_r1_device, snd_interrupt))
|
||||
|
||||
// sound devices
|
||||
MCFG_SOUND_ADD("dac", DAC_8BIT_R2R, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 0.25) // unknown DAC
|
||||
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
|
||||
MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -392,14 +361,17 @@ gottlieb_sound_r1_with_votrax_device::gottlieb_sound_r1_with_votrax_device(const
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_mconfig_additions - return a pointer to
|
||||
// the device's machine fragment
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor gottlieb_sound_r1_with_votrax_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( gottlieb_sound_r1_with_votrax );
|
||||
}
|
||||
MACHINE_CONFIG_MEMBER( gottlieb_sound_r1_with_votrax_device::device_add_mconfig )
|
||||
gottlieb_sound_r1_device::device_add_mconfig(config);
|
||||
|
||||
// add the VOTRAX
|
||||
MCFG_DEVICE_ADD("votrax", VOTRAX_SC01, 720000)
|
||||
MCFG_VOTRAX_SC01_REQUEST_CB(DEVWRITELINE(DEVICE_SELF, gottlieb_sound_r1_device, votrax_request))
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 0.5)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -670,10 +642,29 @@ ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine configuration
|
||||
// input ports
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_START( gottlieb_sound_r2 )
|
||||
INPUT_PORTS_START( gottlieb_sound_r2 )
|
||||
PORT_START("SB2")
|
||||
PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x01, "SB2:1")
|
||||
PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x02, "SB2:2")
|
||||
PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "SB2:3")
|
||||
PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "SB2:4")
|
||||
PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "SB2:5")
|
||||
PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "SB2:6")
|
||||
PORT_DIPNAME( 0x40, 0x40, "Sound Test" ) PORT_DIPLOCATION("SB2:7")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, gottlieb_sound_r2_device, speech_drq_custom_r, nullptr)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_MEMBER( gottlieb_sound_r2_device::device_add_mconfig )
|
||||
// audio CPUs
|
||||
MCFG_CPU_ADD("audiocpu", M6502, SOUND2_CLOCK/4)
|
||||
MCFG_CPU_PROGRAM_MAP(gottlieb_sound_r2_map)
|
||||
@ -699,36 +690,6 @@ MACHINE_CONFIG_START( gottlieb_sound_r2 )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// input ports
|
||||
//-------------------------------------------------
|
||||
|
||||
INPUT_PORTS_START( gottlieb_sound_r2 )
|
||||
PORT_START("SB2")
|
||||
PORT_DIPUNKNOWN_DIPLOC( 0x01, 0x01, "SB2:1")
|
||||
PORT_DIPUNKNOWN_DIPLOC( 0x02, 0x02, "SB2:2")
|
||||
PORT_DIPUNKNOWN_DIPLOC( 0x04, 0x04, "SB2:3")
|
||||
PORT_DIPUNKNOWN_DIPLOC( 0x08, 0x08, "SB2:4")
|
||||
PORT_DIPUNKNOWN_DIPLOC( 0x10, 0x10, "SB2:5")
|
||||
PORT_DIPUNKNOWN_DIPLOC( 0x20, 0x20, "SB2:6")
|
||||
PORT_DIPNAME( 0x40, 0x40, "Sound Test" ) PORT_DIPLOCATION("SB2:7")
|
||||
PORT_DIPSETTING( 0x40, DEF_STR( Off ) )
|
||||
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
|
||||
PORT_BIT( 0x80, IP_ACTIVE_HIGH, IPT_SPECIAL ) PORT_CUSTOM_MEMBER(DEVICE_SELF, gottlieb_sound_r2_device, speech_drq_custom_r, nullptr)
|
||||
INPUT_PORTS_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_mconfig_additions - return a pointer to
|
||||
// the device's machine fragment
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor gottlieb_sound_r2_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( gottlieb_sound_r2 );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_input_ports - return a pointer to
|
||||
// the device's I/O ports
|
||||
|
@ -50,12 +50,11 @@ public:
|
||||
DECLARE_WRITE8_MEMBER( write );
|
||||
|
||||
// internal communications
|
||||
DECLARE_READ8_MEMBER( r6530b_r );
|
||||
DECLARE_INPUT_CHANGED_MEMBER(audio_nmi);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
virtual void device_start() override;
|
||||
|
||||
@ -65,6 +64,8 @@ private:
|
||||
required_device<mos6530_device> m_r6530;
|
||||
|
||||
uint8_t m_sndcmd;
|
||||
|
||||
DECLARE_READ8_MEMBER( r6530b_r );
|
||||
};
|
||||
|
||||
// ======================> gottlieb_sound_r1_device
|
||||
@ -80,8 +81,6 @@ public:
|
||||
DECLARE_WRITE8_MEMBER( write );
|
||||
|
||||
// internal communications
|
||||
DECLARE_WRITE_LINE_MEMBER( snd_interrupt );
|
||||
DECLARE_WRITE8_MEMBER( r6532_portb_w );
|
||||
DECLARE_WRITE8_MEMBER( votrax_data_w );
|
||||
DECLARE_WRITE8_MEMBER( speech_clock_dac_w );
|
||||
DECLARE_WRITE_LINE_MEMBER( votrax_request );
|
||||
@ -95,7 +94,7 @@ protected:
|
||||
uint32_t clock);
|
||||
|
||||
// device-level overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
virtual void device_start() override;
|
||||
|
||||
@ -108,6 +107,9 @@ private:
|
||||
// internal state
|
||||
//bool m_populate_votrax;
|
||||
uint8_t m_last_speech_clock;
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER( snd_interrupt );
|
||||
DECLARE_WRITE8_MEMBER( r6532_portb_w );
|
||||
};
|
||||
|
||||
// fully populated rev 1 sound board
|
||||
@ -119,7 +121,7 @@ public:
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
};
|
||||
|
||||
@ -151,7 +153,7 @@ public:
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
virtual void device_start() override;
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
|
||||
|
@ -423,7 +423,11 @@ static ADDRESS_MAP_START( driversnd_dsp_io_map, AS_IO, 16, harddriv_sound_board_
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( harddriv_snd )
|
||||
//-------------------------------------------------
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_MEMBER( harddriv_sound_board_device::device_add_mconfig )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("soundcpu", M68000, XTAL_16MHz/2)
|
||||
@ -442,13 +446,3 @@ static MACHINE_CONFIG_START( harddriv_snd )
|
||||
MCFG_DEVICE_ADD("vref", VOLTAGE_REGULATOR, 0) MCFG_VOLTAGE_REGULATOR_OUTPUT(5.0)
|
||||
MCFG_SOUND_ROUTE_EX(0, "dac", 1.0, DAC_VREF_POS_INPUT) MCFG_SOUND_ROUTE_EX(0, "dac", -1.0, DAC_VREF_NEG_INPUT)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor harddriv_sound_board_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( harddriv_snd );
|
||||
}
|
||||
|
@ -23,8 +23,11 @@ irem_audio_device::irem_audio_device(const machine_config &mconfig, device_type
|
||||
, m_port1(0)
|
||||
, m_port2(0)
|
||||
, m_soundlatch(0)
|
||||
//, m_ay_45L(*this, "ay_45l")
|
||||
//, m_ay_45M(*this, "ay_45m")
|
||||
, m_cpu(*this, "iremsound")
|
||||
, m_ay_45L(*this, "ay_45l")
|
||||
, m_ay_45M(*this, "ay_45m")
|
||||
, m_adpcm1(*this, "msm1")
|
||||
, m_adpcm2(*this, "msm2")
|
||||
, m_audio_BD(*this, "snd_nl:ibd")
|
||||
, m_audio_SD(*this, "snd_nl:isd")
|
||||
, m_audio_OH(*this, "snd_nl:ioh")
|
||||
@ -53,11 +56,6 @@ m52_large_audio_device::m52_large_audio_device(const machine_config &mconfig, co
|
||||
|
||||
void irem_audio_device::device_start()
|
||||
{
|
||||
m_adpcm1 = subdevice<msm5205_device>("msm1");
|
||||
m_adpcm2 = subdevice<msm5205_device>("msm2");
|
||||
m_ay_45L = subdevice<ay8910_device>("ay_45l");
|
||||
m_ay_45M = subdevice<ay8910_device>("ay_45m");
|
||||
|
||||
m_audio_SINH = subdevice<netlist_mame_logic_input_device>("snd_nl:sinh");
|
||||
|
||||
save_item(NAME(m_port1));
|
||||
@ -74,12 +72,12 @@ void irem_audio_device::device_reset()
|
||||
if (m_adpcm2) m_adpcm2->reset();
|
||||
m_ay_45L->reset();
|
||||
m_ay_45M->reset();
|
||||
subdevice("iremsound")->reset();
|
||||
m_cpu->reset();
|
||||
|
||||
m_port1 = 0; // ?
|
||||
m_port2 = 0; // ?
|
||||
m_soundlatch = 0;
|
||||
subdevice("iremsound")->execute().set_input_line(0, ASSERT_LINE);
|
||||
m_cpu->set_input_line(0, ASSERT_LINE);
|
||||
}
|
||||
|
||||
/*************************************
|
||||
@ -93,7 +91,7 @@ WRITE8_MEMBER( irem_audio_device::cmd_w )
|
||||
{
|
||||
m_soundlatch = data;
|
||||
if ((data & 0x80) == 0)
|
||||
subdevice("iremsound")->execute().set_input_line(0, ASSERT_LINE);
|
||||
m_cpu->set_input_line(0, ASSERT_LINE);
|
||||
}
|
||||
|
||||
|
||||
@ -226,7 +224,7 @@ WRITE8_MEMBER( irem_audio_device::ay8910_45L_porta_w )
|
||||
WRITE8_MEMBER( irem_audio_device::sound_irq_ack_w )
|
||||
{
|
||||
if ((m_soundlatch & 0x80) != 0)
|
||||
subdevice("iremsound")->execute().set_input_line(0, CLEAR_LINE);
|
||||
m_cpu->set_input_line(0, CLEAR_LINE);
|
||||
}
|
||||
|
||||
|
||||
@ -261,7 +259,7 @@ WRITE8_MEMBER( irem_audio_device::m62_adpcm_w )
|
||||
|
||||
void irem_audio_device::adpcm_int(int st)
|
||||
{
|
||||
subdevice("iremsound")->execute().set_input_line(INPUT_LINE_NMI, PULSE_LINE);
|
||||
m_cpu->set_input_line(INPUT_LINE_NMI, PULSE_LINE);
|
||||
|
||||
/* the first MSM5205 clocks the second */
|
||||
if (m_adpcm2 != nullptr)
|
||||
@ -423,16 +421,15 @@ ADDRESS_MAP_END
|
||||
*
|
||||
*/
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Machine drivers
|
||||
*
|
||||
*************************************/
|
||||
//-------------------------------------------------
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( irem_audio_base )
|
||||
MACHINE_CONFIG_MEMBER( m62_audio_device::device_add_mconfig )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("iremsound", M6803, XTAL_3_579545MHz) /* verified on pcb */
|
||||
MCFG_CPU_PROGRAM_MAP(m62_sound_map)
|
||||
MCFG_CPU_IO_MAP(irem_sound_portmap)
|
||||
|
||||
/* sound hardware */
|
||||
@ -497,7 +494,7 @@ static MACHINE_CONFIG_START( irem_audio_base )
|
||||
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START( m52_sound_c_audio )
|
||||
MACHINE_CONFIG_MEMBER( m52_soundc_audio_device::device_add_mconfig )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("iremsound", M6803, XTAL_3_579545MHz) /* verified on pcb */
|
||||
@ -531,7 +528,7 @@ MACHINE_CONFIG_START( m52_sound_c_audio )
|
||||
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_START( m52_large_audio) /* 10 yard fight */
|
||||
MACHINE_CONFIG_MEMBER( m52_large_audio_device::device_add_mconfig ) /* 10 yard fight */
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("iremsound", M6803, XTAL_3_579545MHz) /* verified on pcb */
|
||||
@ -565,25 +562,3 @@ MACHINE_CONFIG_START( m52_large_audio) /* 10 yard fight */
|
||||
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
MACHINE_CONFIG_DERIVED( m62_audio, irem_audio_base )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_MODIFY("iremsound")
|
||||
MCFG_CPU_PROGRAM_MAP(m62_sound_map)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
machine_config_constructor m62_audio_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( m62_audio );
|
||||
}
|
||||
|
||||
machine_config_constructor m52_soundc_audio_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( m52_sound_c_audio );
|
||||
}
|
||||
|
||||
machine_config_constructor m52_large_audio_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( m52_large_audio );
|
||||
}
|
||||
|
@ -14,21 +14,21 @@ class irem_audio_device : public device_t
|
||||
{
|
||||
public:
|
||||
DECLARE_WRITE8_MEMBER( cmd_w );
|
||||
DECLARE_READ8_MEMBER( soundlatch_r );
|
||||
DECLARE_WRITE8_MEMBER( m6803_port1_w );
|
||||
DECLARE_WRITE8_MEMBER( m6803_port2_w );
|
||||
DECLARE_READ8_MEMBER( m6803_port1_r );
|
||||
DECLARE_READ8_MEMBER( m6803_port2_r );
|
||||
DECLARE_WRITE8_MEMBER( ay8910_45M_portb_w );
|
||||
DECLARE_WRITE8_MEMBER( ay8910_45L_porta_w );
|
||||
DECLARE_WRITE8_MEMBER( sound_irq_ack_w );
|
||||
DECLARE_WRITE8_MEMBER( m52_adpcm_w );
|
||||
DECLARE_WRITE8_MEMBER( m62_adpcm_w );
|
||||
|
||||
void adpcm_int(int st);
|
||||
|
||||
netlist_mame_logic_input_device * m_audio_SINH;
|
||||
|
||||
DECLARE_READ8_MEMBER( soundlatch_r );
|
||||
DECLARE_WRITE8_MEMBER( ay8910_45M_portb_w );
|
||||
DECLARE_WRITE8_MEMBER( ay8910_45L_porta_w );
|
||||
void adpcm_int(int st);
|
||||
|
||||
protected:
|
||||
irem_audio_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
@ -42,14 +42,12 @@ private:
|
||||
uint8_t m_port2;
|
||||
|
||||
uint8_t m_soundlatch;
|
||||
/* FIXME: using required / optional device would be better */
|
||||
// required_device<ay8910_device> m_ay_45L;
|
||||
// required_device<ay8910_device> m_ay_45M;
|
||||
ay8910_device *m_ay_45L;
|
||||
ay8910_device *m_ay_45M;
|
||||
msm5205_device *m_adpcm1;
|
||||
msm5205_device *m_adpcm2;
|
||||
|
||||
required_device<cpu_device> m_cpu;
|
||||
required_device<ay8910_device> m_ay_45L;
|
||||
required_device<ay8910_device> m_ay_45M;
|
||||
required_device<msm5205_device> m_adpcm1;
|
||||
optional_device<msm5205_device> m_adpcm2;
|
||||
optional_device<netlist_mame_logic_input_device> m_audio_BD;
|
||||
optional_device<netlist_mame_logic_input_device> m_audio_SD;
|
||||
optional_device<netlist_mame_logic_input_device> m_audio_OH;
|
||||
@ -60,26 +58,29 @@ class m62_audio_device : public irem_audio_device
|
||||
{
|
||||
public:
|
||||
m62_audio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
protected:
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
};
|
||||
|
||||
class m52_soundc_audio_device : public irem_audio_device
|
||||
{
|
||||
public:
|
||||
m52_soundc_audio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
protected:
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
};
|
||||
|
||||
class m52_large_audio_device : public irem_audio_device
|
||||
{
|
||||
public:
|
||||
m52_large_audio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
protected:
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
};
|
||||
|
||||
//MACHINE_CONFIG_EXTERN( m52_sound_c_audio );
|
||||
//MACHINE_CONFIG_EXTERN( m52_large_audio );
|
||||
//MACHINE_CONFIG_EXTERN( m62_audio );
|
||||
|
||||
DECLARE_DEVICE_TYPE(IREM_M62_AUDIO, m62_audio_device)
|
||||
DECLARE_DEVICE_TYPE(IREM_M52_SOUNDC_AUDIO, m52_soundc_audio_device)
|
||||
|
@ -133,7 +133,7 @@ WRITE_LINE_MEMBER(leland_80186_sound_device::i80186_tmr1_w)
|
||||
set_clock_line(7, state);
|
||||
}
|
||||
|
||||
static MACHINE_CONFIG_START( leland_80186_sound )
|
||||
MACHINE_CONFIG_MEMBER( leland_80186_sound_device::device_add_mconfig )
|
||||
MCFG_SPEAKER_STANDARD_MONO("speaker")
|
||||
MCFG_SOUND_ADD("dac1", AD7524, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.2) // 74hc374.u31 + ad7524.u46
|
||||
MCFG_SOUND_ADD("dac2", AD7524, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.2) // 74hc374.u32 + ad7524.u47
|
||||
@ -174,7 +174,7 @@ static MACHINE_CONFIG_START( leland_80186_sound )
|
||||
MCFG_PIT8253_OUT2_HANDLER(WRITELINE(leland_80186_sound_device, pit1_2_w))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_START( redline_80186_sound )
|
||||
MACHINE_CONFIG_MEMBER( redline_80186_sound_device::device_add_mconfig )
|
||||
MCFG_SPEAKER_STANDARD_MONO("speaker")
|
||||
MCFG_SOUND_ADD("dac1", AD7524, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.2) // unknown DAC
|
||||
MCFG_SOUND_ADD("dac2", AD7524, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.2) // unknown DAC
|
||||
@ -224,7 +224,7 @@ static MACHINE_CONFIG_START( redline_80186_sound )
|
||||
MCFG_PIT8253_CLK2(7000000)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_START( ataxx_80186_sound )
|
||||
MACHINE_CONFIG_MEMBER( ataxx_80186_sound_device::device_add_mconfig )
|
||||
MCFG_SPEAKER_STANDARD_MONO("speaker")
|
||||
MCFG_SOUND_ADD("dac1", AD7524, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.2) // unknown DAC
|
||||
MCFG_SOUND_ADD("dac2", AD7524, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.2) // unknown DAC
|
||||
@ -251,7 +251,7 @@ static MACHINE_CONFIG_START( ataxx_80186_sound )
|
||||
MCFG_PIT8253_OUT2_HANDLER(WRITELINE(leland_80186_sound_device, pit0_2_w))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_START( wsf_80186_sound )
|
||||
MACHINE_CONFIG_MEMBER( wsf_80186_sound_device::device_add_mconfig )
|
||||
MCFG_SPEAKER_STANDARD_MONO("speaker")
|
||||
MCFG_SOUND_ADD("dac1", AD7524, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.2) // unknown DAC
|
||||
MCFG_SOUND_ADD("dac2", AD7524, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "speaker", 0.2) // unknown DAC
|
||||
@ -283,25 +283,6 @@ static MACHINE_CONFIG_START( wsf_80186_sound )
|
||||
MCFG_PIT8253_OUT2_HANDLER(WRITELINE(leland_80186_sound_device, pit0_2_w))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
machine_config_constructor leland_80186_sound_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( leland_80186_sound );
|
||||
}
|
||||
|
||||
machine_config_constructor redline_80186_sound_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( redline_80186_sound );
|
||||
}
|
||||
|
||||
machine_config_constructor ataxx_80186_sound_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( ataxx_80186_sound );
|
||||
}
|
||||
|
||||
machine_config_constructor wsf_80186_sound_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( wsf_80186_sound );
|
||||
}
|
||||
|
||||
/*************************************
|
||||
*
|
||||
|
@ -20,7 +20,6 @@ class leland_80186_sound_device : public device_t
|
||||
{
|
||||
public:
|
||||
leland_80186_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
DECLARE_WRITE16_MEMBER(peripheral_ctrl);
|
||||
DECLARE_WRITE8_MEMBER(leland_80186_control_w);
|
||||
@ -32,12 +31,13 @@ public:
|
||||
DECLARE_READ8_MEMBER(leland_80186_response_r);
|
||||
DECLARE_WRITE16_MEMBER(dac_w);
|
||||
DECLARE_WRITE16_MEMBER(ataxx_dac_control);
|
||||
DECLARE_WRITE_LINE_MEMBER(i80186_tmr0_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(i80186_tmr1_w);
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(pit0_2_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(pit1_0_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(pit1_1_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(pit1_2_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(i80186_tmr0_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(i80186_tmr1_w);
|
||||
|
||||
protected:
|
||||
leland_80186_sound_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, uint32_t clock);
|
||||
@ -45,6 +45,7 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
int m_type;
|
||||
|
||||
enum {
|
||||
@ -102,7 +103,9 @@ class redline_80186_sound_device : public leland_80186_sound_device
|
||||
public:
|
||||
redline_80186_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
DECLARE_WRITE16_MEMBER(redline_dac_w);
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
protected:
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
};
|
||||
|
||||
|
||||
@ -110,7 +113,9 @@ class ataxx_80186_sound_device : public leland_80186_sound_device
|
||||
{
|
||||
public:
|
||||
ataxx_80186_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
protected:
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
};
|
||||
|
||||
|
||||
@ -118,7 +123,9 @@ class wsf_80186_sound_device : public leland_80186_sound_device
|
||||
{
|
||||
public:
|
||||
wsf_80186_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
protected:
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
};
|
||||
|
||||
|
||||
|
@ -372,31 +372,6 @@ static ADDRESS_MAP_START( ssio_map, AS_PROGRAM, 8, midway_ssio_device )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( midway_ssio )
|
||||
MCFG_CPU_ADD("cpu", Z80, SSIO_CLOCK/2/4)
|
||||
MCFG_CPU_PROGRAM_MAP(ssio_map)
|
||||
MCFG_DEVICE_PERIODIC_INT_DEVICE(DEVICE_SELF, midway_ssio_device, clock_14024, SSIO_CLOCK/2/16/10)
|
||||
|
||||
MCFG_SOUND_ADD("ay0", AY8910, SSIO_CLOCK/2/4)
|
||||
|
||||
|
||||
MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(midway_ssio_device, porta0_w))
|
||||
MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(midway_ssio_device, portb0_w))
|
||||
MCFG_MIXER_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 0.33, 0)
|
||||
|
||||
MCFG_SOUND_ADD("ay1", AY8910, SSIO_CLOCK/2/4)
|
||||
|
||||
|
||||
MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(midway_ssio_device, porta1_w))
|
||||
MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(midway_ssio_device, portb1_w))
|
||||
MCFG_MIXER_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 0.33, 1)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// ROM definitions
|
||||
//-------------------------------------------------
|
||||
@ -419,14 +394,24 @@ const tiny_rom_entry *midway_ssio_device::device_rom_region() const
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_mconfig_additions - return a pointer to
|
||||
// the device's machine fragment
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor midway_ssio_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( midway_ssio );
|
||||
}
|
||||
MACHINE_CONFIG_MEMBER( midway_ssio_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD("cpu", Z80, SSIO_CLOCK/2/4)
|
||||
MCFG_CPU_PROGRAM_MAP(ssio_map)
|
||||
MCFG_DEVICE_PERIODIC_INT_DEVICE(DEVICE_SELF, midway_ssio_device, clock_14024, SSIO_CLOCK/2/16/10)
|
||||
|
||||
MCFG_SOUND_ADD("ay0", AY8910, SSIO_CLOCK/2/4)
|
||||
MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(midway_ssio_device, porta0_w))
|
||||
MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(midway_ssio_device, portb0_w))
|
||||
MCFG_MIXER_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 0.33, 0)
|
||||
|
||||
MCFG_SOUND_ADD("ay1", AY8910, SSIO_CLOCK/2/4)
|
||||
MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(midway_ssio_device, porta1_w))
|
||||
MCFG_AY8910_PORT_B_WRITE_CB(WRITE8(midway_ssio_device, portb1_w))
|
||||
MCFG_MIXER_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 0.33, 1)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -586,10 +571,10 @@ ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine configuration
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START(midway_sounds_good)
|
||||
MACHINE_CONFIG_MEMBER(midway_sounds_good_device::device_add_mconfig)
|
||||
MCFG_CPU_ADD("cpu", M68000, SOUNDSGOOD_CLOCK/2)
|
||||
MCFG_CPU_PROGRAM_MAP(soundsgood_map)
|
||||
|
||||
@ -605,17 +590,6 @@ static MACHINE_CONFIG_START(midway_sounds_good)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_mconfig_additions - return a pointer to
|
||||
// the device's machine fragment
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor midway_sounds_good_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( midway_sounds_good );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_start - device-specific startup
|
||||
//-------------------------------------------------
|
||||
@ -751,10 +725,10 @@ ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine configuration
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START(midway_turbo_cheap_squeak)
|
||||
MACHINE_CONFIG_MEMBER(midway_turbo_cheap_squeak_device::device_add_mconfig)
|
||||
MCFG_CPU_ADD("cpu", M6809E, TURBOCS_CLOCK)
|
||||
MCFG_CPU_PROGRAM_MAP(turbocs_map)
|
||||
|
||||
@ -770,17 +744,6 @@ static MACHINE_CONFIG_START(midway_turbo_cheap_squeak)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_mconfig_additions - return a pointer to
|
||||
// the device's machine fragment
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor midway_turbo_cheap_squeak_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( midway_turbo_cheap_squeak );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_start - device-specific startup
|
||||
//-------------------------------------------------
|
||||
@ -964,10 +927,10 @@ ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine configuration
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START(midway_squawk_n_talk)
|
||||
MACHINE_CONFIG_MEMBER(midway_squawk_n_talk_device::device_add_mconfig)
|
||||
MCFG_CPU_ADD("cpu", M6802, SQUAWKTALK_CLOCK)
|
||||
MCFG_CPU_PROGRAM_MAP(squawkntalk_map)
|
||||
|
||||
@ -991,17 +954,6 @@ static MACHINE_CONFIG_START(midway_squawk_n_talk)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_mconfig_additions - return a pointer to
|
||||
// the device's machine fragment
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor midway_squawk_n_talk_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( midway_squawk_n_talk );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_start - device-specific startup
|
||||
//-------------------------------------------------
|
||||
|
@ -59,19 +59,14 @@ public:
|
||||
void set_custom_output(int which, uint8_t mask, write8_delegate handler);
|
||||
|
||||
// internal communications
|
||||
INTERRUPT_GEN_MEMBER(clock_14024);
|
||||
DECLARE_READ8_MEMBER(irq_clear);
|
||||
DECLARE_WRITE8_MEMBER(status_w);
|
||||
DECLARE_READ8_MEMBER(data_r);
|
||||
DECLARE_WRITE8_MEMBER(porta0_w);
|
||||
DECLARE_WRITE8_MEMBER(portb0_w);
|
||||
DECLARE_WRITE8_MEMBER(porta1_w);
|
||||
DECLARE_WRITE8_MEMBER(portb1_w);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
@ -104,6 +99,13 @@ private:
|
||||
read8_delegate m_custom_input[5];
|
||||
uint8_t m_custom_output_mask[2];
|
||||
write8_delegate m_custom_output[2];
|
||||
|
||||
INTERRUPT_GEN_MEMBER(clock_14024);
|
||||
DECLARE_WRITE8_MEMBER(porta0_w);
|
||||
DECLARE_WRITE8_MEMBER(portb0_w);
|
||||
DECLARE_WRITE8_MEMBER(porta1_w);
|
||||
DECLARE_WRITE8_MEMBER(portb1_w);
|
||||
|
||||
};
|
||||
|
||||
|
||||
@ -121,14 +123,9 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(write);
|
||||
DECLARE_WRITE_LINE_MEMBER(reset_write);
|
||||
|
||||
// internal communications
|
||||
DECLARE_WRITE8_MEMBER(porta_w);
|
||||
DECLARE_WRITE8_MEMBER(portb_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(irq_w);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
|
||||
@ -142,6 +139,11 @@ private:
|
||||
// internal state
|
||||
uint8_t m_status;
|
||||
uint16_t m_dacval;
|
||||
|
||||
// internal communications
|
||||
DECLARE_WRITE8_MEMBER(porta_w);
|
||||
DECLARE_WRITE8_MEMBER(portb_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(irq_w);
|
||||
};
|
||||
|
||||
|
||||
@ -159,14 +161,9 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(write);
|
||||
DECLARE_WRITE_LINE_MEMBER(reset_write);
|
||||
|
||||
// internal communications
|
||||
DECLARE_WRITE8_MEMBER(porta_w);
|
||||
DECLARE_WRITE8_MEMBER(portb_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(irq_w);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
|
||||
@ -180,6 +177,11 @@ private:
|
||||
// internal state
|
||||
uint8_t m_status;
|
||||
uint16_t m_dacval;
|
||||
|
||||
// internal communications
|
||||
DECLARE_WRITE8_MEMBER(porta_w);
|
||||
DECLARE_WRITE8_MEMBER(portb_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(irq_w);
|
||||
};
|
||||
|
||||
|
||||
@ -197,15 +199,11 @@ public:
|
||||
DECLARE_WRITE_LINE_MEMBER(reset_write);
|
||||
|
||||
// internal communications
|
||||
DECLARE_WRITE8_MEMBER(porta1_w);
|
||||
DECLARE_WRITE8_MEMBER(dac_w);
|
||||
DECLARE_WRITE8_MEMBER(porta2_w);
|
||||
DECLARE_WRITE8_MEMBER(portb2_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(irq_w);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
|
||||
@ -220,6 +218,12 @@ private:
|
||||
// internal state
|
||||
uint8_t m_tms_command;
|
||||
uint8_t m_tms_strobes;
|
||||
|
||||
// internal communications
|
||||
DECLARE_WRITE8_MEMBER(porta1_w);
|
||||
DECLARE_WRITE8_MEMBER(porta2_w);
|
||||
DECLARE_WRITE8_MEMBER(portb2_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(irq_w);
|
||||
};
|
||||
|
||||
|
||||
|
@ -145,12 +145,6 @@ static ADDRESS_MAP_START( namco_52xx_map_io, AS_IO, 8, namco_52xx_device )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( namco_52xx )
|
||||
MCFG_CPU_ADD("mcu", MB8843, DERIVED_CLOCK(1,1)) /* parent clock, internally divided by 6 */
|
||||
MCFG_CPU_IO_MAP(namco_52xx_map_io)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
ROM_START( namco_52xx )
|
||||
ROM_REGION( 0x400, "mcu", 0 )
|
||||
ROM_LOAD( "52xx.bin", 0x0000, 0x0400, CRC(3257d11e) SHA1(4883b2fdbc99eb7b9906357fcc53915842c2c186) )
|
||||
@ -191,14 +185,13 @@ void namco_52xx_device::device_start()
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_mconfig_additions - return a pointer to
|
||||
// the device's machine fragment
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor namco_52xx_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( namco_52xx );
|
||||
}
|
||||
MACHINE_CONFIG_MEMBER( namco_52xx_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD("mcu", MB8843, DERIVED_CLOCK(1,1)) /* parent clock, internally divided by 6 */
|
||||
MCFG_CPU_IO_MAP(namco_52xx_map_io)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_rom_region - return a pointer to the
|
||||
|
@ -51,7 +51,7 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
TIMER_CALLBACK_MEMBER( latch_callback );
|
||||
TIMER_CALLBACK_MEMBER( irq_clear );
|
||||
|
@ -117,12 +117,6 @@ static ADDRESS_MAP_START( namco_54xx_map_io, AS_IO, 8, namco_54xx_device )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( namco_54xx )
|
||||
MCFG_CPU_ADD("mcu", MB8844, DERIVED_CLOCK(1,1)) /* parent clock, internally divided by 6 */
|
||||
MCFG_CPU_IO_MAP(namco_54xx_map_io)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
ROM_START( namco_54xx )
|
||||
ROM_REGION( 0x400, "mcu", 0 )
|
||||
ROM_LOAD( "54xx.bin", 0x0000, 0x0400, CRC(ee7357e0) SHA1(01bdf984a49e8d0cc8761b2cc162fd6434d5afbe) )
|
||||
@ -147,14 +141,13 @@ void namco_54xx_device::device_start()
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_mconfig_additions - return a pointer to
|
||||
// the device's machine fragment
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor namco_54xx_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( namco_54xx );
|
||||
}
|
||||
MACHINE_CONFIG_MEMBER( namco_54xx_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD("mcu", MB8844, DERIVED_CLOCK(1,1)) /* parent clock, internally divided by 6 */
|
||||
MCFG_CPU_IO_MAP(namco_54xx_map_io)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_rom_region - return a pointer to the
|
||||
|
@ -35,7 +35,7 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
TIMER_CALLBACK_MEMBER( latch_callback );
|
||||
TIMER_CALLBACK_MEMBER( irq_clear );
|
||||
|
@ -464,13 +464,28 @@ WRITE32_MEMBER(acclaim_rax_device::dmovlay_callback)
|
||||
}
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Machine Driver
|
||||
*
|
||||
*************************************/
|
||||
DEFINE_DEVICE_TYPE(ACCLAIM_RAX, acclaim_rax_device, "rax_audio", "Acclaim RAX")
|
||||
|
||||
MACHINE_CONFIG_START( rax )
|
||||
//-------------------------------------------------
|
||||
// acclaim_rax_device - constructor
|
||||
//-------------------------------------------------
|
||||
|
||||
acclaim_rax_device::acclaim_rax_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: device_t(mconfig, ACCLAIM_RAX, tag, owner, clock)
|
||||
, m_cpu(*this, "adsp")
|
||||
, m_adsp_pram(*this, "adsp_pram")
|
||||
, m_adsp_data_bank(*this, "databank")
|
||||
, m_data_in(*this, "data_in")
|
||||
, m_data_out(*this, "data_out")
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_MEMBER( acclaim_rax_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD("adsp", ADSP2181, XTAL_16_67MHz)
|
||||
MCFG_ADSP21XX_SPORT_TX_CB(WRITE32(acclaim_rax_device, adsp_sound_tx_callback)) /* callback for serial transmit */
|
||||
MCFG_ADSP21XX_DMOVLAY_CB(WRITE32(acclaim_rax_device, dmovlay_callback)) // callback for adsp 2181 dmovlay instruction
|
||||
@ -493,31 +508,3 @@ MACHINE_CONFIG_START( rax )
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
DEFINE_DEVICE_TYPE(ACCLAIM_RAX, acclaim_rax_device, "rax_audio", "Acclaim RAX")
|
||||
|
||||
//-------------------------------------------------
|
||||
// acclaim_rax_device - constructor
|
||||
//-------------------------------------------------
|
||||
|
||||
acclaim_rax_device::acclaim_rax_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
|
||||
: device_t(mconfig, ACCLAIM_RAX, tag, owner, clock)
|
||||
, m_cpu(*this, "adsp")
|
||||
, m_adsp_pram(*this, "adsp_pram")
|
||||
, m_adsp_data_bank(*this, "databank")
|
||||
, m_data_in(*this, "data_in")
|
||||
, m_data_out(*this, "data_out")
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor acclaim_rax_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( rax );
|
||||
}
|
||||
|
||||
|
@ -36,18 +36,13 @@ public:
|
||||
void adsp_irq(int which);
|
||||
void recompute_sample_rate(int which);
|
||||
|
||||
WRITE32_MEMBER(adsp_sound_tx_callback);
|
||||
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(adsp_irq0);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(sport0_irq);
|
||||
WRITE32_MEMBER(dmovlay_callback);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER( dma_timer_callback );
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
private:
|
||||
required_device<adsp2181_device> m_cpu;
|
||||
@ -88,6 +83,12 @@ private:
|
||||
required_device<generic_latch_16_device> m_data_out;
|
||||
|
||||
timer_device *m_dma_timer;
|
||||
|
||||
WRITE32_MEMBER(adsp_sound_tx_callback);
|
||||
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(adsp_irq0);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER(sport0_irq);
|
||||
WRITE32_MEMBER(dmovlay_callback);
|
||||
};
|
||||
|
||||
// device type definition
|
||||
|
@ -62,7 +62,7 @@ void s11c_bg_device::data_w(uint8_t data)
|
||||
m_pia40->portb_w(data);
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START( s11c_bg )
|
||||
MACHINE_CONFIG_MEMBER( s11c_bg_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD("bgcpu", M6809E, XTAL_8MHz) // MC68B09E (note: schematics show this as 8mhz/2, but games crash very quickly with that speed?)
|
||||
MCFG_CPU_PROGRAM_MAP(s11c_bg_map)
|
||||
MCFG_QUANTUM_TIME(attotime::from_hz(50))
|
||||
@ -87,11 +87,6 @@ MACHINE_CONFIG_START( s11c_bg )
|
||||
MCFG_PIA_IRQB_HANDLER(INPUTLINE("bgcpu", INPUT_LINE_NMI))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
machine_config_constructor s11c_bg_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( s11c_bg );
|
||||
}
|
||||
|
||||
void s11c_bg_device::device_start()
|
||||
{
|
||||
}
|
||||
|
@ -35,13 +35,10 @@ public:
|
||||
required_memory_bank m_cpubank;
|
||||
memory_region* m_rom;
|
||||
|
||||
DECLARE_WRITE8_MEMBER(pia40_pb_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(pia40_ca2_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(pia40_cb2_w);
|
||||
|
||||
DECLARE_WRITE8_MEMBER(bg_speech_clock_w);
|
||||
DECLARE_WRITE8_MEMBER(bg_speech_digit_w);
|
||||
DECLARE_WRITE8_MEMBER(bgbank_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(ym2151_irq_w);
|
||||
void ctrl_w(uint8_t data);
|
||||
void data_w(uint8_t data);
|
||||
|
||||
@ -51,10 +48,15 @@ protected:
|
||||
// overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
private:
|
||||
const char* m_regiontag;
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(ym2151_irq_w);
|
||||
DECLARE_WRITE8_MEMBER(pia40_pb_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(pia40_ca2_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(pia40_cb2_w);
|
||||
};
|
||||
|
||||
DECLARE_DEVICE_TYPE(S11C_BG, s11c_bg_device)
|
||||
|
@ -42,7 +42,17 @@ static ADDRESS_MAP_START( mpcm2_map, AS_0, 8, segam1audio_device )
|
||||
AM_RANGE(0x000000, 0x3fffff) AM_ROM AM_REGION(":m1pcm2", 0)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
MACHINE_CONFIG_START( segam1audio )
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE(SEGAM1AUDIO, segam1audio_device, "segam1audio", "Sega Model 1 Sound Board")
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_MEMBER( segam1audio_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD(M68000_TAG, M68000, 10000000) // verified on real h/w
|
||||
MCFG_CPU_PROGRAM_MAP(segam1audio_map)
|
||||
|
||||
@ -71,22 +81,6 @@ MACHINE_CONFIG_START( segam1audio )
|
||||
MCFG_DEVCB_CHAIN_OUTPUT(DEVWRITELINE(UART_TAG, i8251_device, write_rxc))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE(SEGAM1AUDIO, segam1audio_device, "segam1audio", "Sega Model 1 Sound Board")
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor segam1audio_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( segam1audio );
|
||||
}
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
//**************************************************************************
|
||||
|
@ -31,9 +31,6 @@ public:
|
||||
// construction/destruction
|
||||
segam1audio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
// static configuration
|
||||
template <class Object> static devcb_base &set_rxd_handler(device_t &device, Object &&cb) { return downcast<segam1audio_device &>(device).m_rxd_handler.set_callback(std::forward<Object>(cb)); }
|
||||
|
||||
@ -41,12 +38,12 @@ public:
|
||||
DECLARE_WRITE16_MEMBER(m1_snd_mpcm_bnk2_w);
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(write_txd);
|
||||
DECLARE_WRITE_LINE_MEMBER(output_txd);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
private:
|
||||
required_device<cpu_device> m_audiocpu;
|
||||
@ -56,6 +53,8 @@ private:
|
||||
required_device<i8251_device> m_uart;
|
||||
|
||||
devcb_write_line m_rxd_handler;
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(output_txd);
|
||||
};
|
||||
|
||||
|
||||
|
@ -853,13 +853,11 @@ static ADDRESS_MAP_START( usb_portmap, AS_IO, 8, usb_sound_device )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* USB machine drivers
|
||||
*
|
||||
*************************************/
|
||||
//-------------------------------------------------
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_START( segausb )
|
||||
MACHINE_CONFIG_MEMBER( usb_sound_device::device_add_mconfig )
|
||||
|
||||
/* CPU for the usb board */
|
||||
MCFG_CPU_ADD("ourcpu", I8035, USB_MASTER_CLOCK) /* divide by 15 in CPU */
|
||||
@ -873,10 +871,6 @@ MACHINE_CONFIG_START( segausb )
|
||||
MCFG_TIMER_DRIVER_ADD_PERIODIC("usb_timer", usb_sound_device, increment_t1_clock_timer_cb, attotime::from_hz(USB_2MHZ_CLOCK / 256))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
machine_config_constructor usb_sound_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( segausb );
|
||||
}
|
||||
|
||||
DEFINE_DEVICE_TYPE(SEGAUSBROM, usb_rom_sound_device, "segausbrom", "Sega Universal Sound Board with ROM")
|
||||
|
||||
@ -889,7 +883,7 @@ static ADDRESS_MAP_START( usb_map_rom, AS_PROGRAM, 8, usb_sound_device )
|
||||
AM_RANGE(0x0000, 0x0fff) AM_ROM AM_REGION(":usbcpu", 0)
|
||||
ADDRESS_MAP_END
|
||||
|
||||
MACHINE_CONFIG_START( segausb_rom )
|
||||
MACHINE_CONFIG_MEMBER( usb_rom_sound_device::device_add_mconfig )
|
||||
|
||||
/* CPU for the usb board */
|
||||
MCFG_CPU_ADD("ourcpu", I8035, USB_MASTER_CLOCK) /* divide by 15 in CPU */
|
||||
@ -898,8 +892,3 @@ MACHINE_CONFIG_START( segausb_rom )
|
||||
|
||||
MCFG_TIMER_DRIVER_ADD_PERIODIC("usb_timer", usb_sound_device, increment_t1_clock_timer_cb, attotime::from_hz(USB_2MHZ_CLOCK / 256))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
machine_config_constructor usb_rom_sound_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( segausb_rom );
|
||||
}
|
||||
|
@ -64,11 +64,6 @@ public:
|
||||
DECLARE_READ8_MEMBER( ram_r );
|
||||
DECLARE_WRITE8_MEMBER( ram_w );
|
||||
|
||||
DECLARE_READ8_MEMBER( p1_r );
|
||||
DECLARE_WRITE8_MEMBER( p1_w );
|
||||
DECLARE_WRITE8_MEMBER( p2_w );
|
||||
DECLARE_READ_LINE_MEMBER( t1_r );
|
||||
|
||||
DECLARE_READ8_MEMBER( workram_r );
|
||||
DECLARE_WRITE8_MEMBER( workram_w );
|
||||
|
||||
@ -78,7 +73,7 @@ protected:
|
||||
usb_sound_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
|
||||
|
||||
// device-level overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
@ -155,6 +150,11 @@ private:
|
||||
TIMER_CALLBACK_MEMBER( delayed_usb_data_w );
|
||||
void timer_w(int which, u8 offset, u8 data);
|
||||
void env_w(int which, u8 offset, u8 data);
|
||||
|
||||
DECLARE_READ8_MEMBER( p1_r );
|
||||
DECLARE_WRITE8_MEMBER( p1_w );
|
||||
DECLARE_WRITE8_MEMBER( p2_w );
|
||||
DECLARE_READ_LINE_MEMBER( t1_r );
|
||||
};
|
||||
|
||||
DECLARE_DEVICE_TYPE(SEGAUSB, usb_sound_device)
|
||||
@ -167,7 +167,7 @@ public:
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
};
|
||||
|
||||
DECLARE_DEVICE_TYPE(SEGAUSBROM, usb_rom_sound_device)
|
||||
|
@ -366,22 +366,12 @@ ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// MACHINE_CONFIG_START( t5182 )
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_START( t5182 )
|
||||
MACHINE_CONFIG_MEMBER( t5182_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD("t5182_z80", Z80, T5182_CLOCK)
|
||||
MCFG_CPU_PROGRAM_MAP(t5182_map)
|
||||
MCFG_CPU_IO_MAP(t5182_io)
|
||||
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor t5182_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( t5182 );
|
||||
}
|
||||
|
@ -48,7 +48,7 @@ protected:
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
|
||||
virtual const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual ioport_constructor device_input_ports() const override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
private:
|
||||
// internal state
|
||||
|
@ -287,13 +287,12 @@ WRITE_LINE_MEMBER(taito_en_device::duart_irq_handler)
|
||||
IP5: 1MHz
|
||||
*/
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Machine driver
|
||||
*
|
||||
*************************************/
|
||||
|
||||
MACHINE_CONFIG_START( taito_en_sound )
|
||||
//-------------------------------------------------
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_MEMBER( taito_en_device::device_add_mconfig )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("audiocpu", M68000, XTAL_30_4761MHz / 2)
|
||||
@ -315,13 +314,3 @@ MACHINE_CONFIG_START( taito_en_sound )
|
||||
MCFG_SOUND_ROUTE(0, "lspeaker", 0.08)
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 0.08)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor taito_en_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( taito_en_sound );
|
||||
}
|
||||
|
@ -30,15 +30,11 @@ public:
|
||||
DECLARE_READ16_MEMBER( es5510_dsp_r );
|
||||
DECLARE_WRITE16_MEMBER( es5510_dsp_w );
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(duart_irq_handler);
|
||||
|
||||
DECLARE_WRITE8_MEMBER(mb87078_gain_changed);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
private:
|
||||
// inherited devices/pointers
|
||||
@ -57,6 +53,10 @@ private:
|
||||
uint32_t m_es5510_dadr_latch;
|
||||
uint32_t m_es5510_gpr_latch;
|
||||
uint8_t m_es5510_ram_sel;
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(duart_irq_handler);
|
||||
|
||||
DECLARE_WRITE8_MEMBER(mb87078_gain_changed);
|
||||
};
|
||||
|
||||
DECLARE_DEVICE_TYPE(TAITO_EN, taito_en_device)
|
||||
|
@ -68,20 +68,6 @@ enum
|
||||
};
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// MACHINE FRAGMENTS
|
||||
//**************************************************************************
|
||||
|
||||
static MACHINE_CONFIG_START( nsub_audio )
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
/* samples */
|
||||
MCFG_SOUND_ADD("samples", SAMPLES, 0)
|
||||
MCFG_SAMPLES_CHANNELS(13)
|
||||
MCFG_SAMPLES_NAMES(nsub_sample_names)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
//**************************************************************************
|
||||
@ -97,14 +83,18 @@ s97271p_device::s97271p_device(const machine_config &mconfig, const char *tag, d
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor s97271p_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( nsub_audio );
|
||||
}
|
||||
MACHINE_CONFIG_MEMBER( s97271p_device::device_add_mconfig )
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
/* samples */
|
||||
MCFG_SOUND_ADD("samples", SAMPLES, 0)
|
||||
MCFG_SAMPLES_CHANNELS(13)
|
||||
MCFG_SAMPLES_NAMES(nsub_sample_names)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.5)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_start - device-specific startup
|
||||
|
@ -20,9 +20,6 @@ public:
|
||||
// construction/destruction
|
||||
s97271p_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
// optional information overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
// daughterboard logic
|
||||
void port_w(uint8_t data);
|
||||
|
||||
@ -30,6 +27,7 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
private:
|
||||
required_device<samples_device> m_samples;
|
||||
|
@ -204,10 +204,10 @@ ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine configuration
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( williams_cvsd_sound )
|
||||
MACHINE_CONFIG_MEMBER( williams_cvsd_sound_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD("cpu", M6809E, CVSD_MASTER_CLOCK)
|
||||
MCFG_CPU_PROGRAM_MAP(williams_cvsd_map)
|
||||
|
||||
@ -230,17 +230,6 @@ static MACHINE_CONFIG_START( williams_cvsd_sound )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_mconfig_additions - return a pointer to
|
||||
// the device's machine fragment
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor williams_cvsd_sound_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( williams_cvsd_sound );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_start - device-specific startup
|
||||
//-------------------------------------------------
|
||||
@ -543,10 +532,11 @@ ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine configuration
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( williams_narc_sound )
|
||||
|
||||
MACHINE_CONFIG_MEMBER( williams_narc_sound_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD("cpu0", M6809E, NARC_MASTER_CLOCK)
|
||||
MCFG_CPU_PROGRAM_MAP(williams_narc_master_map)
|
||||
|
||||
@ -568,17 +558,6 @@ static MACHINE_CONFIG_START( williams_narc_sound )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_mconfig_additions - return a pointer to
|
||||
// the device's machine fragment
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor williams_narc_sound_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( williams_narc_sound );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_start - device-specific startup
|
||||
//-------------------------------------------------
|
||||
@ -817,10 +796,10 @@ ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine configuration
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START( williams_adpcm_sound )
|
||||
MACHINE_CONFIG_MEMBER( williams_adpcm_sound_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD("cpu", M6809E, ADPCM_MASTER_CLOCK)
|
||||
MCFG_CPU_PROGRAM_MAP(williams_adpcm_map)
|
||||
|
||||
@ -838,17 +817,6 @@ static MACHINE_CONFIG_START( williams_adpcm_sound )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_mconfig_additions - return a pointer to
|
||||
// the device's machine fragment
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor williams_adpcm_sound_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( williams_adpcm_sound );
|
||||
}
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_start - device-specific startup
|
||||
//-------------------------------------------------
|
||||
|
@ -45,16 +45,12 @@ public:
|
||||
|
||||
// internal communications
|
||||
DECLARE_WRITE8_MEMBER(bank_select_w);
|
||||
DECLARE_WRITE8_MEMBER(talkback_w);
|
||||
DECLARE_WRITE8_MEMBER(cvsd_digit_clock_clear_w);
|
||||
DECLARE_WRITE8_MEMBER(cvsd_clock_set_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(ym2151_irq_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(pia_irqa);
|
||||
DECLARE_WRITE_LINE_MEMBER(pia_irqb);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
|
||||
@ -67,6 +63,12 @@ private:
|
||||
|
||||
// internal state
|
||||
uint8_t m_talkback;
|
||||
|
||||
DECLARE_WRITE8_MEMBER(talkback_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(ym2151_irq_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(pia_irqa);
|
||||
DECLARE_WRITE_LINE_MEMBER(pia_irqb);
|
||||
|
||||
};
|
||||
|
||||
|
||||
@ -96,11 +98,10 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(slave_sync_w);
|
||||
DECLARE_WRITE8_MEMBER(cvsd_digit_clock_clear_w);
|
||||
DECLARE_WRITE8_MEMBER(cvsd_clock_set_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(ym2151_irq_w);
|
||||
|
||||
protected:
|
||||
// device-level overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
|
||||
@ -125,6 +126,8 @@ private:
|
||||
uint8_t m_talkback;
|
||||
uint8_t m_audio_sync;
|
||||
uint8_t m_sound_int_state;
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(ym2151_irq_w);
|
||||
};
|
||||
|
||||
|
||||
@ -147,7 +150,6 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(oki6295_bank_select_w);
|
||||
DECLARE_READ8_MEMBER(command_r);
|
||||
DECLARE_WRITE8_MEMBER(talkback_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(ym2151_irq_w);
|
||||
|
||||
protected:
|
||||
// timer IDs
|
||||
@ -158,7 +160,7 @@ protected:
|
||||
};
|
||||
|
||||
// device-level overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
|
||||
@ -171,4 +173,6 @@ private:
|
||||
uint8_t m_latch;
|
||||
uint8_t m_talkback;
|
||||
uint8_t m_sound_int_state;
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(ym2151_irq_w);
|
||||
};
|
||||
|
@ -66,7 +66,7 @@ uint8_t wpcsnd_device::data_r()
|
||||
return m_reply;
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START( wpcsnd )
|
||||
MACHINE_CONFIG_MEMBER( wpcsnd_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD("bgcpu", M6809E, XTAL_8MHz) // MC68B09E
|
||||
MCFG_CPU_PROGRAM_MAP(wpcsnd_map)
|
||||
MCFG_QUANTUM_TIME(attotime::from_hz(50))
|
||||
@ -83,10 +83,6 @@ MACHINE_CONFIG_START( wpcsnd )
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 0.5)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
machine_config_constructor wpcsnd_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( wpcsnd );
|
||||
}
|
||||
|
||||
void wpcsnd_device::device_start()
|
||||
{
|
||||
|
@ -40,7 +40,6 @@ public:
|
||||
DECLARE_WRITE8_MEMBER(bg_speech_clock_w);
|
||||
DECLARE_WRITE8_MEMBER(bg_speech_digit_w);
|
||||
DECLARE_WRITE8_MEMBER(rombank_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(ym2151_irq_w);
|
||||
DECLARE_READ8_MEMBER(latch_r);
|
||||
DECLARE_WRITE8_MEMBER(latch_w);
|
||||
DECLARE_WRITE8_MEMBER(volume_w);
|
||||
@ -59,7 +58,7 @@ protected:
|
||||
// overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
private:
|
||||
uint8_t m_latch;
|
||||
@ -68,6 +67,8 @@ private:
|
||||
|
||||
// callback
|
||||
devcb_write_line m_reply_cb;
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(ym2151_irq_w);
|
||||
};
|
||||
|
||||
DECLARE_DEVICE_TYPE(WPCSND, wpcsnd_device)
|
||||
|
@ -206,7 +206,11 @@ public:
|
||||
|
||||
void handle_sub_board_cpu_lines(cedar_magnet_board_interface &dev, int old_data, int data);
|
||||
INTERRUPT_GEN_MEMBER(irq);
|
||||
void(*m_prothack)(cedar_magnet_state*);
|
||||
typedef void (cedar_magnet_state::*prot_func)();
|
||||
prot_func m_prothack;
|
||||
void mag_time_protection_hack();
|
||||
void mag_xain_protection_hack();
|
||||
void mag_exzi_protection_hack();
|
||||
|
||||
virtual void machine_start() override;
|
||||
virtual void machine_reset() override;
|
||||
@ -742,7 +746,7 @@ INPUT_PORTS_END
|
||||
INTERRUPT_GEN_MEMBER(cedar_magnet_state::irq)
|
||||
{
|
||||
if (m_prothack)
|
||||
m_prothack(this);
|
||||
(this->*m_prothack)();
|
||||
|
||||
m_maincpu->set_input_line(0, HOLD_LINE);
|
||||
m_cedplane0->irq_hold();
|
||||
@ -870,23 +874,22 @@ void protection_hack(uint8_t* ram, int address1, int address2)
|
||||
if ((ram[address2] == 0x3e) && (ram[address2+1] == 0xff)) ram[address2] = 0xc9;
|
||||
}
|
||||
|
||||
void mag_time_protection_hack(cedar_magnet_state* state)
|
||||
void cedar_magnet_state::mag_time_protection_hack()
|
||||
{
|
||||
protection_hack(state->m_ram0, 0x8bc, 0x905);
|
||||
protection_hack(m_ram0, 0x8bc, 0x905);
|
||||
}
|
||||
|
||||
void mag_xain_protection_hack(cedar_magnet_state* state)
|
||||
void cedar_magnet_state::mag_xain_protection_hack()
|
||||
{
|
||||
protection_hack(state->m_ram0, 0x796, 0x7df);
|
||||
protection_hack(m_ram0, 0x796, 0x7df);
|
||||
}
|
||||
|
||||
void mag_exzi_protection_hack(cedar_magnet_state* state)
|
||||
void cedar_magnet_state::mag_exzi_protection_hack()
|
||||
{
|
||||
protection_hack(state->m_ram0, 0x8b6, 0x8ff);
|
||||
protection_hack(m_ram0, 0x8b6, 0x8ff);
|
||||
}
|
||||
|
||||
|
||||
|
||||
DRIVER_INIT_MEMBER(cedar_magnet_state, mag_time)
|
||||
{
|
||||
m_prothack = mag_time_protection_hack;
|
||||
|
@ -494,7 +494,6 @@ public:
|
||||
DECLARE_WRITE16_MEMBER(hdsnd68k_320ports_w);
|
||||
DECLARE_READ16_MEMBER(hdsnd68k_320com_r);
|
||||
DECLARE_WRITE16_MEMBER(hdsnd68k_320com_w);
|
||||
DECLARE_READ_LINE_MEMBER(hdsnddsp_get_bio);
|
||||
|
||||
DECLARE_WRITE16_MEMBER(hdsnddsp_dac_w);
|
||||
DECLARE_WRITE16_MEMBER(hdsnddsp_comport_w);
|
||||
@ -508,7 +507,7 @@ public:
|
||||
protected:
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
private:
|
||||
required_device<cpu_device> m_soundcpu;
|
||||
@ -532,6 +531,8 @@ private:
|
||||
|
||||
void update_68k_interrupts();
|
||||
TIMER_CALLBACK_MEMBER( delayed_68k_w );
|
||||
|
||||
DECLARE_READ_LINE_MEMBER(hdsnddsp_get_bio);
|
||||
};
|
||||
|
||||
/* Hard Drivin' */
|
||||
|
Loading…
Reference in New Issue
Block a user