saitek*: update some internal artwork

Systems promoted to working
---------------------------
Kasparov Prisma [hap, Sean Riddle]
Kasparov GK 2000 [hap, Sean Riddle]
This commit is contained in:
hap 2024-02-16 22:09:04 +01:00
parent 1033355d9e
commit b2c3b4ea91
12 changed files with 1512 additions and 395 deletions

View File

@ -60,6 +60,9 @@ public:
protected: protected:
h8325_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u32 start); h8325_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock, u32 start);
virtual u64 execute_clocks_to_cycles(u64 clocks) const noexcept override { return (clocks + 2 - 1) / 2; }
virtual u64 execute_cycles_to_clocks(u64 cycles) const noexcept override { return (cycles * 2); }
required_device<h8325_intc_device> m_intc; required_device<h8325_intc_device> m_intc;
required_device<h8_port_device> m_port1; required_device<h8_port_device> m_port1;
required_device<h8_port_device> m_port2; required_device<h8_port_device> m_port2;

View File

@ -12,6 +12,7 @@ authors:Sandro Ronco, hap
<color red="0.200" green="0.164" blue="0.169" /> <color red="0.200" green="0.164" blue="0.169" />
</led7seg> </led7seg>
</element> </element>
<element name="led" defstate="0"> <element name="led" defstate="0">
<rect state="0"> <rect state="0">
<color red="0.15" green="0.015" blue="0.02" /> <color red="0.15" green="0.015" blue="0.02" />
@ -20,50 +21,48 @@ authors:Sandro Ronco, hap
<color red="1" green="0.1" blue="0.15" /> <color red="1" green="0.1" blue="0.15" />
</rect> </rect>
</element> </element>
<element name="hlb" defstate="0">
<rect state="0"> <element name="but" defstate="0">
<bounds x="0.0" y="0.0" width="1.0" height="1.0" /> <rect state="0"><color red="0.2" green="0.2" blue="0.2" /></rect>
<color red="0.2" green="0.2" blue="0.2" /> <rect state="1"><color red="0.35" green="0.35" blue="0.35" /></rect>
</rect>
<rect 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" />
</rect>
</element> </element>
<element name="text_1"> <text string="1"><color red="1" green="1" blue="1" /></text> </element> <element name="text_1"><text string="1"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_2"> <text string="2"><color red="1" green="1" blue="1" /></text> </element> <element name="text_2"><text string="2"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_3"> <text string="3"><color red="1" green="1" blue="1" /></text> </element> <element name="text_3"><text string="3"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_4"> <text string="4"><color red="1" green="1" blue="1" /></text> </element> <element name="text_4"><text string="4"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_5"> <text string="5"><color red="1" green="1" blue="1" /></text> </element> <element name="text_5"><text string="5"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_6"> <text string="6"><color red="1" green="1" blue="1" /></text> </element> <element name="text_6"><text string="6"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_7"> <text string="7"><color red="1" green="1" blue="1" /></text> </element> <element name="text_7"><text string="7"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_8"> <text string="8"><color red="1" green="1" blue="1" /></text> </element> <element name="text_8"><text string="8"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_a"> <text string="A"><color red="1" green="1" blue="1" /></text> </element> <element name="text_a"><text string="A"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_b"> <text string="B"><color red="1" green="1" blue="1" /></text> </element> <element name="text_b"><text string="B"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_c"> <text string="C"><color red="1" green="1" blue="1" /></text> </element> <element name="text_c"><text string="C"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_d"> <text string="D"><color red="1" green="1" blue="1" /></text> </element> <element name="text_d"><text string="D"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_e"> <text string="E"><color red="1" green="1" blue="1" /></text> </element> <element name="text_e"><text string="E"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_f"> <text string="F"><color red="1" green="1" blue="1" /></text> </element> <element name="text_f"><text string="F"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_g"> <text string="G"><color red="1" green="1" blue="1" /></text> </element> <element name="text_g"><text string="G"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_h"> <text string="H"><color red="1" green="1" blue="1" /></text> </element> <element name="text_h"><text string="H"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_go"> <text string="GO" > <color red="1" green="1" blue="1" /></text> </element>
<element name="text_stop"> <text string="STOP" > <color red="1" green="1" blue="1" /></text> </element> <element name="text_b1"><text string="GO"></text></element>
<element name="text_newgame"> <text string="NEW GAME" > <color red="1" green="1" blue="1" /></text> </element> <element name="text_b2"><text string="STOP"></text></element>
<element name="text_play"> <text string="PLAY" > <color red="1" green="1" blue="1" /></text> </element> <element name="text_b3"><text string="NEW GAME"></text></element>
<element name="text_back"> <text string="BACK" > <color red="1" green="1" blue="1" /></text> </element> <element name="text_b4"><text string="PLAY"></text></element>
<element name="text_left"> <text string="&#x2190;" > <color red="1" green="1" blue="1" /></text> </element> <element name="text_b5"><text string="BACK"></text></element>
<element name="text_right"> <text string="&#x2192;" > <color red="1" green="1" blue="1" /></text> </element>
<element name="text_menu"> <text string="MENU" > <color red="1" green="1" blue="1" /></text> </element> <element name="text_b6"><text string="&#x2190;"></text></element> <!-- arrow left -->
<element name="text_up"> <text string="&#x2191;" > <color red="1" green="1" blue="1" /></text> </element> <element name="text_b7"><text string="&#x2192;"></text></element> <!-- arrow right -->
<element name="text_down"> <text string="&#x2193;" > <color red="1" green="1" blue="1" /></text> </element> <element name="text_b8"><text string="MENU"></text></element>
<element name="text_enter"> <text string="ENTER" > <color red="1" green="1" blue="1" /></text> </element> <element name="text_b9"><text string="&#x2191;"></text></element> <!-- arrow up -->
<element name="text_p1"> <image file="chess/wk.svg"/></element> <element name="text_b10"><text string="&#x2193;"></text></element> <!-- arrow down -->
<element name="text_p2"> <image file="chess/wq.svg"/></element> <element name="text_b11"><text string="ENTER"></text></element>
<element name="text_p3"> <image file="chess/wr.svg"/></element>
<element name="text_p4"> <image file="chess/wb.svg"/></element> <element name="text_p1"><image file="chess/wk.svg"/></element>
<element name="text_p5"> <image file="chess/wn.svg"/></element> <element name="text_p2"><image file="chess/wq.svg"/></element>
<element name="text_p6"> <image file="chess/wp.svg"/></element> <element name="text_p3"><image file="chess/wr.svg"/></element>
<element name="text_p4"><image file="chess/wb.svg"/></element>
<element name="text_p5"><image file="chess/wn.svg"/></element>
<element name="text_p6"><image file="chess/wp.svg"/></element>
<element name="sym_colon" defstate="0"> <element name="sym_colon" defstate="0">
<text state="0" string=":"> <color red="0.49412" green="0.51765" blue="0.51765" /></text> <text state="0" string=":"> <color red="0.49412" green="0.51765" blue="0.51765" /></text>
@ -102,9 +101,10 @@ authors:Sandro Ronco, hap
<element name="lcd_bg"><rect><color red="0.5412" green="0.57255" blue="0.5804" /></rect></element> <element name="lcd_bg"><rect><color red="0.5412" green="0.57255" blue="0.5804" /></rect></element>
<element name="lcd_a"><rect><color red="0.3" green="0.3" blue="0.3" /></rect></element> <element name="lcd_a"><rect><color red="0.3" green="0.3" blue="0.3" /></rect></element>
<element name="blackb"><rect><color red="0.1" green="0.1" blue="0.1" /></rect></element>
<element name="whitew"><rect><color red="1" green="1" blue="1" /></rect></element> <element name="whitew"><rect><color red="1" green="1" blue="1" /></rect></element>
<element name="wmask"><rect><color red="0.81" green="0.8" blue="0.79" /></rect></element> <element name="yellow"><rect><color red="0.76" green="0.74" blue="0.41" /></rect></element>
<element name="blackm"><rect><color red="0.45" green="0.45" blue="0.45" /></rect></element>
<element name="black2"><rect><color red="0.1" green="0.1" blue="0.1" /></rect></element>
<!-- sb board --> <!-- sb board -->
@ -366,6 +366,57 @@ authors:Sandro Ronco, hap
</group> </group>
<!-- button panel -->
<group name="buttons1">
<bounds x="0" y="0" width="80" height="80" />
<repeat count="5">
<param name="x" start="9" increment="10.8" />
<param name="i" start="1" increment="1" />
<element ref="text_b~i~"><bounds xc="~x~" y="7" width="15" height="1.866" /></element>
</repeat>
<repeat count="6">
<param name="x" start="8" increment="9" />
<param name="i" start="1" increment="1" />
<element ref="text_p~i~"><bounds xc="~x~" y="32" width="4" height="4" /></element>
</repeat>
<element ref="text_b6"> <bounds xc="8" y="19.7" width="15" height="2.7" /></element>
<element ref="text_b7"> <bounds xc="17" y="19.7" width="15" height="2.7" /></element>
<element ref="text_b8"> <bounds xc="26" y="20.333" width="15" height="1.866" /></element>
<element ref="text_b9"> <bounds xc="35" y="19.3" width="15" height="2.7" /></element>
<element ref="text_b10"><bounds xc="44" y="19.3" width="15" height="2.7" /></element>
<element ref="text_b11"><bounds xc="53" y="20.333" width="15" height="1.866" /></element>
</group>
<group name="buttons2">
<bounds x="0" y="0" width="80" height="80" />
<element ref="but" inputtag="RESET" inputmask="0x01"><bounds xc="9" y="10" width="9.3" height="2" /></element>
<element ref="but" inputtag="IN.7" inputmask="0x80"><bounds xc="19.8" y="10" width="9.3" height="2" /></element>
<element ref="but" inputtag="IN.6" inputmask="0x80"><bounds xc="30.6" y="10" width="9.3" height="2" /></element>
<element ref="but" inputtag="IN.5" inputmask="0x80"><bounds xc="41.4" y="10" width="9.3" height="2" /></element>
<element ref="but" inputtag="IN.0" inputmask="0x80"><bounds xc="52.2" y="10" width="9.3" height="2" /></element>
<element ref="but" inputtag="IN.7" inputmask="0x40"><bounds xc="8" y="23.333" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.6" inputmask="0x40"><bounds xc="17" y="23.333" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.4" inputmask="0x80"><bounds xc="26" y="23.333" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.3" inputmask="0x80"><bounds xc="35" y="23.333" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.2" inputmask="0x80"><bounds xc="44" y="23.333" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.1" inputmask="0x80"><bounds xc="53" y="23.333" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.5" inputmask="0x40"><bounds xc="8" y="36.666" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.4" inputmask="0x40"><bounds xc="17" y="36.666" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.3" inputmask="0x40"><bounds xc="26" y="36.666" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.2" inputmask="0x40"><bounds xc="35" y="36.666" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.1" inputmask="0x40"><bounds xc="44" y="36.666" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.0" inputmask="0x40"><bounds xc="53" y="36.666" width="7.5" height="2" /></element>
</group>
<!-- LCD panel --> <!-- LCD panel -->
<group name="lcd"> <group name="lcd">
@ -414,7 +465,25 @@ authors:Sandro Ronco, hap
<!-- build screen --> <!-- build screen -->
<view name="Internal Layout (Full)"> <view name="Internal Layout (Full)">
<bounds x="2" y="0" width="164.5" height="89" /> <bounds left="3" right="151.875" top="-0.25" bottom="89" />
<!-- right side -->
<group ref="buttons1"><bounds x="103.425" y="38.75" width="60" height="60" /></group>
<element ref="yellow" blend="multiply"><bounds x="100" y="0" width="60" height="90" /></element>
<group ref="buttons2"><bounds x="103.425" y="38.75" width="60" height="60" /></group>
<element ref="yellow"><bounds x="107" y="12" width="39.2" height="11.8" /></element>
<repeat count="19">
<param name="y" start="12.35" increment="0.6" />
<element ref="blackm" blend="multiply"><bounds x="106" y="~y~" width="41.2" height="0.3" /></element>
</repeat>
<element ref="black2"><bounds x="108" y="13" width="25.5" height="9.8" /></element>
<group ref="lcd"><bounds x="108.25" y="13.25" width="25" height="9.3" /></group>
<element ref="yellow"><bounds x="107" y="26" width="39.2" height="0.3" /></element>
<!-- chess coords --> <!-- chess coords -->
<element ref="text_8"><bounds x="18.7" y="6" width="2" height="2" /></element> <element ref="text_8"><bounds x="18.7" y="6" width="2" height="2" /></element>
@ -434,53 +503,6 @@ authors:Sandro Ronco, hap
<element ref="text_g"><bounds x="85" y="82.6" width="2" height="2" /></element> <element ref="text_g"><bounds x="85" y="82.6" width="2" height="2" /></element>
<element ref="text_h"><bounds x="95" y="82.6" width="2" height="2" /></element> <element ref="text_h"><bounds x="95" y="82.6" width="2" height="2" /></element>
<!-- right side -->
<element ref="text_p1"><bounds x="109.5" y="65.5" width="4" height="4" /></element>
<element ref="text_p2"><bounds x="118.5" y="65.5" width="4" height="4" /></element>
<element ref="text_p3"><bounds x="127.5" y="65.5" width="4" height="4" /></element>
<element ref="text_p4"><bounds x="136.5" y="65.5" width="4" height="4" /></element>
<element ref="text_p5"><bounds x="145.5" y="65.5" width="4" height="4" /></element>
<element ref="text_p6"><bounds x="154.5" y="65.5" width="4" height="4" /></element>
<element ref="text_go" ><bounds x="108" y="37.4" width="8" height="2" /></element>
<element ref="text_stop" ><bounds x="119" y="37.4" width="8" height="2" /></element>
<element ref="text_newgame" ><bounds x="129" y="37.4" width="10" height="2" /></element>
<element ref="text_play" ><bounds x="141" y="37.4" width="8" height="2" /></element>
<element ref="text_back" ><bounds x="152" y="37.4" width="8" height="2" /></element>
<element ref="text_left" ><bounds x="108" y="51.9" width="7" height="3" /></element>
<element ref="text_right" ><bounds x="117" y="51.9" width="7" height="3" /></element>
<element ref="text_menu" ><bounds x="126" y="52.4" width="7" height="2" /></element>
<element ref="text_up" ><bounds x="135" y="51.4" width="7" height="3" /></element>
<element ref="text_down" ><bounds x="144" y="51.4" width="7" height="3" /></element>
<element ref="text_enter" ><bounds x="153" y="52.4" width="7" height="2" /></element>
<element ref="wmask" blend="multiply"><bounds x="0" y="0" width="170" height="90" /></element>
<element ref="hlb" inputtag="RESET" inputmask="0x01"><bounds x="108" y="40" width="8" height="2" /></element>
<element ref="hlb" inputtag="IN.7" inputmask="0x80"><bounds x="119" y="40" width="8" height="2" /></element>
<element ref="hlb" inputtag="IN.6" inputmask="0x80"><bounds x="130" y="40" width="8" height="2" /></element>
<element ref="hlb" inputtag="IN.5" inputmask="0x80"><bounds x="141" y="40" width="8" height="2" /></element>
<element ref="hlb" inputtag="IN.0" inputmask="0x80"><bounds x="152" y="40" width="8" height="2" /></element>
<element ref="hlb" inputtag="IN.7" inputmask="0x40"><bounds x="108" y="55" width="7" height="2" /></element>
<element ref="hlb" inputtag="IN.6" inputmask="0x40"><bounds x="117" y="55" width="7" height="2" /></element>
<element ref="hlb" inputtag="IN.4" inputmask="0x80"><bounds x="126" y="55" width="7" height="2" /></element>
<element ref="hlb" inputtag="IN.3" inputmask="0x80"><bounds x="135" y="55" width="7" height="2" /></element>
<element ref="hlb" inputtag="IN.2" inputmask="0x80"><bounds x="144" y="55" width="7" height="2" /></element>
<element ref="hlb" inputtag="IN.1" inputmask="0x80"><bounds x="153" y="55" width="7" height="2" /></element>
<element ref="hlb" inputtag="IN.5" inputmask="0x40"><bounds x="108" y="70" width="7" height="2" /></element>
<element ref="hlb" inputtag="IN.4" inputmask="0x40"><bounds x="117" y="70" width="7" height="2" /></element>
<element ref="hlb" inputtag="IN.3" inputmask="0x40"><bounds x="126" y="70" width="7" height="2" /></element>
<element ref="hlb" inputtag="IN.2" inputmask="0x40"><bounds x="135" y="70" width="7" height="2" /></element>
<element ref="hlb" inputtag="IN.1" inputmask="0x40"><bounds x="144" y="70" width="7" height="2" /></element>
<element ref="hlb" inputtag="IN.0" inputmask="0x40"><bounds x="153" y="70" width="7" height="2" /></element>
<element ref="cblack"><bounds x="108" y="8.2" width="52" height="13.8" /></element>
<element ref="blackb"><bounds x="109" y="9.2" width="30.7" height="11.8" /></element>
<group ref="lcd"><bounds x="109.3" y="9.5" width="30.1" height="11.2" /></group>
<!-- LEDs --> <!-- LEDs -->
<element name="led0" ref="led"><bounds x="16.2" y="76.5" width="2" height="1" /></element> <element name="led0" ref="led"><bounds x="16.2" y="76.5" width="2" height="1" /></element>
<element name="led1" ref="led"><bounds x="16.2" y="66.5" width="2" height="1" /></element> <element name="led1" ref="led"><bounds x="16.2" y="66.5" width="2" height="1" /></element>
@ -500,10 +522,11 @@ authors:Sandro Ronco, hap
<element name="led15" ref="led"><bounds x="95.5" y="85.2" width="1" height="2" /></element> <element name="led15" ref="led"><bounds x="95.5" y="85.2" width="1" height="2" /></element>
<group ref="sb_board"><bounds x="21" y="2" width="80" height="80" /></group> <group ref="sb_board"><bounds x="21" y="2" width="80" height="80" /></group>
<group ref="sb_ui"><bounds x="3.5" y="2" width="10" height="80" /></group> <group ref="sb_ui"><bounds x="4.5" y="2" width="10" height="80" /></group>
</view> </view>
<view name="Internal Layout (LCD)"> <view name="Internal Layout (LCD)">
<group ref="lcd"><bounds x="0" y="0" width="30.1" height="11.2" /></group> <group ref="lcd"><bounds x="0" y="0" width="30.1" height="11.2" /></group>
</view> </view>
</mamelayout> </mamelayout>

View File

@ -0,0 +1,455 @@
<?xml version="1.0"?>
<!--
license:CC0-1.0
authors:hap
-->
<mamelayout version="2">
<!-- define elements -->
<element name="black2"><rect><color red="0.2" green="0.2" blue="0.2" /></rect></element>
<element name="blackd"><disk><color red="0.1" green="0.1" blue="0.1" /></disk></element>
<element name="red"><rect><color red="0.65" green="0.06" blue="0.05" /></rect></element>
<element name="lcdm"><rect><color red="0.54" green="0.57" blue="0.58" /></rect></element>
<element name="led" defstate="0">
<rect state="1"><color red="1.0" green="0.1" blue="0.15" /></rect>
<rect state="0"><color red="0.17" green="0.015" blue="0.02" /></rect>
</element>
<element name="text_1"><text string="1"></text></element>
<element name="text_2"><text string="2"></text></element>
<element name="text_3"><text string="3"></text></element>
<element name="text_4"><text string="4"></text></element>
<element name="text_5"><text string="5"></text></element>
<element name="text_6"><text string="6"></text></element>
<element name="text_7"><text string="7"></text></element>
<element name="text_8"><text string="8"></text></element>
<element name="text_a"><text string="A"></text></element>
<element name="text_b"><text string="B"></text></element>
<element name="text_c"><text string="C"></text></element>
<element name="text_d"><text string="D"></text></element>
<element name="text_e"><text string="E"></text></element>
<element name="text_f"><text string="F"></text></element>
<element name="text_g"><text string="G"></text></element>
<element name="text_h"><text string="H"></text></element>
<!-- sb board -->
<element name="cwhite"><rect><color red="0.81" green="0.8" blue="0.79" /></rect></element>
<element name="cblack"><rect><color red="0.41" green="0.4" blue="0.39" /></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.svg" state="1"/>
<image file="chess/wn.svg" state="2"/>
<image file="chess/wb.svg" state="3"/>
<image file="chess/wr.svg" state="4"/>
<image file="chess/wq.svg" state="5"/>
<image file="chess/wk.svg" state="6"/>
<image file="chess/bp.svg" state="7"/>
<image file="chess/bn.svg" state="8"/>
<image file="chess/bb.svg" state="9"/>
<image file="chess/br.svg" state="10"/>
<image file="chess/bq.svg" state="11"/>
<image file="chess/bk.svg" state="12"/>
<!-- selected pieces -->
<image file="chess/wp.svg" state="13"><color alpha="0.5" /></image>
<image file="chess/wn.svg" state="14"><color alpha="0.5" /></image>
<image file="chess/wb.svg" state="15"><color alpha="0.5" /></image>
<image file="chess/wr.svg" state="16"><color alpha="0.5" /></image>
<image file="chess/wq.svg" state="17"><color alpha="0.5" /></image>
<image file="chess/wk.svg" state="18"><color alpha="0.5" /></image>
<image file="chess/bp.svg" state="19"><color alpha="0.5" /></image>
<image file="chess/bn.svg" state="20"><color alpha="0.5" /></image>
<image file="chess/bb.svg" state="21"><color alpha="0.5" /></image>
<image file="chess/br.svg" state="22"><color alpha="0.5" /></image>
<image file="chess/bq.svg" state="23"><color alpha="0.5" /></image>
<image file="chess/bk.svg" state="24"><color alpha="0.5" /></image>
</element>
<group name="sb_board">
<bounds x="0" y="0" width="80" height="80" />
<!-- squares (avoid seams) -->
<element ref="cwhite"><bounds x="0" y="0" width="11" height="11" /></element>
<element ref="cblack"><bounds x="10" y="0" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="20" y="0" width="11" height="11" /></element>
<element ref="cblack"><bounds x="30" y="0" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="40" y="0" width="11" height="11" /></element>
<element ref="cblack"><bounds x="50" y="0" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="60" y="0" width="11" height="11" /></element>
<element ref="cblack"><bounds x="70" y="0" width="10" height="11" /></element>
<element ref="cblack"><bounds x="0" y="10" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="10" y="10" width="11" height="11" /></element>
<element ref="cblack"><bounds x="20" y="10" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="30" y="10" width="11" height="11" /></element>
<element ref="cblack"><bounds x="40" y="10" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="50" y="10" width="11" height="11" /></element>
<element ref="cblack"><bounds x="60" y="10" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="70" y="10" width="10" height="11" /></element>
<element ref="cwhite"><bounds x="0" y="20" width="11" height="11" /></element>
<element ref="cblack"><bounds x="10" y="20" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="20" y="20" width="11" height="11" /></element>
<element ref="cblack"><bounds x="30" y="20" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="40" y="20" width="11" height="11" /></element>
<element ref="cblack"><bounds x="50" y="20" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="60" y="20" width="11" height="11" /></element>
<element ref="cblack"><bounds x="70" y="20" width="10" height="11" /></element>
<element ref="cblack"><bounds x="0" y="30" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="10" y="30" width="11" height="11" /></element>
<element ref="cblack"><bounds x="20" y="30" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="30" y="30" width="11" height="11" /></element>
<element ref="cblack"><bounds x="40" y="30" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="50" y="30" width="11" height="11" /></element>
<element ref="cblack"><bounds x="60" y="30" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="70" y="30" width="10" height="11" /></element>
<element ref="cwhite"><bounds x="0" y="40" width="11" height="11" /></element>
<element ref="cblack"><bounds x="10" y="40" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="20" y="40" width="11" height="11" /></element>
<element ref="cblack"><bounds x="30" y="40" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="40" y="40" width="11" height="11" /></element>
<element ref="cblack"><bounds x="50" y="40" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="60" y="40" width="11" height="11" /></element>
<element ref="cblack"><bounds x="70" y="40" width="10" height="11" /></element>
<element ref="cblack"><bounds x="0" y="50" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="10" y="50" width="11" height="11" /></element>
<element ref="cblack"><bounds x="20" y="50" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="30" y="50" width="11" height="11" /></element>
<element ref="cblack"><bounds x="40" y="50" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="50" y="50" width="11" height="11" /></element>
<element ref="cblack"><bounds x="60" y="50" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="70" y="50" width="10" height="11" /></element>
<element ref="cwhite"><bounds x="0" y="60" width="11" height="11" /></element>
<element ref="cblack"><bounds x="10" y="60" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="20" y="60" width="11" height="11" /></element>
<element ref="cblack"><bounds x="30" y="60" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="40" y="60" width="11" height="11" /></element>
<element ref="cblack"><bounds x="50" y="60" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="60" y="60" width="11" height="11" /></element>
<element ref="cblack"><bounds x="70" y="60" width="10" height="11" /></element>
<element ref="cblack"><bounds x="0" y="70" width="11" height="10" /></element>
<element ref="cwhite"><bounds x="10" y="70" width="11" height="10" /></element>
<element ref="cblack"><bounds x="20" y="70" width="11" height="10" /></element>
<element ref="cwhite"><bounds x="30" y="70" width="11" height="10" /></element>
<element ref="cblack"><bounds x="40" y="70" width="11" height="10" /></element>
<element ref="cwhite"><bounds x="50" y="70" width="11" height="10" /></element>
<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>
<!-- sensors, pieces -->
<repeat count="8">
<param name="y" start="0" increment="10" />
<param name="i" start="8" increment="-1" />
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x80"><bounds x="70" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
<element name="piece_a~i~" ref="piece"><bounds x="0" y="~y~" width="10" height="10" /></element>
<element name="piece_b~i~" ref="piece"><bounds x="10" y="~y~" width="10" height="10" /></element>
<element name="piece_c~i~" ref="piece"><bounds x="20" y="~y~" width="10" height="10" /></element>
<element name="piece_d~i~" ref="piece"><bounds x="30" y="~y~" width="10" height="10" /></element>
<element name="piece_e~i~" ref="piece"><bounds x="40" y="~y~" width="10" height="10" /></element>
<element name="piece_f~i~" ref="piece"><bounds x="50" y="~y~" width="10" height="10" /></element>
<element name="piece_g~i~" ref="piece"><bounds x="60" y="~y~" width="10" height="10" /></element>
<element name="piece_h~i~" ref="piece"><bounds x="70" y="~y~" width="10" height="10" /></element>
</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"><text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text></element>
<element name="text_uib3"><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"><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"><text string=" &lt;&lt;"><color red="0.01" green="0.01" blue="0.01" /></text></element>
<element name="text_uiu2b"><text string=" &lt; "><color red="0.01" green="0.01" blue="0.01" /></text></element>
<element name="text_uiu2c"><text string=" &gt;"><color red="0.01" green="0.01" blue="0.01" /></text></element>
<element name="text_uiu2d"><text string=" &gt;&gt;"><color red="0.01" green="0.01" blue="0.01" /></text></element>
<element name="text_uiu3b"><text string="/"><color red="0.81" green="0.8" blue="0.79" /></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_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" />
<element ref="cblack"><bounds x="0" y="0" width="10" height="1" /></element>
<element ref="cblack"><bounds x="0" y="7" width="10" height="1" /></element>
<element ref="cblack"><bounds x="0" y="79" width="10" height="1" /></element>
<element ref="text_uit1"><bounds x="0" y="2" width="10" height="2" /></element>
<element ref="text_uit2"><bounds x="0" y="4" width="10" height="2" /></element>
<!-- board -->
<element ref="text_uib1"><bounds x="0" y="9" width="10" height="2" /></element>
<element ref="cwhite"><bounds x="1" y="11.5" width="8" height="2.5" /></element>
<element ref="cwhite"><bounds x="1" y="15" width="8" height="2.5" /></element>
<element ref="text_uib2"><bounds x="1.5" y="11.75" width="7" height="2" /></element>
<element ref="text_uib3"><bounds x="1.5" y="15.25" width="7" height="2" /></element>
<element ref="hlub" inputtag="board:UI" inputmask="0x200"><bounds x="1" y="11.5" width="8" height="2.5" /><color alpha="0.25" /></element>
<element ref="hlub" inputtag="board:UI" inputmask="0x100"><bounds x="1" y="15" width="8" height="2.5" /><color alpha="0.25" /></element>
<!-- spawn -->
<element ref="text_uis1"><bounds x="0" y="20.5" width="10" height="2" /></element>
<element ref="cwhite"><bounds x="1" y="23" width="8" height="12" /></element>
<element ref="cwhite"><bounds x="1" y="36" width="8" height="12" /></element>
<element name="piece_ui1" ref="piece"><bounds x="1" y="23" width="4" height="4" /></element>
<element name="piece_ui2" ref="piece"><bounds x="1" y="27" width="4" height="4" /></element>
<element name="piece_ui3" ref="piece"><bounds x="1" y="31" width="4" height="4" /></element>
<element name="piece_ui4" ref="piece"><bounds x="5" y="23" width="4" height="4" /></element>
<element name="piece_ui5" ref="piece"><bounds x="5" y="27" width="4" height="4" /></element>
<element name="piece_ui6" ref="piece"><bounds x="5" y="31" width="4" height="4" /></element>
<element name="piece_ui7" ref="piece"><bounds x="1" y="36" width="4" height="4" /></element>
<element name="piece_ui8" ref="piece"><bounds x="1" y="40" width="4" height="4" /></element>
<element name="piece_ui9" ref="piece"><bounds x="1" y="44" width="4" height="4" /></element>
<element name="piece_ui10" ref="piece"><bounds x="5" y="36" width="4" height="4" /></element>
<element name="piece_ui11" ref="piece"><bounds x="5" y="40" width="4" height="4" /></element>
<element name="piece_ui12" ref="piece"><bounds x="5" y="44" width="4" height="4" /></element>
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></element>
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></element>
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></element>
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></element>
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></element>
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></element>
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></element>
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></element>
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></element>
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></element>
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></element>
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0800"><bounds x="5" y="44" width="4" height="4" /><color alpha="0.25" /></element>
<!-- hand -->
<element ref="text_uih1"><bounds x="0" y="51" width="10" height="2" /></element>
<element ref="cblack"><bounds x="1" y="53.5" width="8" height="6" /></element>
<element name="piece_ui0" ref="piece"><bounds x="2" y="53.5" width="6" height="6" /></element>
<element ref="cwhite"><bounds x="1" y="60.5" width="8" height="2.5" /></element>
<element ref="text_uih2"><bounds x="1.5" y="60.75" width="7" height="2" /></element>
<element ref="hlub" inputtag="board:UI" inputmask="0x08"><bounds x="1" y="60.5" width="8" height="2.5" /><color alpha="0.25" /></element>
<!-- undo -->
<element ref="text_uiu1"><bounds x="0" y="66" width="10" height="2" /></element>
<element ref="cwhite"><bounds x="1" y="68.5" width="1.7" height="6" /></element>
<element ref="cwhite"><bounds x="3.1" y="68.5" width="1.7" height="6" /></element>
<element ref="cwhite"><bounds x="5.2" y="68.5" width="1.7" height="6" /></element>
<element ref="cwhite"><bounds x="7.3" y="68.5" width="1.7" height="6" /></element>
<element ref="text_uiu2a"><bounds x="1" y="69.5" width="1.7" height="4" /></element>
<element ref="text_uiu2b"><bounds x="3.1" y="69.5" width="1.7" height="4" /></element>
<element ref="text_uiu2c"><bounds x="5.2" y="69.5" width="1.7" height="4" /></element>
<element ref="text_uiu2d"><bounds x="7.3" y="69.5" width="1.7" height="4" /></element>
<element ref="hlub" inputtag="board:UI" inputmask="0x10"><bounds x="1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
<element ref="hlub" inputtag="board:UI" inputmask="0x20"><bounds x="3.1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
<element ref="hlub" inputtag="board:UI" inputmask="0x40"><bounds x="5.2" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
<element ref="hlub" inputtag="board:UI" inputmask="0x80"><bounds x="7.3" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
<element name="count_ui0" ref="text_uiu3a"><bounds x="0" y="75" width="4" height="2" /></element>
<element name="count_ui1" ref="text_uiu3c"><bounds x="6" y="75" width="4" height="2" /></element>
<element ref="text_uiu3b"><bounds x="4" y="75" width="2" height="2" /></element>
</group>
<!-- button panel -->
<element name="but" defstate="0">
<rect state="0"><color red="0.2" green="0.2" blue="0.2" /></rect>
<rect state="1"><color red="0.35" green="0.35" blue="0.35" /></rect>
</element>
<element name="text_b1"><text string="GO/STOP"></text></element>
<element name="text_b2"><text string="TAKE BACK"></text></element>
<element name="text_b3"><text string="CLEAR"></text></element>
<element name="text_b4"><text string="LEVEL"></text></element>
<element name="text_b5"><text string="ENTER"></text></element>
<element name="text_b6"><text string="NEW GAME"></text></element>
<element name="text_b7"><text string="OPTION"></text></element>
<element name="text_b8"><text string="INFO"></text></element>
<element name="text_b9"><text string="POSITION"></text></element>
<element name="text_b10"><text string="/&#x25c4;" align="1"></text></element> <!-- triangle left -->
<element name="text_b11"><text string="/&#x25ba;" align="1"></text></element> <!-- triangle right -->
<element name="text_p1"><image file="chess/wk.svg"/></element>
<element name="text_p2"><image file="chess/wq.svg"/></element>
<element name="text_p3"><image file="chess/wr.svg"/></element>
<element name="text_p4"><image file="chess/wb.svg"/></element>
<element name="text_p5"><image file="chess/wn.svg"/></element>
<element name="text_p6"><image file="chess/wp.svg"/></element>
<element name="whiter"><rect><color red="1" green="1" blue="1" /></rect></element>
<element name="blackr">
<rect>
<bounds x="0" y="0" width="10" height="10" />
<color red="1" green="1" blue="1" />
</rect>
<rect>
<bounds x="1" y="1" width="8" height="8" />
<color red="0" green="0" blue="0" />
</rect>
</element>
<group name="buttons1">
<bounds x="0" y="0" width="80" height="80" />
<repeat count="5">
<param name="x" start="9" increment="10.8" />
<param name="i" start="1" increment="1" />
<element ref="text_b~i~"><bounds xc="~x~" y="7" width="15" height="1.866" /></element>
</repeat>
<repeat count="4">
<param name="x" start="8" increment="9" />
<param name="i" start="6" increment="1" />
<element ref="text_b~i~"><bounds xc="~x~" y="20.333" width="15" height="1.866" /></element>
</repeat>
<repeat count="6">
<param name="x" start="8" increment="9" />
<param name="i" start="1" increment="1" />
<element ref="text_p~i~"><bounds xc="~x~" y="32" width="4" height="4" /></element>
</repeat>
<element ref="text_b10"><bounds x="44" y="20.333" width="10" height="1.866" /></element>
<element ref="text_b11"><bounds x="53" y="20.333" width="10" height="1.866" /></element>
<element ref="whiter"><bounds x="42.15" y="20.65" width="1.4" height="1.4" /></element>
<element ref="blackr"><bounds x="51.15" y="20.65" width="1.4" height="1.4" /></element>
</group>
<group name="buttons2">
<bounds x="0" y="0" width="80" height="80" />
<element ref="but" inputtag="IN.3" inputmask="0x10"><bounds xc="9" y="10" width="9.3" height="2" /></element>
<element ref="but" inputtag="IN.0" inputmask="0x20"><bounds xc="19.8" y="10" width="9.3" height="2" /></element>
<element ref="but" inputtag="IN.0" inputmask="0x40"><bounds xc="30.6" y="10" width="9.3" height="2" /></element>
<element ref="but" inputtag="IN.0" inputmask="0x04"><bounds xc="41.4" y="10" width="9.3" height="2" /></element>
<element ref="but" inputtag="IN.0" inputmask="0x80"><bounds xc="52.2" y="10" width="9.3" height="2" /></element>
<element ref="but" inputtag="IN.0" inputmask="0x01"><bounds xc="8" y="23.333" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.0" inputmask="0x08"><bounds xc="17" y="23.333" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.0" inputmask="0x10"><bounds xc="26" y="23.333" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.0" inputmask="0x02"><bounds xc="35" y="23.333" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.1" inputmask="0x40"><bounds xc="44" y="23.333" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.1" inputmask="0x80"><bounds xc="53" y="23.333" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.1" inputmask="0x20"><bounds xc="8" y="36.666" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.1" inputmask="0x10"><bounds xc="17" y="36.666" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.1" inputmask="0x08"><bounds xc="26" y="36.666" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.1" inputmask="0x04"><bounds xc="35" y="36.666" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.1" inputmask="0x02"><bounds xc="44" y="36.666" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.1" inputmask="0x01"><bounds xc="53" y="36.666" width="7.5" height="2" /></element>
</group>
<!-- build screen -->
<view name="Internal Layout">
<bounds left="3" right="151.875" top="-0.25" bottom="89" />
<!-- chessboard coords -->
<element ref="text_8"><bounds x="18.7" y="6" width="2" height="2" /></element>
<element ref="text_7"><bounds x="18.7" y="16" width="2" height="2" /></element>
<element ref="text_6"><bounds x="18.7" y="26" width="2" height="2" /></element>
<element ref="text_5"><bounds x="18.7" y="36" width="2" height="2" /></element>
<element ref="text_4"><bounds x="18.7" y="46" width="2" height="2" /></element>
<element ref="text_3"><bounds x="18.7" y="56" width="2" height="2" /></element>
<element ref="text_2"><bounds x="18.7" y="66" width="2" height="2" /></element>
<element ref="text_1"><bounds x="18.7" y="76" width="2" height="2" /></element>
<element ref="text_a"><bounds x="25" y="82.6" width="2" height="2" /></element>
<element ref="text_b"><bounds x="35" y="82.6" width="2" height="2" /></element>
<element ref="text_c"><bounds x="45" y="82.6" width="2" height="2" /></element>
<element ref="text_d"><bounds x="55" y="82.6" width="2" height="2" /></element>
<element ref="text_e"><bounds x="65" y="82.6" width="2" height="2" /></element>
<element ref="text_f"><bounds x="75" y="82.6" width="2" height="2" /></element>
<element ref="text_g"><bounds x="85" y="82.6" width="2" height="2" /></element>
<element ref="text_h"><bounds x="95" y="82.6" width="2" height="2" /></element>
<!-- right side -->
<group ref="buttons1"><bounds x="103.675" y="38.75" width="60" height="60" /></group>
<element ref="cwhite" blend="multiply"><bounds x="0" y="0" width="170" height="90" /></element>
<group ref="buttons2"><bounds x="103.675" y="38.75" width="60" height="60" /></group>
<element ref="red"><bounds x="107" y="15.5" width="39.2" height="10" /></element>
<element ref="cwhite"><bounds x="107" y="12" width="39.2" height="11" /></element>
<repeat count="9">
<param name="y" start="12.5" increment="1.19" />
<repeat count="35">
<param name="x" start="107.5" increment="1.146" />
<element ref="blackd"><bounds x="~x~" y="~y~" width="0.4" height="0.4" /></element>
</repeat>
</repeat>
<element ref="black2"><bounds xc="119" yc="17.5" width="19.3" height="8.255" /></element>
<screen index="0"><bounds xc="119" yc="17.5" width="19" height="7.955" /></screen>
<element ref="lcdm" blend="multiply"><bounds xc="119" yc="17.5" width="19.3" height="8.255" /></element>
<!-- chessboard leds -->
<element name="0.7" ref="led"><bounds x="15.9" yc="7" width="2" height="0.9" /></element>
<element name="0.6" ref="led"><bounds x="15.9" yc="17" width="2" height="0.9" /></element>
<element name="0.5" ref="led"><bounds x="15.9" yc="27" width="2" height="0.9" /></element>
<element name="0.4" ref="led"><bounds x="15.9" yc="37" width="2" height="0.9" /></element>
<element name="0.3" ref="led"><bounds x="15.9" yc="47" width="2" height="0.9" /></element>
<element name="0.2" ref="led"><bounds x="15.9" yc="57" width="2" height="0.9" /></element>
<element name="0.1" ref="led"><bounds x="15.9" yc="67" width="2" height="0.9" /></element>
<element name="0.0" ref="led"><bounds x="15.9" yc="77" width="2" height="0.9" /></element>
<element name="1.0" ref="led"><bounds xc="26" y="85.2" width="0.9" height="2" /></element>
<element name="1.1" ref="led"><bounds xc="36" y="85.2" width="0.9" height="2" /></element>
<element name="1.2" ref="led"><bounds xc="46" y="85.2" width="0.9" height="2" /></element>
<element name="1.3" ref="led"><bounds xc="56" y="85.2" width="0.9" height="2" /></element>
<element name="1.4" ref="led"><bounds xc="66" y="85.2" width="0.9" height="2" /></element>
<element name="1.5" ref="led"><bounds xc="76" y="85.2" width="0.9" height="2" /></element>
<element name="1.6" ref="led"><bounds xc="86" y="85.2" width="0.9" height="2" /></element>
<element name="1.7" ref="led"><bounds xc="96" y="85.2" width="0.9" height="2" /></element>
<group ref="sb_board"><bounds x="21" y="2" width="80" height="80" /></group>
<group ref="sb_ui"><bounds x="4.5" y="2" width="10" height="80" /></group>
</view>
</mamelayout>

View File

@ -0,0 +1,566 @@
<?xml version="1.0"?>
<!--
license:CC0-1.0
authors:hap
-->
<mamelayout version="2">
<!-- define elements -->
<element name="whitew"><rect><color red="1" green="1" blue="1" /></rect></element>
<element name="blackb"><rect><color red="0" green="0" blue="0" /></rect></element>
<element name="black2"><rect><color red="0.1" green="0.1" blue="0.1" /></rect></element>
<element name="cgray"><rect><color red="0.61" green="0.6" blue="0.59" /></rect></element>
<element name="lmask"><rect><color red="0.36" green="0.35" blue="0.35" /></rect></element>
<element name="bmask"><rect><color red="0.17" green="0.15" blue="0.15" /></rect></element>
<element name="ledr" defstate="0">
<rect state="0"><color red="0.1" green="0" blue="0" /></rect>
<rect state="1"><color red="1" green="0" blue="0" /></rect>
</element>
<element name="ledro">
<rect><color red="0.1" green="0.1" blue="0.1" /></rect>
</element>
<element name="ledrr" defstate="0">
<rect state="0"><color red="0" green="0" blue="0" /></rect>
<rect state="1"><color red="1" green="0" blue="0" /></rect>
</element>
<element name="ledrg" defstate="0">
<rect state="0"><color red="0" green="0" blue="0" /></rect>
<rect state="1"><color red="0" green="1" blue="0" /></rect>
</element>
<element name="button" defstate="0">
<rect state="0"><color red="0.1" green="0.1" blue="0.1" /></rect>
<rect state="1"><color red="0.25" green="0.25" blue="0.25" /></rect>
</element>
<element name="text_1"><text string="1"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_2"><text string="2"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_3"><text string="3"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_4"><text string="4"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_5"><text string="5"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_6"><text string="6"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_7"><text string="7"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_8"><text string="8"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_a"><text string="A"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_b"><text string="B"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_c"><text string="C"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_d"><text string="D"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_e"><text string="E"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_f"><text string="F"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_g"><text string="G"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_h"><text string="H"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_r1"><text string="WHITE" align="1"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_r2"><text string="BLACK" align="1"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_r3"><text string="MODE" align="1"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_b1"><text string="GO"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_b2"><text string="STOP"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_b3"><text string="INFO"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_b4"><text string="SWAP SIDE"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_b5"><text string="PLAY"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_b6"><text string="NEW GAME"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_b7"><text string="SET UP"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_b8"><text string="LEVEL"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_b9"><text string="ANALYSIS"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_b10"><text string="NORMAL"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_b11"><text string="FUNCTION"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_b12"><text string="TAB/COLOR"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_b13"><text string="+"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_b14"><text string="-"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_b15"><text string="SOUND"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_p1"><image file="chess/bk.svg"></image></element>
<element name="text_p2"><image file="chess/bq.svg"></image></element>
<element name="text_p3"><image file="chess/br.svg"></image></element>
<element name="text_p4"><image file="chess/bb.svg"></image></element>
<element name="text_p5"><image file="chess/bn.svg"></image></element>
<element name="text_p6"><image file="chess/bp.svg"></image></element>
<element name="text_r4"><text string="PRECISION"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_r5"><text string="TECHNOLOGY"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="crosshair">
<disk>
<bounds xc="0" yc="0" width="8" height="8" />
<color alpha="0" />
</disk>
<disk>
<bounds xc="0" yc="0" width="0.2" height="8" />
<color red="0.81" green="0.8" blue="0.79" />
</disk>
<disk>
<bounds xc="0" yc="0" width="8" height="0.2" />
<color red="0.81" green="0.8" blue="0.79" />
</disk>
<disk>
<bounds xc="0" yc="0" width="5.2" height="5.2" />
<color red="0.81" green="0.8" blue="0.79" />
</disk>
<disk>
<bounds xc="0" yc="0" width="4.9" height="4.9" />
<color red="0.1" green="0.1" blue="0.1" />
</disk>
<disk>
<bounds xc="0" yc="0" width="0.2" height="3" />
<color red="0.81" green="0.8" blue="0.79" />
</disk>
<disk>
<bounds xc="0" yc="0" width="3" height="0.2" />
<color red="0.81" green="0.8" blue="0.79" />
</disk>
</element>
<!-- sb board -->
<element name="cblack"><rect><color red="0.41" green="0.4" blue="0.39" /></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.svg" state="1"/>
<image file="chess/wn.svg" state="2"/>
<image file="chess/wb.svg" state="3"/>
<image file="chess/wr.svg" state="4"/>
<image file="chess/wq.svg" state="5"/>
<image file="chess/wk.svg" state="6"/>
<image file="chess/bp.svg" state="7"/>
<image file="chess/bn.svg" state="8"/>
<image file="chess/bb.svg" state="9"/>
<image file="chess/br.svg" state="10"/>
<image file="chess/bq.svg" state="11"/>
<image file="chess/bk.svg" state="12"/>
<!-- selected pieces -->
<image file="chess/wp.svg" state="13"><color alpha="0.5" /></image>
<image file="chess/wn.svg" state="14"><color alpha="0.5" /></image>
<image file="chess/wb.svg" state="15"><color alpha="0.5" /></image>
<image file="chess/wr.svg" state="16"><color alpha="0.5" /></image>
<image file="chess/wq.svg" state="17"><color alpha="0.5" /></image>
<image file="chess/wk.svg" state="18"><color alpha="0.5" /></image>
<image file="chess/bp.svg" state="19"><color alpha="0.5" /></image>
<image file="chess/bn.svg" state="20"><color alpha="0.5" /></image>
<image file="chess/bb.svg" state="21"><color alpha="0.5" /></image>
<image file="chess/br.svg" state="22"><color alpha="0.5" /></image>
<image file="chess/bq.svg" state="23"><color alpha="0.5" /></image>
<image file="chess/bk.svg" state="24"><color alpha="0.5" /></image>
</element>
<group name="sb_board">
<bounds x="-0.25" y="-0.25" width="80.5" height="80.5" />
<element ref="blackb"><bounds x="-0.25" y="-0.25" width="80.5" height="80.5" /></element>
<!-- squares (avoid seams) -->
<element ref="cwhite"><bounds x="0" y="0" width="11" height="11" /></element>
<element ref="cblack"><bounds x="10" y="0" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="20" y="0" width="11" height="11" /></element>
<element ref="cblack"><bounds x="30" y="0" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="40" y="0" width="11" height="11" /></element>
<element ref="cblack"><bounds x="50" y="0" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="60" y="0" width="11" height="11" /></element>
<element ref="cblack"><bounds x="70" y="0" width="10" height="11" /></element>
<element ref="cblack"><bounds x="0" y="10" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="10" y="10" width="11" height="11" /></element>
<element ref="cblack"><bounds x="20" y="10" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="30" y="10" width="11" height="11" /></element>
<element ref="cblack"><bounds x="40" y="10" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="50" y="10" width="11" height="11" /></element>
<element ref="cblack"><bounds x="60" y="10" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="70" y="10" width="10" height="11" /></element>
<element ref="cwhite"><bounds x="0" y="20" width="11" height="11" /></element>
<element ref="cblack"><bounds x="10" y="20" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="20" y="20" width="11" height="11" /></element>
<element ref="cblack"><bounds x="30" y="20" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="40" y="20" width="11" height="11" /></element>
<element ref="cblack"><bounds x="50" y="20" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="60" y="20" width="11" height="11" /></element>
<element ref="cblack"><bounds x="70" y="20" width="10" height="11" /></element>
<element ref="cblack"><bounds x="0" y="30" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="10" y="30" width="11" height="11" /></element>
<element ref="cblack"><bounds x="20" y="30" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="30" y="30" width="11" height="11" /></element>
<element ref="cblack"><bounds x="40" y="30" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="50" y="30" width="11" height="11" /></element>
<element ref="cblack"><bounds x="60" y="30" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="70" y="30" width="10" height="11" /></element>
<element ref="cwhite"><bounds x="0" y="40" width="11" height="11" /></element>
<element ref="cblack"><bounds x="10" y="40" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="20" y="40" width="11" height="11" /></element>
<element ref="cblack"><bounds x="30" y="40" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="40" y="40" width="11" height="11" /></element>
<element ref="cblack"><bounds x="50" y="40" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="60" y="40" width="11" height="11" /></element>
<element ref="cblack"><bounds x="70" y="40" width="10" height="11" /></element>
<element ref="cblack"><bounds x="0" y="50" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="10" y="50" width="11" height="11" /></element>
<element ref="cblack"><bounds x="20" y="50" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="30" y="50" width="11" height="11" /></element>
<element ref="cblack"><bounds x="40" y="50" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="50" y="50" width="11" height="11" /></element>
<element ref="cblack"><bounds x="60" y="50" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="70" y="50" width="10" height="11" /></element>
<element ref="cwhite"><bounds x="0" y="60" width="11" height="11" /></element>
<element ref="cblack"><bounds x="10" y="60" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="20" y="60" width="11" height="11" /></element>
<element ref="cblack"><bounds x="30" y="60" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="40" y="60" width="11" height="11" /></element>
<element ref="cblack"><bounds x="50" y="60" width="11" height="11" /></element>
<element ref="cwhite"><bounds x="60" y="60" width="11" height="11" /></element>
<element ref="cblack"><bounds x="70" y="60" width="10" height="11" /></element>
<element ref="cblack"><bounds x="0" y="70" width="11" height="10" /></element>
<element ref="cwhite"><bounds x="10" y="70" width="11" height="10" /></element>
<element ref="cblack"><bounds x="20" y="70" width="11" height="10" /></element>
<element ref="cwhite"><bounds x="30" y="70" width="11" height="10" /></element>
<element ref="cblack"><bounds x="40" y="70" width="11" height="10" /></element>
<element ref="cwhite"><bounds x="50" y="70" width="11" height="10" /></element>
<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>
<!-- sensors, pieces -->
<repeat count="8">
<param name="y" start="0" increment="10" />
<param name="i" start="8" increment="-1" />
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
<element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x80"><bounds x="70" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
<element name="piece_a~i~" ref="piece"><bounds x="0" y="~y~" width="10" height="10" /></element>
<element name="piece_b~i~" ref="piece"><bounds x="10" y="~y~" width="10" height="10" /></element>
<element name="piece_c~i~" ref="piece"><bounds x="20" y="~y~" width="10" height="10" /></element>
<element name="piece_d~i~" ref="piece"><bounds x="30" y="~y~" width="10" height="10" /></element>
<element name="piece_e~i~" ref="piece"><bounds x="40" y="~y~" width="10" height="10" /></element>
<element name="piece_f~i~" ref="piece"><bounds x="50" y="~y~" width="10" height="10" /></element>
<element name="piece_g~i~" ref="piece"><bounds x="60" y="~y~" width="10" height="10" /></element>
<element name="piece_h~i~" ref="piece"><bounds x="70" y="~y~" width="10" height="10" /></element>
</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"><text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text></element>
<element name="text_uib3"><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"><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"><text string=" &lt;&lt;"><color red="0.01" green="0.01" blue="0.01" /></text></element>
<element name="text_uiu2b"><text string=" &lt; "><color red="0.01" green="0.01" blue="0.01" /></text></element>
<element name="text_uiu2c"><text string=" &gt;"><color red="0.01" green="0.01" blue="0.01" /></text></element>
<element name="text_uiu2d"><text string=" &gt;&gt;"><color red="0.01" green="0.01" blue="0.01" /></text></element>
<element name="text_uiu3b"><text string="/"><color red="0.81" green="0.8" blue="0.79" /></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_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" />
<element ref="cblack"><bounds x="0" y="0" width="10" height="1" /></element>
<element ref="cblack"><bounds x="0" y="7" width="10" height="1" /></element>
<element ref="cblack"><bounds x="0" y="79" width="10" height="1" /></element>
<element ref="text_uit1"><bounds x="0" y="2" width="10" height="2" /></element>
<element ref="text_uit2"><bounds x="0" y="4" width="10" height="2" /></element>
<!-- board -->
<element ref="text_uib1"><bounds x="0" y="9" width="10" height="2" /></element>
<element ref="cwhite"><bounds x="1" y="11.5" width="8" height="2.5" /></element>
<element ref="cwhite"><bounds x="1" y="15" width="8" height="2.5" /></element>
<element ref="text_uib2"><bounds x="1.5" y="11.75" width="7" height="2" /></element>
<element ref="text_uib3"><bounds x="1.5" y="15.25" width="7" height="2" /></element>
<element ref="hlub" inputtag="board:UI" inputmask="0x200"><bounds x="1" y="11.5" width="8" height="2.5" /><color alpha="0.25" /></element>
<element ref="hlub" inputtag="board:UI" inputmask="0x100"><bounds x="1" y="15" width="8" height="2.5" /><color alpha="0.25" /></element>
<!-- spawn -->
<element ref="text_uis1"><bounds x="0" y="20.5" width="10" height="2" /></element>
<element ref="cwhite"><bounds x="1" y="23" width="8" height="12" /></element>
<element ref="cwhite"><bounds x="1" y="36" width="8" height="12" /></element>
<element name="piece_ui1" ref="piece"><bounds x="1" y="23" width="4" height="4" /></element>
<element name="piece_ui2" ref="piece"><bounds x="1" y="27" width="4" height="4" /></element>
<element name="piece_ui3" ref="piece"><bounds x="1" y="31" width="4" height="4" /></element>
<element name="piece_ui4" ref="piece"><bounds x="5" y="23" width="4" height="4" /></element>
<element name="piece_ui5" ref="piece"><bounds x="5" y="27" width="4" height="4" /></element>
<element name="piece_ui6" ref="piece"><bounds x="5" y="31" width="4" height="4" /></element>
<element name="piece_ui7" ref="piece"><bounds x="1" y="36" width="4" height="4" /></element>
<element name="piece_ui8" ref="piece"><bounds x="1" y="40" width="4" height="4" /></element>
<element name="piece_ui9" ref="piece"><bounds x="1" y="44" width="4" height="4" /></element>
<element name="piece_ui10" ref="piece"><bounds x="5" y="36" width="4" height="4" /></element>
<element name="piece_ui11" ref="piece"><bounds x="5" y="40" width="4" height="4" /></element>
<element name="piece_ui12" ref="piece"><bounds x="5" y="44" width="4" height="4" /></element>
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></element>
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></element>
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></element>
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></element>
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></element>
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></element>
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></element>
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></element>
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></element>
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></element>
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></element>
<element ref="hlub" inputtag="board:SPAWN" inputmask="0x0800"><bounds x="5" y="44" width="4" height="4" /><color alpha="0.25" /></element>
<!-- hand -->
<element ref="text_uih1"><bounds x="0" y="51" width="10" height="2" /></element>
<element ref="cblack"><bounds x="1" y="53.5" width="8" height="6" /></element>
<element name="piece_ui0" ref="piece"><bounds x="2" y="53.5" width="6" height="6" /></element>
<element ref="cwhite"><bounds x="1" y="60.5" width="8" height="2.5" /></element>
<element ref="text_uih2"><bounds x="1.5" y="60.75" width="7" height="2" /></element>
<element ref="hlub" inputtag="board:UI" inputmask="0x08"><bounds x="1" y="60.5" width="8" height="2.5" /><color alpha="0.25" /></element>
<!-- undo -->
<element ref="text_uiu1"><bounds x="0" y="66" width="10" height="2" /></element>
<element ref="cwhite"><bounds x="1" y="68.5" width="1.7" height="6" /></element>
<element ref="cwhite"><bounds x="3.1" y="68.5" width="1.7" height="6" /></element>
<element ref="cwhite"><bounds x="5.2" y="68.5" width="1.7" height="6" /></element>
<element ref="cwhite"><bounds x="7.3" y="68.5" width="1.7" height="6" /></element>
<element ref="text_uiu2a"><bounds x="1" y="69.5" width="1.7" height="4" /></element>
<element ref="text_uiu2b"><bounds x="3.1" y="69.5" width="1.7" height="4" /></element>
<element ref="text_uiu2c"><bounds x="5.2" y="69.5" width="1.7" height="4" /></element>
<element ref="text_uiu2d"><bounds x="7.3" y="69.5" width="1.7" height="4" /></element>
<element ref="hlub" inputtag="board:UI" inputmask="0x10"><bounds x="1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
<element ref="hlub" inputtag="board:UI" inputmask="0x20"><bounds x="3.1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
<element ref="hlub" inputtag="board:UI" inputmask="0x40"><bounds x="5.2" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
<element ref="hlub" inputtag="board:UI" inputmask="0x80"><bounds x="7.3" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
<element name="count_ui0" ref="text_uiu3a"><bounds x="0" y="75" width="4" height="2" /></element>
<element name="count_ui1" ref="text_uiu3c"><bounds x="6" y="75" width="4" height="2" /></element>
<element ref="text_uiu3b"><bounds x="4" y="75" width="2" height="2" /></element>
</group>
<!-- display -->
<element name="lcd_bg1"><rect><color red="0.9" green="0.9" blue="0.45" /></rect></element>
<element name="lcd_bg2"><rect><color red="0.58" green="0.61" blue="0.62" /></rect></element>
<element name="lcd_cb">
<rect><bounds x="0" y="0" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
<rect><bounds x="10" y="0" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
<rect><bounds x="20" y="0" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
<rect><bounds x="30" y="0" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
<rect><bounds x="5" y="5" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
<rect><bounds x="15" y="5" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
<rect><bounds x="25" y="5" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
<rect><bounds x="35" y="5" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
<rect><bounds x="0" y="10" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
<rect><bounds x="10" y="10" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
<rect><bounds x="20" y="10" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
<rect><bounds x="30" y="10" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
<rect><bounds x="5" y="15" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
<rect><bounds x="15" y="15" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
<rect><bounds x="25" y="15" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
<rect><bounds x="35" y="15" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
<rect><bounds x="0" y="20" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
<rect><bounds x="10" y="20" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
<rect><bounds x="20" y="20" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
<rect><bounds x="30" y="20" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
<rect><bounds x="5" y="25" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
<rect><bounds x="15" y="25" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
<rect><bounds x="25" y="25" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
<rect><bounds x="35" y="25" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
<rect><bounds x="0" y="30" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
<rect><bounds x="10" y="30" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
<rect><bounds x="20" y="30" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
<rect><bounds x="30" y="30" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
<rect><bounds x="5" y="35" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
<rect><bounds x="15" y="35" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
<rect><bounds x="25" y="35" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
<rect><bounds x="35" y="35" width="5" height="5" /><color red="1" green="1" blue="1" /></rect>
</element>
<group name="display">
<bounds x="9.4" y="10" width="101.1" height="128.5" /> <!-- A/R 0.78677 -->
<element ref="whitew"><bounds x="9.4" y="10" width="101.1" height="128.5" /></element>
<element ref="lcd_bg1"><bounds x="9.4" y="10" width="101.1" height="102.3" /></element>
<element ref="lcd_cb"><bounds x="9.4" y="10" width="101.1" height="101.3" /></element>
<screen index="0" blend="multiply"><bounds x="10" y="10" width="100" height="123.711" /></screen>
</group>
<!-- build screen -->
<view name="Internal Layout (Full)">
<bounds left="-15.5" right="132.5" top="1" bottom="89.5" />
<element ref="cgray"><bounds x="-2.5" y="1" width="135" height="88.5" /></element>
<group ref="sb_board"><bounds x="3.75" y="2.75" width="80.5" height="80.5" /></group>
<group ref="sb_ui"><bounds x="-14" y="3" width="10" height="80" /></group>
<!-- chessboard coords -->
<element ref="text_8"><bounds x="1.5" y="7" width="2" height="2" /></element>
<element ref="text_7"><bounds x="1.5" y="17" width="2" height="2" /></element>
<element ref="text_6"><bounds x="1.5" y="27" width="2" height="2" /></element>
<element ref="text_5"><bounds x="1.5" y="37" width="2" height="2" /></element>
<element ref="text_4"><bounds x="1.5" y="47" width="2" height="2" /></element>
<element ref="text_3"><bounds x="1.5" y="57" width="2" height="2" /></element>
<element ref="text_2"><bounds x="1.5" y="67" width="2" height="2" /></element>
<element ref="text_1"><bounds x="1.5" y="77" width="2" height="2" /></element>
<element ref="text_a"><bounds x="8" y="83.5" width="2" height="2" /></element>
<element ref="text_b"><bounds x="18" y="83.5" width="2" height="2" /></element>
<element ref="text_c"><bounds x="28" y="83.5" width="2" height="2" /></element>
<element ref="text_d"><bounds x="38" y="83.5" width="2" height="2" /></element>
<element ref="text_e"><bounds x="48" y="83.5" width="2" height="2" /></element>
<element ref="text_f"><bounds x="58" y="83.5" width="2" height="2" /></element>
<element ref="text_g"><bounds x="68" y="83.5" width="2" height="2" /></element>
<element ref="text_h"><bounds x="78" y="83.5" width="2" height="2" /></element>
<!-- chessboard leds -->
<element name="0.7" ref="ledr"><bounds x="-1" y="7.5" width="2" height="1" /></element>
<element name="0.6" ref="ledr"><bounds x="-1" y="17.5" width="2" height="1" /></element>
<element name="0.5" ref="ledr"><bounds x="-1" y="27.5" width="2" height="1" /></element>
<element name="0.4" ref="ledr"><bounds x="-1" y="37.5" width="2" height="1" /></element>
<element name="0.3" ref="ledr"><bounds x="-1" y="47.5" width="2" height="1" /></element>
<element name="0.2" ref="ledr"><bounds x="-1" y="57.5" width="2" height="1" /></element>
<element name="0.1" ref="ledr"><bounds x="-1" y="67.5" width="2" height="1" /></element>
<element name="0.0" ref="ledr"><bounds x="-1" y="77.5" width="2" height="1" /></element>
<element name="1.0" ref="ledr"><bounds x="8.5" y="86" width="1" height="2" /></element>
<element name="1.1" ref="ledr"><bounds x="18.5" y="86" width="1" height="2" /></element>
<element name="1.2" ref="ledr"><bounds x="28.5" y="86" width="1" height="2" /></element>
<element name="1.3" ref="ledr"><bounds x="38.5" y="86" width="1" height="2" /></element>
<element name="1.4" ref="ledr"><bounds x="48.5" y="86" width="1" height="2" /></element>
<element name="1.5" ref="ledr"><bounds x="58.5" y="86" width="1" height="2" /></element>
<element name="1.6" ref="ledr"><bounds x="68.5" y="86" width="1" height="2" /></element>
<element name="1.7" ref="ledr"><bounds x="78.5" y="86" width="1" height="2" /></element>
<!-- right side -->
<element ref="lmask"><bounds xc="109.8" yc="25.5" width="27.8" height="32.2" /></element>
<group ref="display"><bounds xc="109.8" yc="25.5" width="23.6" height="30.2" /></group>
<element ref="lcd_bg2" blend="multiply"><bounds xc="109.8" yc="25.5" width="27.8" height="32.2" /></element>
<element ref="black2"><bounds x="88.5" y="9.25" width="40" height="0.25" /></element>
<element ref="black2"><bounds x="88.5" y="41.5" width="40" height="0.25" /></element>
<element ref="black2"><bounds x="88.5" y="78" width="40" height="0.25" /></element>
<element ref="black2"><bounds x="124" yc="25.5" width="5" height="32.2" /></element>
<element ref="crosshair"><bounds xc="126" y="10.5" width="3.2" height="3.2" /></element>
<element ref="text_r4"><bounds xc="126" y="39.2" width="3.5" height="1.1" /></element>
<element ref="text_r5"><bounds xc="126" y="40.2" width="3.6" height="1.1" /></element>
<element ref="cgray"><bounds x="128" yc="25.5" width="2" height="34" /></element>
<element name="2.0" ref="ledr"><bounds x="88.5" y="18" width="2" height="1" /></element>
<element name="2.1" ref="ledr"><bounds x="88.5" y="25" width="2" height="1" /></element>
<element ref="ledro"><bounds x="88.5" y="32" width="2" height="1" /></element>
<element name="2.2" ref="ledrr" blend="add"><bounds x="88.5" y="32" width="2" height="1" /></element>
<element name="2.3" ref="ledrg" blend="add"><bounds x="88.5" y="32" width="2" height="1" /></element>
<element ref="text_r1"><bounds x="91" y="17.7" width="7" height="1.5" /></element>
<element ref="text_r2"><bounds x="91" y="24.7" width="7" height="1.5" /></element>
<element ref="text_r3"><bounds x="91" y="31.7" width="7" height="1.5" /></element>
<element ref="text_b1"><bounds x="88.5" y="46" width="7.5" height="1.5" /></element>
<element ref="text_b2"><bounds x="96.5" y="46" width="7.5" height="1.5" /></element>
<element ref="text_b3"><bounds x="104.5" y="46" width="7.5" height="1.5" /></element>
<element ref="text_b4"><bounds x="111.5" y="46" width="9.5" height="1.5" /></element>
<element ref="text_b5"><bounds x="120.5" y="46" width="7.5" height="1.5" /></element>
<element ref="text_b6"> <bounds x="88.5" y="54.25" width="7.5" height="1.5" /></element>
<element ref="text_b7"> <bounds x="96.5" y="54.25" width="7.5" height="1.5" /></element>
<element ref="text_b8"> <bounds x="104.5" y="54.25" width="7.5" height="1.5" /></element>
<element ref="text_b9"> <bounds x="112.5" y="54.25" width="7.5" height="1.5" /></element>
<element ref="text_b10"><bounds x="120.5" y="54.25" width="7.5" height="1.5" /></element>
<element ref="text_b11"><bounds x="88.5" y="62.5" width="7.5" height="1.5" /></element>
<element ref="text_b12"><bounds x="95.5" y="62.5" width="9.5" height="1.5" /></element>
<element ref="text_b13"><bounds x="104.5" y="62.1" width="7.5" height="2.1" /></element>
<element ref="text_b14"><bounds x="112.5" y="62.1" width="7.5" height="2.1" /></element>
<element ref="text_b15"><bounds x="120.5" y="62.5" width="7.5" height="1.5" /></element>
<element ref="whitew"><bounds x="90.083" y="69.4" width="40" height="3" /></element>
<element ref="text_p1"><bounds x="90.083" y="69.4" width="3" height="3" /></element>
<element ref="text_p2"><bounds x="96.749" y="69.4" width="3" height="3" /></element>
<element ref="text_p3"><bounds x="103.415" y="69.4" width="3" height="3" /></element>
<element ref="text_p4"><bounds x="110.081" y="69.4" width="3" height="3" /></element>
<element ref="text_p5"><bounds x="116.747" y="69.4" width="3" height="3" /></element>
<element ref="text_p6"><bounds x="123.413" y="69.4" width="3" height="3" /></element>
<element ref="bmask" blend="add"><bounds x="90.083" y="69.4" width="40" height="3" /></element>
<element ref="cgray" blend="multiply"><bounds x="90.083" y="69.4" width="40" height="3" /></element>
<element ref="button" inputtag="RESET" inputmask="0x01"><bounds x="88.5" y="48.25" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.1" inputmask="0x10"> <bounds x="96.5" y="48.25" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.1" inputmask="0x40"> <bounds x="104.5" y="48.25" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.0" inputmask="0x10"> <bounds x="112.5" y="48.25" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.2" inputmask="0x02"> <bounds x="120.5" y="48.25" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.0" inputmask="0x20"><bounds x="88.5" y="56.5" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.2" inputmask="0x40"><bounds x="96.5" y="56.5" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.2" inputmask="0x01"><bounds x="104.5" y="56.5" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.1" inputmask="0x20"><bounds x="112.5" y="56.5" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.1" inputmask="0x01"><bounds x="120.5" y="56.5" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.1" inputmask="0x80"><bounds x="88.5" y="64.75" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.1" inputmask="0x02"><bounds x="96.5" y="64.75" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.2" inputmask="0x80"><bounds x="104.5" y="64.75" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.0" inputmask="0x02"><bounds x="112.5" y="64.75" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.2" inputmask="0x10"><bounds x="120.5" y="64.75" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.0" inputmask="0x04"><bounds x="88.5" y="73" width="6.166" height="1.5" /></element>
<element ref="button" inputtag="IN.2" inputmask="0x04"><bounds x="95.166" y="73" width="6.166" height="1.5" /></element>
<element ref="button" inputtag="IN.2" inputmask="0x08"><bounds x="101.832" y="73" width="6.166" height="1.5" /></element>
<element ref="button" inputtag="IN.0" inputmask="0x08"><bounds x="108.498" y="73" width="6.166" height="1.5" /></element>
<element ref="button" inputtag="IN.1" inputmask="0x04"><bounds x="115.164" y="73" width="6.166" height="1.5" /></element>
<element ref="button" inputtag="IN.1" inputmask="0x08"><bounds x="121.83" y="73" width="6.166" height="1.5" /></element>
</view>
<view name="Internal Layout (Screen)">
<bounds x="0" y="0" width="101.1" height="128.5" />
<group ref="display"><bounds x="0" y="0" width="101.1" height="128.5" /></group>
<element ref="lcd_bg2" blend="multiply"><bounds x="-2" y="-2" width="110" height="140" /></element>
</view>
</mamelayout>

View File

@ -20,50 +20,47 @@ authors:Sandro Ronco, hap
<color red="1" green="0.1" blue="0.15" /> <color red="1" green="0.1" blue="0.15" />
</rect> </rect>
</element> </element>
<element name="hlb" defstate="0">
<rect state="0"> <element name="but" defstate="0">
<bounds x="0.0" y="0.0" width="1.0" height="1.0" /> <rect state="0"><color red="0.1" green="0.1" blue="0.1" /></rect>
<color red="0.1" green="0.1" blue="0.1" /> <rect state="1"><color red="0.25" green="0.25" blue="0.25" /></rect>
</rect>
<rect 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" />
</rect>
</element> </element>
<element name="text_1"> <text string="1"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_1"><text string="1"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_2"> <text string="2"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_2"><text string="2"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_3"> <text string="3"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_3"><text string="3"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_4"> <text string="4"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_4"><text string="4"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_5"> <text string="5"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_5"><text string="5"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_6"> <text string="6"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_6"><text string="6"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_7"> <text string="7"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_7"><text string="7"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_8"> <text string="8"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_8"><text string="8"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_a"> <text string="A"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_a"><text string="A"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_b"> <text string="B"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_b"><text string="B"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_c"> <text string="C"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_c"><text string="C"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_d"> <text string="D"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_d"><text string="D"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_e"> <text string="E"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_e"><text string="E"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_f"> <text string="F"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_f"><text string="F"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_g"> <text string="G"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_g"><text string="G"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_h"> <text string="H"><color red="0.01" green="0.01" blue="0.01" /></text> </element> <element name="text_h"><text string="H"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_on"> <text string="ON" > <color red="0.17" green="0.15" blue="0.15" /></text> </element>
<element name="text_off"> <text string="OFF" > <color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_b1"><text string="ON"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_newgame"> <text string="NEW GAME" > <color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_b2"><text string="OFF"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_play"> <text string="PLAY" > <color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_b3"><text string="NEW GAME"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_back"> <text string="BACK" > <color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_b4"><text string="PLAY"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_left"> <text string="&#x2190;" > <color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_b5"><text string="BACK"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_right"> <text string="&#x2192;" > <color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_b6"><text string="&#x2190;"><color red="0.1" green="0.1" blue="0.1" /></text></element> <!-- arrow left -->
<element name="text_menu"> <text string="MENU" > <color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_b7"><text string="&#x2192;"><color red="0.1" green="0.1" blue="0.1" /></text></element> <!-- arrow right -->
<element name="text_up"> <text string="&#x2191;" > <color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_b8"><text string="MENU"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_down"> <text string="&#x2193;" > <color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_b9"><text string="&#x2191;"><color red="0.1" green="0.1" blue="0.1" /></text></element> <!-- arrow up -->
<element name="text_enter"> <text string="ENTER" > <color red="0.17" green="0.15" blue="0.15" /></text> </element> <element name="text_b10"><text string="&#x2193;"><color red="0.1" green="0.1" blue="0.1" /></text></element> <!-- arrow down -->
<element name="text_p1"> <image file="chess/bk.svg"/></element> <element name="text_b11"><text string="ENTER"><color red="0.1" green="0.1" blue="0.1" /></text></element>
<element name="text_p2"> <image file="chess/bq.svg"/></element>
<element name="text_p3"> <image file="chess/br.svg"/></element> <element name="text_p1"><image file="chess/bk.svg"/></element>
<element name="text_p4"> <image file="chess/bb.svg"/></element> <element name="text_p2"><image file="chess/bq.svg"/></element>
<element name="text_p5"> <image file="chess/bn.svg"/></element> <element name="text_p3"><image file="chess/br.svg"/></element>
<element name="text_p6"> <image file="chess/bp.svg"/></element> <element name="text_p4"><image file="chess/bb.svg"/></element>
<element name="text_p5"><image file="chess/bn.svg"/></element>
<element name="text_p6"><image file="chess/bp.svg"/></element>
<element name="sym_colon" defstate="0"> <element name="sym_colon" defstate="0">
<text state="0" string=":"> <color red="0.49412" green="0.51765" blue="0.51765" /></text> <text state="0" string=":"> <color red="0.49412" green="0.51765" blue="0.51765" /></text>
@ -102,9 +99,9 @@ authors:Sandro Ronco, hap
<element name="lcd_bg"><rect><color red="0.5412" green="0.57255" blue="0.5804" /></rect></element> <element name="lcd_bg"><rect><color red="0.5412" green="0.57255" blue="0.5804" /></rect></element>
<element name="lcd_a"><rect><color red="0.3" green="0.3" blue="0.3" /></rect></element> <element name="lcd_a"><rect><color red="0.3" green="0.3" blue="0.3" /></rect></element>
<element name="blackb"><rect><color red="0.1" green="0.1" blue="0.1" /></rect></element> <element name="black2"><rect><color red="0.1" green="0.1" blue="0.1" /></rect></element>
<element name="whitew"><rect><color red="1" green="1" blue="1" /></rect></element> <element name="whitew"><rect><color red="1" green="1" blue="1" /></rect></element>
<element name="red"><rect><color red="0.85" green="0.4" blue="0.4" /></rect></element> <element name="red"><rect><color red="0.8" green="0.1" blue="0.1" /></rect></element>
<element name="bmask"><rect><color red="0.17" green="0.15" blue="0.15" /></rect></element> <element name="bmask"><rect><color red="0.17" green="0.15" blue="0.15" /></rect></element>
@ -367,6 +364,62 @@ authors:Sandro Ronco, hap
</group> </group>
<!-- button panel -->
<group name="buttons1">
<bounds x="0" y="0" width="80" height="80" />
<element ref="whitew"><bounds x="6" y="32" width="50" height="4" /></element>
<repeat count="5">
<param name="x" start="9" increment="10.8" />
<param name="i" start="1" increment="1" />
<element ref="text_b~i~"><bounds xc="~x~" y="7" width="15" height="1.866" /></element>
</repeat>
<repeat count="6">
<param name="x" start="8" increment="9" />
<param name="i" start="1" increment="1" />
<element ref="text_p~i~"><bounds xc="~x~" y="32" width="4" height="4" /></element>
</repeat>
<element ref="bmask" blend="add"><bounds x="6" y="32" width="50" height="4" /></element>
<element ref="cwhite" blend="multiply"><bounds x="6" y="32" width="50" height="4" /></element>
<element ref="text_b6"> <bounds xc="8" y="19.7" width="15" height="2.7" /></element>
<element ref="text_b7"> <bounds xc="17" y="19.7" width="15" height="2.7" /></element>
<element ref="text_b8"> <bounds xc="26" y="20.333" width="15" height="1.866" /></element>
<element ref="text_b9"> <bounds xc="35" y="19.3" width="15" height="2.7" /></element>
<element ref="text_b10"><bounds xc="44" y="19.3" width="15" height="2.7" /></element>
<element ref="text_b11"><bounds xc="53" y="20.333" width="15" height="1.866" /></element>
</group>
<group name="buttons2">
<bounds x="0" y="0" width="80" height="80" />
<element ref="but" inputtag="RESET" inputmask="0x01"><bounds xc="9" y="10" width="9.3" height="2" /></element>
<element ref="but" inputtag="IN.7" inputmask="0x80"><bounds xc="19.8" y="10" width="9.3" height="2" /></element>
<element ref="but" inputtag="IN.6" inputmask="0x80"><bounds xc="30.6" y="10" width="9.3" height="2" /></element>
<element ref="but" inputtag="IN.5" inputmask="0x80"><bounds xc="41.4" y="10" width="9.3" height="2" /></element>
<element ref="but" inputtag="IN.0" inputmask="0x80"><bounds xc="52.2" y="10" width="9.3" height="2" /></element>
<element ref="but" inputtag="IN.7" inputmask="0x40"><bounds xc="8" y="23.333" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.6" inputmask="0x40"><bounds xc="17" y="23.333" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.4" inputmask="0x80"><bounds xc="26" y="23.333" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.3" inputmask="0x80"><bounds xc="35" y="23.333" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.2" inputmask="0x80"><bounds xc="44" y="23.333" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.1" inputmask="0x80"><bounds xc="53" y="23.333" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.5" inputmask="0x40"><bounds xc="8" y="36.666" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.4" inputmask="0x40"><bounds xc="17" y="36.666" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.3" inputmask="0x40"><bounds xc="26" y="36.666" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.2" inputmask="0x40"><bounds xc="35" y="36.666" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.1" inputmask="0x40"><bounds xc="44" y="36.666" width="7.5" height="2" /></element>
<element ref="but" inputtag="IN.0" inputmask="0x40"><bounds xc="53" y="36.666" width="7.5" height="2" /></element>
</group>
<!-- LCD panel --> <!-- LCD panel -->
<group name="lcd"> <group name="lcd">
@ -415,9 +468,9 @@ authors:Sandro Ronco, hap
<!-- build screen --> <!-- build screen -->
<view name="Internal Layout (Full)"> <view name="Internal Layout (Full)">
<bounds x="1.5" y="0" width="165" height="89" /> <bounds left="1.5" right="151.875" top="-0.25" bottom="89" />
<element ref="cwhite"><bounds x="14.5" y="0" width="152" height="89" /></element> <element ref="cwhite"><bounds x="14.5" y="-0.25" width="137.375" height="89.25" /></element>
<!-- chess coords --> <!-- chess coords -->
<element ref="text_8"><bounds x="18.3" y="6" width="2" height="2" /></element> <element ref="text_8"><bounds x="18.3" y="6" width="2" height="2" /></element>
@ -438,56 +491,29 @@ authors:Sandro Ronco, hap
<element ref="text_h"><bounds x="95" y="83.1" width="2" height="2" /></element> <element ref="text_h"><bounds x="95" y="83.1" width="2" height="2" /></element>
<!-- right side --> <!-- right side -->
<element ref="whitew"><bounds x="109.5" y="65.5" width="50" height="4" /></element> <element ref="black2"><bounds x="107" y="12" width="39.2" height="15" /></element>
<element ref="text_p1"><bounds x="109.5" y="65.5" width="4" height="4" /></element> <element ref="cwhite"><bounds x="107.25" y="12.25" width="38.7" height="11.8" /></element>
<element ref="text_p2"><bounds x="118.5" y="65.5" width="4" height="4" /></element>
<element ref="text_p3"><bounds x="127.5" y="65.5" width="4" height="4" /></element>
<element ref="text_p4"><bounds x="136.5" y="65.5" width="4" height="4" /></element>
<element ref="text_p5"><bounds x="145.5" y="65.5" width="4" height="4" /></element>
<element ref="text_p6"><bounds x="154.5" y="65.5" width="4" height="4" /></element>
<element ref="bmask" blend="add"><bounds x="109.5" y="65.5" width="50" height="4" /></element>
<element ref="cwhite" blend="multiply"><bounds x="109.5" y="65.5" width="50" height="4" /></element>
<element ref="text_on" ><bounds x="108" y="37.4" width="8" height="2" /></element> <repeat count="60">
<element ref="text_off" ><bounds x="119" y="37.4" width="8" height="2" /></element> <param name="y" start="12.25" increment="0.2" />
<element ref="text_newgame" ><bounds x="129" y="37.4" width="10" height="2" /></element> <element ref="red"><bounds x="107.25" y="~y~" width="38.7" height="11.8" /><color alpha="0.03" /></element>
<element ref="text_play" ><bounds x="141" y="37.4" width="8" height="2" /></element> </repeat>
<element ref="text_back" ><bounds x="152" y="37.4" width="8" height="2" /></element> <repeat count="9">
<param name="y" start="13" increment="1.2" />
<element ref="black2"><bounds x="107" y="~y~" width="39.2" height="0.25" /></element>
</repeat>
<element ref="text_left" ><bounds x="108" y="51.9" width="7" height="3" /></element> <element ref="black2"><bounds x="107" y="23.8" width="39.2" height="5" /></element>
<element ref="text_right" ><bounds x="117" y="51.9" width="7" height="3" /></element> <element ref="cwhite"><bounds x="106" y="26.3" width="41.2" height="20" /></element>
<element ref="text_menu" ><bounds x="126" y="52.4" width="7" height="2" /></element>
<element ref="text_up" ><bounds x="135" y="51.4" width="7" height="3" /></element>
<element ref="text_down" ><bounds x="144" y="51.4" width="7" height="3" /></element>
<element ref="text_enter" ><bounds x="153" y="52.4" width="7" height="2" /></element>
<element ref="hlb" inputtag="RESET" inputmask="0x01"><bounds x="108" y="40" width="8" height="2" /></element> <element ref="black2"><bounds x="108" y="13" width="25.5" height="9.8" /></element>
<element ref="hlb" inputtag="IN.7" inputmask="0x80"><bounds x="119" y="40" width="8" height="2" /></element> <group ref="lcd"><bounds x="108.25" y="13.25" width="25" height="9.3" /></group>
<element ref="hlb" inputtag="IN.6" inputmask="0x80"><bounds x="130" y="40" width="8" height="2" /></element>
<element ref="hlb" inputtag="IN.5" inputmask="0x80"><bounds x="141" y="40" width="8" height="2" /></element>
<element ref="hlb" inputtag="IN.0" inputmask="0x80"><bounds x="152" y="40" width="8" height="2" /></element>
<element ref="hlb" inputtag="IN.7" inputmask="0x40"><bounds x="108" y="55" width="7" height="2" /></element> <group ref="buttons1"><bounds x="103.425" y="38.75" width="60" height="60" /></group>
<element ref="hlb" inputtag="IN.6" inputmask="0x40"><bounds x="117" y="55" width="7" height="2" /></element> <group ref="buttons2"><bounds x="103.425" y="38.75" width="60" height="60" /></group>
<element ref="hlb" inputtag="IN.4" inputmask="0x80"><bounds x="126" y="55" width="7" height="2" /></element>
<element ref="hlb" inputtag="IN.3" inputmask="0x80"><bounds x="135" y="55" width="7" height="2" /></element>
<element ref="hlb" inputtag="IN.2" inputmask="0x80"><bounds x="144" y="55" width="7" height="2" /></element>
<element ref="hlb" inputtag="IN.1" inputmask="0x80"><bounds x="153" y="55" width="7" height="2" /></element>
<element ref="hlb" inputtag="IN.5" inputmask="0x40"><bounds x="108" y="70" width="7" height="2" /></element>
<element ref="hlb" inputtag="IN.4" inputmask="0x40"><bounds x="117" y="70" width="7" height="2" /></element>
<element ref="hlb" inputtag="IN.3" inputmask="0x40"><bounds x="126" y="70" width="7" height="2" /></element>
<element ref="hlb" inputtag="IN.2" inputmask="0x40"><bounds x="135" y="70" width="7" height="2" /></element>
<element ref="hlb" inputtag="IN.1" inputmask="0x40"><bounds x="144" y="70" width="7" height="2" /></element>
<element ref="hlb" inputtag="IN.0" inputmask="0x40"><bounds x="153" y="70" width="7" height="2" /></element>
<element ref="blackb"><bounds x="108" y="8.2" width="52" height="17.8" /></element>
<element ref="red"><bounds x="108" y="8.2" width="52" height="13.8" /></element>
<element ref="blackb"><bounds x="109" y="9.2" width="30.7" height="11.8" /></element>
<group ref="lcd"><bounds x="109.3" y="9.5" width="30.1" height="11.2" /></group>
<!-- chessboard bezel --> <!-- chessboard bezel -->
<element ref="blackb"><bounds x="20.5" y="1.5" width="81" height="81" /></element> <element ref="black2"><bounds x="20.75" y="1.75" width="80.5" height="80.5" /></element>
<group ref="sb_board"><bounds x="21" y="2" width="80" height="80" /></group> <group ref="sb_board"><bounds x="21" y="2" width="80" height="80" /></group>
<group ref="sb_ui"><bounds x="3" y="2" width="10" height="80" /></group> <group ref="sb_ui"><bounds x="3" y="2" width="10" height="80" /></group>
@ -513,4 +539,5 @@ authors:Sandro Ronco, hap
<view name="Internal Layout (LCD)"> <view name="Internal Layout (LCD)">
<group ref="lcd"><bounds x="0" y="0" width="30.1" height="11.2" /></group> <group ref="lcd"><bounds x="0" y="0" width="30.1" height="11.2" /></group>
</view> </view>
</mamelayout> </mamelayout>

View File

@ -7,6 +7,10 @@ authors:hap
<!-- define elements --> <!-- define elements -->
<element name="blackb"><rect><color red="0" green="0" blue="0" /></rect></element>
<element name="black2"><rect><color red="0.15" green="0.15" blue="0.15" /></rect></element>
<element name="lmask"><rect><color red="0.2586" green="0.2459" blue="0.2419" /></rect></element>
<element name="ledr" defstate="0"> <element name="ledr" defstate="0">
<rect state="0"><color red="0.15" green="0" blue="0" /></rect> <rect state="0"><color red="0.15" green="0" blue="0" /></rect>
<rect state="1"><color red="1" green="0" blue="0" /></rect> <rect state="1"><color red="1" green="0" blue="0" /></rect>
@ -74,6 +78,40 @@ authors:hap
<element name="text_p5"><image file="chess/wn.svg"></image></element> <element name="text_p5"><image file="chess/wn.svg"></image></element>
<element name="text_p6"><image file="chess/wp.svg"></image></element> <element name="text_p6"><image file="chess/wp.svg"></image></element>
<element name="text_r4"><text string="PRECISION"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_r5"><text string="TECHNOLOGY"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="crosshair">
<disk>
<bounds xc="0" yc="0" width="8" height="8" />
<color alpha="0" />
</disk>
<disk>
<bounds xc="0" yc="0" width="0.2" height="8" />
<color red="0.81" green="0.8" blue="0.79" />
</disk>
<disk>
<bounds xc="0" yc="0" width="8" height="0.2" />
<color red="0.81" green="0.8" blue="0.79" />
</disk>
<disk>
<bounds xc="0" yc="0" width="5.2" height="5.2" />
<color red="0.81" green="0.8" blue="0.79" />
</disk>
<disk>
<bounds xc="0" yc="0" width="4.9" height="4.9" />
<color red="0.15" green="0.15" blue="0.15" />
</disk>
<disk>
<bounds xc="0" yc="0" width="0.2" height="3" />
<color red="0.81" green="0.8" blue="0.79" />
</disk>
<disk>
<bounds xc="0" yc="0" width="3" height="0.2" />
<color red="0.81" green="0.8" blue="0.79" />
</disk>
</element>
<!-- sb board --> <!-- sb board -->
@ -385,14 +423,13 @@ authors:hap
<element ref="lcd_cb"><bounds x="9.4" y="10" width="101.1" height="101.3" /></element> <element ref="lcd_cb"><bounds x="9.4" y="10" width="101.1" height="101.3" /></element>
<screen index="0" blend="multiply"><bounds x="10" y="10" width="100" height="123.711" /></screen> <screen index="0" blend="multiply"><bounds x="10" y="10" width="100" height="123.711" /></screen>
<element ref="lcd_bg2" blend="multiply"><bounds x="0" y="0" width="120" height="140" /></element>
</group> </group>
<!-- build screen --> <!-- build screen -->
<view name="Internal Layout (Full)"> <view name="Internal Layout (Full)">
<bounds left="-13.5" right="132.5" top="1" bottom="90" /> <bounds left="-13.5" right="132.5" top="1" bottom="89.5" />
<group ref="sb_board"><bounds x="4" y="3" width="80" height="80" /></group> <group ref="sb_board"><bounds x="4" y="3" width="80" height="80" /></group>
<group ref="sb_ui"><bounds x="-12" y="3" width="10" height="80" /></group> <group ref="sb_ui"><bounds x="-12" y="3" width="10" height="80" /></group>
@ -436,74 +473,88 @@ authors:hap
<element name="1.7" ref="ledr"><bounds x="78.5" y="86" width="1" height="2" /></element> <element name="1.7" ref="ledr"><bounds x="78.5" y="86" width="1" height="2" /></element>
<!-- right side --> <!-- right side -->
<group ref="display"><bounds x="96.5" y="13" width="23.6" height="30" /></group> <element ref="lmask"><bounds xc="109.8" yc="25.5" width="27.8" height="32.2" /></element>
<group ref="display"><bounds xc="109.8" yc="25.5" width="23.6" height="30.2" /></group>
<element ref="lcd_bg2" blend="multiply"><bounds xc="109.8" yc="25.5" width="27.8" height="32.2" /></element>
<element name="2.0" ref="ledr"><bounds x="88.5" y="20.5" width="2" height="1" /></element> <element ref="black2"><bounds x="88.5" y="9.25" width="40" height="0.25" /></element>
<element name="3.0" ref="ledr"><bounds x="88.5" y="27.5" width="2" height="1" /></element> <element ref="black2"><bounds x="88.5" y="41.5" width="40" height="0.25" /></element>
<element ref="black2"><bounds x="88.5" y="78" width="40" height="0.25" /></element>
<element ref="ledro"><bounds x="88.5" y="34.5" width="2" height="1" /></element> <element ref="black2"><bounds x="124" yc="25.5" width="5" height="32.2" /></element>
<element name="2.1" ref="ledrr" blend="add"><bounds x="88.5" y="34.5" width="2" height="1" /></element> <element ref="crosshair"><bounds xc="126" y="10.5" width="3.2" height="3.2" /></element>
<element name="3.1" ref="ledrg" blend="add"><bounds x="88.5" y="34.5" width="2" height="1" /></element> <element ref="text_r4"><bounds xc="126" y="39.2" width="3.5" height="1.1" /></element>
<element ref="text_r5"><bounds xc="126" y="40.2" width="3.6" height="1.1" /></element>
<element ref="text_r1"><bounds x="91" y="20.2" width="7" height="1.5" /></element> <element ref="blackb"><bounds x="128" yc="25.5" width="2" height="34" /></element>
<element ref="text_r2"><bounds x="91" y="27.2" width="7" height="1.5" /></element>
<element ref="text_r3"><bounds x="91" y="34.2" width="7" height="1.5" /></element>
<element ref="text_b1"><bounds x="88.5" y="46.5" width="7.5" height="1.5" /></element> <element name="2.0" ref="ledr"><bounds x="88.5" y="18" width="2" height="1" /></element>
<element ref="text_b2"><bounds x="96.5" y="46.5" width="7.5" height="1.5" /></element> <element name="3.0" ref="ledr"><bounds x="88.5" y="25" width="2" height="1" /></element>
<element ref="text_b3"><bounds x="104.5" y="46.5" width="7.5" height="1.5" /></element>
<element ref="text_b4"><bounds x="111.5" y="46.5" width="9.5" height="1.5" /></element>
<element ref="text_b5"><bounds x="120.5" y="46.5" width="7.5" height="1.5" /></element>
<element ref="text_b6"><bounds x="88.5" y="54.75" width="7.5" height="1.5" /></element> <element ref="ledro"><bounds x="88.5" y="32" width="2" height="1" /></element>
<element ref="text_b7"><bounds x="96.5" y="54.75" width="7.5" height="1.5" /></element> <element name="2.1" ref="ledrr" blend="add"><bounds x="88.5" y="32" width="2" height="1" /></element>
<element ref="text_b8"><bounds x="104.5" y="54.75" width="7.5" height="1.5" /></element> <element name="3.1" ref="ledrg" blend="add"><bounds x="88.5" y="32" width="2" height="1" /></element>
<element ref="text_b9"><bounds x="112.5" y="54.75" width="7.5" height="1.5" /></element>
<element ref="text_b10"><bounds x="120.5" y="54.75" width="7.5" height="1.5" /></element>
<element ref="text_b11"><bounds x="88.5" y="63" width="7.5" height="1.5" /></element> <element ref="text_r1"><bounds x="91" y="17.7" width="7" height="1.5" /></element>
<element ref="text_b12"><bounds x="95.5" y="63" width="9.5" height="1.5" /></element> <element ref="text_r2"><bounds x="91" y="24.7" width="7" height="1.5" /></element>
<element ref="text_b13"><bounds x="104.5" y="62.6" width="7.5" height="2.1" /></element> <element ref="text_r3"><bounds x="91" y="31.7" width="7" height="1.5" /></element>
<element ref="text_b14"><bounds x="112.5" y="62.6" width="7.5" height="2.1" /></element>
<element ref="text_b15"><bounds x="120.5" y="63" width="7.5" height="1.5" /></element>
<element ref="text_p1"><bounds x="90.083" y="69.9" width="3" height="3" /></element> <element ref="text_b1"><bounds x="88.5" y="46" width="7.5" height="1.5" /></element>
<element ref="text_p2"><bounds x="96.749" y="69.9" width="3" height="3" /></element> <element ref="text_b2"><bounds x="96.5" y="46" width="7.5" height="1.5" /></element>
<element ref="text_p3"><bounds x="103.415" y="69.9" width="3" height="3" /></element> <element ref="text_b3"><bounds x="104.5" y="46" width="7.5" height="1.5" /></element>
<element ref="text_p4"><bounds x="110.081" y="69.9" width="3" height="3" /></element> <element ref="text_b4"><bounds x="111.5" y="46" width="9.5" height="1.5" /></element>
<element ref="text_p5"><bounds x="116.747" y="69.9" width="3" height="3" /></element> <element ref="text_b5"><bounds x="120.5" y="46" width="7.5" height="1.5" /></element>
<element ref="text_p6"><bounds x="123.413" y="69.9" width="3" height="3" /></element>
<element ref="cwhite" blend="multiply"><bounds x="90.083" y="69.9" width="40" height="3" /></element>
<element ref="button" inputtag="RESET" inputmask="0x01"><bounds x="88.5" y="48.25" width="7.5" height="3" /></element> <element ref="text_b6"> <bounds x="88.5" y="54.25" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.1" inputmask="0x02"><bounds x="96.5" y="48.25" width="7.5" height="3" /></element> <element ref="text_b7"> <bounds x="96.5" y="54.25" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.0" inputmask="0x02"><bounds x="104.5" y="48.25" width="7.5" height="3" /></element> <element ref="text_b8"> <bounds x="104.5" y="54.25" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.1" inputmask="0x04"><bounds x="112.5" y="48.25" width="7.5" height="3" /></element> <element ref="text_b9"> <bounds x="112.5" y="54.25" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.4" inputmask="0x01"><bounds x="120.5" y="48.25" width="7.5" height="3" /></element> <element ref="text_b10"><bounds x="120.5" y="54.25" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.7" inputmask="0x04"><bounds x="88.5" y="56.5" width="7.5" height="3" /></element> <element ref="text_b11"><bounds x="88.5" y="62.5" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.0" inputmask="0x01"><bounds x="96.5" y="56.5" width="7.5" height="3" /></element> <element ref="text_b12"><bounds x="95.5" y="62.5" width="9.5" height="1.5" /></element>
<element ref="button" inputtag="IN.6" inputmask="0x01"><bounds x="104.5" y="56.5" width="7.5" height="3" /></element> <element ref="text_b13"><bounds x="104.5" y="62.1" width="7.5" height="2.1" /></element>
<element ref="button" inputtag="IN.7" inputmask="0x02"><bounds x="112.5" y="56.5" width="7.5" height="3" /></element> <element ref="text_b14"><bounds x="112.5" y="62.1" width="7.5" height="2.1" /></element>
<element ref="button" inputtag="IN.6" inputmask="0x02"><bounds x="120.5" y="56.5" width="7.5" height="3" /></element> <element ref="text_b15"><bounds x="120.5" y="62.5" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.5" inputmask="0x02"><bounds x="88.5" y="64.75" width="7.5" height="3" /></element> <element ref="text_p1"><bounds x="90.083" y="69.4" width="3" height="3" /></element>
<element ref="button" inputtag="IN.4" inputmask="0x02"><bounds x="96.5" y="64.75" width="7.5" height="3" /></element> <element ref="text_p2"><bounds x="96.749" y="69.4" width="3" height="3" /></element>
<element ref="button" inputtag="IN.5" inputmask="0x01"><bounds x="104.5" y="64.75" width="7.5" height="3" /></element> <element ref="text_p3"><bounds x="103.415" y="69.4" width="3" height="3" /></element>
<element ref="button" inputtag="IN.4" inputmask="0x04"><bounds x="112.5" y="64.75" width="7.5" height="3" /></element> <element ref="text_p4"><bounds x="110.081" y="69.4" width="3" height="3" /></element>
<element ref="button" inputtag="IN.1" inputmask="0x01"><bounds x="120.5" y="64.75" width="7.5" height="3" /></element> <element ref="text_p5"><bounds x="116.747" y="69.4" width="3" height="3" /></element>
<element ref="text_p6"><bounds x="123.413" y="69.4" width="3" height="3" /></element>
<element ref="cwhite" blend="multiply"><bounds x="90.083" y="69.4" width="40" height="3" /></element>
<element ref="button" inputtag="IN.3" inputmask="0x04"><bounds x="88.5" y="73" width="6.166" height="3" /></element> <element ref="button" inputtag="RESET" inputmask="0x01"><bounds x="88.5" y="48.25" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.3" inputmask="0x01"><bounds x="95.166" y="73" width="6.166" height="3" /></element> <element ref="button" inputtag="IN.1" inputmask="0x02"> <bounds x="96.5" y="48.25" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.2" inputmask="0x01"><bounds x="101.832" y="73" width="6.166" height="3" /></element> <element ref="button" inputtag="IN.0" inputmask="0x02"> <bounds x="104.5" y="48.25" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.2" inputmask="0x04"><bounds x="108.498" y="73" width="6.166" height="3" /></element> <element ref="button" inputtag="IN.1" inputmask="0x04"> <bounds x="112.5" y="48.25" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.3" inputmask="0x02"><bounds x="115.164" y="73" width="6.166" height="3" /></element> <element ref="button" inputtag="IN.4" inputmask="0x01"> <bounds x="120.5" y="48.25" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.2" inputmask="0x02"><bounds x="121.83" y="73" width="6.166" height="3" /></element>
<element ref="button" inputtag="IN.7" inputmask="0x04"><bounds x="88.5" y="56.5" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.0" inputmask="0x01"><bounds x="96.5" y="56.5" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.6" inputmask="0x01"><bounds x="104.5" y="56.5" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.7" inputmask="0x02"><bounds x="112.5" y="56.5" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.6" inputmask="0x02"><bounds x="120.5" y="56.5" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.5" inputmask="0x02"><bounds x="88.5" y="64.75" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.4" inputmask="0x02"><bounds x="96.5" y="64.75" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.5" inputmask="0x01"><bounds x="104.5" y="64.75" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.4" inputmask="0x04"><bounds x="112.5" y="64.75" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.1" inputmask="0x01"><bounds x="120.5" y="64.75" width="7.5" height="1.5" /></element>
<element ref="button" inputtag="IN.3" inputmask="0x04"><bounds x="88.5" y="73" width="6.166" height="1.5" /></element>
<element ref="button" inputtag="IN.3" inputmask="0x01"><bounds x="95.166" y="73" width="6.166" height="1.5" /></element>
<element ref="button" inputtag="IN.2" inputmask="0x01"><bounds x="101.832" y="73" width="6.166" height="1.5" /></element>
<element ref="button" inputtag="IN.2" inputmask="0x04"><bounds x="108.498" y="73" width="6.166" height="1.5" /></element>
<element ref="button" inputtag="IN.3" inputmask="0x02"><bounds x="115.164" y="73" width="6.166" height="1.5" /></element>
<element ref="button" inputtag="IN.2" inputmask="0x02"><bounds x="121.83" y="73" width="6.166" height="1.5" /></element>
</view> </view>
<view name="Internal Layout (Screen)"> <view name="Internal Layout (Screen)">
<bounds x="0" y="0" width="101.1" height="128.5" /> <bounds x="0" y="0" width="101.1" height="128.5" />
<group ref="display"><bounds x="0" y="0" width="101.1" height="128.5" /></group> <group ref="display"><bounds x="0" y="0" width="101.1" height="128.5" /></group>
<element ref="lcd_bg2" blend="multiply"><bounds x="-2" y="-2" width="110" height="140" /></element>
</view> </view>
</mamelayout> </mamelayout>

View File

@ -46,7 +46,7 @@ is either VCC or GND to distinguish between the two.
- SciSys Concord II - SciSys Concord II
- SciSys Electronic Chess Mark 8 - SciSys Electronic Chess Mark 8
- Tandy 1650 Portable Sensory Chess (Tandy brand Explorer Chess) - Tandy 1650 Portable Sensory Chess (Tandy brand Explorer Chess)
- Tandy 1650 (Fast Response Time) Computerized Chess (Tandy brand Concord) - Tandy (Radio Shack) 1650 (Fast Response Time) Computerized Chess (Tandy brand Concord)
The Tandy clones run at a lower clock frequency, 3MHz and 6MHz respectively. The Tandy clones run at a lower clock frequency, 3MHz and 6MHz respectively.

View File

@ -50,8 +50,8 @@ public:
driver_device(mconfig, type, tag), driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"), m_maincpu(*this, "maincpu"),
m_board(*this, "board"), m_board(*this, "board"),
m_lcd_pwm(*this, "lcd_pwm"),
m_led_pwm(*this, "led_pwm"), m_led_pwm(*this, "led_pwm"),
m_lcd_pwm(*this, "lcd_pwm"),
m_dac(*this, "dac"), m_dac(*this, "dac"),
m_inputs(*this, "IN.%u", 0), m_inputs(*this, "IN.%u", 0),
m_out_lcd(*this, "s%u.%u", 0U, 0U) m_out_lcd(*this, "s%u.%u", 0U, 0U)
@ -71,8 +71,8 @@ private:
// devices/pointers // devices/pointers
required_device<hd6301y0_cpu_device> m_maincpu; required_device<hd6301y0_cpu_device> m_maincpu;
required_device<sensorboard_device> m_board; required_device<sensorboard_device> m_board;
required_device<pwm_display_device> m_lcd_pwm;
required_device<pwm_display_device> m_led_pwm; required_device<pwm_display_device> m_led_pwm;
required_device<pwm_display_device> m_lcd_pwm;
required_device<dac_bit_interface> m_dac; required_device<dac_bit_interface> m_dac;
required_ioport_array<6> m_inputs; required_ioport_array<6> m_inputs;
output_finder<2, 24> m_out_lcd; output_finder<2, 24> m_out_lcd;

View File

@ -5,11 +5,24 @@
Saitek Kasparov GK 2000 Saitek Kasparov GK 2000
the chess engine is by Frans Morsch. According to schematics, GK 2100 is on the
same hardware.
Hardware notes:
- Hitachi H8/323 MCU, 20MHz XTAL
- LCD with custom segments
- piezo, 16 leds, button sensors chessboard
A13 MCU is used in:
- Saitek GK 2000 (86071220X12)
- Saitek Travel Champion 2080 (86071220X12)
- Saitek Mephisto Champion (suspected)
- Tandy (Radio Shack) Mega 2050X (86071221X12)
- Tandy (Radio Shack) Master 2200X (suspected)
TODO: TODO:
- verify buttons - it does a cold boot at every reset, so nvram won't work properly unless MAME
- add lcd has some kind of auxillary autosave state feature at power-off
- clean up WIP code
- internal artwork
*******************************************************************************/ *******************************************************************************/
@ -20,10 +33,11 @@ TODO:
#include "sound/dac.h" #include "sound/dac.h"
#include "video/pwm.h" #include "video/pwm.h"
#include "screen.h"
#include "speaker.h" #include "speaker.h"
// internal artwork // internal artwork
//#include "saitek_gk2000.lh" #include "saitek_gk2000.lh"
namespace { namespace {
@ -36,13 +50,16 @@ public:
m_maincpu(*this, "maincpu"), m_maincpu(*this, "maincpu"),
m_board(*this, "board"), m_board(*this, "board"),
m_led_pwm(*this, "led_pwm"), m_led_pwm(*this, "led_pwm"),
m_lcd_pwm(*this, "lcd_pwm"),
m_dac(*this, "dac"), m_dac(*this, "dac"),
m_inputs(*this, "IN.%u", 0) m_inputs(*this, "IN.%u", 0),
m_out_lcd(*this, "s%u.%u", 0U, 0U)
{ } { }
void gk2000(machine_config &config); void gk2000(machine_config &config);
DECLARE_INPUT_CHANGED_MEMBER(go_button); DECLARE_INPUT_CHANGED_MEMBER(go_button);
DECLARE_INPUT_CHANGED_MEMBER(change_cpu_freq);
protected: protected:
virtual void machine_start() override; virtual void machine_start() override;
@ -52,33 +69,46 @@ private:
required_device<h8323_device> m_maincpu; required_device<h8323_device> m_maincpu;
required_device<sensorboard_device> m_board; required_device<sensorboard_device> m_board;
required_device<pwm_display_device> m_led_pwm; required_device<pwm_display_device> m_led_pwm;
required_device<pwm_display_device> m_lcd_pwm;
required_device<dac_bit_interface> m_dac; required_device<dac_bit_interface> m_dac;
required_ioport_array<3> m_inputs; required_ioport_array<4> m_inputs;
output_finder<2, 24> m_out_lcd;
u16 m_inp_mux = 0; u16 m_inp_mux = 0;
u32 m_lcd_segs = 0;
u8 m_lcd_com = 0;
void main_map(address_map &map); void main_map(address_map &map);
// I/O handlers // I/O handlers
u8 p1_r(); void lcd_pwm_w(offs_t offset, u8 data);
void p1_w(u8 data); void update_lcd();
u8 p2_r(); template <int N> void lcd_segs_w(u8 data);
void lcd_com_w(u8 data);
void p2_w(u8 data); void p2_w(u8 data);
u8 p3_r();
void p3_w(u8 data);
u8 p4_r(); u8 p4_r();
void p4_w(u8 data);
u8 p5_r();
void p5_w(offs_t offset, u8 data, u8 mem_mask); void p5_w(offs_t offset, u8 data, u8 mem_mask);
void p6_w(u8 data);
u8 p7_r();
void p7_w(u8 data);
}; };
void gk2000_state::machine_start() void gk2000_state::machine_start()
{ {
m_out_lcd.resolve();
// register for savestates // register for savestates
save_item(NAME(m_inp_mux)); save_item(NAME(m_inp_mux));
save_item(NAME(m_lcd_segs));
save_item(NAME(m_lcd_com));
}
INPUT_CHANGED_MEMBER(gk2000_state::change_cpu_freq)
{
// only 20MHz and 14MHz versions are known to exist, but the software supports others (-1 is invalid)
static const int xm[9] = { 8, 20, 24, 28, 32, -1, -1, -1, 14 }; // XTAL in MHz
int mhz = xm[(count_leading_zeros_32(bitswap<8>(newval,0,1,2,3,4,5,6,7)) - 24) % 9];
if (mhz > 0)
m_maincpu->set_unscaled_clock(mhz * 1'000'000);
} }
@ -87,64 +117,57 @@ void gk2000_state::machine_start()
I/O I/O
*******************************************************************************/ *******************************************************************************/
// LCD
void gk2000_state::lcd_pwm_w(offs_t offset, u8 data)
{
m_out_lcd[offset & 0x3f][offset >> 6] = data;
}
void gk2000_state::update_lcd()
{
for (int i = 0; i < 2; i++)
{
// LCD common is analog (voltage level)
const u8 com = population_count_32(m_lcd_com >> (i * 2) & 3);
const u32 data = (com == 0) ? m_lcd_segs : (com == 2) ? ~m_lcd_segs : 0;
m_lcd_pwm->write_row(i, data);
}
}
template <int N>
void gk2000_state::lcd_segs_w(u8 data)
{
// P1x, P3x, P7x: LCD segments
const u8 shift = 8 * N;
m_lcd_segs = (m_lcd_segs & ~(0xff << shift)) | (data << shift);
update_lcd();
}
void gk2000_state::lcd_com_w(u8 data)
{
// P60-P63: LCD common
m_lcd_com = data & 0xf;
update_lcd();
}
// misc
INPUT_CHANGED_MEMBER(gk2000_state::go_button) INPUT_CHANGED_MEMBER(gk2000_state::go_button)
{ {
m_maincpu->set_input_line(INPUT_LINE_IRQ0, newval ? ASSERT_LINE : CLEAR_LINE); m_maincpu->set_input_line(INPUT_LINE_IRQ0, newval ? ASSERT_LINE : CLEAR_LINE);
} }
//[:maincpu] syscr = f9
//[:maincpu:port1] ddr_w ff
//[:maincpu:port3] ddr_w ff
//[:maincpu:port7] ddr_w ff
//[:maincpu:port6] ddr_w 4f
//[:maincpu:port2] ddr_w 00 ?
//[:maincpu:port5] ddr_w 27 ?
//[:maincpu:port5] ddr_w 1f
//[:maincpu:port2] ddr_w ff
// p4 ddr=0 -> read inputs
u8 gk2000_state::p1_r()
{
//printf("r1 ");
return 0xff;
}
void gk2000_state::p1_w(u8 data)
{
//printf("w1_%X ",data);
}
u8 gk2000_state::p2_r()
{
//printf("r2 ");
return 0xff;
}
void gk2000_state::p2_w(u8 data) void gk2000_state::p2_w(u8 data)
{ {
//printf("w2_%X ",data);
// P20-P27: input mux (chessboard), led data // P20-P27: input mux (chessboard), led data
m_inp_mux = (m_inp_mux & 0x700) | (data ^ 0xff); m_inp_mux = (m_inp_mux & 0x700) | (data ^ 0xff);
m_led_pwm->write_mx(~data); m_led_pwm->write_mx(~data);
} }
u8 gk2000_state::p3_r()
{
//printf("r3 ");
return 0xff;
}
void gk2000_state::p3_w(u8 data)
{
//printf("w3_%X ",data);
}
u8 gk2000_state::p4_r() u8 gk2000_state::p4_r()
{ {
//printf("r4 ");
// P40-P47: multiplexed inputs // P40-P47: multiplexed inputs
u8 data = 0; u8 data = 0;
@ -161,20 +184,8 @@ u8 gk2000_state::p4_r()
return ~data; return ~data;
} }
void gk2000_state::p4_w(u8 data)
{
//printf("w4_%X ",data);
}
u8 gk2000_state::p5_r()
{
//printf("r5 ");
return 0xff;
}
void gk2000_state::p5_w(offs_t offset, u8 data, u8 mem_mask) void gk2000_state::p5_w(offs_t offset, u8 data, u8 mem_mask)
{ {
//printf("w5_%X ",data);
data |= ~mem_mask; data |= ~mem_mask;
// P50: speaker out // P50: speaker out
@ -187,22 +198,6 @@ void gk2000_state::p5_w(offs_t offset, u8 data, u8 mem_mask)
m_inp_mux = (m_inp_mux & 0xff) | (~data << 5 & 0x700); m_inp_mux = (m_inp_mux & 0xff) | (~data << 5 & 0x700);
} }
void gk2000_state::p6_w(u8 data)
{
//printf("w6_%X ",data);
}
u8 gk2000_state::p7_r()
{
//printf("r7 ");
return 0xff;
}
void gk2000_state::p7_w(u8 data)
{
//printf("w7_%X ",data);
}
/******************************************************************************* /*******************************************************************************
@ -222,37 +217,32 @@ void gk2000_state::main_map(address_map &map)
static INPUT_PORTS_START( gk2000 ) static INPUT_PORTS_START( gk2000 )
PORT_START("IN.0") PORT_START("IN.0")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_1) // ng PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_N) PORT_NAME("New Game")
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_2) // pos PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_X) PORT_NAME("Position")
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_3) // lev PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_L) PORT_NAME("Level")
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_4) // opt PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_O) PORT_NAME("Option")
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_5) // info PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_I) PORT_NAME("Info")
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_6) // tb PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_T) PORT_NAME("Take Back")
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_7) // cl PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_DEL) PORT_CODE(KEYCODE_BACKSPACE) PORT_NAME("Clear")
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_8) // ent PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) PORT_NAME("Enter")
PORT_START("IN.1") PORT_START("IN.1")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Q) // p PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_NAME("Pawn")
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_W) // n PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("Knight")
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_E) // b PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("Bishop")
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_R) // r PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("Rook")
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_T) // q PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("Queen")
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Y) // k PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("King")
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_U) // - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_W) PORT_CODE(KEYCODE_LEFT) PORT_NAME("White / Left")
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_I) // + PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_B) PORT_CODE(KEYCODE_RIGHT) PORT_NAME("Black / Right")
PORT_START("IN.2") PORT_START("IN.2")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_A) PORT_CONFNAME( 0xff, 0x02, "CPU Frequency" ) PORT_CHANGED_MEMBER(DEVICE_SELF, gk2000_state, change_cpu_freq, 0) // factory set
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_S) PORT_CONFSETTING( 0x00, "14MHz (Travel Champion 2080)" )
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_D) PORT_CONFSETTING( 0x02, "20MHz (GK 2000)" )
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_F)
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_G)
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_H)
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_J)
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_K)
PORT_START("POWER") PORT_START("IN.3")
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Z) PORT_CHANGED_MEMBER(DEVICE_SELF, gk2000_state, go_button, 0) PORT_NAME("Go / Stop") PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_G) PORT_CHANGED_MEMBER(DEVICE_SELF, gk2000_state, go_button, 0) PORT_NAME("Go / Stop")
PORT_BIT(0xef, IP_ACTIVE_HIGH, IPT_UNUSED) PORT_BIT(0xef, IP_ACTIVE_HIGH, IPT_UNUSED)
INPUT_PORTS_END INPUT_PORTS_END
@ -265,24 +255,18 @@ INPUT_PORTS_END
void gk2000_state::gk2000(machine_config &config) void gk2000_state::gk2000(machine_config &config)
{ {
// basic machine hardware // basic machine hardware
H8323(config, m_maincpu, 20_MHz_XTAL / 2); H8323(config, m_maincpu, 20_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &gk2000_state::main_map); m_maincpu->set_addrmap(AS_PROGRAM, &gk2000_state::main_map);
//m_maincpu->nvram_enable_backup(true); m_maincpu->nvram_enable_backup(true);
//m_maincpu->standby_cb().set(m_maincpu, FUNC(h8325_device::nvram_set_battery)); m_maincpu->standby_cb().set(m_maincpu, FUNC(h8325_device::nvram_set_battery));
m_maincpu->read_port1().set(FUNC(gk2000_state::p1_r)); m_maincpu->write_port1().set(FUNC(gk2000_state::lcd_segs_w<0>));
m_maincpu->write_port1().set(FUNC(gk2000_state::p1_w));
m_maincpu->read_port2().set(FUNC(gk2000_state::p2_r));
m_maincpu->write_port2().set(FUNC(gk2000_state::p2_w)); m_maincpu->write_port2().set(FUNC(gk2000_state::p2_w));
m_maincpu->read_port3().set(FUNC(gk2000_state::p3_r)); m_maincpu->write_port3().set(FUNC(gk2000_state::lcd_segs_w<1>));
m_maincpu->write_port3().set(FUNC(gk2000_state::p3_w));
m_maincpu->read_port4().set(FUNC(gk2000_state::p4_r)); m_maincpu->read_port4().set(FUNC(gk2000_state::p4_r));
m_maincpu->write_port4().set(FUNC(gk2000_state::p4_w));
m_maincpu->read_port5().set(FUNC(gk2000_state::p5_r));
m_maincpu->write_port5().set(FUNC(gk2000_state::p5_w)); m_maincpu->write_port5().set(FUNC(gk2000_state::p5_w));
m_maincpu->read_port6().set_ioport("POWER").invert(); m_maincpu->read_port6().set_ioport("IN.3").invert();
m_maincpu->write_port6().set(FUNC(gk2000_state::p6_w)); m_maincpu->write_port6().set(FUNC(gk2000_state::lcd_com_w));
m_maincpu->read_port7().set(FUNC(gk2000_state::p7_r)); m_maincpu->write_port7().set(FUNC(gk2000_state::lcd_segs_w<2>));
m_maincpu->write_port7().set(FUNC(gk2000_state::p7_w));
SENSORBOARD(config, m_board).set_type(sensorboard_device::BUTTONS); SENSORBOARD(config, m_board).set_type(sensorboard_device::BUTTONS);
m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess)); m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess));
@ -290,8 +274,16 @@ void gk2000_state::gk2000(machine_config &config)
//m_board->set_nvram_enable(true); //m_board->set_nvram_enable(true);
// video hardware // video hardware
PWM_DISPLAY(config, m_lcd_pwm).set_size(2, 24);
m_lcd_pwm->output_x().set(FUNC(gk2000_state::lcd_pwm_w));
screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_SVG));
screen.set_refresh_hz(60);
screen.set_size(1920/5, 804/5);
screen.set_visarea_full();
PWM_DISPLAY(config, m_led_pwm).set_size(2, 8); PWM_DISPLAY(config, m_led_pwm).set_size(2, 8);
//config.set_default_layout(layout_saitek_gk2000); config.set_default_layout(layout_saitek_gk2000);
// sound hardware // sound hardware
SPEAKER(config, "speaker").front_center(); SPEAKER(config, "speaker").front_center();
@ -307,6 +299,9 @@ void gk2000_state::gk2000(machine_config &config)
ROM_START( gk2000 ) ROM_START( gk2000 )
ROM_REGION( 0x4000, "maincpu", 0 ) ROM_REGION( 0x4000, "maincpu", 0 )
ROM_LOAD("92_saitek_86071220x12_3238a13p.u1", 0x0000, 0x4000, CRC(2059399c) SHA1(d99d5f86b80565e6017b19ef3f330112ac1ce685) ) ROM_LOAD("92_saitek_86071220x12_3238a13p.u1", 0x0000, 0x4000, CRC(2059399c) SHA1(d99d5f86b80565e6017b19ef3f330112ac1ce685) )
ROM_REGION( 68501, "screen", 0 )
ROM_LOAD("gk2000.svg", 0, 68501, CRC(80554c49) SHA1(88f06ec8f403eaaf7cbce4cc84807b5742ce7108) )
ROM_END ROM_END
} // anonymous namespace } // anonymous namespace
@ -318,4 +313,4 @@ ROM_END
*******************************************************************************/ *******************************************************************************/
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS
SYST( 1992, gk2000, 0, 0, gk2000, gk2000, gk2000_state, empty_init, "Saitek", "Kasparov GK 2000", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) SYST( 1992, gk2000, 0, 0, gk2000, gk2000, gk2000_state, empty_init, "Saitek", "Kasparov GK 2000", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )

View File

@ -21,9 +21,6 @@ Hardware notes:
In 1992, it was also sold by Tandy as Chess Champion 2150L, still manufactured In 1992, it was also sold by Tandy as Chess Champion 2150L, still manufactured
by Saitek. Overall, the hardware is the same, but with a slower CPU (16MHz XTAL). by Saitek. Overall, the hardware is the same, but with a slower CPU (16MHz XTAL).
TODO:
- internal artwork
*******************************************************************************/ *******************************************************************************/
#include "emu.h" #include "emu.h"
@ -38,7 +35,7 @@ TODO:
#include "speaker.h" #include "speaker.h"
// internal artwork // internal artwork
//#include "saitek_prisma.lh" #include "saitek_prisma.lh"
namespace { namespace {
@ -118,7 +115,7 @@ void prisma_state::machine_start()
INPUT_CHANGED_MEMBER(prisma_state::change_cpu_freq) INPUT_CHANGED_MEMBER(prisma_state::change_cpu_freq)
{ {
// 6MHz and 12MHz versions don't exist, but the software supports it // 12MHz and 24MHz versions don't exist, but the software supports it
static const XTAL freq[4] = { 16_MHz_XTAL, 20_MHz_XTAL, 24_MHz_XTAL, 12_MHz_XTAL }; static const XTAL freq[4] = { 16_MHz_XTAL, 20_MHz_XTAL, 24_MHz_XTAL, 12_MHz_XTAL };
m_maincpu->set_unscaled_clock(freq[bitswap<2>(newval,7,0)] / 2); m_maincpu->set_unscaled_clock(freq[bitswap<2>(newval,7,0)] / 2);
} }
@ -275,8 +272,8 @@ static INPUT_PORTS_START( prisma )
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Q) PORT_NAME("New Game") PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Q) PORT_NAME("New Game")
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_UNUSED) PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_UNUSED)
PORT_CONFNAME( 0x81, 0x01, "CPU Frequency" ) PORT_CHANGED_MEMBER(DEVICE_SELF, prisma_state, change_cpu_freq, 0) // factory set PORT_CONFNAME( 0x81, 0x01, "CPU Frequency" ) PORT_CHANGED_MEMBER(DEVICE_SELF, prisma_state, change_cpu_freq, 0) // factory set
PORT_CONFSETTING( 0x00, "8MHz (CC 2150L)" ) PORT_CONFSETTING( 0x00, "16MHz (CC 2150L)" )
PORT_CONFSETTING( 0x01, "10MHz (Prisma)" ) PORT_CONFSETTING( 0x01, "20MHz (Prisma)" )
PORT_START("IN.1") PORT_START("IN.1")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_T) PORT_NAME("Normal") PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_T) PORT_NAME("Normal")
@ -316,7 +313,7 @@ INPUT_PORTS_END
void prisma_state::prisma(machine_config &config) void prisma_state::prisma(machine_config &config)
{ {
// basic machine hardware // basic machine hardware
H8325(config, m_maincpu, 20_MHz_XTAL / 2); H8325(config, m_maincpu, 20_MHz_XTAL);
m_maincpu->set_addrmap(AS_PROGRAM, &prisma_state::main_map); m_maincpu->set_addrmap(AS_PROGRAM, &prisma_state::main_map);
m_maincpu->nvram_enable_backup(true); m_maincpu->nvram_enable_backup(true);
m_maincpu->nvram_set_default_value(~0); m_maincpu->nvram_set_default_value(~0);
@ -348,7 +345,7 @@ void prisma_state::prisma(machine_config &config)
screen.set_visarea_full(); screen.set_visarea_full();
PWM_DISPLAY(config, m_led_pwm).set_size(2+1, 8); PWM_DISPLAY(config, m_led_pwm).set_size(2+1, 8);
//config.set_default_layout(layout_saitek_prisma); config.set_default_layout(layout_saitek_prisma);
// sound hardware // sound hardware
SPEAKER(config, "speaker").front_center(); SPEAKER(config, "speaker").front_center();
@ -378,4 +375,4 @@ ROM_END
*******************************************************************************/ *******************************************************************************/
// YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS // YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS
SYST( 1990, prisma, 0, 0, prisma, prisma, prisma_state, empty_init, "Saitek", "Kasparov Prisma", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) SYST( 1990, prisma, 0, 0, prisma, prisma, prisma_state, empty_init, "Saitek", "Kasparov Prisma", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )

View File

@ -366,48 +366,48 @@ void risc2500_state::risc2500_mem(address_map &map)
static INPUT_PORTS_START( risc2500 ) static INPUT_PORTS_START( risc2500 )
PORT_START("IN.0") PORT_START("IN.0")
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Pawn") PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Pawn") PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD)
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("BACK") PORT_CODE(KEYCODE_B) PORT_CODE(KEYCODE_BACKSPACE) PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Back") PORT_CODE(KEYCODE_B) PORT_CODE(KEYCODE_BACKSPACE)
PORT_START("IN.1") PORT_START("IN.1")
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Knight") PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Knight") PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD)
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("ENTER") PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Enter") PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD)
PORT_START("IN.2") PORT_START("IN.2")
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Bishop") PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Bishop") PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD)
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("DOWN") PORT_CODE(KEYCODE_DOWN) PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Down") PORT_CODE(KEYCODE_DOWN)
PORT_START("IN.3") PORT_START("IN.3")
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Rook") PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Rook") PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD)
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("UP") PORT_CODE(KEYCODE_UP) PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Up") PORT_CODE(KEYCODE_UP)
PORT_START("IN.4") PORT_START("IN.4")
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Queen") PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Queen") PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD)
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("MENU") PORT_CODE(KEYCODE_M) PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Menu") PORT_CODE(KEYCODE_M)
PORT_START("IN.5") PORT_START("IN.5")
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("King") PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("King") PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD)
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("PLAY") PORT_CODE(KEYCODE_L) PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Play") PORT_CODE(KEYCODE_L)
PORT_START("IN.6") PORT_START("IN.6")
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RIGHT") PORT_CODE(KEYCODE_RIGHT) PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RIGHT") PORT_CODE(KEYCODE_RIGHT)
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("NEW GAME") PORT_CODE(KEYCODE_N) PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("New Game") PORT_CODE(KEYCODE_N)
PORT_START("IN.7") PORT_START("IN.7")
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("LEFT") PORT_CODE(KEYCODE_LEFT) PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Left") PORT_CODE(KEYCODE_LEFT)
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("OFF") PORT_CODE(KEYCODE_O) PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Off") PORT_CODE(KEYCODE_F)
PORT_START("RESET") PORT_START("RESET")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("ON") PORT_CODE(KEYCODE_I) PORT_CHANGED_MEMBER(DEVICE_SELF, risc2500_state, on_button, 0) PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("On") PORT_CODE(KEYCODE_O) PORT_CHANGED_MEMBER(DEVICE_SELF, risc2500_state, on_button, 0)
INPUT_PORTS_END INPUT_PORTS_END
static INPUT_PORTS_START( montreux ) // on/off buttons have different labels static INPUT_PORTS_START( montreux ) // on/off buttons have different labels
PORT_INCLUDE( risc2500 ) PORT_INCLUDE( risc2500 )
PORT_MODIFY("IN.7") PORT_MODIFY("IN.7")
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("STOP") PORT_CODE(KEYCODE_S) PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Stop") PORT_CODE(KEYCODE_S)
PORT_MODIFY("RESET") PORT_MODIFY("RESET")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("GO") PORT_CODE(KEYCODE_G) PORT_CHANGED_MEMBER(DEVICE_SELF, risc2500_state, on_button, 0) PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Go") PORT_CODE(KEYCODE_G) PORT_CHANGED_MEMBER(DEVICE_SELF, risc2500_state, on_button, 0)
INPUT_PORTS_END INPUT_PORTS_END

View File

@ -37,7 +37,7 @@ I/O for LEDs and buttons is scrambled a bit for Team-Mate and Conquistador, the
base hardware remains the same. base hardware remains the same.
SX4(A) program is used in: SX4(A) program is used in:
- Tandy 1850 60-2199 (8MHz, ST4A-PE-015 PCB) - Tandy (Radio Shack) 1850 60-2199 (8MHz, ST4A-PE-015 PCB)
- no known SciSys chesscomputers, to distinguish: this program has 16 playing - no known SciSys chesscomputers, to distinguish: this program has 16 playing
levels and SX5A has 17 levels and SX5A has 17
@ -46,7 +46,7 @@ SX5(A) program is used in:
- SciSys Express 16K (8MHz, SH5-PE-009 PCB) - SciSys Express 16K (8MHz, SH5-PE-009 PCB)
- SciSys Astral (12MHz, SW4-PE-010 PCB) - SciSys Astral (12MHz, SW4-PE-010 PCB)
- SciSys Turbo 16K (12MHz, ST5-PE-023 PCB) - SciSys Turbo 16K (12MHz, ST5-PE-023 PCB)
- Tandy 1850 60-2201A (8MHz, ST5A-PE-002 PCB) - Tandy (Radio Shack) 1850 60-2201A (8MHz, ST5A-PE-002 PCB)
- Mephisto Monaco (H+G brand Express 16K) - Mephisto Monaco (H+G brand Express 16K)
SX8(A) program is used in: SX8(A) program is used in: