Machines promoted to working

----------------------------
Sphinx 40 [hap, Berger]
This commit is contained in:
hap 2019-12-09 01:56:05 +01:00
parent c8f62f483d
commit c2317f3208
4 changed files with 190 additions and 76 deletions

View File

@ -46,8 +46,8 @@ public:
m_board(*this, "board"),
m_dac(*this, "dac"),
m_inputs(*this, "IN.%u", 0),
m_digits(*this, "digit%u", 0U),
m_dp(*this, "dp%u", 0U)
m_out_digit(*this, "digit%u", 0U),
m_out_lcd(*this, "lcd%u.%u", 0U, 0U)
{ }
// machine drivers
@ -64,8 +64,8 @@ private:
required_device<sensorboard_device> m_board;
required_device<dac_bit_interface> m_dac;
required_ioport_array<2> m_inputs;
output_finder<8> m_digits;
output_finder<2> m_dp;
output_finder<8> m_out_digit;
output_finder<2, 53> m_out_lcd;
// address maps
void main_map(address_map &map);
@ -79,8 +79,8 @@ private:
void dominator_state::machine_start()
{
m_digits.resolve();
m_dp.resolve();
m_out_digit.resolve();
m_out_lcd.resolve();
}
@ -96,7 +96,7 @@ WRITE64_MEMBER(dominator_state::lcd_s_w)
u8 d[4];
// 1st digit: S1-S9, unused middle vertical segments
// 2nd digit: S10-S18, unused bottom-right diagonal segment
// 2nd digit: S10-S18, unused bottom-right diagonal segment, colon at S17
// 3rd digit: S21-S27
// 4th digit: S28-S34
d[0] = bitswap<9>(data >> 0 & 0x1ff, 2,7,5,4,3,1,0,8,6) & 0x7f;
@ -105,10 +105,11 @@ WRITE64_MEMBER(dominator_state::lcd_s_w)
d[3] = bitswap<7>(data >> 27 & 0x7f, 4,2,0,6,5,3,1);
for (int i = 0; i < 4; i++)
m_digits[offset * 4 + i] = d[i];
m_out_digit[offset * 4 + i] = d[i];
// colon: S17 (part of 2nd digit)
m_dp[offset] = BIT(data, 16);
// output individual segments
for (int i = 0; i < 53; i++)
m_out_lcd[offset][i] = BIT(data, i);
}

View File

@ -6,7 +6,7 @@
CXG Sphinx 40 / 50
This is a modular chesscomputer, similar to Mephisto's 3-drawers one.
Chesscomputer on the right, LCD in the middle, and future expansion(?) on the left.
Chesscomputer on the right, LCD in the middle, and future expansion on the left.
The only difference between 40 and 50 is the board size (40cm vs 50cm).
The chess engine is Cyrus 68K, by Mark Taylor, with advice from David Levy.
@ -18,7 +18,6 @@ incarnation of Frans Morsch's Dominator program.
TODO:
- unmapped read from 0x200000, looks like expansion ROM
- verify XTAL and irq source/frequency
- identify buttons
Hardware notes:
@ -71,7 +70,8 @@ public:
m_display(*this, "display"),
m_board(*this, "board"),
m_inputs(*this, "IN.%u", 0),
m_digits(*this, "digit%u", 0U)
m_out_digit(*this, "digit%u", 0U),
m_out_lcd(*this, "lcd%u", 0U)
{ }
// machine drivers
@ -88,7 +88,8 @@ private:
required_device<pwm_display_device> m_display;
required_device<sensorboard_device> m_board;
required_ioport_array<4> m_inputs;
output_finder<8> m_digits;
output_finder<8> m_out_digit;
output_finder<64> m_out_lcd;
// address maps
void main_map(address_map &map);
@ -113,7 +114,8 @@ private:
void sphinx40_state::machine_start()
{
m_digits.resolve();
m_out_digit.resolve();
m_out_lcd.resolve();
// register for savestates
save_item(NAME(m_cb_mux));
@ -131,9 +133,14 @@ void sphinx40_state::machine_start()
WRITE64_MEMBER(sphinx40_state::lcd_seg_w)
{
// output individual segments
for (int i = 0; i < 64; i++)
m_out_lcd[i] = BIT(data, i);
// output digits
for (int i = 0; i < 8; i++)
{
m_digits[i] = data & 0xff;
m_out_digit[i] = data & 0x7f;
data >>= 8;
}
}
@ -185,12 +192,12 @@ READ8_MEMBER(sphinx40_state::input_r)
{
u8 data = 0;
// d0-d7: multiplexed inputs (buttons)
// d0-d4: multiplexed inputs (buttons)
for (int i = 0; i < 4; i++)
if (BIT(m_inp_mux, i))
data |= m_inputs[i]->read();
return ~data;
return ~data & 0x1f;
}
WRITE8_MEMBER(sphinx40_state::lcd_w)
@ -231,44 +238,32 @@ void sphinx40_state::nvram_map(address_map &map)
static INPUT_PORTS_START( sphinx40 )
PORT_START("IN.0")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_1)
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_2)
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_3)
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_4)
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_5)
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_6)
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_7)
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_8)
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_C) PORT_NAME("Clock")
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_M) PORT_NAME("Move")
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_F) PORT_NAME("Function")
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_H) PORT_NAME("Hint")
PORT_START("IN.1")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Q) // rook
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_W)
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_E)
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_R)
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_T) // bishop
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Y)
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_U)
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_I)
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4) PORT_NAME("Rook")
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Z) PORT_NAME("Black")
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_EQUALS) PORT_CODE(KEYCODE_PLUS_PAD) PORT_NAME("Forward")
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_W) PORT_NAME("What If?")
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3) PORT_NAME("Bishop")
PORT_START("IN.2")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_A) // knight
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_S) // sound?
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_D)
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_F)
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_G) // pawn
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_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2) PORT_NAME("Knight")
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_O) PORT_NAME("Sound")
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_MINUS) PORT_CODE(KEYCODE_MINUS_PAD) PORT_NAME("Backward")
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_A) PORT_NAME("Analysis")
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1) PORT_NAME("Pawn")
PORT_START("IN.3")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Z) // king
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_X)
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_C) // pawn?
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_V) // new game?
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_B) // queen
PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_N)
PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_M)
PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_COMMA)
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6) PORT_NAME("King")
PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_X) PORT_NAME("White")
PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_S) PORT_NAME("Set-Up")
PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_N) PORT_NAME("New Game")
PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5) PORT_NAME("Queen")
INPUT_PORTS_END
@ -332,4 +327,4 @@ ROM_END
******************************************************************************/
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS */
CONS( 1987, sphinx40, 0, 0, sphinx40, sphinx40, sphinx40_state, empty_init, "CXG Systems / Newcrest Technology", "Sphinx 40", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_NOT_WORKING )
CONS( 1987, sphinx40, 0, 0, sphinx40, sphinx40, sphinx40_state, empty_init, "CXG Systems / Newcrest Technology", "Sphinx 40", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )

View File

@ -489,8 +489,8 @@
<element name="digit2" ref="digit"><bounds x="43.0" y="91" width="4" height="6" /></element>
<element name="digit3" ref="digit"><bounds x="47.5" y="91" width="4" height="6" /></element>
<element name="dp0" ref="ldot"><bounds x="42.13" y="92.55" width="0.6" height="0.6" /></element>
<element name="dp0" ref="ldot"><bounds x="41.97" y="94.75" width="0.6" height="0.6" /></element>
<element name="lcd0.16" ref="ldot"><bounds x="42.13" y="92.55" width="0.6" height="0.6" /></element>
<element name="lcd0.16" ref="ldot"><bounds x="41.97" y="94.75" width="0.6" height="0.6" /></element>
</group>
<group name="lcd2">
@ -501,8 +501,8 @@
<element name="digit6" ref="digit"><bounds x="43.0" y="91" width="4" height="6" /></element>
<element name="digit7" ref="digit"><bounds x="47.5" y="91" width="4" height="6" /></element>
<element name="dp1" ref="ldot"><bounds x="42.13" y="92.55" width="0.6" height="0.6" /></element>
<element name="dp1" ref="ldot"><bounds x="41.97" y="94.75" width="0.6" height="0.6" /></element>
<element name="lcd1.16" ref="ldot"><bounds x="42.13" y="92.55" width="0.6" height="0.6" /></element>
<element name="lcd1.16" ref="ldot"><bounds x="41.97" y="94.75" width="0.6" height="0.6" /></element>
</group>

View File

@ -74,26 +74,6 @@
<text string="H"><color red="0.87" green="0.87" blue="0.84" /></text>
</element>
<element name="text_l3"><text string="[K]"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_l4"><text string="[Q]"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_l5"><text string="[R]"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_l6"><text string="[B]"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_l7"><text string="[N]"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_l8"><text string="[P]"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_r1"><text string="RE"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_r2"><text string="CL"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_r3"><text string="PB"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_r4"><text string="PV"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_r5"><text string="LV"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_r6"><text string="TB"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_r7"><text string="DM"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_r8"><text string="RV"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_your"><text string="YOUR" align="1"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_move"><text string="MOVE" align="1"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<element name="text_check"><text string="CHECK" align="1"><color red="0.81" green="0.8" blue="0.79" /></text></element>
<!-- sb board -->
@ -386,10 +366,143 @@
</group>
<!-- lcd -->
<element name="lcd_bg"><rect><color red="0.54" green="0.57" blue="0.58" /></rect></element>
<element name="digit" defstate="0">
<led7seg><color red="0.2" green="0.16" blue="0.16" /></led7seg>
</element>
<element name="ldot" defstate="0">
<rect state="1"><color red="0.2" green="0.16" blue="0.16" /></rect>
<rect state="0"><color red="0.49412" green="0.51765" blue="0.51765" /></rect>
</element>
<group name="lcd1">
<element ref="lcd_bg"><bounds x="31" y="89.5" width="22.5" height="9" /></element>
<element name="digit0" ref="digit"><bounds x="32.75" y="91" width="4" height="6" /></element>
<element name="digit1" ref="digit"><bounds x="37.75" y="91" width="4" height="6" /></element>
<element name="digit2" ref="digit"><bounds x="42.75" y="91" width="4" height="6" /></element>
<element name="digit3" ref="digit"><bounds x="47.75" y="91" width="4" height="6" /></element>
<element name="lcd31" ref="ldot"><bounds x="42.13" y="92.55" width="0.6" height="0.6" /></element>
<element name="lcd31" ref="ldot"><bounds x="41.97" y="94.75" width="0.6" height="0.6" /></element>
</group>
<group name="lcd2">
<element ref="lcd_bg"><bounds x="31" y="89.5" width="22.5" height="9" /></element>
<element name="digit4" ref="digit"><bounds x="32.75" y="91" width="4" height="6" /></element>
<element name="digit5" ref="digit"><bounds x="37.75" y="91" width="4" height="6" /></element>
<element name="digit6" ref="digit"><bounds x="42.75" y="91" width="4" height="6" /></element>
<element name="digit7" ref="digit"><bounds x="47.75" y="91" width="4" height="6" /></element>
<element name="lcd63" ref="ldot"><bounds x="42.13" y="92.55" width="0.6" height="0.6" /></element>
<element name="lcd63" ref="ldot"><bounds x="41.97" y="94.75" width="0.6" height="0.6" /></element>
</group>
<!-- buttons -->
<element name="white"><rect><color red="1" green="1" blue="1" /></rect></element>
<element name="black"><rect><color red="0" green="0" blue="0" /></rect></element>
<element name="black2"><rect><color red="0.2" green="0.2" blue="0.21" /></rect></element>
<element name="bmask"><rect><color red="0.86" green="0.86" blue="0.87" /></rect></element>
<element name="text_l1"><text string="FUNCTION"><color red="1" green="1" blue="1" /></text></element>
<element name="text_l2"><text string="NEW GAME"><color red="1" green="1" blue="1" /></text></element>
<element name="text_l3"><text string="SOUND"><color red="1" green="1" blue="1" /></text></element>
<element name="text_l4"><text string="F.W. "><color red="1" green="1" blue="1" /></text></element>
<element name="text_l4a"><text string="&#x2191;" align="2"><color red="1" green="1" blue="1" /></text></element>
<element name="text_l5"><text string="B.W. "><color red="1" green="1" blue="1" /></text></element>
<element name="text_l5a"><text string="&#x2193;" align="2"><color red="1" green="1" blue="1" /></text></element>
<element name="text_l6"><text string="W.I.?"><color red="1" green="1" blue="1" /></text></element>
<element name="text_l7"><text string="ANALY"><color red="1" green="1" blue="1" /></text></element>
<element name="text_l8"><text string="CLOCK"><color red="1" green="1" blue="1" /></text></element>
<element name="text_l9"><text string="SET-UP"><color red="1" green="1" blue="1" /></text></element>
<element name="text_l10"><text string="HINT"><color red="1" green="1" blue="1" /></text></element>
<element name="text_l11"><text string="LEVEL"><color red="1" green="1" blue="1" /></text></element>
<element name="text_l12"><text string="MOVE"><color red="1" green="1" blue="1" /></text></element>
<element name="text_p6"><image file="chess/wk.png"/></element>
<element name="text_p5"><image file="chess/wq.png"/></element>
<element name="text_p4"><image file="chess/wr.png"/></element>
<element name="text_p3"><image file="chess/wb.png"/></element>
<element name="text_p2"><image file="chess/wn.png"/></element>
<element name="text_p1"><image file="chess/wp.png"/></element>
<element name="but" defstate="0">
<rect state="0"><color red="0.6" green="0.6" blue="0.63" /></rect>
<rect state="1"><color red="0.4" green="0.4" blue="0.42" /></rect>
</element>
<group name="buttons">
<bounds x="6" y="6" width="88" height="44" />
<element ref="text_l1"><bounds x="34.75" y="6.6" width="16" height="3.29" /></element>
<element ref="text_l2"><bounds x="49.75" y="6.6" width="16" height="3.29" /></element>
<element ref="text_p6"><bounds x="12.5" y="17.1" width="5" height="5" /></element>
<element ref="text_p5"><bounds x="26.5" y="17.1" width="5" height="5" /></element>
<element ref="text_p4"><bounds x="40.5" y="17.1" width="5" height="5" /></element>
<element ref="text_p3"><bounds x="54.5" y="17.1" width="5" height="5" /></element>
<element ref="text_p2"><bounds x="68.5" y="17.1" width="5" height="5" /></element>
<element ref="text_p1"><bounds x="82.5" y="17.1" width="5" height="5" /></element>
<element ref="text_l3"><bounds x="8" y="29.7" width="14" height="4.5" /></element>
<element ref="text_l4"><bounds x="22" y="29.7" width="14" height="4.5" /></element>
<element ref="text_l5"><bounds x="36" y="29.7" width="14" height="4.5" /></element>
<element ref="text_l6"><bounds x="50" y="29.7" width="14" height="4.5" /></element>
<element ref="text_l7"><bounds x="64" y="29.7" width="14" height="4.5" /></element>
<element ref="text_l8"><bounds x="78" y="29.7" width="14" height="4.5" /></element>
<element ref="text_l4a"><bounds x="24" y="29.6" width="10" height="4.0" /></element>
<element ref="text_l5a"><bounds x="38" y="29.6" width="10" height="4.0" /></element>
<element ref="text_l9"><bounds x="36" y="41.7" width="14" height="4.5" /></element>
<element ref="text_l10"><bounds x="50" y="41.7" width="14" height="4.5" /></element>
<element ref="text_l11"><bounds x="64" y="41.7" width="14" height="4.5" /></element>
<element ref="text_l12"><bounds x="78" y="41.7" width="14" height="4.5" /></element>
<element ref="white"><bounds x="13.4" y="42.2" width="3.2" height="3.2" /></element>
<element ref="black"><bounds x="13.9" y="42.7" width="2.2" height="2.2" /></element>
<element ref="white"><bounds x="27.4" y="42.2" width="3.2" height="3.2" /></element>
<element ref="bmask" blend="multiply"><bounds x="8" y="6" width="84" height="42" /></element>
<element ref="black2"><bounds x="6" y="16" width="88" height="0.8" /></element>
<element ref="black2"><bounds x="6" y="28" width="88" height="0.8" /></element>
<element ref="but" inputtag="IN.0" inputmask="0x08"><bounds x="38" y="10" width="10" height="4" /></element>
<element ref="but" inputtag="IN.3" inputmask="0x08"><bounds x="52" y="10" width="10" height="4" /></element>
<element ref="but" inputtag="IN.3" inputmask="0x01"><bounds x="10" y="22" width="10" height="4" /></element>
<element ref="but" inputtag="IN.3" inputmask="0x10"><bounds x="24" y="22" width="10" height="4" /></element>
<element ref="but" inputtag="IN.1" inputmask="0x01"><bounds x="38" y="22" width="10" height="4" /></element>
<element ref="but" inputtag="IN.1" inputmask="0x10"><bounds x="52" y="22" width="10" height="4" /></element>
<element ref="but" inputtag="IN.2" inputmask="0x01"><bounds x="66" y="22" width="10" height="4" /></element>
<element ref="but" inputtag="IN.2" inputmask="0x10"><bounds x="80" y="22" width="10" height="4" /></element>
<element ref="but" inputtag="IN.2" inputmask="0x02"><bounds x="10" y="34" width="10" height="4" /></element>
<element ref="but" inputtag="IN.1" inputmask="0x04"><bounds x="24" y="34" width="10" height="4" /></element>
<element ref="but" inputtag="IN.2" inputmask="0x04"><bounds x="38" y="34" width="10" height="4" /></element>
<element ref="but" inputtag="IN.1" inputmask="0x08"><bounds x="52" y="34" width="10" height="4" /></element>
<element ref="but" inputtag="IN.2" inputmask="0x08"><bounds x="66" y="34" width="10" height="4" /></element>
<element ref="but" inputtag="IN.0" inputmask="0x01"><bounds x="80" y="34" width="10" height="4" /></element>
<element ref="but" inputtag="IN.1" inputmask="0x02"><bounds x="10" y="46" width="10" height="4" /></element>
<element ref="but" inputtag="IN.3" inputmask="0x02"><bounds x="24" y="46" width="10" height="4" /></element>
<element ref="but" inputtag="IN.3" inputmask="0x04"><bounds x="38" y="46" width="10" height="4" /></element>
<element ref="but" inputtag="IN.0" inputmask="0x10"><bounds x="52" y="46" width="10" height="4" /></element>
<element ref="but" inputtag="IN.0" inputmask="0x04"><bounds x="66" y="46" width="10" height="4" /></element>
<element ref="but" inputtag="IN.0" inputmask="0x02"><bounds x="80" y="46" width="10" height="4" /></element>
</group>
<!-- build screen -->
<view name="Internal Layout">
<bounds left="-13" right="88" top="-1.5" bottom="87.5" />
<bounds left="-13" right="88" top="-1.5" bottom="111.6" />
<bezel element="cblack"><bounds x="-1" y="-1.5" width="89" height="89" /></bezel>
<bezel element="cwhite"><bounds x="3" y="2.5" width="81" height="81" /></bezel>
@ -416,5 +529,10 @@
<bezel element="text_g"><bounds x="67.5" y="84.5" width="2" height="2" /></bezel>
<bezel element="text_h"><bounds x="77.5" y="84.5" width="2" height="2" /></bezel>
<group ref="lcd1"><bounds x="17.25" y="99.5" width="12.5" height="4.9" /></group>
<group ref="lcd2"><bounds x="17.25" y="90.4" width="12.5" height="4.9" /></group>
<group ref="buttons"><bounds x="41.5" y="88.5" width="44" height="22" /></group>
</view>
</mamelayout>