// license:BSD-3-Clause // copyright-holders:Sandro Ronco /*************************************************************************** Alesis SR-16 LCD emulation ****************************************************************************/ #include "emu.h" #include "includes/alesis.h" void alesis_state::update_lcd_symbols(bitmap_ind16 &bitmap, UINT8 pos, UINT8 y, UINT8 x, int state) { if (pos == 6) { switch(x) { case 0: switch(y) { case 0: output_set_value("a_next", state); break; case 1: output_set_value("b_next", state); break; case 2: output_set_value("fill_next", state); break; case 3: output_set_value("user_next", state); break; case 4: output_set_value("play", state); break; case 5: output_set_value("record", state); break; case 6: output_set_value("compose", state); break; case 7: output_set_value("perform", state); break; } break; case 1: if (y == 0) { output_set_value("song", state); } else if (y < 8) { if (state) m_lcd_digits[0] |= (1<<(y-1)); else m_lcd_digits[0] &= ~(1<<(y-1)); output_set_value("digit0", BITSWAP8(m_lcd_digits[0],7,3,1,4,6,5,2,0)); } break; case 2: if (y == 0) { output_set_value("pattern", state); } else if (y < 8) { if (state) m_lcd_digits[1] |= (1<<(y-1)); else m_lcd_digits[1] &= ~(1<<(y-1)); output_set_value("digit1", BITSWAP8(m_lcd_digits[1],7,3,1,4,6,5,2,0)); } break; case 3: switch(y) { case 0: output_set_value("b", state); break; case 1: output_set_value("a", state); break; case 2: output_set_value("fill", state); break; case 3: output_set_value("user", state); break; case 4: output_set_value("edited", state); break; case 5: output_set_value("set", state); break; case 6: output_set_value("drum", state); break; case 7: output_set_value("press_play", state); break; } break; case 4: if (y == 7) { output_set_value("metronome", state); } else if (y < 7) { if (state) m_lcd_digits[4] |= (1<