mirror of
https://github.com/holub/mame
synced 2025-04-29 11:30:28 +03:00
ballbomb : added music [Robbbert]
This commit is contained in:
parent
735e2b6f90
commit
034c26325b
@ -181,6 +181,55 @@ WRITE8_MEMBER(_8080bw_state::cosmo_sh_port_2_w)
|
|||||||
/* */
|
/* */
|
||||||
/*******************************************************/
|
/*******************************************************/
|
||||||
|
|
||||||
|
/*************************************
|
||||||
|
*
|
||||||
|
* Discrete Sound
|
||||||
|
* (copied from indianbt)
|
||||||
|
*
|
||||||
|
*************************************/
|
||||||
|
|
||||||
|
static const discrete_dac_r1_ladder ballbomb_music_dac =
|
||||||
|
{3, {0, RES_K(47), RES_K(12)}, 0, 0, 0, CAP_U(0.1)};
|
||||||
|
|
||||||
|
#define BALLBOMB_MUSIC_CLK (3993.6*2*2*2)
|
||||||
|
|
||||||
|
/* Nodes - Inputs */
|
||||||
|
#define BALLBOMB_MUSIC_DATA NODE_01
|
||||||
|
/* Nodes - Sounds */
|
||||||
|
#define BALLBOMB_MUSIC NODE_11
|
||||||
|
|
||||||
|
DISCRETE_SOUND_START(ballbomb)
|
||||||
|
|
||||||
|
DISCRETE_INPUT_DATA (BALLBOMB_MUSIC_DATA)
|
||||||
|
|
||||||
|
/******************************************************************************
|
||||||
|
*
|
||||||
|
* Music Generator
|
||||||
|
*
|
||||||
|
******************************************************************************/
|
||||||
|
DISCRETE_NOTE(NODE_20, 1, BALLBOMB_MUSIC_CLK, BALLBOMB_MUSIC_DATA, 255, 5, DISC_CLK_IS_FREQ)
|
||||||
|
|
||||||
|
// Convert count to 7492 output
|
||||||
|
DISCRETE_TRANSFORM2(NODE_21, NODE_20, 2, "01>0+")
|
||||||
|
|
||||||
|
DISCRETE_DAC_R1(NODE_22, NODE_21, DEFAULT_TTL_V_LOGIC_1, &ballbomb_music_dac)
|
||||||
|
|
||||||
|
/******************************************************************************
|
||||||
|
*
|
||||||
|
* Final Mixing and Output
|
||||||
|
*
|
||||||
|
******************************************************************************/
|
||||||
|
DISCRETE_CRFILTER(NODE_90, NODE_22, RES_K(10), CAP_U(0.1))
|
||||||
|
|
||||||
|
DISCRETE_OUTPUT(NODE_90, 21000)
|
||||||
|
|
||||||
|
DISCRETE_SOUND_END
|
||||||
|
|
||||||
|
WRITE8_MEMBER( _8080bw_state::ballbomb_01_w )
|
||||||
|
{
|
||||||
|
discrete_sound_w(m_discrete, space, BALLBOMB_MUSIC_DATA, data|0x80);
|
||||||
|
}
|
||||||
|
|
||||||
WRITE8_MEMBER(_8080bw_state::ballbomb_sh_port_1_w)
|
WRITE8_MEMBER(_8080bw_state::ballbomb_sh_port_1_w)
|
||||||
{
|
{
|
||||||
UINT8 rising_bits = data & ~m_port_1_last_extra;
|
UINT8 rising_bits = data & ~m_port_1_last_extra;
|
||||||
|
@ -1593,7 +1593,7 @@ INPUT_PORTS_END
|
|||||||
|
|
||||||
static ADDRESS_MAP_START( ballbomb_io_map, AS_IO, 8, _8080bw_state )
|
static ADDRESS_MAP_START( ballbomb_io_map, AS_IO, 8, _8080bw_state )
|
||||||
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
|
AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0")
|
||||||
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1")
|
AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1") AM_WRITE(ballbomb_01_w)
|
||||||
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2") AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_count_w)
|
AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2") AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_count_w)
|
||||||
AM_RANGE(0x03, 0x03) AM_DEVREAD_LEGACY("mb14241", mb14241_shift_result_r) AM_WRITE(ballbomb_sh_port_1_w)
|
AM_RANGE(0x03, 0x03) AM_DEVREAD_LEGACY("mb14241", mb14241_shift_result_r) AM_WRITE(ballbomb_sh_port_1_w)
|
||||||
AM_RANGE(0x04, 0x04) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_data_w)
|
AM_RANGE(0x04, 0x04) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_data_w)
|
||||||
@ -1628,6 +1628,10 @@ static MACHINE_CONFIG_DERIVED_CLASS( ballbomb, mw8080bw_root, _8080bw_state )
|
|||||||
|
|
||||||
/* sound hardware */
|
/* sound hardware */
|
||||||
MCFG_FRAGMENT_ADD(invaders_samples_audio)
|
MCFG_FRAGMENT_ADD(invaders_samples_audio)
|
||||||
|
|
||||||
|
MCFG_SOUND_ADD("discrete", DISCRETE, 0)
|
||||||
|
MCFG_SOUND_CONFIG_DISCRETE(ballbomb)
|
||||||
|
MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0)
|
||||||
MACHINE_CONFIG_END
|
MACHINE_CONFIG_END
|
||||||
|
|
||||||
|
|
||||||
|
@ -56,6 +56,7 @@ public:
|
|||||||
DECLARE_WRITE8_MEMBER(lrescue_sh_port_1_w);
|
DECLARE_WRITE8_MEMBER(lrescue_sh_port_1_w);
|
||||||
DECLARE_WRITE8_MEMBER(lrescue_sh_port_2_w);
|
DECLARE_WRITE8_MEMBER(lrescue_sh_port_2_w);
|
||||||
DECLARE_WRITE8_MEMBER(cosmo_sh_port_2_w);
|
DECLARE_WRITE8_MEMBER(cosmo_sh_port_2_w);
|
||||||
|
DECLARE_WRITE8_MEMBER(ballbomb_01_w);
|
||||||
DECLARE_WRITE8_MEMBER(ballbomb_sh_port_1_w);
|
DECLARE_WRITE8_MEMBER(ballbomb_sh_port_1_w);
|
||||||
DECLARE_WRITE8_MEMBER(ballbomb_sh_port_2_w);
|
DECLARE_WRITE8_MEMBER(ballbomb_sh_port_2_w);
|
||||||
DECLARE_WRITE8_MEMBER(indianbt_sh_port_1_w);
|
DECLARE_WRITE8_MEMBER(indianbt_sh_port_1_w);
|
||||||
@ -120,6 +121,7 @@ public:
|
|||||||
/*----------- defined in audio/8080bw.c -----------*/
|
/*----------- defined in audio/8080bw.c -----------*/
|
||||||
extern const samples_interface lrescue_samples_interface;
|
extern const samples_interface lrescue_samples_interface;
|
||||||
|
|
||||||
|
DISCRETE_SOUND_EXTERN( ballbomb );
|
||||||
DISCRETE_SOUND_EXTERN( indianbt );
|
DISCRETE_SOUND_EXTERN( indianbt );
|
||||||
DISCRETE_SOUND_EXTERN( polaris );
|
DISCRETE_SOUND_EXTERN( polaris );
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user