summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
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
commite08c90f12935b635bd21c1956c3d09713702c8c9 (patch)
tree30d65dd9a85ff248a256811b41e5f15a62f4ac04
parent4023b48efd733d137f90459bf7b88c3dbd2bb342 (diff)
chessmst: use pwm_display_device
-rw-r--r--hash/chessmstdm.xml9
-rw-r--r--src/mame/drivers/chessmst.cpp137
-rw-r--r--src/mame/drivers/poly880.cpp4
-rw-r--r--src/mame/drivers/sc2.cpp30
-rw-r--r--src/mame/layout/chessmst.lay181
-rw-r--r--src/mame/layout/chessmstdm.lay75
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>