void beezer_state::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) { // channel multiplexer at u52 int ch = m_count++ & 3; m_dac->update(); m_dac->b1_w(BIT(m_dac_data[ch], 6)); m_dac->b2_w(BIT(m_dac_data[ch], 5)); m_dac->b3_w(BIT(m_dac_data[ch], 4)); m_dac->b4_w(BIT(m_dac_data[ch], 3)); m_dac->b5_w(BIT(m_dac_data[ch], 2)); m_dac->b6_w(BIT(m_dac_data[ch], 1)); m_dac->b7_w(BIT(m_dac_data[ch], 0)); m_dac->sb_w(m_ch_sign[ch] ^ BIT(m_dac_data[ch], 7)); }