trunk/src/mame/includes/8080bw.h
| r18939 | r18940 | |
| 56 | 56 | DECLARE_WRITE8_MEMBER(lrescue_sh_port_1_w); |
| 57 | 57 | DECLARE_WRITE8_MEMBER(lrescue_sh_port_2_w); |
| 58 | 58 | DECLARE_WRITE8_MEMBER(cosmo_sh_port_2_w); |
| 59 | DECLARE_WRITE8_MEMBER(ballbomb_01_w); |
| 59 | 60 | DECLARE_WRITE8_MEMBER(ballbomb_sh_port_1_w); |
| 60 | 61 | DECLARE_WRITE8_MEMBER(ballbomb_sh_port_2_w); |
| 61 | 62 | DECLARE_WRITE8_MEMBER(indianbt_sh_port_1_w); |
| r18939 | r18940 | |
| 120 | 121 | /*----------- defined in audio/8080bw.c -----------*/ |
| 121 | 122 | extern const samples_interface lrescue_samples_interface; |
| 122 | 123 | |
| 124 | DISCRETE_SOUND_EXTERN( ballbomb ); |
| 123 | 125 | DISCRETE_SOUND_EXTERN( indianbt ); |
| 124 | 126 | DISCRETE_SOUND_EXTERN( polaris ); |
| 125 | 127 | |
trunk/src/mame/drivers/8080bw.c
| r18939 | r18940 | |
| 1593 | 1593 | |
| 1594 | 1594 | static ADDRESS_MAP_START( ballbomb_io_map, AS_IO, 8, _8080bw_state ) |
| 1595 | 1595 | AM_RANGE(0x00, 0x00) AM_READ_PORT("IN0") |
| 1596 | | AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1") |
| 1596 | AM_RANGE(0x01, 0x01) AM_READ_PORT("IN1") AM_WRITE(ballbomb_01_w) |
| 1597 | 1597 | AM_RANGE(0x02, 0x02) AM_READ_PORT("IN2") AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_count_w) |
| 1598 | 1598 | AM_RANGE(0x03, 0x03) AM_DEVREAD_LEGACY("mb14241", mb14241_shift_result_r) AM_WRITE(ballbomb_sh_port_1_w) |
| 1599 | 1599 | AM_RANGE(0x04, 0x04) AM_DEVWRITE_LEGACY("mb14241", mb14241_shift_data_w) |
| r18939 | r18940 | |
| 1628 | 1628 | |
| 1629 | 1629 | /* sound hardware */ |
| 1630 | 1630 | MCFG_FRAGMENT_ADD(invaders_samples_audio) |
| 1631 | |
| 1632 | MCFG_SOUND_ADD("discrete", DISCRETE, 0) |
| 1633 | MCFG_SOUND_CONFIG_DISCRETE(ballbomb) |
| 1634 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.0) |
| 1631 | 1635 | MACHINE_CONFIG_END |
| 1632 | 1636 | |
| 1633 | 1637 | |
trunk/src/mame/audio/8080bw.c
| r18939 | r18940 | |
| 181 | 181 | /* */ |
| 182 | 182 | /*******************************************************/ |
| 183 | 183 | |
| 184 | /************************************* |
| 185 | * |
| 186 | * Discrete Sound |
| 187 | * (copied from indianbt) |
| 188 | * |
| 189 | *************************************/ |
| 190 | |
| 191 | static const discrete_dac_r1_ladder ballbomb_music_dac = |
| 192 | {3, {0, RES_K(47), RES_K(12)}, 0, 0, 0, CAP_U(0.1)}; |
| 193 | |
| 194 | #define BALLBOMB_MUSIC_CLK (3993.6*2*2*2) |
| 195 | |
| 196 | /* Nodes - Inputs */ |
| 197 | #define BALLBOMB_MUSIC_DATA NODE_01 |
| 198 | /* Nodes - Sounds */ |
| 199 | #define BALLBOMB_MUSIC NODE_11 |
| 200 | |
| 201 | DISCRETE_SOUND_START(ballbomb) |
| 202 | |
| 203 | DISCRETE_INPUT_DATA (BALLBOMB_MUSIC_DATA) |
| 204 | |
| 205 | /****************************************************************************** |
| 206 | * |
| 207 | * Music Generator |
| 208 | * |
| 209 | ******************************************************************************/ |
| 210 | DISCRETE_NOTE(NODE_20, 1, BALLBOMB_MUSIC_CLK, BALLBOMB_MUSIC_DATA, 255, 5, DISC_CLK_IS_FREQ) |
| 211 | |
| 212 | // Convert count to 7492 output |
| 213 | DISCRETE_TRANSFORM2(NODE_21, NODE_20, 2, "01>0+") |
| 214 | |
| 215 | DISCRETE_DAC_R1(NODE_22, NODE_21, DEFAULT_TTL_V_LOGIC_1, &ballbomb_music_dac) |
| 216 | |
| 217 | /****************************************************************************** |
| 218 | * |
| 219 | * Final Mixing and Output |
| 220 | * |
| 221 | ******************************************************************************/ |
| 222 | DISCRETE_CRFILTER(NODE_90, NODE_22, RES_K(10), CAP_U(0.1)) |
| 223 | |
| 224 | DISCRETE_OUTPUT(NODE_90, 21000) |
| 225 | |
| 226 | DISCRETE_SOUND_END |
| 227 | |
| 228 | WRITE8_MEMBER( _8080bw_state::ballbomb_01_w ) |
| 229 | { |
| 230 | discrete_sound_w(m_discrete, space, BALLBOMB_MUSIC_DATA, data|0x80); |
| 231 | } |
| 232 | |
| 184 | 233 | WRITE8_MEMBER(_8080bw_state::ballbomb_sh_port_1_w) |
| 185 | 234 | { |
| 186 | 235 | UINT8 rising_bits = data & ~m_port_1_last_extra; |