diff --git a/src/mame/drivers/chessmst.cpp b/src/mame/drivers/chessmst.cpp index ea89b98d652..8d1a35d793b 100644 --- a/src/mame/drivers/chessmst.cpp +++ b/src/mame/drivers/chessmst.cpp @@ -10,6 +10,7 @@ BTANB: - chessmst corner leds flicker sometimes TODO: +- split driver? much difference between chessmst/chessmstdm - chessmsta isn't working, needs a redump of u2616. Program differences are minor so it seems to boot fine if you take 064/065 from chessmst, but will probably have some problems. @@ -96,6 +97,7 @@ private: uint16_t m_matrix = 0; uint8_t m_led_data = 0; + uint8_t m_led_data2 = 0; uint8_t m_digit_matrix = 0; int m_digit_dot = 0; uint16_t m_digit_data = 0; @@ -108,6 +110,7 @@ void chessmst_state::machine_start() save_item(NAME(m_matrix)); save_item(NAME(m_led_data)); + save_item(NAME(m_led_data2)); save_item(NAME(m_digit_matrix)); save_item(NAME(m_digit_dot)); save_item(NAME(m_digit_data)); @@ -219,7 +222,7 @@ void chessmst_state::digits_w(uint8_t data) void chessmst_state::update_leds() { - m_led_pwm->matrix(m_matrix, m_led_data); + m_led_pwm->matrix(m_matrix, m_led_data | m_led_data2); } void chessmst_state::pio1_port_a_w(uint8_t data) @@ -231,11 +234,9 @@ void chessmst_state::pio1_port_a_w(uint8_t data) void chessmst_state::pio1_port_b_w(uint8_t data) { m_matrix = (m_matrix & 0xff) | ((data & 0x03)<<8); + m_led_data2 = ~data >> 1 & 6; update_leds(); - m_direct_led[0] = BIT(~data, 2); // check - m_direct_led[1] = BIT(~data, 3); // cm - m_speaker->level_w(BIT(data, 6)); } @@ -311,7 +312,7 @@ void chessmst_state::chessmst(machine_config &config) SENSORBOARD(config, m_board); m_board->set_type(sensorboard_device::MAGNETS); m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess)); - m_board->set_delay(attotime::from_msec(100)); + m_board->set_delay(attotime::from_msec(150)); // video hardware PWM_DISPLAY(config, m_led_pwm).set_size(10, 8); diff --git a/src/mame/drivers/poly880.cpp b/src/mame/drivers/poly880.cpp index 106f7815e62..2acb24aac44 100644 --- a/src/mame/drivers/poly880.cpp +++ b/src/mame/drivers/poly880.cpp @@ -371,8 +371,8 @@ void poly880_state::poly880s(machine_config &config) ROM_START( poly880 ) ROM_REGION( 0x4000, "maincpu", ROMREGION_ERASE00 ) - ROM_LOAD( "poly880.i5", 0x0000, 0x0400, CRC(b1c571e8) SHA1(85bfe53d39d6690e79999a1e1240789497e72db0) ) - ROM_LOAD( "poly880.i6", 0x1000, 0x0400, CRC(9efddf5b) SHA1(6ffa2f80b2c6f8ec9e22834f739c82f9754272b8) ) + ROM_LOAD( "bm039.i5", 0x0000, 0x0400, CRC(b1c571e8) SHA1(85bfe53d39d6690e79999a1e1240789497e72db0) ) + ROM_LOAD( "bm040.i6", 0x1000, 0x0400, CRC(9efddf5b) SHA1(6ffa2f80b2c6f8ec9e22834f739c82f9754272b8) ) ROM_END ROM_START( poly880s ) diff --git a/src/mame/layout/chessmst.lay b/src/mame/layout/chessmst.lay index f6637984d61..f0fc6ac7ea5 100644 --- a/src/mame/layout/chessmst.lay +++ b/src/mame/layout/chessmst.lay @@ -22,29 +22,9 @@ license:CC0 - - - - - - - - - - - - - - - - - - - - - + @@ -484,18 +464,13 @@ license:CC0 - - - - - - - + + + -