diff options
author | hap <happppp@users.noreply.github.com> | 2021-04-29 23:14:34 +0200 |
---|---|---|
committer | hap <happppp@users.noreply.github.com> | 2021-04-29 23:14:50 +0200 |
commit | e08c90f12935b635bd21c1956c3d09713702c8c9 (patch) | |
tree | 30d65dd9a85ff248a256811b41e5f15a62f4ac04 | |
parent | 4023b48efd733d137f90459bf7b88c3dbd2bb342 (diff) |
chessmst: use pwm_display_device
-rw-r--r-- | hash/chessmstdm.xml | 9 | ||||
-rw-r--r-- | src/mame/drivers/chessmst.cpp | 137 | ||||
-rw-r--r-- | src/mame/drivers/poly880.cpp | 4 | ||||
-rw-r--r-- | src/mame/drivers/sc2.cpp | 30 | ||||
-rw-r--r-- | src/mame/layout/chessmst.lay | 181 | ||||
-rw-r--r-- | src/mame/layout/chessmstdm.lay | 75 |
6 files changed, 225 insertions, 211 deletions
diff --git a/hash/chessmstdm.xml b/hash/chessmstdm.xml index 611fe7934d1..5f3ad202822 100644 --- a/hash/chessmstdm.xml +++ b/hash/chessmstdm.xml @@ -8,10 +8,10 @@ license:CC0 <software name="pm10"> <description>PM10 Openings</description> <year>1987</year> - <publisher>VEB Mikroelektronik Erfurt</publisher> + <publisher>VEB Mikroelektronik "Karl Marx" Erfurt</publisher> <part name="cart" interface="chessmstdm_cart"> <dataarea name="rom" size="0x2000"> - <rom name="PM10_bm400.bin" size="0x2000" crc="aa784d7a" sha1="fd2d6cac9805a5aaf4f51b7c974d0314a402c186"/> + <rom name="bm400.d201" size="0x2000" crc="aa784d7a" sha1="fd2d6cac9805a5aaf4f51b7c974d0314a402c186"/> </dataarea> </part> </software> @@ -19,10 +19,11 @@ license:CC0 <software name="pm11"> <description>PM11 Endings</description> <year>1987</year> - <publisher>VEB Mikroelektronik Erfurt</publisher> + <publisher>VEB Mikroelektronik "Karl Marx" Erfurt</publisher> <part name="cart" interface="chessmstdm_cart"> <dataarea name="rom" size="0x4000"> - <rom name="PM11_bm403_bm607.bin" size="0x4000" crc="5af4f3e2" sha1="7c9befc6182d65ca0c7d53820a0f84a3a55b9c78"/> + <rom name="bm403.d201" offset="0x0000" size="0x2000" crc="dd5e0963" sha1="65220b289c7f8b68efe686afd81828ed387bd7dc"/> + <rom name="bm607.d204" offset="0x2000" size="0x2000" crc="77b77684" sha1="90036ffd91159b2ca600dea81ed2c7dc41d1ea2d"/> </dataarea> </part> </software> diff --git a/src/mame/drivers/chessmst.cpp b/src/mame/drivers/chessmst.cpp index 2cea7fe0f12..6faad984d4d 100644 --- a/src/mame/drivers/chessmst.cpp +++ b/src/mame/drivers/chessmst.cpp @@ -6,9 +6,11 @@ Chess-Master (G-5003-500) (10*U505 roms) Chess-Master (G-5003-501) (2 roms set) Chess-Master Diamond (G-5004-500) +BTANB: +- chessmst corner leds flicker sometimes + TODO: -- redump chessmsta u2616 -- use pwm_display for the leds +- chessmsta isn't working, needs a redump of u2616 ***************************************************************************/ @@ -22,6 +24,7 @@ TODO: #include "machine/sensorboard.h" #include "sound/beep.h" #include "sound/spkrdev.h" +#include "video/pwm.h" #include "speaker.h" @@ -39,19 +42,19 @@ public: driver_device(mconfig, type, tag), m_maincpu(*this, "maincpu"), m_pio(*this, "z80pio%u", 0), + m_board(*this, "board"), + m_led_pwm(*this, "led_pwm"), + m_digit_pwm(*this, "digit_pwm"), m_speaker(*this, "speaker"), m_beeper(*this, "beeper"), - m_board(*this, "board"), m_extra(*this, "EXTRA"), m_buttons(*this, "BUTTONS"), m_digits(*this, "digit%u", 0U), - m_leds(*this, "led_%c%u", unsigned('a'), 1U), - m_monitor_led(*this, "monitor_led"), - m_playmode_led(*this, "playmode_led") + m_direct_led(*this, "dled%u", 0U) { } + DECLARE_INPUT_CHANGED_MEMBER(halt_button); DECLARE_INPUT_CHANGED_MEMBER(reset_button); - DECLARE_INPUT_CHANGED_MEMBER(view_monitor_button); void chessmst(machine_config &config); void chessmsta(machine_config &config); @@ -63,15 +66,15 @@ protected: private: required_device<z80_device> m_maincpu; required_device_array<z80pio_device, 2> m_pio; + required_device<sensorboard_device> m_board; + required_device<pwm_display_device> m_led_pwm; + optional_device<pwm_display_device> m_digit_pwm; optional_device<speaker_sound_device> m_speaker; optional_device<beep_device> m_beeper; - required_device<sensorboard_device> m_board; required_ioport m_extra; required_ioport m_buttons; output_finder<4> m_digits; - output_finder<10, 8> m_leds; - output_finder<> m_monitor_led; - output_finder<> m_playmode_led; + output_finder<2> m_direct_led; void chessmst_io(address_map &map); void chessmst_mem(address_map &map); @@ -83,30 +86,29 @@ private: void pio1_port_b_w(uint8_t data); void pio1_port_b_dm_w(uint8_t data); uint8_t pio2_port_a_r(); - void pio2_port_b_w(uint8_t data); + void pio2_port_b_w(uint8_t data); DECLARE_WRITE_LINE_MEMBER(timer_555_w); - void update_display(); + void update_leds(); + void update_digits(); uint16_t m_matrix = 0; - uint16_t m_led_sel = 0; + uint8_t m_led_data = 0; uint8_t m_digit_matrix = 0; int m_digit_dot = 0; - uint16_t m_digit = 0; + uint16_t m_digit_data = 0; }; void chessmst_state::machine_start() { m_digits.resolve(); - m_leds.resolve(); - m_monitor_led.resolve(); - m_playmode_led.resolve(); + m_direct_led.resolve(); save_item(NAME(m_matrix)); - save_item(NAME(m_led_sel)); + save_item(NAME(m_led_data)); save_item(NAME(m_digit_matrix)); save_item(NAME(m_digit_dot)); - save_item(NAME(m_digit)); + save_item(NAME(m_digit_data)); } @@ -152,20 +154,17 @@ WRITE_LINE_MEMBER(chessmst_state::timer_555_w) // Input ports -INPUT_CHANGED_MEMBER(chessmst_state::reset_button) +INPUT_CHANGED_MEMBER(chessmst_state::halt_button) { - m_maincpu->set_input_line(INPUT_LINE_RESET, newval ? ASSERT_LINE : CLEAR_LINE); - machine_reset(); + m_pio[0]->strobe_a(newval); + reset_button(field, param, 0, 0); } -INPUT_CHANGED_MEMBER(chessmst_state::view_monitor_button) +INPUT_CHANGED_MEMBER(chessmst_state::reset_button) { - // pressing both VIEW and MONITOR buttons causes a reset - if ((m_extra->read() & 0x03) == 0x03) - { - m_maincpu->pulse_input_line(INPUT_LINE_RESET, attotime::zero); - machine_reset(); - } + // pressing both 'extra' buttons causes a reset + const bool reset = (m_extra->read() & 0x03) == 0x03; + m_maincpu->set_input_line(INPUT_LINE_RESET, reset ? ASSERT_LINE : CLEAR_LINE); } static INPUT_PORTS_START( chessmst ) @@ -180,8 +179,8 @@ static INPUT_PORTS_START( chessmst ) PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("New Game / 0") PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_0_PAD) PORT_CODE(KEYCODE_N) PORT_START("EXTRA") - PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_NAME("Halt") PORT_CODE(KEYCODE_F2) PORT_WRITE_LINE_DEVICE_MEMBER("z80pio0", z80pio_device, strobe_a) // -> PIO(0) ASTB pin - PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD ) PORT_NAME("Reset") PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, reset_button, 0) // -> Z80 RESET pin + PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Halt") PORT_CODE(KEYCODE_F2) PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, halt_button, 0) // -> PIO(0) ASTB pin + PORT_BIT( 0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Reset") PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, reset_button, 0) // -> Z80 RESET pin if HALT is pressed too INPUT_PORTS_END static INPUT_PORTS_START( chessmstdm ) @@ -196,53 +195,44 @@ static INPUT_PORTS_START( chessmstdm ) PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Enter") PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) PORT_START("EXTRA") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Monitor") PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, view_monitor_button, 0) - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("View") PORT_CODE(KEYCODE_F2) PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, view_monitor_button, 0) + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Monitor") PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, reset_button, 0) + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("View") PORT_CODE(KEYCODE_F2) PORT_CHANGED_MEMBER(DEVICE_SELF, chessmst_state, reset_button, 0) INPUT_PORTS_END // I/O -void chessmst_state::update_display() +void chessmst_state::update_digits() { - for (int i = 0; i < 4; i++) - { - if (BIT(m_digit_matrix, i)) - m_digits[i] = bitswap<16>(m_digit, 3,5,12,10,14,1,2,13,8,6,11,15,7,9,4,0) | (m_digit_dot << 16); - } + uint16_t digit_data = bitswap<16>(m_digit_data, 3,5,12,10,14,1,2,13,8,6,11,15,7,9,4,0); + m_digit_pwm->matrix(m_digit_matrix, digit_data | (m_digit_dot << 16)); } void chessmst_state::digits_w(uint8_t data) { - m_digit = (m_digit << 4) | (data & 0x0f); + m_digit_data = (m_digit_data << 4) | (data & 0x0f); m_digit_matrix = (data >> 4) & 0x0f; + update_digits(); +} - update_display(); +void chessmst_state::update_leds() +{ + m_led_pwm->matrix(m_matrix, m_led_data); } void chessmst_state::pio1_port_a_w(uint8_t data) { - for (int row = 0; row < 8; row++) - { - if (BIT(m_led_sel, 0)) m_leds[0][row] = BIT(data, 7 - row); - if (BIT(m_led_sel, 1)) m_leds[1][row] = BIT(data, 7 - row); - if (BIT(m_led_sel, 2)) m_leds[2][row] = BIT(data, 7 - row); - if (BIT(m_led_sel, 3)) m_leds[3][row] = BIT(data, 7 - row); - if (BIT(m_led_sel, 4)) m_leds[4][row] = BIT(data, 7 - row); - if (BIT(m_led_sel, 5)) m_leds[5][row] = BIT(data, 7 - row); - if (BIT(m_led_sel, 6)) m_leds[6][row] = BIT(data, 7 - row); - if (BIT(m_led_sel, 7)) m_leds[7][row] = BIT(data, 7 - row); - if (BIT(m_led_sel, 8)) m_leds[8][row] = BIT(data, 7 - row); - if (BIT(m_led_sel, 9)) m_leds[9][row] = BIT(data, 7 - row); - } - - m_led_sel = 0; + m_led_data = ~data; + update_leds(); } void chessmst_state::pio1_port_b_w(uint8_t data) { - m_matrix = (m_matrix & 0xff) | ((data & 0x01)<<8); - m_led_sel = (m_led_sel & 0xff) | ((data & 0x03)<<8); + m_matrix = (m_matrix & 0xff) | ((data & 0x03)<<8); + 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)); } @@ -252,18 +242,17 @@ void chessmst_state::pio1_port_b_dm_w(uint8_t data) m_matrix = (m_matrix & 0xff) | ((data & 0x04)<<6); m_digit_dot = BIT(data, 4); - if (m_digit_dot) - update_display(); + update_digits(); m_beeper->set_state(BIT(data, 3)); - m_monitor_led = !BIT(data, 5); - m_playmode_led = !BIT(data, 6); + m_direct_led[0] = BIT(data, 5); // monitor + m_direct_led[1] = BIT(data, 6); // playmode } uint8_t chessmst_state::pio2_port_a_r() { - uint8_t data = 0x00; + uint8_t data = 0; // The pieces position on the chessboard is identified by 64 Hall // sensors, which are in a 8x8 matrix with the corresponding LEDs. @@ -281,8 +270,8 @@ uint8_t chessmst_state::pio2_port_a_r() void chessmst_state::pio2_port_b_w(uint8_t data) { - m_matrix = (data & 0xff) | (m_matrix & 0x100); - m_led_sel = (data & 0xff) | (m_led_sel & 0x300); + m_matrix = (data & 0xff) | (m_matrix & ~0xff); + update_leds(); } @@ -322,6 +311,8 @@ void chessmst_state::chessmst(machine_config &config) m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess)); m_board->set_delay(attotime::from_msec(100)); + // video hardware + PWM_DISPLAY(config, m_led_pwm).set_size(10, 8); config.set_default_layout(layout_chessmst); // sound hardware @@ -357,6 +348,10 @@ void chessmst_state::chessmstdm(machine_config &config) m_pio[0]->out_int_callback().set_nop(); m_pio[1]->out_int_callback().set_inputline(m_maincpu, INPUT_LINE_IRQ0); + // video hardware + PWM_DISPLAY(config, m_digit_pwm).set_size(4, 17); + m_digit_pwm->set_segmask(0xf, 0x1ffff); + m_digit_pwm->output_digit().set([this](offs_t offset, uint64_t data) { m_digits[offset] = data; }); config.set_default_layout(layout_chessmstdm); // sound hardware @@ -372,7 +367,7 @@ void chessmst_state::chessmstdm(machine_config &config) // ROM definition ROM_START( chessmst ) - ROM_REGION( 0x2800, "maincpu", ROMREGION_ERASEFF ) + ROM_REGION( 0x2800, "maincpu", 0 ) ROM_LOAD("056.bin", 0x0000, 0x0400, CRC(2b90e5d3) SHA1(c47445964b2e6cb11bd1f27e395cf980c97af196) ) // U505 ROM_LOAD("057.bin", 0x0400, 0x0400, CRC(e666fc56) SHA1(3fa75b82cead81973bea94191a5c35f0acaaa0e6) ) // " ROM_LOAD("058.bin", 0x0800, 0x0400, CRC(6a17fbec) SHA1(019051e93a5114477c50eaa87e1ff01b02eb404d) ) // " @@ -386,15 +381,15 @@ ROM_START( chessmst ) ROM_END ROM_START( chessmsta ) - ROM_REGION( 0x2800, "maincpu", ROMREGION_ERASEFF ) + ROM_REGION( 0x2800, "maincpu", 0 ) ROM_LOAD("bm001.d204", 0x0000, 0x2000, CRC(6be28876) SHA1(fd7d77b471e7792aef3b2b3f7ff1de4cdafc94c9) ) // U2364D45 ROM_LOAD("bm108.d205", 0x2000, 0x0800, CRC(6e69ace3) SHA1(e099b6b6cc505092f64b8d51ab9c70aa64f58f70) BAD_DUMP ) // U2616D45 - problem with d3 ROM_END ROM_START( chessmstdm ) - ROM_REGION( 0x4000, "maincpu", ROMREGION_ERASEFF ) - ROM_LOAD("002", 0x0000, 0x2000, CRC(bed56fef) SHA1(dad0f8ddbd9b10013a5bdcc09ee6db39cfb26b78) ) // U2364D45 - ROM_LOAD("201", 0x2000, 0x2000, CRC(c9dc7f29) SHA1(a3e1b66d0e15ffe83a9165d15c4a83013852c2fe) ) // " + ROM_REGION( 0x4000, "maincpu", 0 ) + ROM_LOAD("002.d224", 0x0000, 0x2000, CRC(bed56fef) SHA1(dad0f8ddbd9b10013a5bdcc09ee6db39cfb26b78) ) // U2364D45 + ROM_LOAD("201.d225", 0x2000, 0x2000, CRC(c9dc7f29) SHA1(a3e1b66d0e15ffe83a9165d15c4a83013852c2fe) ) // " ROM_END } // anonymous namespace diff --git a/src/mame/drivers/poly880.cpp b/src/mame/drivers/poly880.cpp index acd4504aaab..e5cf1c6403c 100644 --- a/src/mame/drivers/poly880.cpp +++ b/src/mame/drivers/poly880.cpp @@ -378,13 +378,13 @@ void poly880_state::poly880s(machine_config &config) // ROMs ROM_START( poly880 ) - ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_REGION( 0x2000, "maincpu", 0 ) ROM_LOAD( "poly880.i5", 0x0000, 0x0400, CRC(b1c571e8) SHA1(85bfe53d39d6690e79999a1e1240789497e72db0) ) ROM_LOAD( "poly880.i6", 0x1000, 0x0400, CRC(9efddf5b) SHA1(6ffa2f80b2c6f8ec9e22834f739c82f9754272b8) ) ROM_END ROM_START( poly880s ) - ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_REGION( 0x1000, "maincpu", 0 ) ROM_LOAD( "sc1.rom", 0x0000, 0x1000, CRC(26965b23) SHA1(01568911446eda9f05ec136df53da147b7c6f2bf) ) ROM_END diff --git a/src/mame/drivers/sc2.cpp b/src/mame/drivers/sc2.cpp index d42de9d90cd..3391528868b 100644 --- a/src/mame/drivers/sc2.cpp +++ b/src/mame/drivers/sc2.cpp @@ -81,7 +81,7 @@ private: u8 pio_port_b_r(); void pio_port_a_w(u8 data); void pio_port_b_w(u8 data); - template<int State> u8 speaker_w(); + u8 speaker_r(offs_t offset); }; void sc2_state::machine_start() @@ -128,11 +128,10 @@ void sc2_state::pio_port_b_w(u8 data) update_display(); } -template<int State> -u8 sc2_state::speaker_w() +u8 sc2_state::speaker_r(offs_t offset) { if (!machine().side_effects_disabled()) - m_dac->write(State); + m_dac->write(BIT(~offset, 11)); return 0xff; } @@ -148,14 +147,13 @@ void sc2_state::main_map(address_map &map) map(0x0000, 0x0fff).rom(); map(0x1000, 0x13ff).ram(); map(0x2000, 0x33ff).rom(); - map(0x3400, 0x3400).r(FUNC(sc2_state::speaker_w<1>)); - map(0x3c00, 0x3c00).r(FUNC(sc2_state::speaker_w<0>)); + map(0x3400, 0x3400).select(0x800).r(FUNC(sc2_state::speaker_r)); } void sc2_state::main_io(address_map &map) { - map.global_mask(0xff); - map(0x00, 0x03).mirror(0xfc).rw(m_pio, FUNC(z80pio_device::read), FUNC(z80pio_device::write)); + map.global_mask(0x03); + map(0x00, 0x03).rw(m_pio, FUNC(z80pio_device::read), FUNC(z80pio_device::write)); } @@ -172,16 +170,16 @@ static INPUT_PORTS_START( sc2 ) PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Q") PORT_CODE(KEYCODE_Q) PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) PORT_START("IN.1") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("A1") PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_CODE(KEYCODE_A) - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("B2") PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_CODE(KEYCODE_B) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("C3") PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_CODE(KEYCODE_C) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("D4") PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_CODE(KEYCODE_D) + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("A 1") PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_CODE(KEYCODE_A) + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("B 2") PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_CODE(KEYCODE_B) + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("C 3") PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_CODE(KEYCODE_C) + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("D 4") PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_CODE(KEYCODE_D) PORT_START("IN.2") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("E5") PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_CODE(KEYCODE_E) - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("F6") PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_CODE(KEYCODE_F) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("G7") PORT_CODE(KEYCODE_7) PORT_CODE(KEYCODE_7_PAD) PORT_CODE(KEYCODE_G) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("H8") PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_8_PAD) PORT_CODE(KEYCODE_H) + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("E 5") PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_CODE(KEYCODE_E) + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("F 6") PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_CODE(KEYCODE_F) + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("G 7") PORT_CODE(KEYCODE_7) PORT_CODE(KEYCODE_7_PAD) PORT_CODE(KEYCODE_G) + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("H 8") PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_8_PAD) PORT_CODE(KEYCODE_H) PORT_START("IN.3") PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("K") PORT_CODE(KEYCODE_K) diff --git a/src/mame/layout/chessmst.lay b/src/mame/layout/chessmst.lay index 53c5f4f7145..f6637984d61 100644 --- a/src/mame/layout/chessmst.lay +++ b/src/mame/layout/chessmst.lay @@ -6,59 +6,81 @@ license:CC0 <!-- define elements --> - <element name="ledr" defstate="1"> + <element name="ledr" defstate="0"> <disk state="0"> - <color red="0.95" green="0.0" blue="0.0" /> + <color red="0.20" green="0.0" blue="0.0" /> </disk> <disk state="1"> - <color red="0.20" green="0.0" blue="0.0" /> + <color red="1.0" green="0.0" blue="0.0" /> </disk> </element> - <element name="ledg" defstate="1"> + <element name="ledg" defstate="0"> <disk state="0"> - <color red="0.0" green="0.95" blue="0.0" /> + <color red="0.0" green="0.20" blue="0.0" /> </disk> <disk state="1"> - <color red="0.0" green="0.20" blue="0.0" /> + <color red="0.0" green="1.0" blue="0.0" /> </disk> </element> - <element name="ledy" defstate="1"> + + <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.95" green="0.95" blue="0.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" /> + </disk> + <disk state="1"> + <color red="1.0" green="1.0" blue="0.0" /> + </disk> + </element> <element name="hlb" defstate="0"> <disk state="0"> <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="0.0" green="0.0" blue="0.0" /> + <color red="0.1" green="0.07" blue="0.05" /> </disk> <disk state="1"> <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="0.4" green="0.4" blue="0.4" /> + <color red="0.37" green="0.33" blue="0.3" /> </disk> </element> - <element name="text_1"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="1"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_2"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="2"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_3"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="3"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_4"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="4"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_5"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="5"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_6"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="6"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_7"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="7"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_8"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="8"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - - <element name="text_a"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="A"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_b"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="B"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_c"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="C"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_d"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="D"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_e"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="E"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_f"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="F"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_g"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="G"><color red="0.01" green="0.01" blue="0.01" /></text> </element> - <element name="text_h"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="H"><color red="0.01" green="0.01" blue="0.01" /></text> </element> + <element name="whitew"><rect><color red="1" green="1" blue="1" /></rect></element> + + <element name="text_1"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="1"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_2"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="2"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_3"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="3"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_4"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="4"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_5"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="5"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_6"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="6"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_7"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="7"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_8"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="8"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + + <element name="text_a"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="A"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_b"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="B"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_c"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="C"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_d"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="D"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_e"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="E"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_f"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="F"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_g"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="G"><color red="0.87" green="0.87" blue="0.84" /></text> </element> + <element name="text_h"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="H"><color red="0.87" green="0.87" blue="0.84" /></text> </element> <element name="text_b1"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="1"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_b2"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="2"><color red="0.01" green="0.01" blue="0.01" /></text> </element> @@ -79,12 +101,12 @@ license:CC0 <element name="text_hint"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="HINT" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_white"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="WHITE" align="2"><color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_black"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="BLACK" align="2"><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_king" > <image file="chess/bk.svg"/></element> - <element name="text_queen" > <image file="chess/bq.svg"/></element> - <element name="text_rook" > <image file="chess/br.svg"/></element> - <element name="text_bishop" > <image file="chess/bb.svg"/></element> - <element name="text_knight" > <image file="chess/bn.svg"/></element> - <element name="text_pawn" > <image file="chess/bp.svg"/></element> + <element name="text_king" > <image file="chess/wk.svg"/></element> + <element name="text_queen" > <image file="chess/wq.svg"/></element> + <element name="text_rook" > <image file="chess/wr.svg"/></element> + <element name="text_bishop" > <image file="chess/wb.svg"/></element> + <element name="text_knight" > <image file="chess/wn.svg"/></element> + <element name="text_pawn" > <image file="chess/wp.svg"/></element> <element name="text_change"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="CHANGE" align="2"><color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_board1"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="BOARD" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_halt"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="HALT" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> @@ -214,19 +236,16 @@ license:CC0 <element ref="cblack"><bounds x="60" y="70" width="11" height="10" /></element> <element ref="cwhite"><bounds x="70" y="70" width="10" height="10" /></element> - <!-- LEDs --> + <!-- leds --> <repeat count="8"> - <param name="y" start="8.1" increment="10" /> - <param name="i" start="1" increment="1" /> - - <element name="led_a~i~" ref="ledr"><bounds x="0.3" y="~y~" width="1.5" height="1.5" /></element> - <element name="led_b~i~" ref="ledr"><bounds x="10.3" y="~y~" width="1.5" height="1.5" /></element> - <element name="led_c~i~" ref="ledr"><bounds x="20.3" y="~y~" width="1.5" height="1.5" /></element> - <element name="led_d~i~" ref="ledr"><bounds x="30.3" y="~y~" width="1.5" height="1.5" /></element> - <element name="led_e~i~" ref="ledr"><bounds x="40.3" y="~y~" width="1.5" height="1.5" /></element> - <element name="led_f~i~" ref="ledr"><bounds x="50.3" y="~y~" width="1.5" height="1.5" /></element> - <element name="led_g~i~" ref="ledr"><bounds x="60.3" y="~y~" width="1.5" height="1.5" /></element> - <element name="led_h~i~" ref="ledr"><bounds x="70.3" y="~y~" width="1.5" height="1.5" /></element> + <param name="y" start="8.3" increment="10" /> + <param name="i2" start="7" increment="-1" /> + + <repeat count="8"> + <param name="x" start="0.2" increment="10" /> + <param name="i1" start="0" increment="1" /> + <element name="~i1~.~i2~" ref="ledr"><bounds x="~x~" y="~y~" width="1.5" height="1.5" /></element> + </repeat> </repeat> <!-- sensors, pieces --> @@ -391,13 +410,12 @@ license:CC0 <!-- build screen --> <view name="Internal Layout"> - <bounds left="0" right="130" top="0" bottom="90" /> + <bounds left="0" right="130" top="0" bottom="89" /> - <element ref="cblack"><bounds x="13" y="0" width="117" height="90" /></element> - <element ref="cwhite"><bounds x="102" y="0" width="28" height="90" /></element> - - <!-- chessboard coords --> + <element ref="cblack"><bounds x="13" y="0" width="117" height="89" /></element> + <element ref="cwhite"><bounds x="102" y="0" width="28" height="89" /></element> + <!-- chessboard coords --> <element ref="text_8"><bounds x="14.3" y="8.5" width="2" height="2" /></element> <element ref="text_7"><bounds x="14.3" y="18.5" width="2" height="2" /></element> <element ref="text_6"><bounds x="14.3" y="28.5" width="2" height="2" /></element> @@ -416,7 +434,18 @@ license:CC0 <element ref="text_g"><bounds x="81.5" y="86" width="2" height="2" /></element> <element ref="text_h"><bounds x="91.5" y="86" width="2" height="2" /></element> - <!-- right side --> + <!-- right side --> + <element ref="whitew"><bounds x="108" y="20" width="4" height="40" /></element> + <element ref="text_pawn"> <bounds x="108" y="20" width="4" height="3.6" /></element> + <element ref="text_knight"> <bounds x="108" y="27" width="4" height="3.6" /></element> + <element ref="text_bishop"> <bounds x="108" y="34" width="4" height="3.6" /></element> + <element ref="text_rook"> <bounds x="108" y="41" width="4" height="3.6" /></element> + <element ref="text_queen"> <bounds x="108" y="48" width="4" height="3.6" /></element> + <element ref="text_king"> <bounds x="108" y="55" width="4" height="3.6" /></element> + <element ref="cwhite" blend="multiply"><bounds x="108" y="20" width="4" height="40" /></element> + + <element ref="text_white"> <bounds x="106" y="63" width="6" height="1.8" /></element> + <element ref="text_black"> <bounds x="106" y="70" width="6" height="1.8" /></element> <element ref="text_chessmaster"><bounds x="105.5" y="2" width="22" height="3" /></element> <element ref="text_newgame"> <bounds x="114" y="18" width="12" height="1.8" /></element> @@ -430,15 +459,6 @@ license:CC0 <element ref="text_reset"> <bounds x="105" y="84" width="10" height="2" /></element> <element ref="text_halt"> <bounds x="120" y="84" width="8" height="2" /></element> - <element ref="text_pawn"> <bounds x="108" y="20" width="4" height="3.6" /></element> - <element ref="text_knight"> <bounds x="108" y="27" width="4" height="3.6" /></element> - <element ref="text_bishop"> <bounds x="108" y="34" width="4" height="3.6" /></element> - <element ref="text_rook"> <bounds x="108" y="41" width="4" height="3.6" /></element> - <element ref="text_queen"> <bounds x="108" y="48" width="4" height="3.6" /></element> - <element ref="text_king"> <bounds x="108" y="55" width="4" height="3.6" /></element> - <element ref="text_white"> <bounds x="106" y="63" width="6" height="1.8" /></element> - <element ref="text_black"> <bounds x="106" y="70" width="6" height="1.8" /></element> - <element ref="text_check"> <bounds x="106" y="8" width="6" height="1.8" /></element> <element ref="text_your"> <bounds x="112" y="8" width="6" height="1.8" /></element> <element ref="text_cms"> <bounds x="118" y="8" width="6" height="1.8" /></element> @@ -455,24 +475,29 @@ license:CC0 <element ref="text_b7"><bounds x="124" y="64" width="2" height="1.8" /></element> <element ref="text_b8"><bounds x="124" y="71" width="2" height="1.8" /></element> - <element name="led_i1" ref="ledr"> <bounds x="113" y="21" width="2" height="2" /></element> - <element name="led_i2" ref="ledr"> <bounds x="113" y="28" width="2" height="2" /></element> - <element name="led_i3" ref="ledr"> <bounds x="113" y="35" width="2" height="2" /></element> - <element name="led_i4" ref="ledr"> <bounds x="113" y="42" width="2" height="2" /></element> - <element name="led_i5" ref="ledr"> <bounds x="113" y="49" width="2" height="2" /></element> - <element name="led_i6" ref="ledr"> <bounds x="113" y="56" width="2" height="2" /></element> - <element name="led_i7" ref="ledr"> <bounds x="113" y="63" width="2" height="2" /></element> - <element name="led_i8" ref="ledr"> <bounds x="113" y="70" width="2" height="2" /></element> - - <element name="led_j7" ref="ledr"> <bounds x="108" y="10" width="2" height="2" /></element> - <element name="led_j5" ref="ledg"> <bounds x="114" y="10" width="2" height="2" /></element> - <element name="led_j6" ref="ledy"> <bounds x="120" y="10" width="2" height="2" /></element> - - <element name="led_j2" ref="ledg"> <bounds x="108" y="14" width="2" height="2" /></element> - <element name="led_j3" ref="ledg"> <bounds x="114" y="14" width="2" height="2" /></element> - <element name="led_j4" ref="ledg"> <bounds x="120" y="14" width="2" height="2" /></element> - - <element name="led_j8" ref="ledr"> <bounds x="115.5" y="75" width="2" height="2" /></element> + <element name="8.7" ref="ledr"> <bounds x="113" y="21" width="2" height="2" /></element> + <element name="8.6" ref="ledr"> <bounds x="113" y="28" width="2" height="2" /></element> + <element name="8.5" ref="ledr"> <bounds x="113" y="35" width="2" height="2" /></element> + <element name="8.4" ref="ledr"> <bounds x="113" y="42" width="2" height="2" /></element> + <element name="8.3" ref="ledr"> <bounds x="113" y="49" width="2" height="2" /></element> + <element name="8.2" ref="ledr"> <bounds x="113" y="56" width="2" height="2" /></element> + <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.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> <element ref="hlb" inputtag="BUTTONS" inputmask="0x80"><bounds x="118" y="20" width="4" height="4" /></element> <element ref="hlb" inputtag="BUTTONS" inputmask="0x40"><bounds x="118" y="27" width="4" height="4" /></element> diff --git a/src/mame/layout/chessmstdm.lay b/src/mame/layout/chessmstdm.lay index 0e54ab3b905..ef0f394ddd5 100644 --- a/src/mame/layout/chessmstdm.lay +++ b/src/mame/layout/chessmstdm.lay @@ -3,7 +3,9 @@ license:CC0 --> <mamelayout version="2"> + <!-- define elements --> + <element name="black_rect"> <rect> <color red="0.0" green="0.0" blue="0.0" /> @@ -11,25 +13,25 @@ license:CC0 </element> <element name="digit" defstate="0"> <led16segsc> - <color red="0.5" green="1.0" blue="0.0" /> + <color red="0.4" green="1.0" blue="0.0" /> </led16segsc> </element> - <element name="led" defstate="1"> + <element name="led" defstate="0"> <disk state="0"> - <color red="0.95" green="0.0" blue="0.0" /> + <color red="0.20" green="0.0" blue="0.0" /> </disk> <disk state="1"> - <color red="0.20" green="0.0" blue="0.0" /> + <color red="1.0" green="0.0" blue="0.0" /> </disk> </element> <element name="hlb" defstate="0"> <disk state="0"> <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="0.0" green="0.0" blue="0.0" /> + <color red="0.1" green="0.07" blue="0.05" /> </disk> <disk state="1"> <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="0.4" green="0.4" blue="0.4" /> + <color red="0.37" green="0.33" blue="0.3" /> </disk> </element> @@ -66,7 +68,7 @@ license:CC0 <element name="text_match"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="MATCH" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_time"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="TIME" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_enter"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="ENTER" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> - <element name="text_playmode"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="PLAYMODE" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> + <element name="text_playmode"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="PLAY MODE" align="1"><color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_move_fore"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="MOVE FORE" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_move_back"> <rect><color red="0.84" green="0.75" blue="0.50" /></rect> <text string="MOVE BACK" ><color red="0.17" green="0.15" blue="0.15" /></text> </element> @@ -105,7 +107,7 @@ license:CC0 <!-- sb board --> - <element name="cblack"><rect><color red="0.5" green="0.14" blue="0.06" /></rect></element> + <element name="cblack"><rect><color red="0.53" green="0.16" blue="0.07" /></rect></element> <element name="cwhite"><rect><color red="0.84" green="0.75" blue="0.50" /></rect></element> <element name="hlbb" defstate="0"> @@ -192,19 +194,16 @@ license:CC0 <element ref="cblack"><bounds x="60" y="70" width="11" height="10" /></element> <element ref="cwhite"><bounds x="70" y="70" width="10" height="10" /></element> - <!-- LEDs --> + <!-- leds --> <repeat count="8"> - <param name="y" start="8.1" increment="10" /> - <param name="i" start="1" increment="1" /> - - <element name="led_a~i~" ref="led"><bounds x="0.3" y="~y~" width="1.5" height="1.5" /></element> - <element name="led_b~i~" ref="led"><bounds x="10.3" y="~y~" width="1.5" height="1.5" /></element> - <element name="led_c~i~" ref="led"><bounds x="20.3" y="~y~" width="1.5" height="1.5" /></element> - <element name="led_d~i~" ref="led"><bounds x="30.3" y="~y~" width="1.5" height="1.5" /></element> - <element name="led_e~i~" ref="led"><bounds x="40.3" y="~y~" width="1.5" height="1.5" /></element> - <element name="led_f~i~" ref="led"><bounds x="50.3" y="~y~" width="1.5" height="1.5" /></element> - <element name="led_g~i~" ref="led"><bounds x="60.3" y="~y~" width="1.5" height="1.5" /></element> - <element name="led_h~i~" ref="led"><bounds x="70.3" y="~y~" width="1.5" height="1.5" /></element> + <param name="y" start="8.3" increment="10" /> + <param name="i2" start="7" increment="-1" /> + + <repeat count="8"> + <param name="x" start="0.2" increment="10" /> + <param name="i1" start="0" increment="1" /> + <element name="~i1~.~i2~" ref="led"><bounds x="~x~" y="~y~" width="1.5" height="1.5" /></element> + </repeat> </repeat> <!-- sensors, pieces --> @@ -233,7 +232,6 @@ license:CC0 </group> - <!-- sb ui --> <element name="hlub" defstate="0"> @@ -370,12 +368,11 @@ license:CC0 <!-- build screen --> <view name="Internal Layout"> - <bounds left="0" right="130" top="0" bottom="90" /> - - <element ref="cwhite"><bounds x="13" y="0" width="117" height="90" /></element> + <bounds left="0" right="130" top="0" bottom="89" /> - <!-- chessboard coords --> + <element ref="cwhite"><bounds x="13" y="0" width="117" height="89" /></element> + <!-- chessboard coords --> <element ref="text_8"><bounds x="14.3" y="8.5" width="2" height="2" /></element> <element ref="text_7"><bounds x="14.3" y="18.5" width="2" height="2" /></element> <element ref="text_6"><bounds x="14.3" y="28.5" width="2" height="2" /></element> @@ -394,11 +391,10 @@ license:CC0 <element ref="text_g"><bounds x="81.5" y="86" width="2" height="2" /></element> <element ref="text_h"><bounds x="91.5" y="86" width="2" height="2" /></element> - <!-- right side --> - - <element ref="text_chessmaster"><bounds x="101" y="13" width="22" height="2.8" /></element> - <element ref="text_diamond"> <bounds x="118" y="16" width="11" height="2.5" /></element> - <element ref="text_monitor"> <bounds x="103" y="20.5" width="10" height="2" /></element> + <!-- right side --> + <element ref="text_chessmaster"><bounds x="101" y="14.5" width="22" height="2.8" /></element> + <element ref="text_diamond"> <bounds x="118" y="14.8" width="11" height="2.5" /></element> + <element ref="text_monitor"> <bounds x="103" y="20.4" width="10" height="2" /></element> <element ref="text_view"> <bounds x="103" y="27.5" width="14" height="2" /></element> <element ref="text_reset"> <bounds x="111" y="24.0" width="7" height="2" /></element> <element ref="text_function"> <bounds x="103" y="33.3" width="14" height="2" /></element> @@ -413,10 +409,10 @@ license:CC0 <element ref="text_enter"> <bounds x="103" y="69.5" width="14" height="2" /></element> <element ref="text_move_back"> <bounds x="101" y="84" width="12" height="2" /></element> <element ref="text_move_fore"> <bounds x="115" y="84" width="12" height="2" /></element> - <element ref="text_playmode"> <bounds x="105" y="74" width="10" height="2" /></element> + <element ref="text_playmode"> <bounds x="103" y="74" width="10" height="2" /></element> - <element name="monitor_led" ref="led"> <bounds x="113" y="20.63" width="1.5" height="1.5" /> </element> - <element name="playmode_led" ref="led"> <bounds x="115" y="74.13" width="1.5" height="1.5" /> </element> + <element name="dled0" ref="led"> <bounds x="110.5" y="20.63" width="1.5" height="1.5" /> </element> + <element name="dled1" ref="led"> <bounds x="112" y="74.13" width="1.5" height="1.5" /> </element> <element name="reset_line0" ref="black_rect"> <bounds x="119.4" y="24.2" width="0.2" height="1.6" /> </element> <element name="reset_line1" ref="black_rect"> <bounds x="116.7" y="25.0" width="2.9" height="0.2" /> </element> @@ -431,13 +427,12 @@ license:CC0 <element ref="hlb" inputtag="BUTTONS" inputmask="0x02"><bounds x="105" y="78" width="5" height="5" /></element> <element ref="hlb" inputtag="BUTTONS" inputmask="0x01"><bounds x="119" y="78" width="5" height="5" /></element> - <!-- panel 16seg leds --> - - <element name="display_background" ref="black_rect"> <bounds x="101" y="3" width="26" height="9.2" /> </element> - <element name="digit3" ref="digit"> <bounds x="102" y="3.5" width="5.66" height="8.5" /></element> - <element name="digit2" ref="digit"> <bounds x="108" y="3.5" width="5.66" height="8.5" /></element> - <element name="digit1" ref="digit"> <bounds x="114" y="3.5" width="5.66" height="8.5" /></element> - <element name="digit0" ref="digit"> <bounds x="120" y="3.5" width="5.66" height="8.5" /></element> + <!-- panel 16seg leds --> + <element name="display_background" ref="black_rect"> <bounds x="101" y="4" width="26" height="9.2" /> </element> + <element name="digit3" ref="digit"> <bounds x="102" y="4.5" width="5.66" height="8.5" /></element> + <element name="digit2" ref="digit"> <bounds x="108" y="4.5" width="5.66" height="8.5" /></element> + <element name="digit1" ref="digit"> <bounds x="114" y="4.5" width="5.66" height="8.5" /></element> + <element name="digit0" ref="digit"> <bounds x="120" y="4.5" width="5.66" height="8.5" /></element> <element ref="cblack"><bounds x="17" y="4" width="81" height="81" /></element> <group ref="sb_board"><bounds x="17.5" y="4.5" width="80" height="80" /></group> |