chessmst: it has double outputs for 2nd/3rd led row

This commit is contained in:
hap 2021-05-02 19:15:19 +02:00
parent b3c19562f6
commit 7de36f9bbd
3 changed files with 12 additions and 36 deletions

View File

@ -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);

View File

@ -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 )

View File

@ -22,29 +22,9 @@ license:CC0
<color red="0.0" green="1.0" blue="0.0" />
</disk>
</element>
<element name="ledr2o">
<disk>
<color red="0.20" green="0.0" blue="0.0" />
</disk>
</element>
<element name="ledr2" defstate="0">
<disk state="0">
<color red="0.0" green="0.0" blue="0.0" />
</disk>
<disk state="1">
<color red="1.0" green="0.0" blue="0.0" />
</disk>
</element>
<element name="ledyo">
<disk>
<color red="0.20" green="0.20" blue="0.0" />
</disk>
</element>
<element name="ledy" defstate="0">
<disk state="0">
<color red="0.0" green="0.0" blue="0.0" />
<color red="0.20" green="0.20" blue="0.0" />
</disk>
<disk state="1">
<color red="1.0" green="1.0" blue="0.0" />
@ -484,18 +464,13 @@ license:CC0
<element name="8.1" ref="ledr"> <bounds x="113" y="63" width="2" height="2" /></element>
<element name="8.0" ref="ledr"> <bounds x="113" y="70" width="2" height="2" /></element>
<element ref="ledr2o"> <bounds x="108" y="10" width="2" height="2" /></element>
<element name="dled0" ref="ledr2" blend="add"> <bounds x="108" y="10" width="2" height="2" /></element>
<element name="9.1" ref="ledr2" blend="add"> <bounds x="108" y="10" width="2" height="2" /></element>
<element ref="ledyo"> <bounds x="120" y="10" width="2" height="2" /></element>
<element name="dled1" ref="ledy" blend="add"> <bounds x="120" y="10" width="2" height="2" /></element>
<element name="9.2" ref="ledy" blend="add"> <bounds x="120" y="10" width="2" height="2" /></element>
<element name="9.1" ref="ledr"> <bounds x="108" y="10" width="2" height="2" /></element>
<element name="9.3" ref="ledg"> <bounds x="114" y="10" width="2" height="2" /></element>
<element name="9.2" ref="ledy"> <bounds x="120" y="10" width="2" height="2" /></element>
<element name="9.6" ref="ledg"> <bounds x="108" y="14" width="2" height="2" /></element>
<element name="9.5" ref="ledg"> <bounds x="114" y="14" width="2" height="2" /></element>
<element name="9.4" ref="ledg"> <bounds x="120" y="14" width="2" height="2" /></element>
<element name="9.3" ref="ledg"> <bounds x="114" y="10" width="2" height="2" /></element>
<element name="9.0" ref="ledr"> <bounds x="115.5" y="75" width="2" height="2" /></element>