From f8bd4aa26df818646f617390763fd50e22375243 Mon Sep 17 00:00:00 2001 From: hap Date: Tue, 9 Dec 2014 20:43:23 +0100 Subject: [PATCH] small update for wizatron layout --- src/mess/drivers/ticalc1x.c | 12 ++++---- src/mess/layout/wizatron.lay | 58 +++++++++++++++++++++--------------- 2 files changed, 41 insertions(+), 29 deletions(-) diff --git a/src/mess/drivers/ticalc1x.c b/src/mess/drivers/ticalc1x.c index 414c8c6fb75..84c80c6dac7 100644 --- a/src/mess/drivers/ticalc1x.c +++ b/src/mess/drivers/ticalc1x.c @@ -103,8 +103,13 @@ void ticalc1x_state::leds_update() // on difference, send to output for (int i = 0; i < 0x10; i++) if (m_leds_cache[i] != active_state[i]) + { output_set_digit_value(i, active_state[i]); - + + for (int j = 0; j < 8; j++) + output_set_lamp_value(i*10 + j, active_state[i] >> j & 1); + } + memcpy(m_leds_cache, active_state, sizeof(m_leds_cache)); } @@ -221,13 +226,10 @@ READ8_MEMBER(ticalc1x_state::wizatron_read_k) WRITE16_MEMBER(ticalc1x_state::wizatron_write_r) { // R0-R8: select digit (right-to-left) + // note: 3rd digit is custom(not 7seg), for math symbols for (int i = 0; i < 9; i++) m_leds_state[i] = (data >> i & 1) ? m_o : 0; - // 3rd digit has more segments, for math symbols - // let's assume it's a 14-seg led - m_leds_state[6] = BITSWAP16(m_leds_state[6],15,14,2,1,6,4,3,0,5,5,11,10,9,13,12,8); - // 6th digit only has A and G for = m_leds_state[3] &= 0x41; diff --git a/src/mess/layout/wizatron.lay b/src/mess/layout/wizatron.lay index d44016c2f66..8e5550757e9 100644 --- a/src/mess/layout/wizatron.lay +++ b/src/mess/layout/wizatron.lay @@ -2,21 +2,36 @@ - - + + - - - + - - + + + + + + + + + + + + + + + + + + + @@ -26,9 +41,7 @@ - - - + @@ -36,7 +49,7 @@ - + @@ -48,21 +61,18 @@ - + - - - - - - + - - - - - - + + + + + + + +