mirror of
https://github.com/holub/mame
synced 2025-10-05 16:50:57 +03:00
a start at moving mame/audio devices to use device_add_mconfig insted of device_mconfig_additions (nw)
This commit is contained in:
parent
099dd26e89
commit
3f44d746de
@ -25,13 +25,6 @@ DEFINE_DEVICE_TYPE(ALESIS_DM3AG, alesis_dm3ag_device, "alesis_dm3ag", "Alesis DM
|
||||
IMPLEMENTATION
|
||||
***************************************************************************/
|
||||
|
||||
static MACHINE_CONFIG_START( alesis_dm3ag )
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker1", "rspeaker1")
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker2", "rspeaker2")
|
||||
MCFG_SOUND_ADD("dac", PCM54HP, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker1", 1.0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker1", 1.0) // PCM54HP DAC + R63/R73-75 + Sample and hold
|
||||
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
|
||||
|
||||
//-------------------------------------------------
|
||||
// alesis_dm3ag_device - constructor
|
||||
@ -45,13 +38,16 @@ alesis_dm3ag_device::alesis_dm3ag_device(const machine_config &mconfig, const ch
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_mconfig_additions
|
||||
// device_add_mconfig
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor alesis_dm3ag_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( alesis_dm3ag );
|
||||
}
|
||||
MACHINE_CONFIG_MEMBER( alesis_dm3ag_device::device_add_mconfig )
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker1", "rspeaker1")
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker2", "rspeaker2")
|
||||
MCFG_SOUND_ADD("dac", PCM54HP, 0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker1", 1.0) MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker1", 1.0) // PCM54HP DAC + R63/R73-75 + Sample and hold
|
||||
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
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_start - device-specific startup
|
||||
|
@ -157,84 +157,6 @@ static ADDRESS_MAP_START( jsa3_oki2_map, AS_0, 8, atari_jsa_iiis_device )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// MACHINE FRAGMENTS
|
||||
//**************************************************************************
|
||||
|
||||
// Fully populated JSA-I, not used by anyone
|
||||
MACHINE_CONFIG_START( jsa_i_config )
|
||||
|
||||
// basic machine hardware
|
||||
MCFG_CPU_ADD("cpu", M6502, JSA_MASTER_CLOCK/2)
|
||||
MCFG_CPU_PROGRAM_MAP(atarijsa1_map)
|
||||
MCFG_DEVICE_PERIODIC_INT_DEVICE("soundcomm", atari_sound_comm_device, sound_irq_gen, (double)JSA_MASTER_CLOCK/4/16/16/14)
|
||||
|
||||
// sound hardware
|
||||
MCFG_ATARI_SOUND_COMM_ADD("soundcomm", "cpu", WRITELINE(atari_jsa_base_device, main_int_write_line))
|
||||
|
||||
MCFG_YM2151_ADD("ym2151", JSA_MASTER_CLOCK)
|
||||
MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("soundcomm", atari_sound_comm_device, ym2151_irq_gen))
|
||||
MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(atari_jsa_base_device, ym2151_port_w))
|
||||
MCFG_MIXER_ROUTE(0, DEVICE_SELF_OWNER, 0.60, 0)
|
||||
MCFG_MIXER_ROUTE(1, DEVICE_SELF_OWNER, 0.60, 1)
|
||||
|
||||
MCFG_SOUND_ADD("pokey", POKEY, JSA_MASTER_CLOCK/2)
|
||||
MCFG_MIXER_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 0.40, 0)
|
||||
MCFG_MIXER_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 0.40, 1)
|
||||
|
||||
MCFG_SOUND_ADD("tms", TMS5220C, JSA_MASTER_CLOCK*2/11) // potentially JSA_MASTER_CLOCK/9 as well
|
||||
MCFG_MIXER_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 1.0, 0)
|
||||
MCFG_MIXER_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 1.0, 1)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
// Fully populated JSA-II
|
||||
MACHINE_CONFIG_START( jsa_ii_config )
|
||||
|
||||
// basic machine hardware
|
||||
MCFG_CPU_ADD("cpu", M6502, JSA_MASTER_CLOCK/2)
|
||||
MCFG_CPU_PROGRAM_MAP(atarijsa2_map)
|
||||
MCFG_DEVICE_PERIODIC_INT_DEVICE("soundcomm", atari_sound_comm_device, sound_irq_gen, (double)JSA_MASTER_CLOCK/4/16/16/14)
|
||||
|
||||
// sound hardware
|
||||
MCFG_ATARI_SOUND_COMM_ADD("soundcomm", "cpu", WRITELINE(atari_jsa_base_device, main_int_write_line))
|
||||
|
||||
MCFG_YM2151_ADD("ym2151", JSA_MASTER_CLOCK)
|
||||
MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("soundcomm", atari_sound_comm_device, ym2151_irq_gen))
|
||||
MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(atari_jsa_base_device, ym2151_port_w))
|
||||
MCFG_MIXER_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 0.60, 0)
|
||||
|
||||
MCFG_OKIM6295_ADD("oki1", JSA_MASTER_CLOCK/3, PIN7_HIGH)
|
||||
MCFG_MIXER_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 0.75, 0)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
// Fully populated JSA-III
|
||||
MACHINE_CONFIG_DERIVED( jsa_iii_config, jsa_ii_config )
|
||||
|
||||
// basic machine hardware
|
||||
MCFG_CPU_MODIFY("cpu")
|
||||
MCFG_CPU_PROGRAM_MAP(atarijsa3_map)
|
||||
|
||||
MCFG_DEVICE_MODIFY("oki1")
|
||||
MCFG_DEVICE_ADDRESS_MAP(AS_0, jsa3_oki1_map)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
// Fully populated JSA_IIIs
|
||||
MACHINE_CONFIG_DERIVED( jsa_iiis_config, jsa_iii_config )
|
||||
|
||||
MCFG_DEVICE_MODIFY("ym2151")
|
||||
MCFG_MIXER_ROUTE(1, DEVICE_SELF_OWNER, 0.60, 1)
|
||||
|
||||
MCFG_OKIM6295_ADD("oki2", JSA_MASTER_CLOCK/3, PIN7_HIGH)
|
||||
MCFG_MIXER_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 0.75, 1)
|
||||
MCFG_DEVICE_ADDRESS_MAP(AS_0, jsa3_oki2_map)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// I/O PORT DEFINITIONS
|
||||
//**************************************************************************
|
||||
@ -767,14 +689,34 @@ WRITE8_MEMBER( atari_jsa_i_device::pokey_w )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_mconfig_additions - return a pointer to
|
||||
// the device's machine fragment
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor atari_jsa_i_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( jsa_i_config );
|
||||
}
|
||||
// Fully populated JSA-I, not used by anyone
|
||||
MACHINE_CONFIG_MEMBER( atari_jsa_i_device::device_add_mconfig )
|
||||
|
||||
// basic machine hardware
|
||||
MCFG_CPU_ADD("cpu", M6502, JSA_MASTER_CLOCK/2)
|
||||
MCFG_CPU_PROGRAM_MAP(atarijsa1_map)
|
||||
MCFG_DEVICE_PERIODIC_INT_DEVICE("soundcomm", atari_sound_comm_device, sound_irq_gen, (double)JSA_MASTER_CLOCK/4/16/16/14)
|
||||
|
||||
// sound hardware
|
||||
MCFG_ATARI_SOUND_COMM_ADD("soundcomm", "cpu", WRITELINE(atari_jsa_base_device, main_int_write_line))
|
||||
|
||||
MCFG_YM2151_ADD("ym2151", JSA_MASTER_CLOCK)
|
||||
MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("soundcomm", atari_sound_comm_device, ym2151_irq_gen))
|
||||
MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(atari_jsa_base_device, ym2151_port_w))
|
||||
MCFG_MIXER_ROUTE(0, DEVICE_SELF_OWNER, 0.60, 0)
|
||||
MCFG_MIXER_ROUTE(1, DEVICE_SELF_OWNER, 0.60, 1)
|
||||
|
||||
MCFG_SOUND_ADD("pokey", POKEY, JSA_MASTER_CLOCK/2)
|
||||
MCFG_MIXER_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 0.40, 0)
|
||||
MCFG_MIXER_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 0.40, 1)
|
||||
|
||||
MCFG_SOUND_ADD("tms", TMS5220C, JSA_MASTER_CLOCK*2/11) // potentially JSA_MASTER_CLOCK/9 as well
|
||||
MCFG_MIXER_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 1.0, 0)
|
||||
MCFG_MIXER_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 1.0, 1)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -877,14 +819,28 @@ READ8_MEMBER( atari_jsa_ii_device::rdio_r )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_mconfig_additions - return a pointer to
|
||||
// the device's machine fragment
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor atari_jsa_ii_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( jsa_ii_config );
|
||||
}
|
||||
// Fully populated JSA-II
|
||||
MACHINE_CONFIG_MEMBER( atari_jsa_ii_device::device_add_mconfig )
|
||||
|
||||
// basic machine hardware
|
||||
MCFG_CPU_ADD("cpu", M6502, JSA_MASTER_CLOCK/2)
|
||||
MCFG_CPU_PROGRAM_MAP(atarijsa2_map)
|
||||
MCFG_DEVICE_PERIODIC_INT_DEVICE("soundcomm", atari_sound_comm_device, sound_irq_gen, (double)JSA_MASTER_CLOCK/4/16/16/14)
|
||||
|
||||
// sound hardware
|
||||
MCFG_ATARI_SOUND_COMM_ADD("soundcomm", "cpu", WRITELINE(atari_jsa_base_device, main_int_write_line))
|
||||
|
||||
MCFG_YM2151_ADD("ym2151", JSA_MASTER_CLOCK)
|
||||
MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("soundcomm", atari_sound_comm_device, ym2151_irq_gen))
|
||||
MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(atari_jsa_base_device, ym2151_port_w))
|
||||
MCFG_MIXER_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 0.60, 0)
|
||||
|
||||
MCFG_OKIM6295_ADD("oki1", JSA_MASTER_CLOCK/3, PIN7_HIGH)
|
||||
MCFG_MIXER_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 0.75, 0)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -945,14 +901,29 @@ READ8_MEMBER( atari_jsa_iii_device::rdio_r )
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_mconfig_additions - return a pointer to
|
||||
// the device's machine fragment
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor atari_jsa_iii_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( jsa_iii_config );
|
||||
}
|
||||
// Fully populated JSA-III
|
||||
MACHINE_CONFIG_MEMBER( atari_jsa_iii_device::device_add_mconfig )
|
||||
|
||||
// basic machine hardware
|
||||
MCFG_CPU_ADD("cpu", M6502, JSA_MASTER_CLOCK/2)
|
||||
MCFG_CPU_PROGRAM_MAP(atarijsa3_map)
|
||||
MCFG_DEVICE_PERIODIC_INT_DEVICE("soundcomm", atari_sound_comm_device, sound_irq_gen, (double)JSA_MASTER_CLOCK/4/16/16/14)
|
||||
|
||||
// sound hardware
|
||||
MCFG_ATARI_SOUND_COMM_ADD("soundcomm", "cpu", WRITELINE(atari_jsa_base_device, main_int_write_line))
|
||||
|
||||
MCFG_YM2151_ADD("ym2151", JSA_MASTER_CLOCK)
|
||||
MCFG_YM2151_IRQ_HANDLER(DEVWRITELINE("soundcomm", atari_sound_comm_device, ym2151_irq_gen))
|
||||
MCFG_YM2151_PORT_WRITE_HANDLER(WRITE8(atari_jsa_base_device, ym2151_port_w))
|
||||
MCFG_MIXER_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 0.60, 0)
|
||||
|
||||
MCFG_OKIM6295_ADD("oki1", JSA_MASTER_CLOCK/3, PIN7_HIGH)
|
||||
MCFG_DEVICE_ADDRESS_MAP(AS_0, jsa3_oki1_map)
|
||||
MCFG_MIXER_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 0.75, 0)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -982,11 +953,18 @@ atari_jsa_iiis_device::atari_jsa_iiis_device(const machine_config &mconfig, cons
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_mconfig_additions - return a pointer to
|
||||
// the device's machine fragment
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor atari_jsa_iiis_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( jsa_iiis_config );
|
||||
}
|
||||
// Fully populated JSA_IIIs
|
||||
MACHINE_CONFIG_MEMBER( atari_jsa_iiis_device::device_add_mconfig )
|
||||
|
||||
atari_jsa_iii_device::device_add_mconfig(config);
|
||||
|
||||
MCFG_DEVICE_MODIFY("ym2151")
|
||||
MCFG_MIXER_ROUTE(1, DEVICE_SELF_OWNER, 0.60, 1)
|
||||
|
||||
MCFG_OKIM6295_ADD("oki2", JSA_MASTER_CLOCK/3, PIN7_HIGH)
|
||||
MCFG_MIXER_ROUTE(ALL_OUTPUTS, DEVICE_SELF_OWNER, 0.75, 1)
|
||||
MCFG_DEVICE_ADDRESS_MAP(AS_0, jsa3_oki2_map)
|
||||
MACHINE_CONFIG_END
|
||||
|
@ -196,7 +196,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_reset() override;
|
||||
@ -228,7 +228,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;
|
||||
|
||||
required_ioport m_jsaii;
|
||||
@ -253,7 +253,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;
|
||||
|
||||
required_ioport m_jsaiii;
|
||||
@ -270,7 +270,7 @@ public:
|
||||
|
||||
protected:
|
||||
// device level overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
};
|
||||
|
||||
|
||||
|
@ -619,14 +619,11 @@ static ADDRESS_MAP_START( cage_map_seattle, AS_PROGRAM, 32, atari_cage_seattle_d
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_add_config - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* CAGE machine driver
|
||||
*
|
||||
*************************************/
|
||||
|
||||
MACHINE_CONFIG_START( cage )
|
||||
MACHINE_CONFIG_MEMBER( atari_cage_device::device_add_mconfig )
|
||||
|
||||
/* basic machine hardware */
|
||||
MCFG_CPU_ADD("cage", TMS32031, 33868800)
|
||||
@ -664,23 +661,6 @@ MACHINE_CONFIG_START( cage )
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
MACHINE_CONFIG_DERIVED( cage_seattle, cage )
|
||||
|
||||
MCFG_CPU_MODIFY("cage")
|
||||
MCFG_CPU_PROGRAM_MAP(cage_map_seattle)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor atari_cage_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( cage );
|
||||
}
|
||||
|
||||
|
||||
DEFINE_DEVICE_TYPE(ATARI_CAGE_SEATTLE, atari_cage_seattle_device, "atari_cage_seattle", "Atari CAGE Seattle")
|
||||
|
||||
|
||||
@ -693,7 +673,16 @@ atari_cage_seattle_device::atari_cage_seattle_device(const machine_config &mconf
|
||||
{
|
||||
}
|
||||
|
||||
machine_config_constructor atari_cage_seattle_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( cage_seattle );
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_add_config - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
|
||||
MACHINE_CONFIG_MEMBER( atari_cage_seattle_device::device_add_mconfig )
|
||||
|
||||
atari_cage_device::device_add_mconfig(config);
|
||||
|
||||
MCFG_CPU_MODIFY("cage")
|
||||
MCFG_CPU_PROGRAM_MAP(cage_map_seattle)
|
||||
MACHINE_CONFIG_END
|
||||
|
@ -32,9 +32,6 @@ public:
|
||||
static void static_set_speedup(device_t &device, offs_t speedup) { downcast<atari_cage_device &>(device).m_speedup = speedup; }
|
||||
template <class Object> static devcb_base &set_irqhandler_callback(device_t &device, Object &&cb) { return downcast<atari_cage_device &>(device).m_irqhandler.set_callback(std::forward<Object>(cb)); }
|
||||
|
||||
// optional information overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
void reset_w(int state);
|
||||
|
||||
uint16_t main_r();
|
||||
@ -43,9 +40,7 @@ public:
|
||||
uint16_t control_r();
|
||||
void control_w(uint16_t data);
|
||||
|
||||
TIMER_DEVICE_CALLBACK_MEMBER( dma_timer_callback );
|
||||
void update_dma_state(address_space &space);
|
||||
TIMER_DEVICE_CALLBACK_MEMBER( cage_timer_callback );
|
||||
void update_timer(int which);
|
||||
void update_serial();
|
||||
READ32_MEMBER( tms32031_io_r );
|
||||
@ -63,6 +58,10 @@ protected:
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
TIMER_DEVICE_CALLBACK_MEMBER( dma_timer_callback );
|
||||
TIMER_DEVICE_CALLBACK_MEMBER( cage_timer_callback );
|
||||
|
||||
private:
|
||||
required_shared_ptr<uint32_t> m_cageram;
|
||||
@ -105,8 +104,9 @@ public:
|
||||
// construction/destruction
|
||||
atari_cage_seattle_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
};
|
||||
|
||||
|
@ -20,17 +20,6 @@ SAMPLES_START_CB_MEMBER( cclimber_audio_device::sh_start )
|
||||
}
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START( cclimber_audio )
|
||||
MCFG_SOUND_ADD("aysnd", AY8910, SND_CLOCK/2)
|
||||
MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(cclimber_audio_device, sample_select_w))
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, ":speaker", 0.5)
|
||||
|
||||
MCFG_SOUND_ADD("samples", SAMPLES, 0)
|
||||
MCFG_SAMPLES_CHANNELS(1)
|
||||
MCFG_SAMPLES_START_CB(cclimber_audio_device, sh_start)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, ":speaker", 0.5)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
//**************************************************************************
|
||||
// DEVICE DEFINITIONS
|
||||
//**************************************************************************
|
||||
@ -38,10 +27,6 @@ MACHINE_CONFIG_END
|
||||
DEFINE_DEVICE_TYPE(CCLIMBER_AUDIO, cclimber_audio_device, "cclimber_audio", "Crazy Climber Sound Board")
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// JSA IIIS-SPECIFIC IMPLEMENTATION
|
||||
//**************************************************************************
|
||||
|
||||
//-------------------------------------------------
|
||||
// cclimber_audio_device: Constructor
|
||||
//-------------------------------------------------
|
||||
@ -69,14 +54,20 @@ void cclimber_audio_device::device_start()
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_mconfig_additions - return a pointer to
|
||||
// the device's machine fragment
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor cclimber_audio_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( cclimber_audio );
|
||||
}
|
||||
MACHINE_CONFIG_MEMBER( cclimber_audio_device::device_add_mconfig )
|
||||
MCFG_SOUND_ADD("aysnd", AY8910, SND_CLOCK/2)
|
||||
MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(cclimber_audio_device, sample_select_w))
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, ":speaker", 0.5)
|
||||
|
||||
MCFG_SOUND_ADD("samples", SAMPLES, 0)
|
||||
MCFG_SAMPLES_CHANNELS(1)
|
||||
MCFG_SAMPLES_START_CB(cclimber_audio_device, sh_start)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, ":speaker", 0.5)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
WRITE8_MEMBER( cclimber_audio_device::sample_select_w )
|
||||
{
|
||||
|
@ -39,14 +39,11 @@ public:
|
||||
DECLARE_WRITE8_MEMBER( sample_trigger_w );
|
||||
DECLARE_WRITE8_MEMBER( sample_rate_w );
|
||||
DECLARE_WRITE8_MEMBER( sample_volume_w );
|
||||
DECLARE_WRITE8_MEMBER( sample_select_w );
|
||||
|
||||
SAMPLES_START_CB_MEMBER( sh_start );
|
||||
|
||||
protected:
|
||||
// device level overrides
|
||||
virtual void device_start() override;
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
void play_sample(int start,int freq,int volume);
|
||||
|
||||
@ -57,6 +54,10 @@ private:
|
||||
int m_sample_volume;
|
||||
optional_device<samples_device> m_samples;
|
||||
optional_region_ptr<uint8_t> m_samples_region;
|
||||
|
||||
DECLARE_WRITE8_MEMBER( sample_select_w );
|
||||
|
||||
SAMPLES_START_CB_MEMBER( sh_start );
|
||||
};
|
||||
|
||||
|
||||
|
@ -35,7 +35,7 @@ ADDRESS_MAP_END
|
||||
// machine configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
static MACHINE_CONFIG_START(midway_cheap_squeak_deluxe)
|
||||
MACHINE_CONFIG_MEMBER(midway_cheap_squeak_deluxe_device::device_add_mconfig)
|
||||
MCFG_CPU_ADD("cpu", M68000, XTAL_16MHz/2)
|
||||
MCFG_CPU_PROGRAM_MAP(csdeluxe_map)
|
||||
|
||||
@ -50,11 +50,6 @@ static MACHINE_CONFIG_START(midway_cheap_squeak_deluxe)
|
||||
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_constructor midway_cheap_squeak_deluxe_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( midway_cheap_squeak_deluxe );
|
||||
}
|
||||
|
||||
//-------------------------------------------------
|
||||
// rom_region - device-specific ROM region
|
||||
//-------------------------------------------------
|
||||
|
@ -34,14 +34,9 @@ public:
|
||||
DECLARE_WRITE_LINE_MEMBER(sirq_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(reset_w);
|
||||
|
||||
// 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 const tiny_rom_entry *device_rom_region() const override;
|
||||
virtual void device_start() override;
|
||||
virtual void device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) override;
|
||||
@ -55,6 +50,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);
|
||||
};
|
||||
|
||||
// device type definition
|
||||
|
@ -445,177 +445,6 @@ static ADDRESS_MAP_START( denver_io_map, AS_IO, 16, dcs_audio_device )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Original DCS Machine Drivers
|
||||
*
|
||||
*************************************/
|
||||
|
||||
/* Basic DCS system with ADSP-2105 and 2k of SRAM (T-unit, V-unit, Killer Instinct) */
|
||||
MACHINE_CONFIG_START( dcs_audio_2k )
|
||||
MCFG_CPU_ADD("dcs", ADSP2105, XTAL_10MHz)
|
||||
MCFG_ADSP21XX_SPORT_TX_CB(WRITE32(dcs_audio_device, sound_tx_callback)) /* callback for serial transmit */
|
||||
MCFG_ADSP21XX_TIMER_FIRED_CB(WRITELINE(dcs_audio_device,timer_enable_callback)) /* callback for timer fired */
|
||||
MCFG_CPU_PROGRAM_MAP(dcs_2k_program_map)
|
||||
MCFG_CPU_DATA_MAP(dcs_2k_data_map)
|
||||
|
||||
MCFG_TIMER_DEVICE_ADD("dcs_reg_timer", DEVICE_SELF, dcs_audio_device, dcs_irq)
|
||||
MCFG_TIMER_DEVICE_ADD("dcs_int_timer", DEVICE_SELF, dcs_audio_device, internal_timer_callback)
|
||||
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
MCFG_SOUND_ADD("dac", DMADAC, 0) // AD-1851 16bit mono
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
/* Basic DCS system with ADSP-2105 and 2k of SRAM, using a UART for communications (X-unit) */
|
||||
MACHINE_CONFIG_DERIVED( dcs_audio_2k_uart, dcs_audio_2k )
|
||||
|
||||
MCFG_CPU_MODIFY("dcs")
|
||||
MCFG_CPU_DATA_MAP(dcs_2k_uart_data_map)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
/* Basic DCS system with ADSP-2105 and 8k of SRAM (Wolf-unit) */
|
||||
MACHINE_CONFIG_DERIVED( dcs_audio_8k, dcs_audio_2k )
|
||||
|
||||
MCFG_CPU_MODIFY("dcs")
|
||||
MCFG_CPU_PROGRAM_MAP(dcs_8k_program_map)
|
||||
MCFG_CPU_DATA_MAP(dcs_8k_data_map)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
MACHINE_CONFIG_DERIVED( dcs_audio_wpc, dcs_audio_2k )
|
||||
MCFG_CPU_MODIFY("dcs")
|
||||
MCFG_CPU_PROGRAM_MAP(dcs_wpc_program_map)
|
||||
MCFG_CPU_DATA_MAP(dcs_wpc_data_map)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* DCS2 Machine Drivers
|
||||
*
|
||||
*************************************/
|
||||
|
||||
MACHINE_CONFIG_START( dcs2_audio_2115 )
|
||||
MCFG_CPU_ADD("dcs2", ADSP2115, XTAL_16MHz)
|
||||
MCFG_ADSP21XX_SPORT_TX_CB(WRITE32(dcs_audio_device, sound_tx_callback)) /* callback for serial transmit */
|
||||
MCFG_ADSP21XX_TIMER_FIRED_CB(WRITELINE(dcs_audio_device,timer_enable_callback)) /* callback for timer fired */
|
||||
MCFG_CPU_PROGRAM_MAP(dcs2_2115_program_map)
|
||||
MCFG_CPU_DATA_MAP(dcs2_2115_data_map)
|
||||
|
||||
MCFG_TIMER_DEVICE_ADD("dcs_reg_timer", DEVICE_SELF, dcs_audio_device, dcs_irq)
|
||||
MCFG_TIMER_DEVICE_ADD("dcs_sport_timer", DEVICE_SELF, dcs_audio_device, sport0_irq)
|
||||
MCFG_TIMER_DEVICE_ADD("dcs_int_timer", DEVICE_SELF, dcs_audio_device, internal_timer_callback)
|
||||
MCFG_TIMER_DEVICE_ADD("dcs_hle_timer", DEVICE_SELF, dcs_audio_device, transfer_watchdog_callback)
|
||||
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_SOUND_ADD("dac1", DMADAC, 0)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
|
||||
|
||||
MCFG_SOUND_ADD("dac2", DMADAC, 0)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
MACHINE_CONFIG_DERIVED( dcs2_audio_2104, dcs2_audio_2115 )
|
||||
MCFG_CPU_REPLACE("dcs2", ADSP2104, XTAL_16MHz)
|
||||
MCFG_ADSP21XX_SPORT_TX_CB(WRITE32(dcs_audio_device, sound_tx_callback)) /* callback for serial transmit */
|
||||
MCFG_ADSP21XX_TIMER_FIRED_CB(WRITELINE(dcs_audio_device,timer_enable_callback)) /* callback for timer fired */
|
||||
MCFG_CPU_PROGRAM_MAP(dcs2_2104_program_map)
|
||||
MCFG_CPU_DATA_MAP(dcs2_2104_data_map)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* DSIO Machine Drivers
|
||||
*
|
||||
*************************************/
|
||||
|
||||
MACHINE_CONFIG_START( dcs2_audio_dsio )
|
||||
MCFG_CPU_ADD("dsio", ADSP2181, XTAL_32MHz)
|
||||
MCFG_ADSP21XX_SPORT_TX_CB(WRITE32(dcs_audio_device, sound_tx_callback)) /* callback for serial transmit */
|
||||
MCFG_ADSP21XX_TIMER_FIRED_CB(WRITELINE(dcs_audio_device,timer_enable_callback)) /* callback for timer fired */
|
||||
MCFG_ADSP21XX_DMOVLAY_CB(WRITE32(dcs_audio_device, dmovlay_callback)) // callback for adsp 2181 dmovlay instruction
|
||||
MCFG_CPU_PROGRAM_MAP(dsio_program_map)
|
||||
MCFG_CPU_DATA_MAP(dsio_data_map)
|
||||
MCFG_CPU_IO_MAP(dsio_io_map)
|
||||
|
||||
MCFG_DEVICE_ADD("data_map_bank", ADDRESS_MAP_BANK, 0)
|
||||
MCFG_DEVICE_PROGRAM_MAP(dsio_rambank_map)
|
||||
MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE)
|
||||
MCFG_ADDRESS_MAP_BANK_DATABUS_WIDTH(16)
|
||||
MCFG_ADDRESS_MAP_BANK_ADDRBUS_WIDTH(14)
|
||||
MCFG_ADDRESS_MAP_BANK_STRIDE(0x2000)
|
||||
|
||||
MCFG_TIMER_DEVICE_ADD("dcs_reg_timer", DEVICE_SELF, dcs_audio_device, dcs_irq)
|
||||
MCFG_TIMER_DEVICE_ADD("dcs_int_timer", DEVICE_SELF, dcs_audio_device, internal_timer_callback)
|
||||
MCFG_TIMER_DEVICE_ADD("dcs_sport_timer", DEVICE_SELF, dcs_audio_device, sport0_irq) // roadburn needs this to pass harware test
|
||||
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_SOUND_ADD("dac1", DMADAC, 0)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
|
||||
|
||||
MCFG_SOUND_ADD("dac2", DMADAC, 0)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* Denver Machine Drivers
|
||||
*
|
||||
*************************************/
|
||||
|
||||
MACHINE_CONFIG_START( dcs2_audio_denver )
|
||||
MCFG_CPU_ADD("denver", ADSP2181, XTAL_33_333MHz)
|
||||
MCFG_ADSP21XX_SPORT_TX_CB(WRITE32(dcs_audio_device, sound_tx_callback)) /* callback for serial transmit */
|
||||
MCFG_ADSP21XX_TIMER_FIRED_CB(WRITELINE(dcs_audio_device,timer_enable_callback)) /* callback for timer fired */
|
||||
MCFG_ADSP21XX_DMOVLAY_CB(WRITE32(dcs_audio_device, dmovlay_callback)) // callback for adsp 2181 dmovlay instruction
|
||||
MCFG_CPU_PROGRAM_MAP(denver_program_map)
|
||||
MCFG_CPU_DATA_MAP(denver_data_map)
|
||||
MCFG_CPU_IO_MAP(denver_io_map)
|
||||
|
||||
MCFG_DEVICE_ADD("data_map_bank", ADDRESS_MAP_BANK, 0)
|
||||
MCFG_DEVICE_PROGRAM_MAP(denver_rambank_map)
|
||||
MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE)
|
||||
MCFG_ADDRESS_MAP_BANK_DATABUS_WIDTH(16)
|
||||
MCFG_ADDRESS_MAP_BANK_ADDRBUS_WIDTH(14)
|
||||
MCFG_ADDRESS_MAP_BANK_STRIDE(0x2000)
|
||||
|
||||
MCFG_TIMER_DEVICE_ADD("dcs_reg_timer", DEVICE_SELF, dcs_audio_device, dcs_irq)
|
||||
MCFG_TIMER_DEVICE_ADD("dcs_int_timer", DEVICE_SELF, dcs_audio_device, internal_timer_callback)
|
||||
MCFG_TIMER_DEVICE_ADD("dcs_sport_timer", DEVICE_SELF, dcs_audio_device, sport0_irq) // Atlantis driver waits for sport0 rx interrupts
|
||||
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_SOUND_ADD("dac1", DMADAC, 0)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
|
||||
|
||||
MCFG_SOUND_ADD("dac2", DMADAC, 0)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
|
||||
|
||||
MCFG_SOUND_ADD("dac3", DMADAC, 0)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
|
||||
|
||||
MCFG_SOUND_ADD("dac4", DMADAC, 0)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
|
||||
|
||||
MCFG_SOUND_ADD("dac5", DMADAC, 0)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
|
||||
|
||||
MCFG_SOUND_ADD("dac6", DMADAC, 0)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
|
||||
/*************************************
|
||||
*
|
||||
* ADSP booting
|
||||
@ -2488,6 +2317,24 @@ int dcs_audio_device::preprocess_write(uint16_t data)
|
||||
return result;
|
||||
}
|
||||
|
||||
/* Basic DCS system with ADSP-2105 and 2k of SRAM (T-unit, V-unit, Killer Instinct) */
|
||||
|
||||
MACHINE_CONFIG_MEMBER( dcs_audio_device::add_mconfig_dcs )
|
||||
MCFG_CPU_ADD("dcs", ADSP2105, XTAL_10MHz)
|
||||
MCFG_ADSP21XX_SPORT_TX_CB(WRITE32(dcs_audio_device, sound_tx_callback)) /* callback for serial transmit */
|
||||
MCFG_ADSP21XX_TIMER_FIRED_CB(WRITELINE(dcs_audio_device, timer_enable_callback)) /* callback for timer fired */
|
||||
MCFG_CPU_PROGRAM_MAP(dcs_2k_program_map)
|
||||
MCFG_CPU_DATA_MAP(dcs_2k_data_map)
|
||||
|
||||
MCFG_TIMER_DEVICE_ADD("dcs_reg_timer", DEVICE_SELF, dcs_audio_device, dcs_irq)
|
||||
MCFG_TIMER_DEVICE_ADD("dcs_int_timer", DEVICE_SELF, dcs_audio_device, internal_timer_callback)
|
||||
|
||||
MCFG_SPEAKER_STANDARD_MONO("mono")
|
||||
|
||||
MCFG_SOUND_ADD("dac", DMADAC, 0) // AD-1851 16bit mono
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
DEFINE_DEVICE_TYPE(DCS_AUDIO_2K, dcs_audio_2k_device, "dcs_audio_2k", "DCS Audio 2K")
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -2499,10 +2346,10 @@ dcs_audio_2k_device::dcs_audio_2k_device(const machine_config &mconfig, const ch
|
||||
{
|
||||
}
|
||||
|
||||
machine_config_constructor dcs_audio_2k_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( dcs_audio_2k );
|
||||
}
|
||||
MACHINE_CONFIG_MEMBER( dcs_audio_2k_device::device_add_mconfig )
|
||||
|
||||
dcs_audio_device::add_mconfig_dcs(config);
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
DEFINE_DEVICE_TYPE(DCS_AUDIO_2K_UART, dcs_audio_2k_uart_device, "dcs_audio_2k_uart", "DCS Audio 2K UART")
|
||||
|
||||
@ -2515,10 +2362,14 @@ dcs_audio_2k_uart_device::dcs_audio_2k_uart_device(const machine_config &mconfig
|
||||
{
|
||||
}
|
||||
|
||||
machine_config_constructor dcs_audio_2k_uart_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( dcs_audio_2k_uart );
|
||||
}
|
||||
/* Basic DCS system with ADSP-2105 and 2k of SRAM, using a UART for communications (X-unit) */
|
||||
MACHINE_CONFIG_MEMBER( dcs_audio_2k_uart_device::device_add_mconfig )
|
||||
|
||||
dcs_audio_device::add_mconfig_dcs(config);
|
||||
|
||||
MCFG_CPU_MODIFY("dcs")
|
||||
MCFG_CPU_DATA_MAP(dcs_2k_uart_data_map)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
DEFINE_DEVICE_TYPE(DCS_AUDIO_8K, dcs_audio_8k_device, "dcs_audio_8k", "DCS Audio 8K")
|
||||
|
||||
@ -2531,10 +2382,15 @@ dcs_audio_8k_device::dcs_audio_8k_device(const machine_config &mconfig, const ch
|
||||
{
|
||||
}
|
||||
|
||||
machine_config_constructor dcs_audio_8k_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( dcs_audio_8k );
|
||||
}
|
||||
/* Basic DCS system with ADSP-2105 and 8k of SRAM (Wolf-unit) */
|
||||
MACHINE_CONFIG_MEMBER( dcs_audio_8k_device::device_add_mconfig )
|
||||
|
||||
dcs_audio_device::add_mconfig_dcs(config);
|
||||
|
||||
MCFG_CPU_MODIFY("dcs")
|
||||
MCFG_CPU_PROGRAM_MAP(dcs_8k_program_map)
|
||||
MCFG_CPU_DATA_MAP(dcs_8k_data_map)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
DEFINE_DEVICE_TYPE(DCS_AUDIO_WPC, dcs_audio_wpc_device, "dcs_audio_wpc", "DCS Audio WPC")
|
||||
|
||||
@ -2547,11 +2403,14 @@ dcs_audio_wpc_device::dcs_audio_wpc_device(const machine_config &mconfig, const
|
||||
{
|
||||
}
|
||||
|
||||
machine_config_constructor dcs_audio_wpc_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( dcs_audio_wpc );
|
||||
}
|
||||
MACHINE_CONFIG_MEMBER( dcs_audio_wpc_device::device_add_mconfig )
|
||||
|
||||
dcs_audio_device::add_mconfig_dcs(config);
|
||||
|
||||
MCFG_CPU_MODIFY("dcs")
|
||||
MCFG_CPU_PROGRAM_MAP(dcs_wpc_program_map)
|
||||
MCFG_CPU_DATA_MAP(dcs_wpc_data_map)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
@ -2563,6 +2422,26 @@ dcs2_audio_device::dcs2_audio_device(const machine_config &mconfig, device_type
|
||||
{
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_MEMBER( dcs2_audio_device::add_mconfig_dcs2 )
|
||||
MCFG_CPU_ADD("dcs2", ADSP2115, XTAL_16MHz)
|
||||
MCFG_ADSP21XX_SPORT_TX_CB(WRITE32(dcs_audio_device, sound_tx_callback)) /* callback for serial transmit */
|
||||
MCFG_ADSP21XX_TIMER_FIRED_CB(WRITELINE(dcs_audio_device, timer_enable_callback)) /* callback for timer fired */
|
||||
MCFG_CPU_PROGRAM_MAP(dcs2_2115_program_map)
|
||||
MCFG_CPU_DATA_MAP(dcs2_2115_data_map)
|
||||
|
||||
MCFG_TIMER_DEVICE_ADD("dcs_reg_timer", DEVICE_SELF, dcs_audio_device, dcs_irq)
|
||||
MCFG_TIMER_DEVICE_ADD("dcs_sport_timer", DEVICE_SELF, dcs_audio_device, sport0_irq)
|
||||
MCFG_TIMER_DEVICE_ADD("dcs_int_timer", DEVICE_SELF, dcs_audio_device, internal_timer_callback)
|
||||
MCFG_TIMER_DEVICE_ADD("dcs_hle_timer", DEVICE_SELF, dcs_audio_device, transfer_watchdog_callback)
|
||||
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_SOUND_ADD("dac1", DMADAC, 0)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
|
||||
|
||||
MCFG_SOUND_ADD("dac2", DMADAC, 0)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
DEFINE_DEVICE_TYPE(DCS2_AUDIO_2115, dcs2_audio_2115_device, "dcs2_audio_2115", "DCS2 Audio 2115")
|
||||
|
||||
@ -2575,10 +2454,11 @@ dcs2_audio_2115_device::dcs2_audio_2115_device(const machine_config &mconfig, co
|
||||
{
|
||||
}
|
||||
|
||||
machine_config_constructor dcs2_audio_2115_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( dcs2_audio_2115 );
|
||||
}
|
||||
MACHINE_CONFIG_MEMBER( dcs2_audio_2115_device::device_add_mconfig )
|
||||
|
||||
dcs2_audio_device::add_mconfig_dcs2(config);
|
||||
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
DEFINE_DEVICE_TYPE(DCS2_AUDIO_2104, dcs2_audio_2104_device, "dcs2_audio_2104", "DCS2 Audio 2104")
|
||||
|
||||
@ -2586,16 +2466,22 @@ DEFINE_DEVICE_TYPE(DCS2_AUDIO_2104, dcs2_audio_2104_device, "dcs2_audio_2104", "
|
||||
// dcs2_audio_2104_device - constructor
|
||||
//-------------------------------------------------
|
||||
|
||||
|
||||
dcs2_audio_2104_device::dcs2_audio_2104_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock) :
|
||||
dcs2_audio_device(mconfig, DCS2_AUDIO_2104, tag, owner, clock)
|
||||
{
|
||||
}
|
||||
|
||||
machine_config_constructor dcs2_audio_2104_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( dcs2_audio_2104 );
|
||||
}
|
||||
MACHINE_CONFIG_MEMBER( dcs2_audio_2104_device::device_add_mconfig )
|
||||
|
||||
dcs2_audio_device::add_mconfig_dcs2(config);
|
||||
|
||||
MCFG_CPU_REPLACE("dcs2", ADSP2104, XTAL_16MHz)
|
||||
MCFG_ADSP21XX_SPORT_TX_CB(WRITE32(dcs_audio_device, sound_tx_callback)) /* callback for serial transmit */
|
||||
MCFG_ADSP21XX_TIMER_FIRED_CB(WRITELINE(dcs_audio_device,timer_enable_callback)) /* callback for timer fired */
|
||||
MCFG_CPU_PROGRAM_MAP(dcs2_2104_program_map)
|
||||
MCFG_CPU_DATA_MAP(dcs2_2104_data_map)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
DEFINE_DEVICE_TYPE(DCS2_AUDIO_DSIO, dcs2_audio_dsio_device, "dcs2_audio_dsio", "DCS2 Audio DSIO")
|
||||
|
||||
@ -2608,10 +2494,35 @@ dcs2_audio_dsio_device::dcs2_audio_dsio_device(const machine_config &mconfig, co
|
||||
{
|
||||
}
|
||||
|
||||
machine_config_constructor dcs2_audio_dsio_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( dcs2_audio_dsio );
|
||||
}
|
||||
MACHINE_CONFIG_MEMBER( dcs2_audio_dsio_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD("dsio", ADSP2181, XTAL_32MHz)
|
||||
MCFG_ADSP21XX_SPORT_TX_CB(WRITE32(dcs_audio_device, sound_tx_callback)) /* callback for serial transmit */
|
||||
MCFG_ADSP21XX_TIMER_FIRED_CB(WRITELINE(dcs_audio_device, timer_enable_callback)) /* callback for timer fired */
|
||||
MCFG_ADSP21XX_DMOVLAY_CB(WRITE32(dcs_audio_device, dmovlay_callback)) // callback for adsp 2181 dmovlay instruction
|
||||
MCFG_CPU_PROGRAM_MAP(dsio_program_map)
|
||||
MCFG_CPU_DATA_MAP(dsio_data_map)
|
||||
MCFG_CPU_IO_MAP(dsio_io_map)
|
||||
|
||||
MCFG_DEVICE_ADD("data_map_bank", ADDRESS_MAP_BANK, 0)
|
||||
MCFG_DEVICE_PROGRAM_MAP(dsio_rambank_map)
|
||||
MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE)
|
||||
MCFG_ADDRESS_MAP_BANK_DATABUS_WIDTH(16)
|
||||
MCFG_ADDRESS_MAP_BANK_ADDRBUS_WIDTH(14)
|
||||
MCFG_ADDRESS_MAP_BANK_STRIDE(0x2000)
|
||||
|
||||
MCFG_TIMER_DEVICE_ADD("dcs_reg_timer", DEVICE_SELF, dcs_audio_device, dcs_irq)
|
||||
MCFG_TIMER_DEVICE_ADD("dcs_int_timer", DEVICE_SELF, dcs_audio_device, internal_timer_callback)
|
||||
MCFG_TIMER_DEVICE_ADD("dcs_sport_timer", DEVICE_SELF, dcs_audio_device, sport0_irq) // roadburn needs this to pass harware test
|
||||
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_SOUND_ADD("dac1", DMADAC, 0)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
|
||||
|
||||
MCFG_SOUND_ADD("dac2", DMADAC, 0)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
|
||||
DEFINE_DEVICE_TYPE(DCS2_AUDIO_DENVER, dcs2_audio_denver_device, "dcs2_audio_denver", "DCS2 Audio Denver")
|
||||
|
||||
@ -2624,7 +2535,43 @@ dcs2_audio_denver_device::dcs2_audio_denver_device(const machine_config &mconfig
|
||||
{
|
||||
}
|
||||
|
||||
machine_config_constructor dcs2_audio_denver_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( dcs2_audio_denver );
|
||||
}
|
||||
MACHINE_CONFIG_MEMBER( dcs2_audio_denver_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD("denver", ADSP2181, XTAL_33_333MHz)
|
||||
MCFG_ADSP21XX_SPORT_TX_CB(WRITE32(dcs_audio_device, sound_tx_callback)) /* callback for serial transmit */
|
||||
MCFG_ADSP21XX_TIMER_FIRED_CB(WRITELINE(dcs_audio_device, timer_enable_callback)) /* callback for timer fired */
|
||||
MCFG_ADSP21XX_DMOVLAY_CB(WRITE32(dcs_audio_device, dmovlay_callback)) // callback for adsp 2181 dmovlay instruction
|
||||
MCFG_CPU_PROGRAM_MAP(denver_program_map)
|
||||
MCFG_CPU_DATA_MAP(denver_data_map)
|
||||
MCFG_CPU_IO_MAP(denver_io_map)
|
||||
|
||||
MCFG_DEVICE_ADD("data_map_bank", ADDRESS_MAP_BANK, 0)
|
||||
MCFG_DEVICE_PROGRAM_MAP(denver_rambank_map)
|
||||
MCFG_ADDRESS_MAP_BANK_ENDIANNESS(ENDIANNESS_LITTLE)
|
||||
MCFG_ADDRESS_MAP_BANK_DATABUS_WIDTH(16)
|
||||
MCFG_ADDRESS_MAP_BANK_ADDRBUS_WIDTH(14)
|
||||
MCFG_ADDRESS_MAP_BANK_STRIDE(0x2000)
|
||||
|
||||
MCFG_TIMER_DEVICE_ADD("dcs_reg_timer", DEVICE_SELF, dcs_audio_device, dcs_irq)
|
||||
MCFG_TIMER_DEVICE_ADD("dcs_int_timer", DEVICE_SELF, dcs_audio_device, internal_timer_callback)
|
||||
MCFG_TIMER_DEVICE_ADD("dcs_sport_timer", DEVICE_SELF, dcs_audio_device, sport0_irq) // Atlantis driver waits for sport0 rx interrupts
|
||||
|
||||
MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
|
||||
|
||||
MCFG_SOUND_ADD("dac1", DMADAC, 0)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
|
||||
|
||||
MCFG_SOUND_ADD("dac2", DMADAC, 0)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
|
||||
|
||||
MCFG_SOUND_ADD("dac3", DMADAC, 0)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
|
||||
|
||||
MCFG_SOUND_ADD("dac4", DMADAC, 0)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
|
||||
|
||||
MCFG_SOUND_ADD("dac5", DMADAC, 0)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
|
||||
|
||||
MCFG_SOUND_ADD("dac6", DMADAC, 0)
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
|
||||
MACHINE_CONFIG_END
|
||||
|
@ -111,6 +111,7 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
void add_mconfig_dcs(machine_config &config);
|
||||
|
||||
struct sdrc_state
|
||||
{
|
||||
@ -228,8 +229,9 @@ public:
|
||||
// construction/destruction
|
||||
dcs_audio_2k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
};
|
||||
|
||||
@ -244,9 +246,9 @@ public:
|
||||
// construction/destruction
|
||||
dcs_audio_2k_uart_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
};
|
||||
|
||||
// device type definition
|
||||
@ -260,9 +262,9 @@ public:
|
||||
// construction/destruction
|
||||
dcs_audio_8k_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
};
|
||||
|
||||
// device type definition
|
||||
@ -276,8 +278,9 @@ public:
|
||||
// construction/destruction
|
||||
dcs_audio_wpc_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
};
|
||||
|
||||
// device type definition
|
||||
@ -294,6 +297,7 @@ protected:
|
||||
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
void add_mconfig_dcs2(machine_config &config);
|
||||
};
|
||||
|
||||
// dcs2_audio_2115_device
|
||||
@ -304,9 +308,9 @@ public:
|
||||
// construction/destruction
|
||||
dcs2_audio_2115_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
};
|
||||
|
||||
// device type definition
|
||||
@ -320,9 +324,9 @@ public:
|
||||
// construction/destruction
|
||||
dcs2_audio_2104_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
};
|
||||
|
||||
// device type definition
|
||||
@ -336,9 +340,9 @@ public:
|
||||
// construction/destruction
|
||||
dcs2_audio_dsio_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
};
|
||||
|
||||
// device type definition
|
||||
@ -352,9 +356,9 @@ public:
|
||||
// construction/destruction
|
||||
dcs2_audio_denver_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
|
||||
|
||||
protected:
|
||||
// optional information overrides
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
};
|
||||
|
||||
// device type definition
|
||||
|
@ -35,7 +35,18 @@ void decobsmt_device::bsmt_ready_callback()
|
||||
m_ourcpu->set_input_line(M6809_IRQ_LINE, ASSERT_LINE); /* BSMT is ready */
|
||||
}
|
||||
|
||||
MACHINE_CONFIG_START( decobsmt )
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE(DECOBSMT, decobsmt_device, "decobsmt", "Data East/Sega/Stern BSMT2000 Sound Board")
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_MEMBER( decobsmt_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD(M6809_TAG, M6809, (3579580/2))
|
||||
MCFG_CPU_PROGRAM_MAP(decobsmt_map)
|
||||
MCFG_CPU_PERIODIC_INT_DRIVER(decobsmt_device, decobsmt_firq_interrupt, 489) /* Fixed FIRQ of 489Hz as measured on real (pinball) machine */
|
||||
@ -48,23 +59,6 @@ MACHINE_CONFIG_START( decobsmt )
|
||||
MCFG_SOUND_ROUTE(1, "rspeaker", 2.0)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE(DECOBSMT, decobsmt_device, "decobsmt", "Data East/Sega/Stern BSMT2000 Sound Board")
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor decobsmt_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( decobsmt );
|
||||
}
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
//**************************************************************************
|
||||
|
@ -32,15 +32,11 @@ public:
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(bsmt_reset_line);
|
||||
|
||||
INTERRUPT_GEN_MEMBER(decobsmt_firq_interrupt);
|
||||
|
||||
void bsmt_ready_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<cpu_device> m_ourcpu;
|
||||
@ -49,6 +45,10 @@ private:
|
||||
uint8_t m_bsmt_latch;
|
||||
uint8_t m_bsmt_reset;
|
||||
uint8_t m_bsmt_comms;
|
||||
|
||||
INTERRUPT_GEN_MEMBER(decobsmt_firq_interrupt);
|
||||
|
||||
void bsmt_ready_callback();
|
||||
};
|
||||
|
||||
|
||||
|
@ -32,7 +32,18 @@ static ADDRESS_MAP_START( dsbz80io_map, AS_IO, 8, dsbz80_device )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
MACHINE_CONFIG_START( dsbz80 )
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE(DSBZ80, dsbz80_device, "dsbz80_device", "Sega Z80-based Digital Sound Board")
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// device_add_mconfig - add device configuration
|
||||
//-------------------------------------------------
|
||||
|
||||
MACHINE_CONFIG_MEMBER( dsbz80_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD(Z80_TAG, Z80, 4000000) /* unknown clock, but probably pretty slow considering the z80 does like nothing */
|
||||
MCFG_CPU_PROGRAM_MAP(dsbz80_map)
|
||||
MCFG_CPU_IO_MAP(dsbz80io_map)
|
||||
@ -45,23 +56,6 @@ MACHINE_CONFIG_START( dsbz80 )
|
||||
MCFG_CLOCK_SIGNAL_HANDLER(DEVWRITELINE("uart", i8251_device, write_rxc))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
//**************************************************************************
|
||||
|
||||
DEFINE_DEVICE_TYPE(DSBZ80, dsbz80_device, "dsbz80_device", "Sega Z80-based Digital Sound Board")
|
||||
|
||||
|
||||
//-------------------------------------------------
|
||||
// machine_config_additions - device-specific
|
||||
// machine configurations
|
||||
//-------------------------------------------------
|
||||
|
||||
machine_config_constructor dsbz80_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( dsbz80 );
|
||||
}
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
//**************************************************************************
|
||||
|
@ -27,9 +27,6 @@ public:
|
||||
// construction/destruction
|
||||
dsbz80_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 &&object) { return downcast<dsbz80_device &>(device).m_rxd_handler.set_callback(std::forward<_Object>(object)); }
|
||||
|
||||
@ -37,7 +34,6 @@ public:
|
||||
required_device<i8251_device> m_uart;
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(write_txd);
|
||||
DECLARE_WRITE_LINE_MEMBER(output_txd);
|
||||
|
||||
DECLARE_WRITE8_MEMBER(mpeg_trigger_w);
|
||||
DECLARE_WRITE8_MEMBER(mpeg_start_w);
|
||||
@ -50,7 +46,7 @@ protected:
|
||||
// device-level overrides
|
||||
virtual void device_start() override;
|
||||
virtual void device_reset() override;
|
||||
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual void sound_stream_update(sound_stream &stream, stream_sample_t **inputs, stream_sample_t **outputs, int samples) override;
|
||||
|
||||
private:
|
||||
@ -60,6 +56,8 @@ private:
|
||||
int mp_pos, audio_pos, audio_avail;
|
||||
|
||||
devcb_write_line m_rxd_handler;
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(output_txd);
|
||||
};
|
||||
|
||||
|
||||
|
@ -187,8 +187,7 @@ TIMER_CALLBACK_MEMBER(cedar_magnet_sound_device::reset_assert_callback)
|
||||
}
|
||||
|
||||
|
||||
|
||||
static MACHINE_CONFIG_START( efo_zsu )
|
||||
MACHINE_CONFIG_MEMBER( efo_zsu_device::device_add_mconfig )
|
||||
MCFG_CPU_ADD("soundcpu", Z80, 4000000)
|
||||
MCFG_CPU_PROGRAM_MAP(zsu_map)
|
||||
MCFG_CPU_IO_MAP(zsu_io)
|
||||
@ -237,8 +236,8 @@ static MACHINE_CONFIG_START( efo_zsu )
|
||||
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.50)
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
static MACHINE_CONFIG_START( cedar_magnet_sound )
|
||||
MCFG_FRAGMENT_ADD(efo_zsu)
|
||||
MACHINE_CONFIG_MEMBER( cedar_magnet_sound_device::device_add_mconfig )
|
||||
efo_zsu_device::device_add_mconfig(config);
|
||||
|
||||
MCFG_CPU_MODIFY("soundcpu")
|
||||
MCFG_CPU_PROGRAM_MAP(cedar_magnet_sound_map)
|
||||
@ -247,16 +246,6 @@ static MACHINE_CONFIG_START( cedar_magnet_sound )
|
||||
MCFG_AY8910_PORT_A_WRITE_CB(WRITE8(cedar_magnet_sound_device, ay0_porta_w))
|
||||
MACHINE_CONFIG_END
|
||||
|
||||
machine_config_constructor efo_zsu_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( efo_zsu );
|
||||
}
|
||||
|
||||
machine_config_constructor cedar_magnet_sound_device::device_mconfig_additions() const
|
||||
{
|
||||
return MACHINE_CONFIG_NAME( cedar_magnet_sound );
|
||||
}
|
||||
|
||||
void efo_zsu_device::device_start()
|
||||
{
|
||||
memory_bank *rombank = membank("rombank");
|
||||
|
@ -37,6 +37,14 @@ public:
|
||||
|
||||
DECLARE_WRITE8_MEMBER(sound_command_w);
|
||||
DECLARE_WRITE8_MEMBER(adpcm_fifo_w);
|
||||
|
||||
protected:
|
||||
efo_zsu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
|
||||
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual void device_start() override;
|
||||
|
||||
private:
|
||||
DECLARE_WRITE8_MEMBER(ay1_porta_w);
|
||||
|
||||
DECLARE_WRITE_LINE_MEMBER(ctc1_z0_w);
|
||||
@ -46,12 +54,6 @@ public:
|
||||
DECLARE_WRITE_LINE_MEMBER(ctc0_z1_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(ctc0_z2_w);
|
||||
DECLARE_WRITE_LINE_MEMBER(fifo_dor_w);
|
||||
|
||||
protected:
|
||||
efo_zsu_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
|
||||
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_start() override;
|
||||
};
|
||||
|
||||
|
||||
@ -72,13 +74,14 @@ public:
|
||||
// construction/destruction
|
||||
cedar_magnet_sound_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
|
||||
|
||||
DECLARE_WRITE8_MEMBER(ay0_porta_w);
|
||||
|
||||
TIMER_CALLBACK_MEMBER(reset_assert_callback) override;
|
||||
|
||||
protected:
|
||||
virtual machine_config_constructor device_mconfig_additions() const override;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
virtual void device_start() override;
|
||||
|
||||
private:
|
||||
DECLARE_WRITE8_MEMBER(ay0_porta_w);
|
||||
};
|
||||
|
||||
#endif // MAME_AUDIO_EFO_ZSU_H
|
||||
|
@ -30,9 +30,6 @@ public:
|
||||
// construction/destruction
|
||||
alesis_dm3ag_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;
|
||||
|
||||
// device interface
|
||||
DECLARE_WRITE8_MEMBER(write);
|
||||
|
||||
@ -41,6 +38,7 @@ protected:
|
||||
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;
|
||||
virtual void device_add_mconfig(machine_config &config) override;
|
||||
|
||||
private:
|
||||
static const device_timer_id TIMER_DAC_UPDATE = 1;
|
||||
|
@ -340,6 +340,7 @@ public:
|
||||
std::unique_ptr<hng64_poly_renderer> m_poly_renderer;
|
||||
|
||||
TIMER_CALLBACK_MEMBER(hng64_3dfifo_processed);
|
||||
emu_timer *m_3dfifo_timer;
|
||||
|
||||
uint8_t *m_texturerom;
|
||||
uint16_t* m_vertsrom;
|
||||
|
@ -71,7 +71,7 @@ g_profiler.start(PROFILER_USER1);
|
||||
}
|
||||
|
||||
// Schedule a small amount of time to let the 3d hardware rasterize the display buffer
|
||||
machine().scheduler().timer_set(m_maincpu->cycles_to_attotime(0x200*8), timer_expired_delegate(FUNC(hng64_state::hng64_3dfifo_processed), this));
|
||||
m_3dfifo_timer->adjust(m_maincpu->cycles_to_attotime(0x200*8));
|
||||
g_profiler.stop();
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user