static WRITE8_DEVICE_HANDLER( ddribble_vlm5030_ctrl_w ) { ddribble_state *state = device->machine().driver_data<ddribble_state>(); UINT8 *SPEECH_ROM = device->machine().region("vlm")->base(); /* b7 : vlm data bus OE */ /* b6 : VLM5030-RST */ vlm5030_rst(device, data & 0x40 ? 1 : 0); /* b5 : VLM5030-ST */ vlm5030_st(device, data & 0x20 ? 1 : 0); /* b4 : VLM5300-VCU */ vlm5030_vcu(device, data & 0x10 ? 1 : 0); /* b3 : ROM bank select */ vlm5030_set_rom(device, &SPEECH_ROM[data & 0x08 ? 0x10000 : 0]); /* b2 : SSG-C rc filter enable */ filter_rc_set_RC(state->m_filter3, FLT_RC_LOWPASS, 1000, 2200, 1000, data & 0x04 ? CAP_N(150) : 0); /* YM2203-SSG-C */ /* b1 : SSG-B rc filter enable */ filter_rc_set_RC(state->m_filter2, FLT_RC_LOWPASS, 1000, 2200, 1000, data & 0x02 ? CAP_N(150) : 0); /* YM2203-SSG-B */ /* b0 : SSG-A rc filter enable */ filter_rc_set_RC(state->m_filter1, FLT_RC_LOWPASS, 1000, 2200, 1000, data & 0x01 ? CAP_N(150) : 0); /* YM2203-SSG-A */ }
static WRITE8_DEVICE_HANDLER( punchout_speech_vcu_w ) { vlm5030_vcu( device, data & 0x01 ); }