summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2019-08-13 22:47:32 +0200
committer hap <happppp@users.noreply.github.com>2019-08-13 22:47:46 +0200
commit245d7f11d0ebb949aaf40c3237034e7c4fefec55 (patch)
tree626ee483bcaf79f4d93c2ba5b36d06090bcaa756 /src
parent82644e50ff84e96b49e2132eb7827f50b9ef996e (diff)
mm1: add buttons to layout (nw)
Diffstat (limited to 'src')
-rw-r--r--src/mame/drivers/mephisto_mm1.cpp70
-rw-r--r--src/mame/layout/mephisto_mirage.lay114
-rw-r--r--src/mame/layout/mephisto_mm1.lay141
3 files changed, 285 insertions, 40 deletions
diff --git a/src/mame/drivers/mephisto_mm1.cpp b/src/mame/drivers/mephisto_mm1.cpp
index 12db77a3d01..129d99f5259 100644
--- a/src/mame/drivers/mephisto_mm1.cpp
+++ b/src/mame/drivers/mephisto_mm1.cpp
@@ -7,7 +7,8 @@ Mephisto MM I, the first H+G slide-in chesscomputer module
The module was included with either the Modular or Modular Exclusive chessboards.
Initially, the module itself didn't have a name. It was only later in retrospect,
-after the release of Modul MM II that it became known as the MM I.
+after the release of Modul MM II that it became known as the MM I. The program is
+actually more like a prequel of III-S Glasgow, same chess engine authors too.
Hardware notes:
- PCB label: HGS 10 121 01
@@ -28,7 +29,6 @@ expensive wooden chessboards like Modular Exclusive or Muenchen, as long as it
supports the higher voltage.
TODO:
-- add buttons to artwork
- remove external interrupt hack when timer interrupt is added to CDP1806 device
- mmirage unknown_w
- mm1 unknown expansion rom at $c000?
@@ -282,70 +282,70 @@ void mm1_state::mm1_io(address_map &map)
static INPUT_PORTS_START( mm1 )
PORT_START("IN.0")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_1) // e5
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_2) // 9?
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_E) PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("E / 5 / Rook")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_9_PAD) PORT_CODE(KEYCODE_LEFT) PORT_NAME("Left / Black / 9")
PORT_START("IN.1")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_3) // info?
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_4) // cl?
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_I) PORT_NAME("INFO")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_BACKSPACE) PORT_CODE(KEYCODE_DEL) PORT_NAME("CL")
PORT_START("IN.2")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_5) // 0?
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_6) // c3
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_0_PAD) PORT_CODE(KEYCODE_RIGHT) PORT_NAME("Right / White / 0")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_C) PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("C / 3 / Knight")
PORT_START("IN.3")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_7) // pos?
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_8) // ent?
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_O) PORT_NAME("POS")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) PORT_NAME("ENT")
PORT_START("IN.4")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Q) // h8
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_W) // d4
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_H) PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_8_PAD) PORT_NAME("H / 8")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_D) PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("D / 4 / Bishop")
PORT_START("IN.5")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_E) // lev?
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_R) // a1
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_L) PORT_NAME("LEV")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_A) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("A / 1")
PORT_START("IN.6")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_T) // g7
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Y) // f6
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_G) PORT_CODE(KEYCODE_7) PORT_CODE(KEYCODE_7_PAD) PORT_NAME("G / 7 / King")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_F) PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_NAME("F / 6 / Queen")
PORT_START("IN.7")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_U) // memo?
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_I) // b2
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_M) PORT_NAME("MEM")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_B) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("B / 2 / Pawn")
INPUT_PORTS_END
static INPUT_PORTS_START( mirage )
PORT_START("IN.0")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_1) // cl?
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_2) // list?
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_BACKSPACE) PORT_CODE(KEYCODE_DEL) PORT_NAME("CL")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_I) PORT_NAME("LIST")
PORT_START("IN.1")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_3) // a1
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_4) // e5
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_A) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("A / 1")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_E) PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("E / 5 / Rook")
PORT_START("IN.2")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_5) // ent
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_6) // white?
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) PORT_NAME("ENT")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_9_PAD) PORT_NAME("Black / 9")
PORT_START("IN.3")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_7) // b2
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_8) // f6
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_B) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("B / 2 / Pawn")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_F) PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_NAME("F / 6 / Queen")
PORT_START("IN.4")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Q) // sta?
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_W) // black?
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_SPACE) PORT_CODE(KEYCODE_PLUS_PAD) PORT_NAME("STA")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_0_PAD) PORT_NAME("White / 0")
PORT_START("IN.5")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_E) // c3
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_R) // g7
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_C) PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("C / 3 / Knight")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_G) PORT_CODE(KEYCODE_7) PORT_CODE(KEYCODE_7_PAD) PORT_NAME("G / 7 / King")
PORT_START("IN.6")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_T) // lev
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Y) // rev?
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_L) PORT_NAME("LEV")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_V) PORT_NAME("REV")
PORT_START("IN.7")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_U) // d4
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_I) // h8
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_D) PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("D / 4 / Bishop")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_H) PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_8_PAD) PORT_NAME("H / 8")
PORT_START("FAKE") // module came with buttons sensorboard by default
PORT_CONFNAME( 0x01, 0x00, "Board Sensors" ) PORT_CHANGED_MEMBER(DEVICE_SELF, mm1_state, mirage_switch_sensor_type, nullptr)
@@ -355,7 +355,7 @@ INPUT_PORTS_END
INPUT_CHANGED_MEMBER(mm1_state::mirage_switch_sensor_type)
{
- m_board->set_type(newval ? sensorboard_device::MAGNETS : sensorboard_device::BUTTONS);
+ m_board->set_type(newval ? sensorboard_device::MAGNETS : sensorboard_device::BUTTONS);
}
diff --git a/src/mame/layout/mephisto_mirage.lay b/src/mame/layout/mephisto_mirage.lay
index c89e646ded2..30bac0e0b60 100644
--- a/src/mame/layout/mephisto_mirage.lay
+++ b/src/mame/layout/mephisto_mirage.lay
@@ -375,15 +375,123 @@
</group>
+<!-- buttons -->
+
+ <element name="gray"><rect><color red="0.25" green="0.25" blue="0.25" /></rect></element>
+ <element name="white"><rect><color red="0.95" green="0.95" blue="0.95" /></rect></element>
+
+ <element name="keys" defstate="0">
+ <rect state="1"><color red="0.0" green="0.0" blue="0.0" /></rect>
+ </element>
+
+ <element name="text_b01"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="CL"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_b02"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="STA"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_b11"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="LIST"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_b12"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="ENT"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+
+ <element name="text_b21"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="A1" align="2"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_b22"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="B2" align="2"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_b23"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="C3" align="2"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_b24"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="D4" align="2"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_b25"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="LEV"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_b26"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="REV"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+
+ <element name="text_b31"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="E5" align="2"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_b32"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="F6" align="2"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_b33"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="G7" align="2"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_b34"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="H8" align="2"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_b35"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="9" align="2"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_b36"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="0" align="2"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+
+ <element name="text_p1"><image file="chess/wk.png"><color alpha="0.95" /></image></element>
+ <element name="text_p2"><image file="chess/wq.png"><color alpha="0.95" /></image></element>
+ <element name="text_p3"><image file="chess/wr.png"><color alpha="0.95" /></image></element>
+ <element name="text_p4"><image file="chess/wb.png"><color alpha="0.95" /></image></element>
+ <element name="text_p5"><image file="chess/wn.png"><color alpha="0.95" /></image></element>
+ <element name="text_p6"><image file="chess/wp.png"><color alpha="0.95" /></image></element>
+
+ <group name="buttons">
+ <bounds x="0" y="0" width="23" height="12.25" />
+ <group ref="display"><bounds x="1.5" y="0.7" width="12" height="4.1" /></group>
+
+ <bezel element="gray"><bounds x="16" y="0.0" width="3" height="1.75" /></bezel>
+ <bezel element="gray"><bounds x="20" y="0.0" width="3" height="1.75" /></bezel>
+ <bezel element="gray"><bounds x="16" y="3.5" width="3" height="1.75" /></bezel>
+ <bezel element="gray"><bounds x="20" y="3.5" width="3" height="1.75" /></bezel>
+
+ <bezel element="gray"><bounds x="0" y="7.0" width="3" height="1.75" /></bezel>
+ <bezel element="gray"><bounds x="4" y="7.0" width="3" height="1.75" /></bezel>
+ <bezel element="gray"><bounds x="8" y="7.0" width="3" height="1.75" /></bezel>
+ <bezel element="gray"><bounds x="12" y="7.0" width="3" height="1.75" /></bezel>
+ <bezel element="gray"><bounds x="16" y="7.0" width="3" height="1.75" /></bezel>
+ <bezel element="gray"><bounds x="20" y="7.0" width="3" height="1.75" /></bezel>
+
+ <bezel element="gray"><bounds x="0" y="10.5" width="3" height="1.75" /></bezel>
+ <bezel element="gray"><bounds x="4" y="10.5" width="3" height="1.75" /></bezel>
+ <bezel element="gray"><bounds x="8" y="10.5" width="3" height="1.75" /></bezel>
+ <bezel element="gray"><bounds x="12" y="10.5" width="3" height="1.75" /></bezel>
+ <bezel element="gray"><bounds x="16" y="10.5" width="3" height="1.75" /></bezel>
+ <bezel element="gray"><bounds x="20" y="10.5" width="3" height="1.75" /></bezel>
+
+ <bezel element="text_b01"><bounds x="16" y="0.2" width="3" height="1.3" /></bezel>
+ <bezel element="text_b02"><bounds x="20" y="0.2" width="3" height="1.3" /></bezel>
+ <bezel element="text_b11"><bounds x="16" y="3.7" width="3" height="1.3" /></bezel>
+ <bezel element="text_b12"><bounds x="20" y="3.7" width="3" height="1.3" /></bezel>
+
+ <bezel element="text_b21"><bounds x="0" y="7.2" width="2.7" height="1.3" /></bezel>
+ <bezel element="text_b22"><bounds x="4" y="7.2" width="2.7" height="1.3" /></bezel>
+ <bezel element="text_b23"><bounds x="8" y="7.2" width="2.7" height="1.3" /></bezel>
+ <bezel element="text_b24"><bounds x="12" y="7.2" width="2.7" height="1.3" /></bezel>
+ <bezel element="text_b25"><bounds x="16" y="7.2" width="3" height="1.3" /></bezel>
+ <bezel element="text_b26"><bounds x="20" y="7.2" width="3" height="1.3" /></bezel>
+
+ <bezel element="text_b31"><bounds x="0" y="10.7" width="2.7" height="1.3" /></bezel>
+ <bezel element="text_b32"><bounds x="4" y="10.7" width="2.7" height="1.3" /></bezel>
+ <bezel element="text_b33"><bounds x="8" y="10.7" width="2.7" height="1.3" /></bezel>
+ <bezel element="text_b34"><bounds x="12" y="10.7" width="2.7" height="1.3" /></bezel>
+ <bezel element="text_b35"><bounds x="16" y="10.7" width="2.7" height="1.3" /></bezel>
+ <bezel element="text_b36"><bounds x="20" y="10.7" width="2.7" height="1.3" /></bezel>
+
+ <bezel element="white"><bounds x="17.2" y="10.925" width="0.6" height="0.9" /></bezel>
+ <bezel element="gray"><bounds x="17.325" y="11.05" width="0.35" height="0.65" /></bezel>
+ <bezel element="white"><bounds x="21.2" y="10.925" width="0.6" height="0.9" /></bezel>
+
+ <bezel element="text_p6"><bounds x="4" y="7.1" width="1.4" height="1.4" /></bezel>
+ <bezel element="text_p5"><bounds x="8" y="7.1" width="1.4" height="1.4" /></bezel>
+ <bezel element="text_p4"><bounds x="12" y="7.1" width="1.4" height="1.4" /></bezel>
+ <bezel element="text_p3"><bounds x="0" y="10.6" width="1.4" height="1.4" /></bezel>
+ <bezel element="text_p2"><bounds x="4" y="10.6" width="1.4" height="1.4" /></bezel>
+ <bezel element="text_p1"><bounds x="8" y="10.6" width="1.4" height="1.4" /></bezel>
+
+ <bezel element="keys" inputtag="IN.0" inputmask="0x01"><bounds x="16" y="0.0" width="3" height="1.75" /><color alpha="0.25" /></bezel>
+ <bezel element="keys" inputtag="IN.4" inputmask="0x01"><bounds x="20" y="0.0" width="3" height="1.75" /><color alpha="0.25" /></bezel>
+ <bezel element="keys" inputtag="IN.0" inputmask="0x02"><bounds x="16" y="3.5" width="3" height="1.75" /><color alpha="0.25" /></bezel>
+ <bezel element="keys" inputtag="IN.2" inputmask="0x01"><bounds x="20" y="3.5" width="3" height="1.75" /><color alpha="0.25" /></bezel>
+
+ <bezel element="keys" inputtag="IN.1" inputmask="0x01"><bounds x="0" y="7.0" width="3" height="1.75" /><color alpha="0.25" /></bezel>
+ <bezel element="keys" inputtag="IN.3" inputmask="0x01"><bounds x="4" y="7.0" width="3" height="1.75" /><color alpha="0.25" /></bezel>
+ <bezel element="keys" inputtag="IN.5" inputmask="0x01"><bounds x="8" y="7.0" width="3" height="1.75" /><color alpha="0.25" /></bezel>
+ <bezel element="keys" inputtag="IN.7" inputmask="0x01"><bounds x="12" y="7.0" width="3" height="1.75" /><color alpha="0.25" /></bezel>
+ <bezel element="keys" inputtag="IN.6" inputmask="0x01"><bounds x="16" y="7.0" width="3" height="1.75" /><color alpha="0.25" /></bezel>
+ <bezel element="keys" inputtag="IN.6" inputmask="0x02"><bounds x="20" y="7.0" width="3" height="1.75" /><color alpha="0.25" /></bezel>
+
+ <bezel element="keys" inputtag="IN.1" inputmask="0x02"><bounds x="0" y="10.5" width="3" height="1.75" /><color alpha="0.25" /></bezel>
+ <bezel element="keys" inputtag="IN.3" inputmask="0x02"><bounds x="4" y="10.5" width="3" height="1.75" /><color alpha="0.25" /></bezel>
+ <bezel element="keys" inputtag="IN.5" inputmask="0x02"><bounds x="8" y="10.5" width="3" height="1.75" /><color alpha="0.25" /></bezel>
+ <bezel element="keys" inputtag="IN.7" inputmask="0x02"><bounds x="12" y="10.5" width="3" height="1.75" /><color alpha="0.25" /></bezel>
+ <bezel element="keys" inputtag="IN.2" inputmask="0x02"><bounds x="16" y="10.5" width="3" height="1.75" /><color alpha="0.25" /></bezel>
+ <bezel element="keys" inputtag="IN.4" inputmask="0x02"><bounds x="20" y="10.5" width="3" height="1.75" /><color alpha="0.25" /></bezel>
+ </group>
+
+
<!-- build screen -->
<view name="Internal Layout">
- <bounds left="-11" right="88" top="-1" bottom="100" />
+ <bounds left="-11.5" right="88" top="-1" bottom="107" />
<group ref="sb_board"><bounds x="4" y="3" width="80" height="80" /></group>
<group ref="sb_ui"><bounds x="-10" y="3" width="10" height="80" /></group>
-
- <group ref="display"><bounds x="4" y="90" width="22.5" height="7.4" /></group>
+ <group ref="buttons"><bounds x="29" y="88.5" width="30" height="16" /></group>
<bezel element="text_8"><bounds x="1.2" y="7" width="2" height="2" /></bezel>
<bezel element="text_7"><bounds x="1.2" y="17" width="2" height="2" /></bezel>
diff --git a/src/mame/layout/mephisto_mm1.lay b/src/mame/layout/mephisto_mm1.lay
index ba179c4b690..485c6fa077f 100644
--- a/src/mame/layout/mephisto_mm1.lay
+++ b/src/mame/layout/mephisto_mm1.lay
@@ -397,17 +397,154 @@
</group>
+<!-- buttons -->
+
+ <element name="gray"><rect><color red="0.25" green="0.25" blue="0.25" /></rect></element>
+ <element name="white"><rect><color red="0.95" green="0.95" blue="0.95" /></rect></element>
+
+ <element name="keys" defstate="0">
+ <rect state="1"><color red="0.0" green="0.0" blue="0.0" /></rect>
+ </element>
+
+ <element name="text_info"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="INFO"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_pos"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="POS"> <color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_lev"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="LEV"> <color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_mem"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="MEM"> <color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_cl"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="CL"> <color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_ent"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="ENT"> <color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_stp"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="STP"> <color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_on"> <rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="ON"> <color red="0.95" green="0.95" blue="0.95" /></text></element>
+
+ <element name="text_a1"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="A"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_b2"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="B"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_c3"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="C"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_d4"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="D"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_e5"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="E"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_f6"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="F"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_g7"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="G"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_h8"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="H"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_l9"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="&#x2190;"> <color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_r0"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="&#x2192;"> <color red="0.95" green="0.95" blue="0.95" /></text></element>
+
+ <element name="text_1a"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="1"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_2b"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="2"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_3c"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="3"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_4d"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="4"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_5e"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="5"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_6f"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="6"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_7g"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="7"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_8h"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="8"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_9l"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="9"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+ <element name="text_0r"><rect><color red="0.25" green="0.25" blue="0.25" /></rect><text string="0"><color red="0.95" green="0.95" blue="0.95" /></text></element>
+
+ <element name="text_p1"><image file="chess/wk.png"><color alpha="0.95" /></image></element>
+ <element name="text_p2"><image file="chess/wq.png"><color alpha="0.95" /></image></element>
+ <element name="text_p3"><image file="chess/wr.png"><color alpha="0.95" /></image></element>
+ <element name="text_p4"><image file="chess/wb.png"><color alpha="0.95" /></image></element>
+ <element name="text_p5"><image file="chess/wn.png"><color alpha="0.95" /></image></element>
+ <element name="text_p6"><image file="chess/wp.png"><color alpha="0.95" /></image></element>
+
+ <group name="buttons">
+ <bounds x="69" y="93" width="29" height="14" />
+
+ <bezel element="gray"><bounds x="69" y="93" width="4" height="4" /></bezel>
+ <bezel element="gray"><bounds x="74" y="93" width="4" height="4" /></bezel>
+ <bezel element="gray"><bounds x="79" y="93" width="4" height="4" /></bezel>
+ <bezel element="gray"><bounds x="84" y="93" width="4" height="4" /></bezel>
+ <bezel element="gray"><bounds x="89" y="93" width="4" height="4" /></bezel>
+ <bezel element="gray"><bounds x="94" y="93" width="4" height="4" /></bezel>
+
+ <bezel element="gray"><bounds x="69" y="98" width="4" height="4" /></bezel>
+ <bezel element="gray"><bounds x="74" y="98" width="4" height="4" /></bezel>
+ <bezel element="gray"><bounds x="79" y="98" width="4" height="4" /></bezel>
+ <bezel element="gray"><bounds x="84" y="98" width="4" height="4" /></bezel>
+ <bezel element="gray"><bounds x="89" y="98" width="4" height="4" /></bezel>
+ <bezel element="gray"><bounds x="94" y="98" width="4" height="4" /></bezel>
+
+ <bezel element="gray"><bounds x="69" y="103" width="4" height="4" /></bezel>
+ <bezel element="gray"><bounds x="74" y="103" width="4" height="4" /></bezel>
+ <bezel element="gray"><bounds x="79" y="103" width="4" height="4" /></bezel>
+ <bezel element="gray"><bounds x="84" y="103" width="4" height="4" /></bezel>
+ <bezel element="gray"><bounds x="89" y="103" width="4" height="4" /></bezel>
+ <bezel element="gray"><bounds x="94" y="103" width="4" height="4" /></bezel>
+
+ <bezel element="text_info"><bounds x="69.3" y="94" width="3.68" height="2.2" /></bezel>
+ <bezel element="text_pos"> <bounds x="74.3" y="94" width="3.68" height="2.2" /></bezel>
+ <bezel element="text_lev"> <bounds x="79.3" y="94" width="3.68" height="2.2" /></bezel>
+ <bezel element="text_mem"> <bounds x="84.3" y="94" width="3.68" height="2.2" /></bezel>
+ <bezel element="text_cl"> <bounds x="89.3" y="94" width="3.68" height="2.2" /></bezel>
+ <bezel element="text_ent"> <bounds x="94.3" y="94" width="3.68" height="2.2" /></bezel>
+ <bezel element="text_stp"> <bounds x="89.3" y="99" width="3.68" height="2.2" /></bezel>
+ <bezel element="text_on"> <bounds x="94.3" y="99" width="3.68" height="2.2" /></bezel>
+
+ <bezel element="text_a1"><bounds x="69" y="98" width="2" height="2.2" /></bezel>
+ <bezel element="text_b2"><bounds x="74" y="98" width="2" height="2.2" /></bezel>
+ <bezel element="text_c3"><bounds x="79" y="98" width="2" height="2.2" /></bezel>
+ <bezel element="text_d4"><bounds x="84" y="98" width="2" height="2.2" /></bezel>
+ <bezel element="text_e5"><bounds x="69" y="103" width="2" height="2.2" /></bezel>
+ <bezel element="text_f6"><bounds x="74" y="103" width="2" height="2.2" /></bezel>
+ <bezel element="text_g7"><bounds x="79" y="103" width="2" height="2.2" /></bezel>
+ <bezel element="text_h8"><bounds x="84" y="103" width="2" height="2.2" /></bezel>
+ <bezel element="text_l9"><bounds x="90" y="103" width="2" height="1.8" /></bezel>
+ <bezel element="text_r0"><bounds x="95.2" y="103" width="2" height="1.8" /></bezel>
+
+ <bezel element="text_1a"><bounds x="71" y="99.5" width="1.98" height="2.2" /></bezel>
+ <bezel element="text_2b"><bounds x="76" y="99.5" width="1.98" height="2.2" /></bezel>
+ <bezel element="text_3c"><bounds x="81" y="99.5" width="1.98" height="2.2" /></bezel>
+ <bezel element="text_4d"><bounds x="86" y="99.5" width="1.98" height="2.2" /></bezel>
+ <bezel element="text_5e"><bounds x="71" y="104.5" width="1.98" height="2.2" /></bezel>
+ <bezel element="text_6f"><bounds x="76" y="104.5" width="1.98" height="2.2" /></bezel>
+ <bezel element="text_7g"><bounds x="81" y="104.5" width="1.98" height="2.2" /></bezel>
+ <bezel element="text_8h"><bounds x="86" y="104.5" width="1.98" height="2.2" /></bezel>
+ <bezel element="text_9l"><bounds x="91" y="104.5" width="1.98" height="2.2" /></bezel>
+ <bezel element="text_0r"><bounds x="96" y="104.5" width="1.98" height="2.2" /></bezel>
+
+ <bezel element="text_p6" ><bounds x="76" y="98" width="1.8" height="1.7" /></bezel>
+ <bezel element="text_p5" ><bounds x="81" y="98" width="1.8" height="1.7" /></bezel>
+ <bezel element="text_p4" ><bounds x="86" y="98" width="1.8" height="1.7" /></bezel>
+ <bezel element="text_p3" ><bounds x="71" y="103" width="1.8" height="1.7" /></bezel>
+ <bezel element="text_p2" ><bounds x="76" y="103" width="1.8" height="1.7" /></bezel>
+ <bezel element="text_p1" ><bounds x="81" y="103" width="1.8" height="1.7" /></bezel>
+ <bezel element="white"><bounds x="89.5" y="105.1" width="1.3" height="1.3" /></bezel>
+ <bezel element="gray"><bounds x="89.7" y="105.3" width="0.9" height="0.9" /></bezel>
+ <bezel element="white"><bounds x="94.5" y="105.1" width="1.3" height="1.3" /></bezel>
+
+ <bezel element="keys" inputtag="IN.1" inputmask="0x01"><bounds x="69" y="93" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="keys" inputtag="IN.3" inputmask="0x01"><bounds x="74" y="93" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="keys" inputtag="IN.5" inputmask="0x01"><bounds x="79" y="93" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="keys" inputtag="IN.7" inputmask="0x01"><bounds x="84" y="93" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="keys" inputtag="IN.1" inputmask="0x02"><bounds x="89" y="93" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="keys" inputtag="IN.3" inputmask="0x02"><bounds x="94" y="93" width="4" height="4" /><color alpha="0.25" /></bezel>
+
+ <bezel element="keys" inputtag="IN.5" inputmask="0x02"><bounds x="69" y="98" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="keys" inputtag="IN.7" inputmask="0x02"><bounds x="74" y="98" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="keys" inputtag="IN.2" inputmask="0x02"><bounds x="79" y="98" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="keys" inputtag="IN.4" inputmask="0x02"><bounds x="84" y="98" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="keys" inputtag="IN.X" inputmask="0x01"><bounds x="89" y="98" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="keys" inputtag="IN.X" inputmask="0x02"><bounds x="94" y="98" width="4" height="4" /><color alpha="0.25" /></bezel>
+
+ <bezel element="keys" inputtag="IN.0" inputmask="0x01"><bounds x="69" y="103" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="keys" inputtag="IN.6" inputmask="0x02"><bounds x="74" y="103" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="keys" inputtag="IN.6" inputmask="0x01"><bounds x="79" y="103" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="keys" inputtag="IN.4" inputmask="0x01"><bounds x="84" y="103" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="keys" inputtag="IN.0" inputmask="0x02"><bounds x="89" y="103" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="keys" inputtag="IN.2" inputmask="0x01"><bounds x="94" y="103" width="4" height="4" /><color alpha="0.25" /></bezel>
+ </group>
+
+
<!-- build screen -->
<view name="Internal Layout">
- <bounds left="-13" right="88" top="-1.5" bottom="100" />
+ <bounds left="-13" right="88" top="-1.5" bottom="104.5" />
<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>
<group ref="sb_board"><bounds x="3.5" y="3" width="80" height="80" /></group>
<group ref="sb_ui"><bounds x="-12" y="3" width="10" height="80" /></group>
- <group ref="display"><bounds x="4" y="90" width="22.5" height="7.4" /></group>
+ <bezel element="lcd_bg"><bounds x="23.5" y="92" width="20" height="8" /></bezel>
+ <group ref="display"><bounds x="24" y="92.8" width="19" height="6.4" /></group>
+ <group ref="buttons"><bounds x="53.5" y="89" width="29" height="14" /></group>
<bezel element="text_8"><bounds x="0.2" y="7" width="2" height="2" /></bezel>
<bezel element="text_7"><bounds x="0.2" y="17" width="2" height="2" /></bezel>