npresto: add chesspieces (nw)

This commit is contained in:
hap 2019-06-28 02:20:53 +02:00
parent c770602d41
commit b37289cd61
5 changed files with 484 additions and 278 deletions

View File

@ -1920,7 +1920,6 @@ files {
MAME_DIR .. "src/mame/includes/novagbase.h",
MAME_DIR .. "src/mame/drivers/novag_cforte.cpp",
MAME_DIR .. "src/mame/drivers/novag_diablo.cpp",
MAME_DIR .. "src/mame/drivers/novag_presto.cpp",
MAME_DIR .. "src/mame/drivers/novag_sexpert.cpp",
}
@ -2819,6 +2818,7 @@ files {
MAME_DIR .. "src/mame/drivers/novag_delta1.cpp",
MAME_DIR .. "src/mame/drivers/novag_mk1.cpp",
MAME_DIR .. "src/mame/drivers/novag_mk2.cpp",
MAME_DIR .. "src/mame/drivers/novag_presto.cpp",
MAME_DIR .. "src/mame/drivers/novag_savant.cpp",
MAME_DIR .. "src/mame/drivers/novag_scon.cpp",
MAME_DIR .. "src/mame/drivers/ssystem3.cpp",

View File

@ -3,15 +3,9 @@
// thanks-to:Berger
/******************************************************************************
* novag_presto.cpp, subdriver of machine/novagbase.cpp, machine/chessbase.cpp
Novag Presto / Novag Octo
TODO:
- is led handling correct? mux data needs to be auto cleared
similar to diablo/sexpert
*******************************************************************************
Novag Presto overview:
Hardware notes (Presto):
- NEC D80C49C MCU(serial 186), OSC from LC circuit measured ~6MHz
- buzzer, 16+4 LEDs, 8*8 chessboard buttons
@ -19,12 +13,18 @@ Octo has a NEC D80C49HC MCU(serial 111), OSC from LC circuit measured ~12MHz
The buzzer has a little electronic circuit going on, not sure whatfor.
Otherwise, it's identical to Presto. The MCU internal ROM is same too.
TODO:
- controls are too sensitive, is there a bug in the CPU core timer emulation?
6MHz: valid (single) button press registered between 307ms and 436ms,
12MHz: between 154ms and 218ms, 15MHz: between 123ms and 174ms.
******************************************************************************/
#include "emu.h"
#include "includes/novagbase.h"
#include "cpu/mcs48/mcs48.h"
#include "video/pwm.h"
#include "machine/sensorboard.h"
#include "sound/dac.h"
#include "sound/volt_reg.h"
#include "speaker.h"
@ -34,12 +34,18 @@ Otherwise, it's identical to Presto. The MCU internal ROM is same too.
namespace {
class presto_state : public novagbase_state
// Presto / shared
class presto_state : public driver_device
{
public:
presto_state(const machine_config &mconfig, device_type type, const char *tag) :
novagbase_state(mconfig, type, tag),
m_maincpu(*this, "maincpu")
driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_display(*this, "display"),
m_board(*this, "board"),
m_dac(*this, "dac"),
m_inputs(*this, "IN.%u", 0)
{ }
// machine drivers
@ -49,13 +55,39 @@ public:
protected:
// devices/pointers
required_device<mcs48_cpu_device> m_maincpu;
required_device<pwm_display_device> m_display;
required_device<sensorboard_device> m_board;
optional_device<dac_bit_interface> m_dac;
required_ioport_array<1> m_inputs;
// I/O handlers
void update_display();
DECLARE_WRITE8_MEMBER(mux_w);
DECLARE_WRITE8_MEMBER(control_w);
DECLARE_READ8_MEMBER(input_r);
bool m_kp_select;
u8 m_inp_mux;
u8 m_led_select;
virtual void machine_start() override;
};
void presto_state::machine_start()
{
// zerofill
m_kp_select = false;
m_inp_mux = 0;
m_led_select = 0;
// register for savestates
save_item(NAME(m_kp_select));
save_item(NAME(m_inp_mux));
save_item(NAME(m_led_select));
}
// Octo
class octo_state : public presto_state
{
public:
@ -83,36 +115,53 @@ void octo_state::octo_set_cpu_freq()
}
/******************************************************************************
Devices, I/O
******************************************************************************/
// MCU ports/generic
void presto_state::update_display()
{
m_display->matrix(m_led_select, m_inp_mux);
}
WRITE8_MEMBER(presto_state::mux_w)
{
// D0-D7: input mux low, led data
m_inp_mux = (m_inp_mux & ~0xff) | (~data & 0xff);
display_matrix(8, 3, m_inp_mux, m_led_select);
// D0-D7: input mux, led data
m_inp_mux = ~data;
update_display();
}
WRITE8_MEMBER(presto_state::control_w)
{
// P21: input mux high
m_inp_mux = (m_inp_mux & 0xff) | (~data << 7 & 0x100);
// P21: keypad select
m_kp_select = bool(~data & 2);
// P22,P23: speaker lead 1,2
m_dac->write(BIT(data, 2) & BIT(~data, 3));
// P24-P26: led select
m_led_select = ~data >> 4 & 7;
m_inp_mux &= ~0xff; // ?
update_display();
}
READ8_MEMBER(presto_state::input_r)
{
u8 data = 0;
// P10-P17: multiplexed inputs
return ~read_inputs(9) & 0xff;
// read chessboard
for (int i = 0; i < 8; i++)
if (BIT(m_inp_mux, i))
data |= m_board->read_rank(i);
// read keypad
if (m_kp_select)
data |= m_inputs[0]->read();
return ~data;
}
@ -122,9 +171,7 @@ READ8_MEMBER(presto_state::input_r)
******************************************************************************/
static INPUT_PORTS_START( presto )
PORT_INCLUDE( generic_cb_buttons )
PORT_START("IN.8")
PORT_START("IN.0")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("Black/White") // Octo calls it "Change Color"
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("Verify / Pawn")
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("Set Up / Rook")
@ -158,7 +205,12 @@ void presto_state::presto(machine_config &config)
m_maincpu->p2_out_cb().set(FUNC(presto_state::control_w));
m_maincpu->bus_out_cb().set(FUNC(presto_state::mux_w));
TIMER(config, "display_decay").configure_periodic(FUNC(presto_state::display_decay_tick), attotime::from_msec(1));
SENSORBOARD(config, m_board).set_type(sensorboard_device::BUTTONS);
m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess));
m_board->set_delay(attotime::from_msec(320));
/* video hardware */
PWM_DISPLAY(config, m_display).set_size(3, 8);
config.set_default_layout(layout_novag_presto);
/* sound hardware */
@ -173,6 +225,8 @@ void presto_state::octo(machine_config &config)
/* basic machine hardware */
m_maincpu->set_clock(12000000); // LC circuit, measured, see octo_set_cpu_freq
m_board->set_delay(attotime::from_msec(160));
}
@ -200,5 +254,5 @@ ROM_END
******************************************************************************/
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS
CONS( 1984, npresto, 0, 0, presto, presto, presto_state, empty_init, "Novag", "Presto (Novag)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS )
CONS( 1987, nocto, npresto, 0, octo, octo, octo_state, empty_init, "Novag", "Octo (Novag)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_CONTROLS )
CONS( 1984, npresto, 0, 0, presto, presto, presto_state, empty_init, "Novag", "Presto (Novag)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
CONS( 1987, nocto, npresto, 0, octo, octo, octo_state, empty_init, "Novag", "Octo (Novag)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )

View File

@ -4,7 +4,8 @@
/******************************************************************************
Novag Savant, chess computer with touchscreen. It was followed by Savant II and
Savant Royale on similar hardware. The chess engine is MyChess by David Kittinger.
Savant Royale on similar hardware, the latter was a German limited release overclock
version of Savant II. The chess engine is MyChess by David Kittinger.
Hardware overview:
- Zilog Z80B @ 6MHz

View File

@ -31,69 +31,69 @@
</element>
<element name="text_1">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string="1"><color red="0.01" green="0.01" blue="0.01" /></text>
<rect><color red="0.5" green="0.37" blue="0.3" /></rect>
<text string="1"><color red="0.87" green="0.87" blue="0.84" /></text>
</element>
<element name="text_2">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string="2"><color red="0.01" green="0.01" blue="0.01" /></text>
<rect><color red="0.5" green="0.37" blue="0.3" /></rect>
<text string="2"><color red="0.87" green="0.87" blue="0.84" /></text>
</element>
<element name="text_3">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string="3"><color red="0.01" green="0.01" blue="0.01" /></text>
<rect><color red="0.5" green="0.37" blue="0.3" /></rect>
<text string="3"><color red="0.87" green="0.87" blue="0.84" /></text>
</element>
<element name="text_4">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string="4"><color red="0.01" green="0.01" blue="0.01" /></text>
<rect><color red="0.5" green="0.37" blue="0.3" /></rect>
<text string="4"><color red="0.87" green="0.87" blue="0.84" /></text>
</element>
<element name="text_5">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string="5"><color red="0.01" green="0.01" blue="0.01" /></text>
<rect><color red="0.5" green="0.37" blue="0.3" /></rect>
<text string="5"><color red="0.87" green="0.87" blue="0.84" /></text>
</element>
<element name="text_6">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string="6"><color red="0.01" green="0.01" blue="0.01" /></text>
<rect><color red="0.5" green="0.37" blue="0.3" /></rect>
<text string="6"><color red="0.87" green="0.87" blue="0.84" /></text>
</element>
<element name="text_7">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string="7"><color red="0.01" green="0.01" blue="0.01" /></text>
<rect><color red="0.5" green="0.37" blue="0.3" /></rect>
<text string="7"><color red="0.87" green="0.87" blue="0.84" /></text>
</element>
<element name="text_8">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string="8"><color red="0.01" green="0.01" blue="0.01" /></text>
<rect><color red="0.5" green="0.37" blue="0.3" /></rect>
<text string="8"><color red="0.87" green="0.87" blue="0.84" /></text>
</element>
<element name="text_a">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string="A"><color red="0.01" green="0.01" blue="0.01" /></text>
<rect><color red="0.5" green="0.37" blue="0.3" /></rect>
<text string="A"><color red="0.87" green="0.87" blue="0.84" /></text>
</element>
<element name="text_b">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string="B"><color red="0.01" green="0.01" blue="0.01" /></text>
<rect><color red="0.5" green="0.37" blue="0.3" /></rect>
<text string="B"><color red="0.87" green="0.87" blue="0.84" /></text>
</element>
<element name="text_c">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string="C"><color red="0.01" green="0.01" blue="0.01" /></text>
<rect><color red="0.5" green="0.37" blue="0.3" /></rect>
<text string="C"><color red="0.87" green="0.87" blue="0.84" /></text>
</element>
<element name="text_d">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string="D"><color red="0.01" green="0.01" blue="0.01" /></text>
<rect><color red="0.5" green="0.37" blue="0.3" /></rect>
<text string="D"><color red="0.87" green="0.87" blue="0.84" /></text>
</element>
<element name="text_e">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string="E"><color red="0.01" green="0.01" blue="0.01" /></text>
<rect><color red="0.5" green="0.37" blue="0.3" /></rect>
<text string="E"><color red="0.87" green="0.87" blue="0.84" /></text>
</element>
<element name="text_f">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string="F"><color red="0.01" green="0.01" blue="0.01" /></text>
<rect><color red="0.5" green="0.37" blue="0.3" /></rect>
<text string="F"><color red="0.87" green="0.87" blue="0.84" /></text>
</element>
<element name="text_g">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string="G"><color red="0.01" green="0.01" blue="0.01" /></text>
<rect><color red="0.5" green="0.37" blue="0.3" /></rect>
<text string="G"><color red="0.87" green="0.87" blue="0.84" /></text>
</element>
<element name="text_h">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string="H"><color red="0.01" green="0.01" blue="0.01" /></text>
<rect><color red="0.5" green="0.37" blue="0.3" /></rect>
<text string="H"><color red="0.87" green="0.87" blue="0.84" /></text>
</element>
<element name="text_l0"><text string="0"><color red="0.81" green="0.8" blue="0.79" /></text></element>
@ -138,7 +138,7 @@
<!-- sb board -->
<element name="cblack"><rect><color red="0.5" green="0.37" blue="0.3" /></rect></element>
<element name="cwhite"><rect><color red="0.81" green="0.8" blue="0.79" /></rect></element>
<element name="cwhite"><rect><color red="0.85" green="0.83" blue="0.7" /></rect></element>
<element name="hlbb" defstate="0">
<text string=" "><bounds x="0" y="0" width="1" height="1" /></text>
@ -303,34 +303,34 @@
<element name="text_uit2"><text string="INTERFACE"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_uib1"><text string="BOARD:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_uib2">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<rect><color red="0.85" green="0.83" blue="0.7" /></rect>
<text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text>
</element>
<element name="text_uib3">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<rect><color red="0.85" green="0.83" blue="0.7" /></rect>
<text string="CLEAR"><color red="0.01" green="0.01" blue="0.01" /></text>
</element>
<element name="text_uis1"><text string="SPAWN:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_uih1"><text string="HAND:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_uih2">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<rect><color red="0.85" green="0.83" blue="0.7" /></rect>
<text string="REMOVE"><color red="0.01" green="0.01" blue="0.01" /></text>
</element>
<element name="text_uiu1"><text string="UNDO:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_uiu2a">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<rect><color red="0.85" green="0.83" blue="0.7" /></rect>
<text string=" &lt;&lt;"><color red="0.01" green="0.01" blue="0.01" /></text>
</element>
<element name="text_uiu2b">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<rect><color red="0.85" green="0.83" blue="0.7" /></rect>
<text string=" &lt; "><color red="0.01" green="0.01" blue="0.01" /></text>
</element>
<element name="text_uiu2c">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<rect><color red="0.85" green="0.83" blue="0.7" /></rect>
<text string=" &gt;"><color red="0.01" green="0.01" blue="0.01" /></text>
</element>
<element name="text_uiu2d">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<rect><color red="0.85" green="0.83" blue="0.7" /></rect>
<text string=" &gt;&gt;"><color red="0.01" green="0.01" blue="0.01" /></text>
</element>
<element name="text_uiu3a" defstate="0">
@ -431,7 +431,7 @@
<view name="Internal Layout">
<bounds left="-14" right="106.5" top="-2" bottom="88" />
<bezel element="white"><bounds x="-2" y="-2" width="90" height="90" /></bezel>
<bezel element="cblack"><bounds x="-2" y="-2" width="90" height="90" /></bezel>
<bezel element="black"><bounds x="2" y="2" width="82" height="82" /></bezel>
<group ref="sb_board"><bounds x="3" y="3" width="80" height="80" /></group>

View File

@ -14,16 +14,6 @@
<disk state="0"><color red="0.015" green="0.16" blue="0.01" /></disk>
</element>
<element name="hl" defstate="0">
<text string=" ">
<bounds x="0.0" y="0.0" width="1.0" height="1.0" />
<color red="0.0" green="0.0" blue="0.0" />
</text>
<disk state="1">
<bounds x="0.12" y="0.12" width="0.76" height="0.76" />
<color red="1.0" green="1.0" blue="1.0" />
</disk>
</element>
<element name="hlb" defstate="0">
<text string=" ">
<bounds x="0.0" y="0.0" width="1.0" height="1.0" />
@ -35,9 +25,6 @@
</disk>
</element>
<element name="black"><rect><color red="0.17" green="0.15" blue="0.15" /></rect></element>
<element name="white"><rect><color red="0.81" green="0.8" blue="0.79" /></rect></element>
<element name="text_1"><text string="1"><color red="0.9" green="0.9" blue="0.9" /></text></element>
<element name="text_2"><text string="2"><color red="0.9" green="0.9" blue="0.9" /></text></element>
<element name="text_3"><text string="3"><color red="0.9" green="0.9" blue="0.9" /></text></element>
@ -63,232 +50,396 @@
<element name="text_r1">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string="Black/White"><color red="0.1" green="0.1" blue="0.1" /></text>
<text string="Black/White"><color red="0.5" green="0.37" blue="0.3" /></text>
</element>
<element name="text_r2">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string="Verify"><color red="0.1" green="0.1" blue="0.1" /></text>
<text string="Verify"><color red="0.5" green="0.37" blue="0.3" /></text>
</element>
<element name="text_r3">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string="Set Up"><color red="0.1" green="0.1" blue="0.1" /></text>
<text string="Set Up"><color red="0.5" green="0.37" blue="0.3" /></text>
</element>
<element name="text_r5">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string="Set Level"><color red="0.1" green="0.1" blue="0.1" /></text>
<text string="Set Level"><color red="0.5" green="0.37" blue="0.3" /></text>
</element>
<element name="text_r7">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string="Take Back"><color red="0.1" green="0.1" blue="0.1" /></text>
<text string="Take Back"><color red="0.5" green="0.37" blue="0.3" /></text>
</element>
<element name="text_r8">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string="Go"><color red="0.1" green="0.1" blue="0.1" /></text>
<text string="Go"><color red="0.5" green="0.37" blue="0.3" /></text>
</element>
<element name="text_king">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string="[K]"><color red="0.1" green="0.1" blue="0.1" /></text>
<text string="[K]"><color red="0.5" green="0.37" blue="0.3" /></text>
</element>
<element name="text_queen">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string="[Q]"><color red="0.1" green="0.1" blue="0.1" /></text>
<text string="[Q]"><color red="0.5" green="0.37" blue="0.3" /></text>
</element>
<element name="text_rook">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string="[R]"><color red="0.1" green="0.1" blue="0.1" /></text>
<text string="[R]"><color red="0.5" green="0.37" blue="0.3" /></text>
</element>
<element name="text_bishop">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string="[B]"><color red="0.1" green="0.1" blue="0.1" /></text>
<text string="[B]"><color red="0.5" green="0.37" blue="0.3" /></text>
</element>
<element name="text_knight">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string="[N]"><color red="0.1" green="0.1" blue="0.1" /></text>
<text string="[N]"><color red="0.5" green="0.37" blue="0.3" /></text>
</element>
<element name="text_pawn">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string="[P]"><color red="0.1" green="0.1" blue="0.1" /></text>
<text string="[P]"><color red="0.5" green="0.37" blue="0.3" /></text>
</element>
<!-- sb board -->
<element name="cblack"><rect><color red="0.5" green="0.37" blue="0.3" /></rect></element>
<element name="cwhite"><rect><color red="0.81" green="0.8" blue="0.79" /></rect></element>
<element name="hlbb" defstate="0">
<text string=" "><bounds x="0" y="0" width="1" height="1" /></text>
<disk state="1">
<bounds x="0.12" y="0.12" width="0.76" height="0.76" />
<color red="0" green="0" blue="0" />
</disk>
</element>
<element name="piece" defstate="0">
<image file="chess/wp.png" state="1"/>
<image file="chess/wn.png" state="2"/>
<image file="chess/wb.png" state="3"/>
<image file="chess/wr.png" state="4"/>
<image file="chess/wq.png" state="5"/>
<image file="chess/wk.png" state="6"/>
<image file="chess/bp.png" state="7"/>
<image file="chess/bn.png" state="8"/>
<image file="chess/bb.png" state="9"/>
<image file="chess/br.png" state="10"/>
<image file="chess/bq.png" state="11"/>
<image file="chess/bk.png" state="12"/>
<!-- selected pieces -->
<image file="chess/wp.png" state="13"><color alpha="0.5" /></image>
<image file="chess/wn.png" state="14"><color alpha="0.5" /></image>
<image file="chess/wb.png" state="15"><color alpha="0.5" /></image>
<image file="chess/wr.png" state="16"><color alpha="0.5" /></image>
<image file="chess/wq.png" state="17"><color alpha="0.5" /></image>
<image file="chess/wk.png" state="18"><color alpha="0.5" /></image>
<image file="chess/bp.png" state="19"><color alpha="0.5" /></image>
<image file="chess/bn.png" state="20"><color alpha="0.5" /></image>
<image file="chess/bb.png" state="21"><color alpha="0.5" /></image>
<image file="chess/br.png" state="22"><color alpha="0.5" /></image>
<image file="chess/bq.png" state="23"><color alpha="0.5" /></image>
<image file="chess/bk.png" state="24"><color alpha="0.5" /></image>
</element>
<group name="sb_board">
<bounds x="0" y="0" width="80" height="80" />
<!-- squares (avoid seams) -->
<bezel element="cwhite"><bounds x="0" y="0" width="11" height="11" /></bezel>
<bezel element="cblack"><bounds x="10" y="0" width="11" height="11" /></bezel>
<bezel element="cwhite"><bounds x="20" y="0" width="11" height="11" /></bezel>
<bezel element="cblack"><bounds x="30" y="0" width="11" height="11" /></bezel>
<bezel element="cwhite"><bounds x="40" y="0" width="11" height="11" /></bezel>
<bezel element="cblack"><bounds x="50" y="0" width="11" height="11" /></bezel>
<bezel element="cwhite"><bounds x="60" y="0" width="11" height="11" /></bezel>
<bezel element="cblack"><bounds x="70" y="0" width="10" height="11" /></bezel>
<bezel element="cblack"><bounds x="0" y="10" width="11" height="11" /></bezel>
<bezel element="cwhite"><bounds x="10" y="10" width="11" height="11" /></bezel>
<bezel element="cblack"><bounds x="20" y="10" width="11" height="11" /></bezel>
<bezel element="cwhite"><bounds x="30" y="10" width="11" height="11" /></bezel>
<bezel element="cblack"><bounds x="40" y="10" width="11" height="11" /></bezel>
<bezel element="cwhite"><bounds x="50" y="10" width="11" height="11" /></bezel>
<bezel element="cblack"><bounds x="60" y="10" width="11" height="11" /></bezel>
<bezel element="cwhite"><bounds x="70" y="10" width="10" height="11" /></bezel>
<bezel element="cwhite"><bounds x="0" y="20" width="11" height="11" /></bezel>
<bezel element="cblack"><bounds x="10" y="20" width="11" height="11" /></bezel>
<bezel element="cwhite"><bounds x="20" y="20" width="11" height="11" /></bezel>
<bezel element="cblack"><bounds x="30" y="20" width="11" height="11" /></bezel>
<bezel element="cwhite"><bounds x="40" y="20" width="11" height="11" /></bezel>
<bezel element="cblack"><bounds x="50" y="20" width="11" height="11" /></bezel>
<bezel element="cwhite"><bounds x="60" y="20" width="11" height="11" /></bezel>
<bezel element="cblack"><bounds x="70" y="20" width="10" height="11" /></bezel>
<bezel element="cblack"><bounds x="0" y="30" width="11" height="11" /></bezel>
<bezel element="cwhite"><bounds x="10" y="30" width="11" height="11" /></bezel>
<bezel element="cblack"><bounds x="20" y="30" width="11" height="11" /></bezel>
<bezel element="cwhite"><bounds x="30" y="30" width="11" height="11" /></bezel>
<bezel element="cblack"><bounds x="40" y="30" width="11" height="11" /></bezel>
<bezel element="cwhite"><bounds x="50" y="30" width="11" height="11" /></bezel>
<bezel element="cblack"><bounds x="60" y="30" width="11" height="11" /></bezel>
<bezel element="cwhite"><bounds x="70" y="30" width="10" height="11" /></bezel>
<bezel element="cwhite"><bounds x="0" y="40" width="11" height="11" /></bezel>
<bezel element="cblack"><bounds x="10" y="40" width="11" height="11" /></bezel>
<bezel element="cwhite"><bounds x="20" y="40" width="11" height="11" /></bezel>
<bezel element="cblack"><bounds x="30" y="40" width="11" height="11" /></bezel>
<bezel element="cwhite"><bounds x="40" y="40" width="11" height="11" /></bezel>
<bezel element="cblack"><bounds x="50" y="40" width="11" height="11" /></bezel>
<bezel element="cwhite"><bounds x="60" y="40" width="11" height="11" /></bezel>
<bezel element="cblack"><bounds x="70" y="40" width="10" height="11" /></bezel>
<bezel element="cblack"><bounds x="0" y="50" width="11" height="11" /></bezel>
<bezel element="cwhite"><bounds x="10" y="50" width="11" height="11" /></bezel>
<bezel element="cblack"><bounds x="20" y="50" width="11" height="11" /></bezel>
<bezel element="cwhite"><bounds x="30" y="50" width="11" height="11" /></bezel>
<bezel element="cblack"><bounds x="40" y="50" width="11" height="11" /></bezel>
<bezel element="cwhite"><bounds x="50" y="50" width="11" height="11" /></bezel>
<bezel element="cblack"><bounds x="60" y="50" width="11" height="11" /></bezel>
<bezel element="cwhite"><bounds x="70" y="50" width="10" height="11" /></bezel>
<bezel element="cwhite"><bounds x="0" y="60" width="11" height="11" /></bezel>
<bezel element="cblack"><bounds x="10" y="60" width="11" height="11" /></bezel>
<bezel element="cwhite"><bounds x="20" y="60" width="11" height="11" /></bezel>
<bezel element="cblack"><bounds x="30" y="60" width="11" height="11" /></bezel>
<bezel element="cwhite"><bounds x="40" y="60" width="11" height="11" /></bezel>
<bezel element="cblack"><bounds x="50" y="60" width="11" height="11" /></bezel>
<bezel element="cwhite"><bounds x="60" y="60" width="11" height="11" /></bezel>
<bezel element="cblack"><bounds x="70" y="60" width="10" height="11" /></bezel>
<bezel element="cblack"><bounds x="0" y="70" width="11" height="10" /></bezel>
<bezel element="cwhite"><bounds x="10" y="70" width="11" height="10" /></bezel>
<bezel element="cblack"><bounds x="20" y="70" width="11" height="10" /></bezel>
<bezel element="cwhite"><bounds x="30" y="70" width="11" height="10" /></bezel>
<bezel element="cblack"><bounds x="40" y="70" width="11" height="10" /></bezel>
<bezel element="cwhite"><bounds x="50" y="70" width="11" height="10" /></bezel>
<bezel element="cblack"><bounds x="60" y="70" width="11" height="10" /></bezel>
<bezel element="cwhite"><bounds x="70" y="70" width="10" height="10" /></bezel>
<!-- sensors, pieces -->
<repeat count="8">
<param name="y" start="0" increment="10" />
<param name="i" start="8" increment="-1" />
<bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
<bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
<bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
<bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
<bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
<bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
<bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
<bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x80"><bounds x="70" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
<bezel name="piece_a~i~" element="piece"><bounds x="0" y="~y~" width="10" height="10" /></bezel>
<bezel name="piece_b~i~" element="piece"><bounds x="10" y="~y~" width="10" height="10" /></bezel>
<bezel name="piece_c~i~" element="piece"><bounds x="20" y="~y~" width="10" height="10" /></bezel>
<bezel name="piece_d~i~" element="piece"><bounds x="30" y="~y~" width="10" height="10" /></bezel>
<bezel name="piece_e~i~" element="piece"><bounds x="40" y="~y~" width="10" height="10" /></bezel>
<bezel name="piece_f~i~" element="piece"><bounds x="50" y="~y~" width="10" height="10" /></bezel>
<bezel name="piece_g~i~" element="piece"><bounds x="60" y="~y~" width="10" height="10" /></bezel>
<bezel name="piece_h~i~" element="piece"><bounds x="70" y="~y~" width="10" height="10" /></bezel>
</repeat>
</group>
<!-- sb ui -->
<element name="hlub" defstate="0">
<rect state="1"><color red="0" green="0" blue="0" /></rect>
</element>
<element name="text_uit1"><text string="S.BOARD"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_uit2"><text string="INTERFACE"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_uib1"><text string="BOARD:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_uib2">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text>
</element>
<element name="text_uib3">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string="CLEAR"><color red="0.01" green="0.01" blue="0.01" /></text>
</element>
<element name="text_uis1"><text string="SPAWN:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_uih1"><text string="HAND:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_uih2">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string="REMOVE"><color red="0.01" green="0.01" blue="0.01" /></text>
</element>
<element name="text_uiu1"><text string="UNDO:"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_uiu2a">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string=" &lt;&lt;"><color red="0.01" green="0.01" blue="0.01" /></text>
</element>
<element name="text_uiu2b">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string=" &lt; "><color red="0.01" green="0.01" blue="0.01" /></text>
</element>
<element name="text_uiu2c">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string=" &gt;"><color red="0.01" green="0.01" blue="0.01" /></text>
</element>
<element name="text_uiu2d">
<rect><color red="0.81" green="0.8" blue="0.79" /></rect>
<text string=" &gt;&gt;"><color red="0.01" green="0.01" blue="0.01" /></text>
</element>
<element name="text_uiu3a" defstate="0">
<simplecounter maxstate="999" digits="1" align="2">
<color red="0.81" green="0.8" blue="0.79" />
</simplecounter>
</element>
<element name="text_uiu3b"><text string="/"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_uiu3c" defstate="0">
<simplecounter maxstate="999" digits="1" align="1">
<color red="0.81" green="0.8" blue="0.79" />
</simplecounter>
</element>
<group name="sb_ui">
<bounds x="0" y="0" width="10" height="80" />
<bezel element="cblack"><bounds x="0" y="0" width="10" height="1" /></bezel>
<bezel element="cblack"><bounds x="0" y="7" width="10" height="1" /></bezel>
<bezel element="cblack"><bounds x="0" y="79" width="10" height="1" /></bezel>
<bezel element="text_uit1"><bounds x="0" y="2" width="10" height="2" /></bezel>
<bezel element="text_uit2"><bounds x="0" y="4" width="10" height="2" /></bezel>
<!-- board -->
<bezel element="text_uib1"><bounds x="0" y="9" width="10" height="2" /></bezel>
<bezel element="cwhite"><bounds x="1" y="11.5" width="8" height="2.5" /></bezel>
<bezel element="cwhite"><bounds x="1" y="15" width="8" height="2.5" /></bezel>
<bezel element="text_uib2"><bounds x="1.5" y="11.75" width="7" height="2" /></bezel>
<bezel element="text_uib3"><bounds x="1.5" y="15.25" width="7" height="2" /></bezel>
<bezel element="hlub" inputtag="board:UI" inputmask="0x200"><bounds x="1" y="11.5" width="8" height="2.5" /><color alpha="0.25" /></bezel>
<bezel element="hlub" inputtag="board:UI" inputmask="0x100"><bounds x="1" y="15" width="8" height="2.5" /><color alpha="0.25" /></bezel>
<!-- spawn -->
<bezel element="text_uis1"><bounds x="0" y="20.5" width="10" height="2" /></bezel>
<bezel element="cwhite"><bounds x="1" y="23" width="8" height="12" /></bezel>
<bezel element="cwhite"><bounds x="1" y="36" width="8" height="12" /></bezel>
<bezel name="piece_ui1" element="piece"><bounds x="1" y="23" width="4" height="4" /></bezel>
<bezel name="piece_ui2" element="piece"><bounds x="1" y="27" width="4" height="4" /></bezel>
<bezel name="piece_ui3" element="piece"><bounds x="1" y="31" width="4" height="4" /></bezel>
<bezel name="piece_ui4" element="piece"><bounds x="5" y="23" width="4" height="4" /></bezel>
<bezel name="piece_ui5" element="piece"><bounds x="5" y="27" width="4" height="4" /></bezel>
<bezel name="piece_ui6" element="piece"><bounds x="5" y="31" width="4" height="4" /></bezel>
<bezel name="piece_ui7" element="piece"><bounds x="1" y="36" width="4" height="4" /></bezel>
<bezel name="piece_ui8" element="piece"><bounds x="1" y="40" width="4" height="4" /></bezel>
<bezel name="piece_ui9" element="piece"><bounds x="1" y="44" width="4" height="4" /></bezel>
<bezel name="piece_ui10" element="piece"><bounds x="5" y="36" width="4" height="4" /></bezel>
<bezel name="piece_ui11" element="piece"><bounds x="5" y="40" width="4" height="4" /></bezel>
<bezel name="piece_ui12" element="piece"><bounds x="5" y="44" width="4" height="4" /></bezel>
<bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></bezel>
<bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></bezel>
<bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></bezel>
<bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></bezel>
<bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></bezel>
<bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></bezel>
<bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></bezel>
<bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></bezel>
<bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></bezel>
<bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></bezel>
<bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></bezel>
<bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0800"><bounds x="5" y="44" width="4" height="4" /><color alpha="0.25" /></bezel>
<!-- hand -->
<bezel element="text_uih1"><bounds x="0" y="51" width="10" height="2" /></bezel>
<bezel element="cblack"><bounds x="1" y="53.5" width="8" height="6" /></bezel>
<bezel name="piece_ui0" element="piece"><bounds x="2" y="53.5" width="6" height="6" /></bezel>
<bezel element="cwhite"><bounds x="1" y="60.5" width="8" height="2.5" /></bezel>
<bezel element="text_uih2"><bounds x="1.5" y="60.75" width="7" height="2" /></bezel>
<bezel element="hlub" inputtag="board:UI" inputmask="0x08"><bounds x="1" y="60.5" width="8" height="2.5" /><color alpha="0.25" /></bezel>
<!-- undo -->
<bezel element="text_uiu1"><bounds x="0" y="66" width="10" height="2" /></bezel>
<bezel element="cwhite"><bounds x="1" y="68.5" width="1.7" height="6" /></bezel>
<bezel element="cwhite"><bounds x="3.1" y="68.5" width="1.7" height="6" /></bezel>
<bezel element="cwhite"><bounds x="5.2" y="68.5" width="1.7" height="6" /></bezel>
<bezel element="cwhite"><bounds x="7.3" y="68.5" width="1.7" height="6" /></bezel>
<bezel element="text_uiu2a"><bounds x="1" y="69.5" width="1.7" height="4" /></bezel>
<bezel element="text_uiu2b"><bounds x="3.1" y="69.5" width="1.7" height="4" /></bezel>
<bezel element="text_uiu2c"><bounds x="5.2" y="69.5" width="1.7" height="4" /></bezel>
<bezel element="text_uiu2d"><bounds x="7.3" y="69.5" width="1.7" height="4" /></bezel>
<bezel element="hlub" inputtag="board:UI" inputmask="0x10"><bounds x="1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
<bezel element="hlub" inputtag="board:UI" inputmask="0x20"><bounds x="3.1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
<bezel element="hlub" inputtag="board:UI" inputmask="0x40"><bounds x="5.2" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
<bezel element="hlub" inputtag="board:UI" inputmask="0x80"><bounds x="7.3" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
<bezel name="count_ui0" element="text_uiu3a"><bounds x="0" y="75" width="4" height="2" /></bezel>
<bezel name="count_ui1" element="text_uiu3c"><bounds x="6" y="75" width="4" height="2" /></bezel>
<bezel element="text_uiu3b"><bounds x="4" y="75" width="2" height="2" /></bezel>
</group>
<!-- build screen -->
<view name="Internal Layout">
<bounds left="-6" right="100.5" top="-2" bottom="89" />
<bounds left="-16" right="99.5" top="-1" bottom="88" />
<bezel element="cblack"><bounds x="3" y="3" width="90" height="80" /></bezel>
<group ref="sb_board"><bounds x="3" y="3" width="80" height="80" /></group>
<group ref="sb_ui"><bounds x="-14.5" y="3" width="10" height="80" /></group>
<!-- chessboard coords -->
<bezel element="text_8"><bounds x="-2.75" y="9" width="2" height="2" /></bezel>
<bezel element="text_7"><bounds x="-2.75" y="19" width="2" height="2" /></bezel>
<bezel element="text_6"><bounds x="-2.75" y="29" width="2" height="2" /></bezel>
<bezel element="text_5"><bounds x="-2.75" y="39" width="2" height="2" /></bezel>
<bezel element="text_4"><bounds x="-2.75" y="49" width="2" height="2" /></bezel>
<bezel element="text_3"><bounds x="-2.75" y="59" width="2" height="2" /></bezel>
<bezel element="text_2"><bounds x="-2.75" y="69" width="2" height="2" /></bezel>
<bezel element="text_1"><bounds x="-2.75" y="79" width="2" height="2" /></bezel>
<bezel element="text_8"><bounds x="-1.75" y="9" width="2" height="2" /></bezel>
<bezel element="text_7"><bounds x="-1.75" y="19" width="2" height="2" /></bezel>
<bezel element="text_6"><bounds x="-1.75" y="29" width="2" height="2" /></bezel>
<bezel element="text_5"><bounds x="-1.75" y="39" width="2" height="2" /></bezel>
<bezel element="text_4"><bounds x="-1.75" y="49" width="2" height="2" /></bezel>
<bezel element="text_3"><bounds x="-1.75" y="59" width="2" height="2" /></bezel>
<bezel element="text_2"><bounds x="-1.75" y="69" width="2" height="2" /></bezel>
<bezel element="text_1"><bounds x="-1.75" y="79" width="2" height="2" /></bezel>
<bezel element="text_l1"><bounds x="-6" y="74.75" width="8" height="2" /></bezel>
<bezel element="text_l2"><bounds x="-6" y="64.75" width="8" height="2" /></bezel>
<bezel element="text_l3"><bounds x="-6" y="54.75" width="8" height="2" /></bezel>
<bezel element="text_l7"><bounds x="-6" y="14.75" width="8" height="2" /></bezel>
<bezel element="text_l1"><bounds x="-5" y="74.75" width="8" height="2" /></bezel>
<bezel element="text_l2"><bounds x="-5" y="64.75" width="8" height="2" /></bezel>
<bezel element="text_l3"><bounds x="-5" y="54.75" width="8" height="2" /></bezel>
<bezel element="text_l7"><bounds x="-5" y="14.75" width="8" height="2" /></bezel>
<bezel element="text_a"><bounds x="8" y="84.75" width="2" height="2" /></bezel>
<bezel element="text_b"><bounds x="18" y="84.75" width="2" height="2" /></bezel>
<bezel element="text_c"><bounds x="28" y="84.75" width="2" height="2" /></bezel>
<bezel element="text_d"><bounds x="38" y="84.75" width="2" height="2" /></bezel>
<bezel element="text_e"><bounds x="48" y="84.75" width="2" height="2" /></bezel>
<bezel element="text_f"><bounds x="58" y="84.75" width="2" height="2" /></bezel>
<bezel element="text_g"><bounds x="68" y="84.75" width="2" height="2" /></bezel>
<bezel element="text_h"><bounds x="78" y="84.75" width="2" height="2" /></bezel>
<bezel element="text_a"><bounds x="8" y="83.75" width="2" height="2" /></bezel>
<bezel element="text_b"><bounds x="18" y="83.75" width="2" height="2" /></bezel>
<bezel element="text_c"><bounds x="28" y="83.75" width="2" height="2" /></bezel>
<bezel element="text_d"><bounds x="38" y="83.75" width="2" height="2" /></bezel>
<bezel element="text_e"><bounds x="48" y="83.75" width="2" height="2" /></bezel>
<bezel element="text_f"><bounds x="58" y="83.75" width="2" height="2" /></bezel>
<bezel element="text_g"><bounds x="68" y="83.75" width="2" height="2" /></bezel>
<bezel element="text_h"><bounds x="78" y="83.75" width="2" height="2" /></bezel>
<!-- chessboard leds -->
<bezel name="0.7" element="ledr"><bounds x="-2.5" y="7.25" width="1.5" height="1.5" /></bezel>
<bezel name="0.6" element="ledr"><bounds x="-2.5" y="17.25" width="1.5" height="1.5" /></bezel>
<bezel name="0.5" element="ledr"><bounds x="-2.5" y="27.25" width="1.5" height="1.5" /></bezel>
<bezel name="0.4" element="ledr"><bounds x="-2.5" y="37.25" width="1.5" height="1.5" /></bezel>
<bezel name="0.3" element="ledr"><bounds x="-2.5" y="47.25" width="1.5" height="1.5" /></bezel>
<bezel name="0.2" element="ledr"><bounds x="-2.5" y="57.25" width="1.5" height="1.5" /></bezel>
<bezel name="0.1" element="ledr"><bounds x="-2.5" y="67.25" width="1.5" height="1.5" /></bezel>
<bezel name="0.0" element="ledr"><bounds x="-2.5" y="77.25" width="1.5" height="1.5" /></bezel>
<bezel name="0.7" element="ledr"><bounds x="-1.5" y="7.25" width="1.5" height="1.5" /></bezel>
<bezel name="0.6" element="ledr"><bounds x="-1.5" y="17.25" width="1.5" height="1.5" /></bezel>
<bezel name="0.5" element="ledr"><bounds x="-1.5" y="27.25" width="1.5" height="1.5" /></bezel>
<bezel name="0.4" element="ledr"><bounds x="-1.5" y="37.25" width="1.5" height="1.5" /></bezel>
<bezel name="0.3" element="ledr"><bounds x="-1.5" y="47.25" width="1.5" height="1.5" /></bezel>
<bezel name="0.2" element="ledr"><bounds x="-1.5" y="57.25" width="1.5" height="1.5" /></bezel>
<bezel name="0.1" element="ledr"><bounds x="-1.5" y="67.25" width="1.5" height="1.5" /></bezel>
<bezel name="0.0" element="ledr"><bounds x="-1.5" y="77.25" width="1.5" height="1.5" /></bezel>
<bezel name="1.0" element="ledr"><bounds x="6" y="85" width="1.5" height="1.5" /></bezel>
<bezel name="1.1" element="ledr"><bounds x="16" y="85" width="1.5" height="1.5" /></bezel>
<bezel name="1.2" element="ledr"><bounds x="26" y="85" width="1.5" height="1.5" /></bezel>
<bezel name="1.3" element="ledr"><bounds x="36" y="85" width="1.5" height="1.5" /></bezel>
<bezel name="1.4" element="ledr"><bounds x="46" y="85" width="1.5" height="1.5" /></bezel>
<bezel name="1.5" element="ledr"><bounds x="56" y="85" width="1.5" height="1.5" /></bezel>
<bezel name="1.6" element="ledr"><bounds x="66" y="85" width="1.5" height="1.5" /></bezel>
<bezel name="1.7" element="ledr"><bounds x="76" y="85" width="1.5" height="1.5" /></bezel>
<bezel name="1.0" element="ledr"><bounds x="6" y="84" width="1.5" height="1.5" /></bezel>
<bezel name="1.1" element="ledr"><bounds x="16" y="84" width="1.5" height="1.5" /></bezel>
<bezel name="1.2" element="ledr"><bounds x="26" y="84" width="1.5" height="1.5" /></bezel>
<bezel name="1.3" element="ledr"><bounds x="36" y="84" width="1.5" height="1.5" /></bezel>
<bezel name="1.4" element="ledr"><bounds x="46" y="84" width="1.5" height="1.5" /></bezel>
<bezel name="1.5" element="ledr"><bounds x="56" y="84" width="1.5" height="1.5" /></bezel>
<bezel name="1.6" element="ledr"><bounds x="66" y="84" width="1.5" height="1.5" /></bezel>
<bezel name="1.7" element="ledr"><bounds x="76" y="84" width="1.5" height="1.5" /></bezel>
<bezel name="2.0" element="ledr"><bounds x="90.5" y="85" width="1.5" height="1.5" /></bezel>
<bezel name="2.1" element="ledg"><bounds x="86" y="85" width="1.5" height="1.5" /></bezel>
<bezel name="2.2" element="ledg"><bounds x="97" y="70.7" width="1.5" height="1.5" /></bezel>
<bezel name="2.3" element="ledg"><bounds x="97" y="60.7" width="1.5" height="1.5" /></bezel>
<!-- chessboard bezel -->
<bezel element="black"><bounds x="2" y="2" width="93" height="82" /></bezel>
<bezel element="white"><bounds x="3" y="3" width="80" height="80" /></bezel>
<bezel element="black"><bounds x="13" y="2.5" width="10" height="10.5" /></bezel>
<bezel element="black"><bounds x="33" y="2.5" width="10" height="10.5" /></bezel>
<bezel element="black"><bounds x="53" y="2.5" width="10" height="10.5" /></bezel>
<bezel element="black"><bounds x="73" y="2.5" width="10.5" height="10.5" /></bezel>
<bezel element="black"><bounds x="2.5" y="13" width="10.5" height="10" /></bezel>
<bezel element="black"><bounds x="23" y="13" width="10" height="10" /></bezel>
<bezel element="black"><bounds x="43" y="13" width="10" height="10" /></bezel>
<bezel element="black"><bounds x="63" y="13" width="10" height="10" /></bezel>
<bezel element="black"><bounds x="13" y="23" width="10" height="10" /></bezel>
<bezel element="black"><bounds x="33" y="23" width="10" height="10" /></bezel>
<bezel element="black"><bounds x="53" y="23" width="10" height="10" /></bezel>
<bezel element="black"><bounds x="73" y="23" width="10.5" height="10" /></bezel>
<bezel element="black"><bounds x="2.5" y="33" width="10.5" height="10" /></bezel>
<bezel element="black"><bounds x="23" y="33" width="10" height="10" /></bezel>
<bezel element="black"><bounds x="43" y="33" width="10" height="10" /></bezel>
<bezel element="black"><bounds x="63" y="33" width="10" height="10" /></bezel>
<bezel element="black"><bounds x="13" y="43" width="10" height="10" /></bezel>
<bezel element="black"><bounds x="33" y="43" width="10" height="10" /></bezel>
<bezel element="black"><bounds x="53" y="43" width="10" height="10" /></bezel>
<bezel element="black"><bounds x="73" y="43" width="10.5" height="10" /></bezel>
<bezel element="black"><bounds x="2.5" y="53" width="10.5" height="10" /></bezel>
<bezel element="black"><bounds x="23" y="53" width="10" height="10" /></bezel>
<bezel element="black"><bounds x="43" y="53" width="10" height="10" /></bezel>
<bezel element="black"><bounds x="63" y="53" width="10" height="10" /></bezel>
<bezel element="black"><bounds x="13" y="63" width="10" height="10" /></bezel>
<bezel element="black"><bounds x="33" y="63" width="10" height="10" /></bezel>
<bezel element="black"><bounds x="53" y="63" width="10" height="10" /></bezel>
<bezel element="black"><bounds x="73" y="63" width="10.5" height="10" /></bezel>
<bezel element="black"><bounds x="2.5" y="73" width="10.5" height="10.5" /></bezel>
<bezel element="black"><bounds x="23" y="73" width="10" height="10.5" /></bezel>
<bezel element="black"><bounds x="43" y="73" width="10" height="10.5" /></bezel>
<bezel element="black"><bounds x="63" y="73" width="10" height="10.5" /></bezel>
<!-- chessboard sensors -->
<bezel element="hl" inputtag="IN.7" inputmask="0x01"><bounds x="3" y="3" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel element="hl" inputtag="IN.7" inputmask="0x02"><bounds x="13" y="3" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.7" inputmask="0x04"><bounds x="23" y="3" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel element="hl" inputtag="IN.7" inputmask="0x08"><bounds x="33" y="3" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.7" inputmask="0x10"><bounds x="43" y="3" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel element="hl" inputtag="IN.7" inputmask="0x20"><bounds x="53" y="3" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.7" inputmask="0x40"><bounds x="63" y="3" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel element="hl" inputtag="IN.7" inputmask="0x80"><bounds x="73" y="3" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.6" inputmask="0x01"><bounds x="3" y="13" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.6" inputmask="0x02"><bounds x="13" y="13" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel element="hl" inputtag="IN.6" inputmask="0x04"><bounds x="23" y="13" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.6" inputmask="0x08"><bounds x="33" y="13" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel element="hl" inputtag="IN.6" inputmask="0x10"><bounds x="43" y="13" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.6" inputmask="0x20"><bounds x="53" y="13" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel element="hl" inputtag="IN.6" inputmask="0x40"><bounds x="63" y="13" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.6" inputmask="0x80"><bounds x="73" y="13" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel element="hl" inputtag="IN.5" inputmask="0x01"><bounds x="3" y="23" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel element="hl" inputtag="IN.5" inputmask="0x02"><bounds x="13" y="23" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.5" inputmask="0x04"><bounds x="23" y="23" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel element="hl" inputtag="IN.5" inputmask="0x08"><bounds x="33" y="23" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.5" inputmask="0x10"><bounds x="43" y="23" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel element="hl" inputtag="IN.5" inputmask="0x20"><bounds x="53" y="23" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.5" inputmask="0x40"><bounds x="63" y="23" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel element="hl" inputtag="IN.5" inputmask="0x80"><bounds x="73" y="23" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.4" inputmask="0x01"><bounds x="3" y="33" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.4" inputmask="0x02"><bounds x="13" y="33" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel element="hl" inputtag="IN.4" inputmask="0x04"><bounds x="23" y="33" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.4" inputmask="0x08"><bounds x="33" y="33" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel element="hl" inputtag="IN.4" inputmask="0x10"><bounds x="43" y="33" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.4" inputmask="0x20"><bounds x="53" y="33" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel element="hl" inputtag="IN.4" inputmask="0x40"><bounds x="63" y="33" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.4" inputmask="0x80"><bounds x="73" y="33" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel element="hl" inputtag="IN.3" inputmask="0x01"><bounds x="3" y="43" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel element="hl" inputtag="IN.3" inputmask="0x02"><bounds x="13" y="43" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.3" inputmask="0x04"><bounds x="23" y="43" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel element="hl" inputtag="IN.3" inputmask="0x08"><bounds x="33" y="43" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.3" inputmask="0x10"><bounds x="43" y="43" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel element="hl" inputtag="IN.3" inputmask="0x20"><bounds x="53" y="43" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.3" inputmask="0x40"><bounds x="63" y="43" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel element="hl" inputtag="IN.3" inputmask="0x80"><bounds x="73" y="43" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.2" inputmask="0x01"><bounds x="3" y="53" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.2" inputmask="0x02"><bounds x="13" y="53" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel element="hl" inputtag="IN.2" inputmask="0x04"><bounds x="23" y="53" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.2" inputmask="0x08"><bounds x="33" y="53" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel element="hl" inputtag="IN.2" inputmask="0x10"><bounds x="43" y="53" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.2" inputmask="0x20"><bounds x="53" y="53" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel element="hl" inputtag="IN.2" inputmask="0x40"><bounds x="63" y="53" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.2" inputmask="0x80"><bounds x="73" y="53" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel element="hl" inputtag="IN.1" inputmask="0x01"><bounds x="3" y="63" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel element="hl" inputtag="IN.1" inputmask="0x02"><bounds x="13" y="63" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.1" inputmask="0x04"><bounds x="23" y="63" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel element="hl" inputtag="IN.1" inputmask="0x08"><bounds x="33" y="63" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.1" inputmask="0x10"><bounds x="43" y="63" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel element="hl" inputtag="IN.1" inputmask="0x20"><bounds x="53" y="63" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.1" inputmask="0x40"><bounds x="63" y="63" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel element="hl" inputtag="IN.1" inputmask="0x80"><bounds x="73" y="63" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.0" inputmask="0x01"><bounds x="3" y="73" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.0" inputmask="0x02"><bounds x="13" y="73" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel element="hl" inputtag="IN.0" inputmask="0x04"><bounds x="23" y="73" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.0" inputmask="0x08"><bounds x="33" y="73" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel element="hl" inputtag="IN.0" inputmask="0x10"><bounds x="43" y="73" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.0" inputmask="0x20"><bounds x="53" y="73" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel element="hl" inputtag="IN.0" inputmask="0x40"><bounds x="63" y="73" width="10" height="10" /><color alpha="0.2" /></bezel>
<bezel element="hl" inputtag="IN.0" inputmask="0x80"><bounds x="73" y="73" width="10" height="10" /><color alpha="0.4" /></bezel>
<bezel name="2.0" element="ledr"><bounds x="90.5" y="84" width="1.5" height="1.5" /></bezel>
<bezel name="2.1" element="ledg"><bounds x="86" y="84" width="1.5" height="1.5" /></bezel>
<bezel name="2.2" element="ledg"><bounds x="96" y="70.7" width="1.5" height="1.5" /></bezel>
<bezel name="2.3" element="ledg"><bounds x="96" y="60.7" width="1.5" height="1.5" /></bezel>
<!-- right side buttons -->
<bezel element="white"><bounds x="84" y="3" width="10" height="80" /></bezel>
<bezel element="cwhite"><bounds x="84" y="3" width="10" height="80" /></bezel>
<bezel element="text_r8"><bounds x="84.5" y="10.7" width="9" height="1.5" /></bezel>
<bezel element="text_r7"><bounds x="84.5" y="20.7" width="9" height="1.5" /></bezel>
@ -297,23 +448,23 @@
<bezel element="text_r2"><bounds x="84.5" y="70.7" width="9" height="1.5" /></bezel>
<bezel element="text_r1"><bounds x="84.5" y="80.7" width="9" height="1.5" /></bezel>
<bezel element="black"><bounds x="85.5" y="5.5" width="7" height="5" /></bezel>
<bezel element="black"><bounds x="85.5" y="15.5" width="7" height="5" /></bezel>
<bezel element="black"><bounds x="85.5" y="25.5" width="7" height="5" /></bezel>
<bezel element="black"><bounds x="85.5" y="35.5" width="7" height="5" /></bezel>
<bezel element="black"><bounds x="85.5" y="45.5" width="7" height="5" /></bezel>
<bezel element="black"><bounds x="85.5" y="55.5" width="7" height="5" /></bezel>
<bezel element="black"><bounds x="85.5" y="65.5" width="7" height="5" /></bezel>
<bezel element="black"><bounds x="85.5" y="75.5" width="7" height="5" /></bezel>
<bezel element="cblack"><bounds x="85.5" y="5.5" width="7" height="5" /></bezel>
<bezel element="cblack"><bounds x="85.5" y="15.5" width="7" height="5" /></bezel>
<bezel element="cblack"><bounds x="85.5" y="25.5" width="7" height="5" /></bezel>
<bezel element="cblack"><bounds x="85.5" y="35.5" width="7" height="5" /></bezel>
<bezel element="cblack"><bounds x="85.5" y="45.5" width="7" height="5" /></bezel>
<bezel element="cblack"><bounds x="85.5" y="55.5" width="7" height="5" /></bezel>
<bezel element="cblack"><bounds x="85.5" y="65.5" width="7" height="5" /></bezel>
<bezel element="cblack"><bounds x="85.5" y="75.5" width="7" height="5" /></bezel>
<bezel element="static_red"><bounds x="86" y="6" width="6" height="4" /></bezel>
<bezel element="white"><bounds x="86" y="16" width="6" height="4" /></bezel>
<bezel element="white"><bounds x="86" y="26" width="6" height="4" /></bezel>
<bezel element="white"><bounds x="86" y="36" width="6" height="4" /></bezel>
<bezel element="white"><bounds x="86" y="46" width="6" height="4" /></bezel>
<bezel element="white"><bounds x="86" y="56" width="6" height="4" /></bezel>
<bezel element="white"><bounds x="86" y="66" width="6" height="4" /></bezel>
<bezel element="white"><bounds x="89" y="76" width="3" height="4" /></bezel>
<bezel element="cwhite"><bounds x="86" y="16" width="6" height="4" /></bezel>
<bezel element="cwhite"><bounds x="86" y="26" width="6" height="4" /></bezel>
<bezel element="cwhite"><bounds x="86" y="36" width="6" height="4" /></bezel>
<bezel element="cwhite"><bounds x="86" y="46" width="6" height="4" /></bezel>
<bezel element="cwhite"><bounds x="86" y="56" width="6" height="4" /></bezel>
<bezel element="cwhite"><bounds x="86" y="66" width="6" height="4" /></bezel>
<bezel element="cwhite"><bounds x="89" y="76" width="3" height="4" /></bezel>
<bezel element="text_king"><bounds x="86" y="16.6" width="6" height="2.4" /></bezel>
<bezel element="text_queen"><bounds x="86" y="26.6" width="6" height="2.4" /></bezel>
@ -322,14 +473,14 @@
<bezel element="text_rook"><bounds x="86" y="56.6" width="6" height="2.4" /></bezel>
<bezel element="text_pawn"><bounds x="86" y="66.6" width="6" height="2.4" /></bezel>
<bezel element="hlb" inputtag="IN.8" inputmask="0x80"><bounds x="86" y="6" width="6" height="4" /><color alpha="0.25" /></bezel>
<bezel element="hlb" inputtag="IN.8" inputmask="0x40"><bounds x="86" y="16" width="6" height="4" /><color alpha="0.4" /></bezel>
<bezel element="hlb" inputtag="IN.8" inputmask="0x20"><bounds x="86" y="26" width="6" height="4" /><color alpha="0.4" /></bezel>
<bezel element="hlb" inputtag="IN.8" inputmask="0x10"><bounds x="86" y="36" width="6" height="4" /><color alpha="0.4" /></bezel>
<bezel element="hlb" inputtag="IN.8" inputmask="0x08"><bounds x="86" y="46" width="6" height="4" /><color alpha="0.4" /></bezel>
<bezel element="hlb" inputtag="IN.8" inputmask="0x04"><bounds x="86" y="56" width="6" height="4" /><color alpha="0.4" /></bezel>
<bezel element="hlb" inputtag="IN.8" inputmask="0x02"><bounds x="86" y="66" width="6" height="4" /><color alpha="0.4" /></bezel>
<bezel element="hlb" inputtag="IN.8" inputmask="0x01"><bounds x="86" y="76" width="6" height="4" /><color alpha="0.4" /></bezel>
<bezel element="hlb" inputtag="IN.0" inputmask="0x80"><bounds x="86" y="6" width="6" height="4" /><color alpha="0.25" /></bezel>
<bezel element="hlb" inputtag="IN.0" inputmask="0x40"><bounds x="86" y="16" width="6" height="4" /><color alpha="0.4" /></bezel>
<bezel element="hlb" inputtag="IN.0" inputmask="0x20"><bounds x="86" y="26" width="6" height="4" /><color alpha="0.4" /></bezel>
<bezel element="hlb" inputtag="IN.0" inputmask="0x10"><bounds x="86" y="36" width="6" height="4" /><color alpha="0.4" /></bezel>
<bezel element="hlb" inputtag="IN.0" inputmask="0x08"><bounds x="86" y="46" width="6" height="4" /><color alpha="0.4" /></bezel>
<bezel element="hlb" inputtag="IN.0" inputmask="0x04"><bounds x="86" y="56" width="6" height="4" /><color alpha="0.4" /></bezel>
<bezel element="hlb" inputtag="IN.0" inputmask="0x02"><bounds x="86" y="66" width="6" height="4" /><color alpha="0.4" /></bezel>
<bezel element="hlb" inputtag="IN.0" inputmask="0x01"><bounds x="86" y="76" width="6" height="4" /><color alpha="0.4" /></bezel>
</view>
</mamelayout>