summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGravatarGravatar hap <happppp@users.noreply.github.com>2020-01-02 12:23:22 +0100
committerGravatarGravatar hap <happppp@users.noreply.github.com>2020-01-02 12:23:37 +0100
commitc6c0db13658a17125800b12359388ced95828d2e (patch)
treea6cad36bf6f701c3cb5d2e28db41b40fcad13cba
parent0a29cbef31992f15b4f5ade8d85bb097a7cf382f (diff)
downloadmame-c6c0db13658a17125800b12359388ced95828d2e.tar.xz
mame-c6c0db13658a17125800b12359388ced95828d2e.zip
mmodular: add bavaria sensors, can use mephisto_board_device anyway (nw)
-rw-r--r--src/devices/machine/sensorboard.h2
-rw-r--r--src/mame/drivers/mephisto_mm1.cpp2
-rw-r--r--src/mame/drivers/mephisto_modular.cpp198
-rw-r--r--src/mame/layout/mephisto_alm16.lay266
-rw-r--r--src/mame/layout/mephisto_alm32.lay266
-rw-r--r--src/mame/layout/mephisto_amsterdam.lay20
-rw-r--r--src/mame/layout/mephisto_bup.lay20
-rw-r--r--src/mame/layout/mephisto_gen32.lay266
-rw-r--r--src/mame/layout/mephisto_glasgow.lay20
-rw-r--r--src/mame/layout/mephisto_mirage.lay11
-rw-r--r--src/mame/layout/mephisto_mm1.lay4
-rw-r--r--src/mame/layout/mephisto_mm2.lay20
-rw-r--r--src/mame/layout/mephisto_polgar.lay20
-rw-r--r--src/mame/machine/mmboard.cpp16
-rw-r--r--src/mame/machine/mmboard.h2
15 files changed, 665 insertions, 468 deletions
diff --git a/src/devices/machine/sensorboard.h b/src/devices/machine/sensorboard.h
index 424db04c558..d950b2041ac 100644
--- a/src/devices/machine/sensorboard.h
+++ b/src/devices/machine/sensorboard.h
@@ -45,6 +45,8 @@ public:
u16 read_file(u8 x, bool reverse = false);
u16 read_rank(u8 y, bool reverse = false);
+ bool is_inductive() { return m_inductive; }
+
// handle board state
u8 read_piece(u8 x, u8 y) { return m_curstate[y * m_width + x]; }
void write_piece(u8 x, u8 y, u8 id) { m_curstate[y * m_width + x] = id; }
diff --git a/src/mame/drivers/mephisto_mm1.cpp b/src/mame/drivers/mephisto_mm1.cpp
index f80a51e6490..2f11564720b 100644
--- a/src/mame/drivers/mephisto_mm1.cpp
+++ b/src/mame/drivers/mephisto_mm1.cpp
@@ -349,7 +349,7 @@ static INPUT_PORTS_START( mirage )
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, 0)
- PORT_CONFSETTING( 0x00, "Buttons (Mirage)" )
+ PORT_CONFSETTING( 0x00, "Buttons (Mobil)" )
PORT_CONFSETTING( 0x01, "Magnets (Modular)" )
INPUT_PORTS_END
diff --git a/src/mame/drivers/mephisto_modular.cpp b/src/mame/drivers/mephisto_modular.cpp
index 24837aa9d35..6162baa174e 100644
--- a/src/mame/drivers/mephisto_modular.cpp
+++ b/src/mame/drivers/mephisto_modular.cpp
@@ -25,15 +25,16 @@ No Mephisto modules were released anymore after Saitek took over H+G, engine is
to be same as Saitek's 1996 Mephisto London 68030 (limited release TM version).
TODO:
-- add Bavaria sensor support
- add the missing very rare 'TM' Tournament Machines
- match I/S= diag speed test with real hardware (good test for proper waitstates)
-- remove gen32/gen32l ROM patch
+- remove gen32/gen32l ROM patch, also related to waitstates
Undocumented buttons:
- holding ENTER and LEFT cursor on boot runs diagnostics
- holding UP and RIGHT cursor on boot will clear the battery backed RAM
+===============================================================================
+
Bavaria piece recognition board:
-------------------------------------------------
| |
@@ -44,10 +45,10 @@ Bavaria piece recognition board:
| |
-------------------------------------------------
XTAL = 7.37280MHz
-ROM = TC57256AD-12, sinus table
+ROM = TC57256AD-12, sine table
Only usable with Weltmeister modules, Portorose until London (aka this MAME driver)
-Also, it was patented with DE4207534.
+It does not work on Portorose 1.01. See German patent DE4207534 for detailed description.
Each piece has a Tank circuit, and in each square of the board there is a coil.
By scanning all the squares at different frequencies, the resonance frequency
@@ -58,6 +59,13 @@ wJ, bJ, wK, bK, wQ, bQ, wP, bP, wB, bB, wN, bN, wR, bR (J = Joker)
460, 421, 381, 346, 316, 289, 259, 238, 217, 203, 180, 167, 154, 138 kHz
14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1 piece ID
+In MAME, to switch between the magnets chessboard and the Bavaria board, there's
+a configuration port. It's also doable by clicking on the sensorboard UI header
+(where it says "SB.MAGNETS" or "SB.BAVARIA"). The board gets detected at boot,
+so restart or reset(F3) afterwards.
+
+Reminder: unsupported on Almeria and Portorose 1.01, this is not a bug.
+
******************************************************************************/
#include "emu.h"
@@ -68,7 +76,6 @@ wJ, bJ, wK, bK, wQ, bQ, wP, bP, wB, bB, wN, bN, wR, bR (J = Joker)
#include "machine/timer.h"
#include "machine/sensorboard.h"
#include "machine/mmboard.h"
-#include "video/pwm.h"
#include "screen.h"
#include "speaker.h"
@@ -88,9 +95,7 @@ public:
driver_device(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_board(*this, "board"),
- m_led_pwm(*this, "led_pwm"),
- m_bav_busy(*this, "bav_busy"),
- m_led_out(*this, "led%u", 0U)
+ m_bav_busy(*this, "bav_busy")
{ }
// machine configs
@@ -104,6 +109,8 @@ public:
void init_gen32();
+ DECLARE_INPUT_CHANGED_MEMBER(switch_sensor_type) { set_sbtype(newval); }
+
protected:
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -111,10 +118,8 @@ protected:
private:
// devices/pointers
required_device<cpu_device> m_maincpu;
- required_device<sensorboard_device> m_board;
- required_device<pwm_display_device> m_led_pwm;
+ required_device<mephisto_board_device> m_board;
required_device<timer_device> m_bav_busy;
- output_finder<64> m_led_out;
// address maps
void alm16_mem(address_map &map);
@@ -127,30 +132,25 @@ private:
void nvram_map(address_map &map);
// I/O handlers
- DECLARE_WRITE8_MEMBER(mux_w);
- DECLARE_WRITE8_MEMBER(led_w);
- DECLARE_READ8_MEMBER(input_r);
DECLARE_WRITE8_MEMBER(bavaria_w);
DECLARE_READ8_MEMBER(bavaria1_r);
DECLARE_READ8_MEMBER(bavaria2_r);
- u8 m_mux = 0;
- u8 m_led_data = 0;
+ u8 spawn_cb(offs_t offset);
+ void set_sbtype(ioport_value newval);
+
u8 m_bav_data = 0;
};
void mmodular_state::machine_start()
{
- m_led_out.resolve();
-
// register for savestates
- save_item(NAME(m_mux));
- save_item(NAME(m_led_data));
save_item(NAME(m_bav_data));
}
void mmodular_state::machine_reset()
{
+ set_sbtype(ioport("FAKE")->read() & 1);
m_bav_data = 0;
}
@@ -168,35 +168,12 @@ void mmodular_state::init_gen32()
I/O
******************************************************************************/
-WRITE8_MEMBER(mmodular_state::mux_w)
-{
- // d0-d7: input/led mux
- m_mux = ~data;
- m_led_pwm->matrix(m_mux, m_led_data);
-}
-
-WRITE8_MEMBER(mmodular_state::led_w)
-{
- // d0-d7: led data
- m_led_data = data;
- m_led_pwm->matrix(m_mux, m_led_data);
-}
-
-READ8_MEMBER(mmodular_state::input_r)
-{
- u8 data = 0;
-
- // read magnet sensors
- for (int i = 0; i < 8; i++)
- if (BIT(m_mux, i))
- data |= m_board->read_rank(i);
-
- return ~data;
-}
-
WRITE8_MEMBER(mmodular_state::bavaria_w)
{
- // d0-d5: select square?
+ if (!m_board->get()->is_inductive())
+ return;
+
+ // d0-d5: select square
// d6: no function?
// d7: start search
if (m_bav_data & ~data & 0x80)
@@ -207,20 +184,36 @@ WRITE8_MEMBER(mmodular_state::bavaria_w)
READ8_MEMBER(mmodular_state::bavaria1_r)
{
+ if (!m_board->get()->is_inductive())
+ return 0;
+
// d0-d3: piece id
// other: unused?
- return 0;
+ static const u8 piece_id[0x10] =
+ { 0, 8, 4, 6, 2, 10, 12, 7, 3, 5, 1, 9, 11, 14, 13, 0 };
+
+ int x = m_bav_data >> 3 & 7;
+ int y = m_bav_data & 7;
+
+ return piece_id[m_board->get()->read_sensor(x, y) & 0xf];
}
READ8_MEMBER(mmodular_state::bavaria2_r)
{
- return 0;
+ if (!m_board->get()->is_inductive())
+ return 0;
// d7: busy signal
// other: unused?
return m_bav_busy->enabled() ? 0x80 : 0;
}
+u8 mmodular_state::spawn_cb(offs_t offset)
+{
+ // ignore jokers
+ return (!m_board->get()->is_inductive() && offset > 12) ? 0 : offset;
+}
+
/******************************************************************************
@@ -238,9 +231,9 @@ void mmodular_state::alm16_mem(address_map &map)
map(0x000000, 0x01ffff).rom();
map(0x400000, 0x47ffff).ram();
map(0x800000, 0x803fff).m("nvram_map", FUNC(address_map_bank_device::amap8)).umask16(0xff00);
- map(0xc00000, 0xc00000).r(FUNC(mmodular_state::input_r));
- map(0xc80000, 0xc80000).w(FUNC(mmodular_state::mux_w));
- map(0xd00000, 0xd00000).w(FUNC(mmodular_state::led_w));
+ map(0xc00000, 0xc00000).r("board", FUNC(mephisto_board_device::input_r)); // 0xff on Bavaria
+ map(0xc80000, 0xc80000).w("board", FUNC(mephisto_board_device::mux_w));
+ map(0xd00000, 0xd00000).w("board", FUNC(mephisto_board_device::led_w));
map(0xd00000, 0xd00001).nopr(); // clr.b
map(0xf00000, 0xf00003).portr("KEY1");
map(0xf00004, 0xf00007).portr("KEY2");
@@ -273,9 +266,9 @@ void mmodular_state::alm32_mem(address_map &map)
map(0x800000ec, 0x800000ef).portr("KEY1");
map(0x800000f4, 0x800000f7).portr("KEY2");
map(0x800000f8, 0x800000fb).portr("KEY3");
- map(0x800000fc, 0x800000fc).r(FUNC(mmodular_state::input_r));
- map(0x88000000, 0x88000007).w(FUNC(mmodular_state::mux_w)).umask32(0xff000000);
- map(0x90000000, 0x90000007).w(FUNC(mmodular_state::led_w)).umask32(0xff000000);
+ map(0x800000fc, 0x800000fc).r("board", FUNC(mephisto_board_device::input_r));
+ map(0x88000000, 0x88000007).w("board", FUNC(mephisto_board_device::mux_w)).umask32(0xff000000);
+ map(0x90000000, 0x90000007).w("board", FUNC(mephisto_board_device::led_w)).umask32(0xff000000);
map(0xa0000000, 0xa0000000).w("display", FUNC(mephisto_display_modul_device::latch_w));
map(0xa0000010, 0xa0000010).w("display", FUNC(mephisto_display_modul_device::io_w));
map(0xa8000000, 0xa8007fff).m("nvram_map", FUNC(address_map_bank_device::amap8)).umask32(0xff000000);
@@ -303,9 +296,9 @@ void mmodular_state::gen32_mem(address_map &map)
map(0x00000000, 0x0003ffff).rom();
map(0x40000000, 0x4007ffff).ram();
map(0x80000000, 0x8003ffff).ram();
- map(0xc0000000, 0xc0000000).r(FUNC(mmodular_state::input_r));
- map(0xc8000004, 0xc8000004).w(FUNC(mmodular_state::mux_w));
- map(0xd0000004, 0xd0000004).w(FUNC(mmodular_state::led_w));
+ map(0xc0000000, 0xc0000000).r("board", FUNC(mephisto_board_device::input_r));
+ map(0xc8000004, 0xc8000004).w("board", FUNC(mephisto_board_device::mux_w));
+ map(0xd0000004, 0xd0000004).w("board", FUNC(mephisto_board_device::led_w));
map(0xd8000004, 0xd8000004).r(FUNC(mmodular_state::bavaria1_r));
map(0xd8000008, 0xd8000008).w(FUNC(mmodular_state::bavaria_w));
map(0xd800000c, 0xd800000c).r(FUNC(mmodular_state::bavaria2_r));
@@ -323,7 +316,44 @@ void mmodular_state::gen32_mem(address_map &map)
Input Ports
******************************************************************************/
-static INPUT_PORTS_START( alm16 )
+static INPUT_PORTS_START( bavaria )
+ PORT_START("FAKE")
+ PORT_CONFNAME( 0x01, 0x01, "Board Sensors" ) PORT_CHANGED_MEMBER(DEVICE_SELF, mmodular_state, switch_sensor_type, 0)
+ PORT_CONFSETTING( 0x01, "Magnets (Exclusive)" ) // or Muenchen/Modular
+ PORT_CONFSETTING( 0x00, "Induction (Bavaria)" )
+INPUT_PORTS_END
+
+void mmodular_state::set_sbtype(ioport_value newval)
+{
+ m_board->get()->set_type(newval ? sensorboard_device::MAGNETS : sensorboard_device::INDUCTIVE);
+
+ if (machine().phase() == machine_phase::RUNNING)
+ {
+ m_board->get()->cancel_hand();
+ m_board->get()->refresh();
+ }
+}
+
+
+static INPUT_PORTS_START( gen32 )
+ PORT_INCLUDE( bavaria )
+
+ PORT_START("KEY1")
+ PORT_BIT(0x01000000, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("ENT") PORT_CODE(KEYCODE_ENTER)
+ PORT_BIT(0x02000000, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("LEFT") PORT_CODE(KEYCODE_LEFT)
+
+ PORT_START("KEY2")
+ PORT_BIT(0x01000000, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("UP") PORT_CODE(KEYCODE_UP)
+ PORT_BIT(0x02000000, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("DOWN") PORT_CODE(KEYCODE_DOWN)
+
+ PORT_START("KEY3")
+ PORT_BIT(0x01000000, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("CL") PORT_CODE(KEYCODE_BACKSPACE) PORT_CODE(KEYCODE_DEL)
+ PORT_BIT(0x02000000, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RIGHT") PORT_CODE(KEYCODE_RIGHT)
+INPUT_PORTS_END
+
+static INPUT_PORTS_START( port16 )
+ PORT_INCLUDE( bavaria )
+
PORT_START("KEY1")
PORT_BIT(0x0100, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("LEFT") PORT_CODE(KEYCODE_LEFT)
PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("ENT") PORT_CODE(KEYCODE_ENTER)
@@ -337,7 +367,9 @@ static INPUT_PORTS_START( alm16 )
PORT_BIT(0x0200, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("CL") PORT_CODE(KEYCODE_BACKSPACE) PORT_CODE(KEYCODE_DEL)
INPUT_PORTS_END
-static INPUT_PORTS_START( alm32 )
+static INPUT_PORTS_START( port32 )
+ PORT_INCLUDE( bavaria )
+
PORT_START("KEY1")
PORT_BIT(0x4000, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("RIGHT") PORT_CODE(KEYCODE_RIGHT)
PORT_BIT(0x8000, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("CL") PORT_CODE(KEYCODE_BACKSPACE) PORT_CODE(KEYCODE_DEL)
@@ -351,18 +383,18 @@ static INPUT_PORTS_START( alm32 )
PORT_BIT(0x8000, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("ENT") PORT_CODE(KEYCODE_ENTER)
INPUT_PORTS_END
-static INPUT_PORTS_START( gen32 )
- PORT_START("KEY1")
- PORT_BIT(0x01000000, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("ENT") PORT_CODE(KEYCODE_ENTER)
- PORT_BIT(0x02000000, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("LEFT") PORT_CODE(KEYCODE_LEFT)
+static INPUT_PORTS_START( alm16 )
+ PORT_INCLUDE( port16 )
- PORT_START("KEY2")
- PORT_BIT(0x01000000, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("UP") PORT_CODE(KEYCODE_UP)
- PORT_BIT(0x02000000, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("DOWN") PORT_CODE(KEYCODE_DOWN)
+ PORT_MODIFY("FAKE")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_UNUSED)
+INPUT_PORTS_END
- PORT_START("KEY3")
- PORT_BIT(0x01000000, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("CL") PORT_CODE(KEYCODE_BACKSPACE) PORT_CODE(KEYCODE_DEL)
- PORT_BIT(0x02000000, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RIGHT") PORT_CODE(KEYCODE_RIGHT)
+static INPUT_PORTS_START( alm32 )
+ PORT_INCLUDE( port32 )
+
+ PORT_MODIFY("FAKE")
+ PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_UNUSED)
INPUT_PORTS_END
@@ -381,16 +413,14 @@ void mmodular_state::alm16(machine_config &config)
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
ADDRESS_MAP_BANK(config, "nvram_map").set_map(&mmodular_state::nvram_map).set_options(ENDIANNESS_BIG, 8, 13);
- TIMER(config, "bav_busy").configure_generic(nullptr);
+ MEPHISTO_SENSORS_BOARD(config, m_board);
+ m_board->subdevice<sensorboard_device>("board")->set_spawnpoints(12+2); // 2 jokers
+ m_board->subdevice<sensorboard_device>("board")->spawn_cb().set(FUNC(mmodular_state::spawn_cb));
- SENSORBOARD(config, m_board).set_type(sensorboard_device::MAGNETS);
- m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess));
- m_board->set_delay(attotime::from_msec(150));
+ TIMER(config, "bav_busy").configure_generic(nullptr);
/* video hardware */
MEPHISTO_DISPLAY_MODUL(config, "display");
- PWM_DISPLAY(config, m_led_pwm).set_size(8, 8);
- m_led_pwm->output_x().set([this](offs_t offset, u8 data) { m_led_out[offset >> 6 | (offset & 7) << 3] = data; });
config.set_default_layout(layout_mephisto_alm16);
}
@@ -562,13 +592,13 @@ ROM_END
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
CONS( 1988, alm32, 0, 0, alm32, alm32, mmodular_state, empty_init, "Hegener + Glaser", "Mephisto Almeria 32 Bit", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING | MACHINE_CLICKABLE_ARTWORK )
CONS( 1988, alm16, alm32, 0, alm16, alm16, mmodular_state, empty_init, "Hegener + Glaser", "Mephisto Almeria 16 Bit", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1989, port32, 0, 0, port32, alm32, mmodular_state, empty_init, "Hegener + Glaser", "Mephisto Portorose 32 Bit", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1989, port16, port32, 0, port16, alm16, mmodular_state, empty_init, "Hegener + Glaser", "Mephisto Portorose 16 Bit", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1990, lyon32, 0, 0, port32, alm32, mmodular_state, empty_init, "Hegener + Glaser", "Mephisto Lyon 32 Bit", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1990, lyon16, lyon32, 0, port16, alm16, mmodular_state, empty_init, "Hegener + Glaser", "Mephisto Lyon 16 Bit", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1991, van32, 0, 0, van32, alm32, mmodular_state, empty_init, "Hegener + Glaser", "Mephisto Vancouver 32 Bit", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1991, van16, van32, 0, van16, alm16, mmodular_state, empty_init, "Hegener + Glaser", "Mephisto Vancouver 16 Bit", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING | MACHINE_CLICKABLE_ARTWORK )
+CONS( 1989, port32, 0, 0, port32, port32, mmodular_state, empty_init, "Hegener + Glaser", "Mephisto Portorose 32 Bit", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING | MACHINE_CLICKABLE_ARTWORK )
+CONS( 1989, port16, port32, 0, port16, port16, mmodular_state, empty_init, "Hegener + Glaser", "Mephisto Portorose 16 Bit", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING | MACHINE_CLICKABLE_ARTWORK )
+CONS( 1990, lyon32, 0, 0, port32, port32, mmodular_state, empty_init, "Hegener + Glaser", "Mephisto Lyon 32 Bit", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING | MACHINE_CLICKABLE_ARTWORK )
+CONS( 1990, lyon16, lyon32, 0, port16, port16, mmodular_state, empty_init, "Hegener + Glaser", "Mephisto Lyon 16 Bit", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING | MACHINE_CLICKABLE_ARTWORK )
+CONS( 1991, van32, 0, 0, van32, port32, mmodular_state, empty_init, "Hegener + Glaser", "Mephisto Vancouver 32 Bit", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING | MACHINE_CLICKABLE_ARTWORK )
+CONS( 1991, van16, van32, 0, van16, port16, mmodular_state, empty_init, "Hegener + Glaser", "Mephisto Vancouver 16 Bit", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING | MACHINE_CLICKABLE_ARTWORK )
CONS( 1993, gen32, 0, 0, gen32, gen32, mmodular_state, init_gen32, "Hegener + Glaser", "Mephisto Genius 68030", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING | MACHINE_CLICKABLE_ARTWORK )
CONS( 1996, gen32l, gen32, 0, gen32, gen32, mmodular_state, init_gen32, "Richard Lang", "Mephisto Genius 68030 (London upgrade)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1996, lond32, 0, 0, van32, alm32, mmodular_state, empty_init, "Richard Lang", "Mephisto London 32 Bit", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING | MACHINE_CLICKABLE_ARTWORK ) // for alm32/port32/lyon32/van32
-CONS( 1996, lond16, lond32, 0, van16, alm16, mmodular_state, empty_init, "Richard Lang", "Mephisto London 16 Bit", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING | MACHINE_CLICKABLE_ARTWORK ) // for alm16/port16/lyon16/van16
+CONS( 1996, lond32, 0, 0, van32, port32, mmodular_state, empty_init, "Richard Lang", "Mephisto London 32 Bit", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING | MACHINE_CLICKABLE_ARTWORK ) // for alm32/port32/lyon32/van32
+CONS( 1996, lond16, lond32, 0, van16, port16, mmodular_state, empty_init, "Richard Lang", "Mephisto London 16 Bit", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_TIMING | MACHINE_CLICKABLE_ARTWORK ) // for alm16/port16/lyon16/van16
diff --git a/src/mame/layout/mephisto_alm16.lay b/src/mame/layout/mephisto_alm16.lay
index ec9235f522d..5bd9d9b6ffe 100644
--- a/src/mame/layout/mephisto_alm16.lay
+++ b/src/mame/layout/mephisto_alm16.lay
@@ -1,6 +1,8 @@
<?xml version="1.0"?>
<mamelayout version="2">
+
<!-- define elements -->
+
<element name="led" defstate="0">
<disk state="0">
<color red="0.20" green="0.0" blue="0.0" />
@@ -10,25 +12,26 @@
</disk>
</element>
- <element name="text_1"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="1"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_2"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="2"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_3"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="3"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_4"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="4"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_5"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="5"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_6"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="6"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_7"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="7"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_8"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="8"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_a"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="A"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_b"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="B"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_c"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="C"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_d"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="D"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_e"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="E"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_f"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="F"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_g"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="G"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_h"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="H"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
-
+ <element name="text_1"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="1"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_2"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="2"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_3"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="3"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_4"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="4"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_5"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="5"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_6"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="6"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_7"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="7"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_8"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="8"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_a"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="A"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_b"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="B"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_c"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="C"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_d"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="D"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_e"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="E"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_f"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="F"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_g"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="G"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_h"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="H"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
<element name="piece" defstate="0">
+ <text string=" "><bounds x="0" y="0" width="1" height="1" /></text>
+
<image file="chess/wp.png" state="1"/>
<image file="chess/wn.png" state="2"/>
<image file="chess/wb.png" state="3"/>
@@ -43,20 +46,44 @@
<image file="chess/bq.png" state="11"/>
<image file="chess/bk.png" state="12"/>
+ <image file="chess/wp.png" state="13"/>
+ <text string="J" state="13">
+ <color red="0" green="0" blue="0" />
+ <bounds x="0" y="0.55" width="1" height="0.3" />
+ </text>
+
+ <image file="chess/bp.png" state="14"/>
+ <text string="J" state="14">
+ <color red="1" green="1" blue="1" />
+ <bounds x="0" y="0.55" width="1" height="0.3" />
+ </text>
+
<!-- selected pieces -->
- <image file="chess/wp.png" state="13"><color alpha="0.5" /></image>
- <image file="chess/wn.png" state="14"><color alpha="0.5" /></image>
- <image file="chess/wb.png" state="15"><color alpha="0.5" /></image>
- <image file="chess/wr.png" state="16"><color alpha="0.5" /></image>
- <image file="chess/wq.png" state="17"><color alpha="0.5" /></image>
- <image file="chess/wk.png" state="18"><color alpha="0.5" /></image>
-
- <image file="chess/bp.png" state="19"><color alpha="0.5" /></image>
- <image file="chess/bn.png" state="20"><color alpha="0.5" /></image>
- <image file="chess/bb.png" state="21"><color alpha="0.5" /></image>
- <image file="chess/br.png" state="22"><color alpha="0.5" /></image>
- <image file="chess/bq.png" state="23"><color alpha="0.5" /></image>
- <image file="chess/bk.png" state="24"><color alpha="0.5" /></image>
+ <image file="chess/wp.png" state="15"><color alpha="0.5" /></image>
+ <image file="chess/wn.png" state="16"><color alpha="0.5" /></image>
+ <image file="chess/wb.png" state="17"><color alpha="0.5" /></image>
+ <image file="chess/wr.png" state="18"><color alpha="0.5" /></image>
+ <image file="chess/wq.png" state="19"><color alpha="0.5" /></image>
+ <image file="chess/wk.png" state="20"><color alpha="0.5" /></image>
+
+ <image file="chess/bp.png" state="21"><color alpha="0.5" /></image>
+ <image file="chess/bn.png" state="22"><color alpha="0.5" /></image>
+ <image file="chess/bb.png" state="23"><color alpha="0.5" /></image>
+ <image file="chess/br.png" state="24"><color alpha="0.5" /></image>
+ <image file="chess/bq.png" state="25"><color alpha="0.5" /></image>
+ <image file="chess/bk.png" state="26"><color alpha="0.5" /></image>
+
+ <image file="chess/wp.png" state="27"><color alpha="0.5" /></image>
+ <text string="J" state="27">
+ <color red="0.3" green="0.3" blue="0.2" />
+ <bounds x="0" y="0.55" width="1" height="0.3" />
+ </text>
+
+ <image file="chess/bp.png" state="28"><color alpha="0.5" /></image>
+ <text string="J" state="28">
+ <color red="0.7" green="0.7" blue="0.6" />
+ <bounds x="0" y="0.55" width="1" height="0.3" />
+ </text>
</element>
@@ -176,14 +203,14 @@
<param name="y" start="0" increment="10" />
<param name="i" start="8" increment="-1" />
- <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
- <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
- <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
- <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
- <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
- <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
- <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
- <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x80"><bounds x="70" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
+ <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
+ <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
+ <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
+ <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
+ <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
+ <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
+ <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
+ <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x80"><bounds x="70" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
<bezel name="piece_a~i~" element="piece"><bounds x="0" y="~y~" width="10" height="10" /></bezel>
<bezel name="piece_b~i~" element="piece"><bounds x="10" y="~y~" width="10" height="10" /></bezel>
@@ -199,11 +226,21 @@
<!-- sb ui -->
+ <element name="wmask1" defstate="0">
+ <rect state="1"><color red="0.84" green="0.75" blue="0.50" /></rect>
+ </element>
+ <element name="wmask2">
+ <rect><color red="1" green="1" blue="1" /></rect>
+ </element>
+
<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_uit1" defstate="0">
+ <text string="SB.BAVARIA" state="0"><color red="0.81" green="0.8" blue="0.79" /></text>
+ <text string="SB.MAGNETS" state="1"><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">
@@ -250,11 +287,15 @@
</element>
<group name="sb_ui">
- <bounds x="0" y="0" width="10" height="80" />
+ <bounds x="0" y="0" width="10" height="81" />
+
+ <!-- can click here to change board type -->
+ <bezel element="hlub" inputtag="FAKE" inputmask="0x01" inputraw="1"><bounds x="0" y="1.5" width="10" height="5" /></bezel>
+
<bezel element="cblack"><bounds x="0" y="0" width="10" height="1" /></bezel>
<bezel element="cblack"><bounds x="0" y="7" width="10" height="1" /></bezel>
- <bezel element="cblack"><bounds x="0" y="79" width="10" height="1" /></bezel>
- <bezel element="text_uit1"><bounds x="0" y="2" width="10" height="2" /></bezel>
+ <bezel element="cblack"><bounds x="0" y="80" width="10" height="1" /></bezel>
+ <bezel element="text_uit1" inputtag="FAKE" inputmask="0x01" inputraw="1"><bounds x="0" y="2" width="10" height="2" /></bezel>
<bezel element="text_uit2"><bounds x="0" y="4" width="10" height="2" /></bezel>
<!-- board -->
@@ -265,68 +306,77 @@
<bezel element="text_uib2"><bounds x="1.5" y="11.75" width="7" height="2" /></bezel>
<bezel element="text_uib3"><bounds x="1.5" y="15.25" width="7" height="2" /></bezel>
- <bezel element="hlub" inputtag="board:UI" inputmask="0x200"><bounds x="1" y="11.5" width="8" height="2.5" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:UI" inputmask="0x100"><bounds x="1" y="15" width="8" height="2.5" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:UI" inputmask="0x200"><bounds x="1" y="11.5" width="8" height="2.5" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:UI" inputmask="0x100"><bounds x="1" y="15" width="8" height="2.5" /><color alpha="0.25" /></bezel>
<!-- spawn -->
- <bezel element="text_uis1"><bounds x="0" y="20.5" width="10" height="2" /></bezel>
- <bezel element="cwhite"><bounds x="1" y="23" width="8" height="12" /></bezel>
- <bezel element="cwhite"><bounds x="1" y="36" width="8" height="12" /></bezel>
-
- <bezel name="piece_ui1" element="piece"><bounds x="1" y="23" width="4" height="4" /></bezel>
- <bezel name="piece_ui2" element="piece"><bounds x="1" y="27" width="4" height="4" /></bezel>
- <bezel name="piece_ui3" element="piece"><bounds x="1" y="31" width="4" height="4" /></bezel>
- <bezel name="piece_ui4" element="piece"><bounds x="5" y="23" width="4" height="4" /></bezel>
- <bezel name="piece_ui5" element="piece"><bounds x="5" y="27" width="4" height="4" /></bezel>
- <bezel name="piece_ui6" element="piece"><bounds x="5" y="31" width="4" height="4" /></bezel>
- <bezel name="piece_ui7" element="piece"><bounds x="1" y="36" width="4" height="4" /></bezel>
- <bezel name="piece_ui8" element="piece"><bounds x="1" y="40" width="4" height="4" /></bezel>
- <bezel name="piece_ui9" element="piece"><bounds x="1" y="44" width="4" height="4" /></bezel>
- <bezel name="piece_ui10" element="piece"><bounds x="5" y="36" width="4" height="4" /></bezel>
- <bezel name="piece_ui11" element="piece"><bounds x="5" y="40" width="4" height="4" /></bezel>
- <bezel name="piece_ui12" element="piece"><bounds x="5" y="44" width="4" height="4" /></bezel>
-
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0800"><bounds x="5" y="44" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="text_uis1"><bounds x="0" y="19.5" width="10" height="2" /></bezel>
+ <bezel element="cwhite"><bounds x="1" y="22" width="8" height="12" /></bezel>
+ <bezel element="cwhite"><bounds x="1" y="35" width="8" height="12" /></bezel>
+
+ <bezel name="piece_ui1" element="piece"><bounds x="1" y="22" width="4" height="4" /></bezel>
+ <bezel name="piece_ui2" element="piece"><bounds x="1" y="26" width="4" height="4" /></bezel>
+ <bezel name="piece_ui3" element="piece"><bounds x="1" y="30" width="4" height="4" /></bezel>
+ <bezel name="piece_ui4" element="piece"><bounds x="5" y="22" width="4" height="4" /></bezel>
+ <bezel name="piece_ui5" element="piece"><bounds x="5" y="26" width="4" height="4" /></bezel>
+ <bezel name="piece_ui6" element="piece"><bounds x="5" y="30" width="4" height="4" /></bezel>
+ <bezel name="piece_ui7" element="piece"><bounds x="1" y="35" width="4" height="4" /></bezel>
+ <bezel name="piece_ui8" element="piece"><bounds x="1" y="39" width="4" height="4" /></bezel>
+ <bezel name="piece_ui9" element="piece"><bounds x="1" y="43" width="4" height="4" /></bezel>
+ <bezel name="piece_ui10" element="piece"><bounds x="5" y="35" width="4" height="4" /></bezel>
+ <bezel name="piece_ui11" element="piece"><bounds x="5" y="39" width="4" height="4" /></bezel>
+ <bezel name="piece_ui12" element="piece"><bounds x="5" y="43" width="4" height="4" /></bezel>
+
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0001"><bounds x="1" y="22" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0002"><bounds x="1" y="26" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0004"><bounds x="1" y="30" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0008"><bounds x="5" y="22" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0010"><bounds x="5" y="26" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0020"><bounds x="5" y="30" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0040"><bounds x="1" y="35" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0080"><bounds x="1" y="39" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0100"><bounds x="1" y="43" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0200"><bounds x="5" y="35" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0400"><bounds x="5" y="39" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0800"><bounds x="5" y="43" width="4" height="4" /><color alpha="0.25" /></bezel>
+
+ <element ref="cwhite"><bounds x="1" y="48" width="8" height="4" /></element>
+ <element name="piece_ui13" ref="piece"><bounds x="1" y="48" width="4" height="4" /></element>
+ <element name="piece_ui14" ref="piece"><bounds x="5" y="48" width="4" height="4" /></element>
+ <element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x1000"><bounds x="1" y="48" width="4" height="4" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x2000"><bounds x="5" y="48" width="4" height="4" /><color alpha="0.25" /></element>
+ <element ref="wmask1" inputtag="FAKE" inputmask="1" inputraw="1"><bounds x="1" y="48" width="4" height="4" /></element>
+ <element ref="wmask1" inputtag="FAKE" inputmask="1" inputraw="1"><bounds x="5" y="48" width="4" height="4" /></element>
+ <element ref="wmask2" blend="multiply"><bounds x="1" y="48" width="8" height="4" /></element>
<!-- hand -->
- <bezel element="text_uih1"><bounds x="0" y="51" width="10" height="2" /></bezel>
- <bezel element="cblack"><bounds x="1" y="53.5" width="8" height="6" /></bezel>
- <bezel name="piece_ui0" element="piece"><bounds x="2" y="53.5" width="6" height="6" /></bezel>
+ <bezel element="text_uih1"><bounds x="0" y="54" width="10" height="2" /></bezel>
+ <bezel element="cblack"><bounds x="1" y="56.5" width="8" height="6" /></bezel>
+ <bezel name="piece_ui0" element="piece"><bounds x="2" y="56.5" width="6" height="6" /></bezel>
- <bezel element="cwhite"><bounds x="1" y="60.5" width="8" height="2.5" /></bezel>
- <bezel element="text_uih2"><bounds x="1.5" y="60.75" width="7" height="2" /></bezel>
- <bezel element="hlub" inputtag="board:UI" inputmask="0x08"><bounds x="1" y="60.5" width="8" height="2.5" /><color alpha="0.25" /></bezel>
+ <bezel element="cwhite"><bounds x="1" y="63.5" width="8" height="2.5" /></bezel>
+ <bezel element="text_uih2"><bounds x="1.5" y="63.75" width="7" height="2" /></bezel>
+ <bezel element="hlub" inputtag="board:board:UI" inputmask="0x08"><bounds x="1" y="63.5" width="8" height="2.5" /><color alpha="0.25" /></bezel>
<!-- undo -->
- <bezel element="text_uiu1"><bounds x="0" y="66" width="10" height="2" /></bezel>
- <bezel element="cwhite"><bounds x="1" y="68.5" width="1.7" height="6" /></bezel>
- <bezel element="cwhite"><bounds x="3.1" y="68.5" width="1.7" height="6" /></bezel>
- <bezel element="cwhite"><bounds x="5.2" y="68.5" width="1.7" height="6" /></bezel>
- <bezel element="cwhite"><bounds x="7.3" y="68.5" width="1.7" height="6" /></bezel>
- <bezel element="text_uiu2a"><bounds x="1" y="69.5" width="1.7" height="4" /></bezel>
- <bezel element="text_uiu2b"><bounds x="3.1" y="69.5" width="1.7" height="4" /></bezel>
- <bezel element="text_uiu2c"><bounds x="5.2" y="69.5" width="1.7" height="4" /></bezel>
- <bezel element="text_uiu2d"><bounds x="7.3" y="69.5" width="1.7" height="4" /></bezel>
-
- <bezel element="hlub" inputtag="board:UI" inputmask="0x10"><bounds x="1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:UI" inputmask="0x20"><bounds x="3.1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:UI" inputmask="0x40"><bounds x="5.2" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:UI" inputmask="0x80"><bounds x="7.3" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
-
- <bezel name="count_ui0" element="text_uiu3a"><bounds x="0" y="75" width="4" height="2" /></bezel>
- <bezel name="count_ui1" element="text_uiu3c"><bounds x="6" y="75" width="4" height="2" /></bezel>
- <bezel element="text_uiu3b"><bounds x="4" y="75" width="2" height="2" /></bezel>
+ <bezel element="text_uiu1"><bounds x="0" y="68" width="10" height="2" /></bezel>
+ <bezel element="cwhite"><bounds x="1" y="70.5" width="1.7" height="6" /></bezel>
+ <bezel element="cwhite"><bounds x="3.1" y="70.5" width="1.7" height="6" /></bezel>
+ <bezel element="cwhite"><bounds x="5.2" y="70.5" width="1.7" height="6" /></bezel>
+ <bezel element="cwhite"><bounds x="7.3" y="70.5" width="1.7" height="6" /></bezel>
+ <bezel element="text_uiu2a"><bounds x="1" y="71.5" width="1.7" height="4" /></bezel>
+ <bezel element="text_uiu2b"><bounds x="3.1" y="71.5" width="1.7" height="4" /></bezel>
+ <bezel element="text_uiu2c"><bounds x="5.2" y="71.5" width="1.7" height="4" /></bezel>
+ <bezel element="text_uiu2d"><bounds x="7.3" y="71.5" width="1.7" height="4" /></bezel>
+
+ <bezel element="hlub" inputtag="board:board:UI" inputmask="0x10"><bounds x="1" y="70.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:UI" inputmask="0x20"><bounds x="3.1" y="70.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:UI" inputmask="0x40"><bounds x="5.2" y="70.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:UI" inputmask="0x80"><bounds x="7.3" y="70.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
+
+ <bezel name="count_ui0" element="text_uiu3a"><bounds x="0" y="77" width="4" height="2" /></bezel>
+ <bezel name="count_ui1" element="text_uiu3c"><bounds x="6" y="77" width="4" height="2" /></bezel>
+ <bezel element="text_uiu3b"><bounds x="4" y="77" width="2" height="2" /></bezel>
</group>
@@ -399,8 +449,8 @@
<!-- build screen -->
<view name="Internal Layout">
- <bounds left="0" right="101" top="0" bottom="103" />
- <bezel element="cblack"><bounds x="14" y="0" width="87" height="87" /></bezel>
+ <bounds left="0" right="102" top="-2" bottom="103" />
+ <bezel element="cblack"><bounds x="13" y="-2" width="89" height="89" /></bezel>
<bezel element="cwhite"><bounds x="17" y="2" width="81" height="81" /></bezel>
<bezel element="text_lcd"><bounds x="47.5" y="89" width="24.5" height="2" /></bezel>
@@ -408,18 +458,18 @@
<group ref="buttons"><bounds x="77.5" y="88.5" width="13" height="13" /></group>
<group ref="sb_board"><bounds x="17.5" y="2.5" width="80" height="80" /></group>
- <group ref="sb_ui"><bounds x="1.5" y="3" width="10" height="80" /></group>
+ <group ref="sb_ui"><bounds x="1.5" y="2" width="10" height="81" /></group>
<!-- chessboard coords -->
- <bezel element="text_8"><bounds x="14.7" y="6.5" width="2" height="2" /></bezel>
- <bezel element="text_7"><bounds x="14.7" y="16.5" width="2" height="2" /></bezel>
- <bezel element="text_6"><bounds x="14.7" y="26.5" width="2" height="2" /></bezel>
- <bezel element="text_5"><bounds x="14.7" y="36.5" width="2" height="2" /></bezel>
- <bezel element="text_4"><bounds x="14.7" y="46.5" width="2" height="2" /></bezel>
- <bezel element="text_3"><bounds x="14.7" y="56.5" width="2" height="2" /></bezel>
- <bezel element="text_2"><bounds x="14.7" y="66.5" width="2" height="2" /></bezel>
- <bezel element="text_1"><bounds x="14.7" y="76.5" width="2" height="2" /></bezel>
+ <bezel element="text_8"><bounds x="14.2" y="6.5" width="2" height="2" /></bezel>
+ <bezel element="text_7"><bounds x="14.2" y="16.5" width="2" height="2" /></bezel>
+ <bezel element="text_6"><bounds x="14.2" y="26.5" width="2" height="2" /></bezel>
+ <bezel element="text_5"><bounds x="14.2" y="36.5" width="2" height="2" /></bezel>
+ <bezel element="text_4"><bounds x="14.2" y="46.5" width="2" height="2" /></bezel>
+ <bezel element="text_3"><bounds x="14.2" y="56.5" width="2" height="2" /></bezel>
+ <bezel element="text_2"><bounds x="14.2" y="66.5" width="2" height="2" /></bezel>
+ <bezel element="text_1"><bounds x="14.2" y="76.5" width="2" height="2" /></bezel>
<bezel element="text_a"><bounds x="21.5" y="84" width="2" height="2" /></bezel>
<bezel element="text_b"><bounds x="31.5" y="84" width="2" height="2" /></bezel>
diff --git a/src/mame/layout/mephisto_alm32.lay b/src/mame/layout/mephisto_alm32.lay
index 004e84fdba0..cd71d3be41e 100644
--- a/src/mame/layout/mephisto_alm32.lay
+++ b/src/mame/layout/mephisto_alm32.lay
@@ -1,6 +1,8 @@
<?xml version="1.0"?>
<mamelayout version="2">
+
<!-- define elements -->
+
<element name="led" defstate="0">
<disk state="0">
<color red="0.20" green="0.0" blue="0.0" />
@@ -10,25 +12,26 @@
</disk>
</element>
- <element name="text_1"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="1"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_2"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="2"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_3"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="3"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_4"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="4"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_5"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="5"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_6"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="6"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_7"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="7"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_8"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="8"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_a"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="A"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_b"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="B"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_c"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="C"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_d"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="D"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_e"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="E"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_f"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="F"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_g"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="G"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_h"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="H"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
-
+ <element name="text_1"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="1"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_2"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="2"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_3"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="3"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_4"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="4"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_5"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="5"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_6"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="6"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_7"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="7"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_8"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="8"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_a"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="A"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_b"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="B"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_c"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="C"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_d"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="D"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_e"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="E"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_f"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="F"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_g"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="G"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_h"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="H"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
<element name="piece" defstate="0">
+ <text string=" "><bounds x="0" y="0" width="1" height="1" /></text>
+
<image file="chess/wp.png" state="1"/>
<image file="chess/wn.png" state="2"/>
<image file="chess/wb.png" state="3"/>
@@ -43,20 +46,44 @@
<image file="chess/bq.png" state="11"/>
<image file="chess/bk.png" state="12"/>
+ <image file="chess/wp.png" state="13"/>
+ <text string="J" state="13">
+ <color red="0" green="0" blue="0" />
+ <bounds x="0" y="0.55" width="1" height="0.3" />
+ </text>
+
+ <image file="chess/bp.png" state="14"/>
+ <text string="J" state="14">
+ <color red="1" green="1" blue="1" />
+ <bounds x="0" y="0.55" width="1" height="0.3" />
+ </text>
+
<!-- selected pieces -->
- <image file="chess/wp.png" state="13"><color alpha="0.5" /></image>
- <image file="chess/wn.png" state="14"><color alpha="0.5" /></image>
- <image file="chess/wb.png" state="15"><color alpha="0.5" /></image>
- <image file="chess/wr.png" state="16"><color alpha="0.5" /></image>
- <image file="chess/wq.png" state="17"><color alpha="0.5" /></image>
- <image file="chess/wk.png" state="18"><color alpha="0.5" /></image>
-
- <image file="chess/bp.png" state="19"><color alpha="0.5" /></image>
- <image file="chess/bn.png" state="20"><color alpha="0.5" /></image>
- <image file="chess/bb.png" state="21"><color alpha="0.5" /></image>
- <image file="chess/br.png" state="22"><color alpha="0.5" /></image>
- <image file="chess/bq.png" state="23"><color alpha="0.5" /></image>
- <image file="chess/bk.png" state="24"><color alpha="0.5" /></image>
+ <image file="chess/wp.png" state="15"><color alpha="0.5" /></image>
+ <image file="chess/wn.png" state="16"><color alpha="0.5" /></image>
+ <image file="chess/wb.png" state="17"><color alpha="0.5" /></image>
+ <image file="chess/wr.png" state="18"><color alpha="0.5" /></image>
+ <image file="chess/wq.png" state="19"><color alpha="0.5" /></image>
+ <image file="chess/wk.png" state="20"><color alpha="0.5" /></image>
+
+ <image file="chess/bp.png" state="21"><color alpha="0.5" /></image>
+ <image file="chess/bn.png" state="22"><color alpha="0.5" /></image>
+ <image file="chess/bb.png" state="23"><color alpha="0.5" /></image>
+ <image file="chess/br.png" state="24"><color alpha="0.5" /></image>
+ <image file="chess/bq.png" state="25"><color alpha="0.5" /></image>
+ <image file="chess/bk.png" state="26"><color alpha="0.5" /></image>
+
+ <image file="chess/wp.png" state="27"><color alpha="0.5" /></image>
+ <text string="J" state="27">
+ <color red="0.3" green="0.3" blue="0.2" />
+ <bounds x="0" y="0.55" width="1" height="0.3" />
+ </text>
+
+ <image file="chess/bp.png" state="28"><color alpha="0.5" /></image>
+ <text string="J" state="28">
+ <color red="0.7" green="0.7" blue="0.6" />
+ <bounds x="0" y="0.55" width="1" height="0.3" />
+ </text>
</element>
@@ -176,14 +203,14 @@
<param name="y" start="0" increment="10" />
<param name="i" start="8" increment="-1" />
- <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
- <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
- <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
- <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
- <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
- <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
- <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
- <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x80"><bounds x="70" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
+ <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
+ <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
+ <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
+ <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
+ <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
+ <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
+ <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
+ <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x80"><bounds x="70" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
<bezel name="piece_a~i~" element="piece"><bounds x="0" y="~y~" width="10" height="10" /></bezel>
<bezel name="piece_b~i~" element="piece"><bounds x="10" y="~y~" width="10" height="10" /></bezel>
@@ -199,11 +226,21 @@
<!-- sb ui -->
+ <element name="wmask1" defstate="0">
+ <rect state="1"><color red="0.84" green="0.75" blue="0.50" /></rect>
+ </element>
+ <element name="wmask2">
+ <rect><color red="1" green="1" blue="1" /></rect>
+ </element>
+
<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_uit1" defstate="0">
+ <text string="SB.BAVARIA" state="0"><color red="0.81" green="0.8" blue="0.79" /></text>
+ <text string="SB.MAGNETS" state="1"><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">
@@ -250,11 +287,15 @@
</element>
<group name="sb_ui">
- <bounds x="0" y="0" width="10" height="80" />
+ <bounds x="0" y="0" width="10" height="81" />
+
+ <!-- can click here to change board type -->
+ <bezel element="hlub" inputtag="FAKE" inputmask="0x01" inputraw="1"><bounds x="0" y="1.5" width="10" height="5" /></bezel>
+
<bezel element="cblack"><bounds x="0" y="0" width="10" height="1" /></bezel>
<bezel element="cblack"><bounds x="0" y="7" width="10" height="1" /></bezel>
- <bezel element="cblack"><bounds x="0" y="79" width="10" height="1" /></bezel>
- <bezel element="text_uit1"><bounds x="0" y="2" width="10" height="2" /></bezel>
+ <bezel element="cblack"><bounds x="0" y="80" width="10" height="1" /></bezel>
+ <bezel element="text_uit1" inputtag="FAKE" inputmask="0x01" inputraw="1"><bounds x="0" y="2" width="10" height="2" /></bezel>
<bezel element="text_uit2"><bounds x="0" y="4" width="10" height="2" /></bezel>
<!-- board -->
@@ -265,68 +306,77 @@
<bezel element="text_uib2"><bounds x="1.5" y="11.75" width="7" height="2" /></bezel>
<bezel element="text_uib3"><bounds x="1.5" y="15.25" width="7" height="2" /></bezel>
- <bezel element="hlub" inputtag="board:UI" inputmask="0x200"><bounds x="1" y="11.5" width="8" height="2.5" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:UI" inputmask="0x100"><bounds x="1" y="15" width="8" height="2.5" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:UI" inputmask="0x200"><bounds x="1" y="11.5" width="8" height="2.5" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:UI" inputmask="0x100"><bounds x="1" y="15" width="8" height="2.5" /><color alpha="0.25" /></bezel>
<!-- spawn -->
- <bezel element="text_uis1"><bounds x="0" y="20.5" width="10" height="2" /></bezel>
- <bezel element="cwhite"><bounds x="1" y="23" width="8" height="12" /></bezel>
- <bezel element="cwhite"><bounds x="1" y="36" width="8" height="12" /></bezel>
-
- <bezel name="piece_ui1" element="piece"><bounds x="1" y="23" width="4" height="4" /></bezel>
- <bezel name="piece_ui2" element="piece"><bounds x="1" y="27" width="4" height="4" /></bezel>
- <bezel name="piece_ui3" element="piece"><bounds x="1" y="31" width="4" height="4" /></bezel>
- <bezel name="piece_ui4" element="piece"><bounds x="5" y="23" width="4" height="4" /></bezel>
- <bezel name="piece_ui5" element="piece"><bounds x="5" y="27" width="4" height="4" /></bezel>
- <bezel name="piece_ui6" element="piece"><bounds x="5" y="31" width="4" height="4" /></bezel>
- <bezel name="piece_ui7" element="piece"><bounds x="1" y="36" width="4" height="4" /></bezel>
- <bezel name="piece_ui8" element="piece"><bounds x="1" y="40" width="4" height="4" /></bezel>
- <bezel name="piece_ui9" element="piece"><bounds x="1" y="44" width="4" height="4" /></bezel>
- <bezel name="piece_ui10" element="piece"><bounds x="5" y="36" width="4" height="4" /></bezel>
- <bezel name="piece_ui11" element="piece"><bounds x="5" y="40" width="4" height="4" /></bezel>
- <bezel name="piece_ui12" element="piece"><bounds x="5" y="44" width="4" height="4" /></bezel>
-
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0800"><bounds x="5" y="44" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="text_uis1"><bounds x="0" y="19.5" width="10" height="2" /></bezel>
+ <bezel element="cwhite"><bounds x="1" y="22" width="8" height="12" /></bezel>
+ <bezel element="cwhite"><bounds x="1" y="35" width="8" height="12" /></bezel>
+
+ <bezel name="piece_ui1" element="piece"><bounds x="1" y="22" width="4" height="4" /></bezel>
+ <bezel name="piece_ui2" element="piece"><bounds x="1" y="26" width="4" height="4" /></bezel>
+ <bezel name="piece_ui3" element="piece"><bounds x="1" y="30" width="4" height="4" /></bezel>
+ <bezel name="piece_ui4" element="piece"><bounds x="5" y="22" width="4" height="4" /></bezel>
+ <bezel name="piece_ui5" element="piece"><bounds x="5" y="26" width="4" height="4" /></bezel>
+ <bezel name="piece_ui6" element="piece"><bounds x="5" y="30" width="4" height="4" /></bezel>
+ <bezel name="piece_ui7" element="piece"><bounds x="1" y="35" width="4" height="4" /></bezel>
+ <bezel name="piece_ui8" element="piece"><bounds x="1" y="39" width="4" height="4" /></bezel>
+ <bezel name="piece_ui9" element="piece"><bounds x="1" y="43" width="4" height="4" /></bezel>
+ <bezel name="piece_ui10" element="piece"><bounds x="5" y="35" width="4" height="4" /></bezel>
+ <bezel name="piece_ui11" element="piece"><bounds x="5" y="39" width="4" height="4" /></bezel>
+ <bezel name="piece_ui12" element="piece"><bounds x="5" y="43" width="4" height="4" /></bezel>
+
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0001"><bounds x="1" y="22" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0002"><bounds x="1" y="26" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0004"><bounds x="1" y="30" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0008"><bounds x="5" y="22" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0010"><bounds x="5" y="26" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0020"><bounds x="5" y="30" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0040"><bounds x="1" y="35" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0080"><bounds x="1" y="39" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0100"><bounds x="1" y="43" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0200"><bounds x="5" y="35" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0400"><bounds x="5" y="39" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0800"><bounds x="5" y="43" width="4" height="4" /><color alpha="0.25" /></bezel>
+
+ <element ref="cwhite"><bounds x="1" y="48" width="8" height="4" /></element>
+ <element name="piece_ui13" ref="piece"><bounds x="1" y="48" width="4" height="4" /></element>
+ <element name="piece_ui14" ref="piece"><bounds x="5" y="48" width="4" height="4" /></element>
+ <element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x1000"><bounds x="1" y="48" width="4" height="4" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x2000"><bounds x="5" y="48" width="4" height="4" /><color alpha="0.25" /></element>
+ <element ref="wmask1" inputtag="FAKE" inputmask="1" inputraw="1"><bounds x="1" y="48" width="4" height="4" /></element>
+ <element ref="wmask1" inputtag="FAKE" inputmask="1" inputraw="1"><bounds x="5" y="48" width="4" height="4" /></element>
+ <element ref="wmask2" blend="multiply"><bounds x="1" y="48" width="8" height="4" /></element>
<!-- hand -->
- <bezel element="text_uih1"><bounds x="0" y="51" width="10" height="2" /></bezel>
- <bezel element="cblack"><bounds x="1" y="53.5" width="8" height="6" /></bezel>
- <bezel name="piece_ui0" element="piece"><bounds x="2" y="53.5" width="6" height="6" /></bezel>
+ <bezel element="text_uih1"><bounds x="0" y="54" width="10" height="2" /></bezel>
+ <bezel element="cblack"><bounds x="1" y="56.5" width="8" height="6" /></bezel>
+ <bezel name="piece_ui0" element="piece"><bounds x="2" y="56.5" width="6" height="6" /></bezel>
- <bezel element="cwhite"><bounds x="1" y="60.5" width="8" height="2.5" /></bezel>
- <bezel element="text_uih2"><bounds x="1.5" y="60.75" width="7" height="2" /></bezel>
- <bezel element="hlub" inputtag="board:UI" inputmask="0x08"><bounds x="1" y="60.5" width="8" height="2.5" /><color alpha="0.25" /></bezel>
+ <bezel element="cwhite"><bounds x="1" y="63.5" width="8" height="2.5" /></bezel>
+ <bezel element="text_uih2"><bounds x="1.5" y="63.75" width="7" height="2" /></bezel>
+ <bezel element="hlub" inputtag="board:board:UI" inputmask="0x08"><bounds x="1" y="63.5" width="8" height="2.5" /><color alpha="0.25" /></bezel>
<!-- undo -->
- <bezel element="text_uiu1"><bounds x="0" y="66" width="10" height="2" /></bezel>
- <bezel element="cwhite"><bounds x="1" y="68.5" width="1.7" height="6" /></bezel>
- <bezel element="cwhite"><bounds x="3.1" y="68.5" width="1.7" height="6" /></bezel>
- <bezel element="cwhite"><bounds x="5.2" y="68.5" width="1.7" height="6" /></bezel>
- <bezel element="cwhite"><bounds x="7.3" y="68.5" width="1.7" height="6" /></bezel>
- <bezel element="text_uiu2a"><bounds x="1" y="69.5" width="1.7" height="4" /></bezel>
- <bezel element="text_uiu2b"><bounds x="3.1" y="69.5" width="1.7" height="4" /></bezel>
- <bezel element="text_uiu2c"><bounds x="5.2" y="69.5" width="1.7" height="4" /></bezel>
- <bezel element="text_uiu2d"><bounds x="7.3" y="69.5" width="1.7" height="4" /></bezel>
-
- <bezel element="hlub" inputtag="board:UI" inputmask="0x10"><bounds x="1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:UI" inputmask="0x20"><bounds x="3.1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:UI" inputmask="0x40"><bounds x="5.2" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:UI" inputmask="0x80"><bounds x="7.3" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
-
- <bezel name="count_ui0" element="text_uiu3a"><bounds x="0" y="75" width="4" height="2" /></bezel>
- <bezel name="count_ui1" element="text_uiu3c"><bounds x="6" y="75" width="4" height="2" /></bezel>
- <bezel element="text_uiu3b"><bounds x="4" y="75" width="2" height="2" /></bezel>
+ <bezel element="text_uiu1"><bounds x="0" y="68" width="10" height="2" /></bezel>
+ <bezel element="cwhite"><bounds x="1" y="70.5" width="1.7" height="6" /></bezel>
+ <bezel element="cwhite"><bounds x="3.1" y="70.5" width="1.7" height="6" /></bezel>
+ <bezel element="cwhite"><bounds x="5.2" y="70.5" width="1.7" height="6" /></bezel>
+ <bezel element="cwhite"><bounds x="7.3" y="70.5" width="1.7" height="6" /></bezel>
+ <bezel element="text_uiu2a"><bounds x="1" y="71.5" width="1.7" height="4" /></bezel>
+ <bezel element="text_uiu2b"><bounds x="3.1" y="71.5" width="1.7" height="4" /></bezel>
+ <bezel element="text_uiu2c"><bounds x="5.2" y="71.5" width="1.7" height="4" /></bezel>
+ <bezel element="text_uiu2d"><bounds x="7.3" y="71.5" width="1.7" height="4" /></bezel>
+
+ <bezel element="hlub" inputtag="board:board:UI" inputmask="0x10"><bounds x="1" y="70.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:UI" inputmask="0x20"><bounds x="3.1" y="70.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:UI" inputmask="0x40"><bounds x="5.2" y="70.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:UI" inputmask="0x80"><bounds x="7.3" y="70.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
+
+ <bezel name="count_ui0" element="text_uiu3a"><bounds x="0" y="77" width="4" height="2" /></bezel>
+ <bezel name="count_ui1" element="text_uiu3c"><bounds x="6" y="77" width="4" height="2" /></bezel>
+ <bezel element="text_uiu3b"><bounds x="4" y="77" width="2" height="2" /></bezel>
</group>
@@ -399,8 +449,8 @@
<!-- build screen -->
<view name="Internal Layout">
- <bounds left="0" right="101" top="0" bottom="103" />
- <bezel element="cblack"><bounds x="14" y="0" width="87" height="87" /></bezel>
+ <bounds left="0" right="102" top="-2" bottom="103" />
+ <bezel element="cblack"><bounds x="13" y="-2" width="89" height="89" /></bezel>
<bezel element="cwhite"><bounds x="17" y="2" width="81" height="81" /></bezel>
<bezel element="text_lcd"><bounds x="47.5" y="89" width="24.5" height="2" /></bezel>
@@ -408,18 +458,18 @@
<group ref="buttons"><bounds x="77.5" y="88.5" width="13" height="13" /></group>
<group ref="sb_board"><bounds x="17.5" y="2.5" width="80" height="80" /></group>
- <group ref="sb_ui"><bounds x="1.5" y="3" width="10" height="80" /></group>
+ <group ref="sb_ui"><bounds x="1.5" y="2" width="10" height="81" /></group>
<!-- chessboard coords -->
- <bezel element="text_8"><bounds x="14.7" y="6.5" width="2" height="2" /></bezel>
- <bezel element="text_7"><bounds x="14.7" y="16.5" width="2" height="2" /></bezel>
- <bezel element="text_6"><bounds x="14.7" y="26.5" width="2" height="2" /></bezel>
- <bezel element="text_5"><bounds x="14.7" y="36.5" width="2" height="2" /></bezel>
- <bezel element="text_4"><bounds x="14.7" y="46.5" width="2" height="2" /></bezel>
- <bezel element="text_3"><bounds x="14.7" y="56.5" width="2" height="2" /></bezel>
- <bezel element="text_2"><bounds x="14.7" y="66.5" width="2" height="2" /></bezel>
- <bezel element="text_1"><bounds x="14.7" y="76.5" width="2" height="2" /></bezel>
+ <bezel element="text_8"><bounds x="14.2" y="6.5" width="2" height="2" /></bezel>
+ <bezel element="text_7"><bounds x="14.2" y="16.5" width="2" height="2" /></bezel>
+ <bezel element="text_6"><bounds x="14.2" y="26.5" width="2" height="2" /></bezel>
+ <bezel element="text_5"><bounds x="14.2" y="36.5" width="2" height="2" /></bezel>
+ <bezel element="text_4"><bounds x="14.2" y="46.5" width="2" height="2" /></bezel>
+ <bezel element="text_3"><bounds x="14.2" y="56.5" width="2" height="2" /></bezel>
+ <bezel element="text_2"><bounds x="14.2" y="66.5" width="2" height="2" /></bezel>
+ <bezel element="text_1"><bounds x="14.2" y="76.5" width="2" height="2" /></bezel>
<bezel element="text_a"><bounds x="21.5" y="84" width="2" height="2" /></bezel>
<bezel element="text_b"><bounds x="31.5" y="84" width="2" height="2" /></bezel>
diff --git a/src/mame/layout/mephisto_amsterdam.lay b/src/mame/layout/mephisto_amsterdam.lay
index 49bd610dbda..dbd440e6d38 100644
--- a/src/mame/layout/mephisto_amsterdam.lay
+++ b/src/mame/layout/mephisto_amsterdam.lay
@@ -524,8 +524,8 @@
<!-- build screen -->
<view name="Internal Layout">
- <bounds left="0" right="101" top="0" bottom="104" />
- <bezel element="cblack"><bounds x="14" y="0" width="87" height="87" /></bezel>
+ <bounds left="0" right="102" top="-2" bottom="104" />
+ <bezel element="cblack"><bounds x="13" y="-2" width="89" height="89" /></bezel>
<bezel element="cwhite"><bounds x="17" y="2" width="81" height="81" /></bezel>
<group ref="panel"><bounds x="37.5" y="91" width="20" height="8" /></group>
@@ -537,14 +537,14 @@
<!-- chessboard coords -->
- <bezel element="text_8"><bounds x="14.7" y="6.5" width="2" height="2" /></bezel>
- <bezel element="text_7"><bounds x="14.7" y="16.5" width="2" height="2" /></bezel>
- <bezel element="text_6"><bounds x="14.7" y="26.5" width="2" height="2" /></bezel>
- <bezel element="text_5"><bounds x="14.7" y="36.5" width="2" height="2" /></bezel>
- <bezel element="text_4"><bounds x="14.7" y="46.5" width="2" height="2" /></bezel>
- <bezel element="text_3"><bounds x="14.7" y="56.5" width="2" height="2" /></bezel>
- <bezel element="text_2"><bounds x="14.7" y="66.5" width="2" height="2" /></bezel>
- <bezel element="text_1"><bounds x="14.7" y="76.5" width="2" height="2" /></bezel>
+ <bezel element="text_8"><bounds x="14.2" y="6.5" width="2" height="2" /></bezel>
+ <bezel element="text_7"><bounds x="14.2" y="16.5" width="2" height="2" /></bezel>
+ <bezel element="text_6"><bounds x="14.2" y="26.5" width="2" height="2" /></bezel>
+ <bezel element="text_5"><bounds x="14.2" y="36.5" width="2" height="2" /></bezel>
+ <bezel element="text_4"><bounds x="14.2" y="46.5" width="2" height="2" /></bezel>
+ <bezel element="text_3"><bounds x="14.2" y="56.5" width="2" height="2" /></bezel>
+ <bezel element="text_2"><bounds x="14.2" y="66.5" width="2" height="2" /></bezel>
+ <bezel element="text_1"><bounds x="14.2" y="76.5" width="2" height="2" /></bezel>
<bezel element="text_a"><bounds x="21.5" y="84" width="2" height="2" /></bezel>
<bezel element="text_b"><bounds x="31.5" y="84" width="2" height="2" /></bezel>
diff --git a/src/mame/layout/mephisto_bup.lay b/src/mame/layout/mephisto_bup.lay
index 2f96565a566..690303db9b5 100644
--- a/src/mame/layout/mephisto_bup.lay
+++ b/src/mame/layout/mephisto_bup.lay
@@ -538,8 +538,8 @@
<!-- build screen -->
<view name="Internal Layout">
- <bounds left="0" right="101" top="0" bottom="106.5" />
- <bezel element="cblack"><bounds x="14" y="0" width="87" height="87" /></bezel>
+ <bounds left="0" right="102" top="-2" bottom="106.5" />
+ <bezel element="cblack"><bounds x="13" y="-2" width="89" height="89" /></bezel>
<bezel element="cwhite"><bounds x="17" y="2" width="81" height="81" /></bezel>
<group ref="panel1"><bounds x="37.5" y="91" width="20" height="8" /></group>
@@ -551,14 +551,14 @@
<!-- chessboard coords -->
- <bezel element="text_8"><bounds x="14.7" y="6.5" width="2" height="2" /></bezel>
- <bezel element="text_7"><bounds x="14.7" y="16.5" width="2" height="2" /></bezel>
- <bezel element="text_6"><bounds x="14.7" y="26.5" width="2" height="2" /></bezel>
- <bezel element="text_5"><bounds x="14.7" y="36.5" width="2" height="2" /></bezel>
- <bezel element="text_4"><bounds x="14.7" y="46.5" width="2" height="2" /></bezel>
- <bezel element="text_3"><bounds x="14.7" y="56.5" width="2" height="2" /></bezel>
- <bezel element="text_2"><bounds x="14.7" y="66.5" width="2" height="2" /></bezel>
- <bezel element="text_1"><bounds x="14.7" y="76.5" width="2" height="2" /></bezel>
+ <bezel element="text_8"><bounds x="14.2" y="6.5" width="2" height="2" /></bezel>
+ <bezel element="text_7"><bounds x="14.2" y="16.5" width="2" height="2" /></bezel>
+ <bezel element="text_6"><bounds x="14.2" y="26.5" width="2" height="2" /></bezel>
+ <bezel element="text_5"><bounds x="14.2" y="36.5" width="2" height="2" /></bezel>
+ <bezel element="text_4"><bounds x="14.2" y="46.5" width="2" height="2" /></bezel>
+ <bezel element="text_3"><bounds x="14.2" y="56.5" width="2" height="2" /></bezel>
+ <bezel element="text_2"><bounds x="14.2" y="66.5" width="2" height="2" /></bezel>
+ <bezel element="text_1"><bounds x="14.2" y="76.5" width="2" height="2" /></bezel>
<bezel element="text_a"><bounds x="21.5" y="84" width="2" height="2" /></bezel>
<bezel element="text_b"><bounds x="31.5" y="84" width="2" height="2" /></bezel>
diff --git a/src/mame/layout/mephisto_gen32.lay b/src/mame/layout/mephisto_gen32.lay
index f2636cbeb2f..caef9774c86 100644
--- a/src/mame/layout/mephisto_gen32.lay
+++ b/src/mame/layout/mephisto_gen32.lay
@@ -1,6 +1,8 @@
<?xml version="1.0"?>
<mamelayout version="2">
+
<!-- define elements -->
+
<element name="led" defstate="0">
<disk state="0">
<color red="0.20" green="0.0" blue="0.0" />
@@ -10,25 +12,26 @@
</disk>
</element>
- <element name="text_1"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="1"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_2"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="2"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_3"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="3"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_4"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="4"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_5"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="5"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_6"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="6"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_7"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="7"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_8"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="8"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_a"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="A"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_b"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="B"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_c"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="C"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_d"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="D"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_e"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="E"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_f"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="F"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_g"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="G"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
- <element name="text_h"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="H"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
-
+ <element name="text_1"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="1"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_2"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="2"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_3"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="3"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_4"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="4"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_5"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="5"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_6"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="6"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_7"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="7"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_8"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="8"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_a"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="A"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_b"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="B"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_c"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="C"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_d"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="D"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_e"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="E"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_f"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="F"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_g"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="G"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
+ <element name="text_h"> <rect><color red="0.56" green="0.33" blue="0.12" /></rect> <text string="H"><color red="0.87" green="0.87" blue="0.84" /></text> </element>
<element name="piece" defstate="0">
+ <text string=" "><bounds x="0" y="0" width="1" height="1" /></text>
+
<image file="chess/wp.png" state="1"/>
<image file="chess/wn.png" state="2"/>
<image file="chess/wb.png" state="3"/>
@@ -43,20 +46,44 @@
<image file="chess/bq.png" state="11"/>
<image file="chess/bk.png" state="12"/>
+ <image file="chess/wp.png" state="13"/>
+ <text string="J" state="13">
+ <color red="0" green="0" blue="0" />
+ <bounds x="0" y="0.55" width="1" height="0.3" />
+ </text>
+
+ <image file="chess/bp.png" state="14"/>
+ <text string="J" state="14">
+ <color red="1" green="1" blue="1" />
+ <bounds x="0" y="0.55" width="1" height="0.3" />
+ </text>
+
<!-- selected pieces -->
- <image file="chess/wp.png" state="13"><color alpha="0.5" /></image>
- <image file="chess/wn.png" state="14"><color alpha="0.5" /></image>
- <image file="chess/wb.png" state="15"><color alpha="0.5" /></image>
- <image file="chess/wr.png" state="16"><color alpha="0.5" /></image>
- <image file="chess/wq.png" state="17"><color alpha="0.5" /></image>
- <image file="chess/wk.png" state="18"><color alpha="0.5" /></image>
-
- <image file="chess/bp.png" state="19"><color alpha="0.5" /></image>
- <image file="chess/bn.png" state="20"><color alpha="0.5" /></image>
- <image file="chess/bb.png" state="21"><color alpha="0.5" /></image>
- <image file="chess/br.png" state="22"><color alpha="0.5" /></image>
- <image file="chess/bq.png" state="23"><color alpha="0.5" /></image>
- <image file="chess/bk.png" state="24"><color alpha="0.5" /></image>
+ <image file="chess/wp.png" state="15"><color alpha="0.5" /></image>
+ <image file="chess/wn.png" state="16"><color alpha="0.5" /></image>
+ <image file="chess/wb.png" state="17"><color alpha="0.5" /></image>
+ <image file="chess/wr.png" state="18"><color alpha="0.5" /></image>
+ <image file="chess/wq.png" state="19"><color alpha="0.5" /></image>
+ <image file="chess/wk.png" state="20"><color alpha="0.5" /></image>
+
+ <image file="chess/bp.png" state="21"><color alpha="0.5" /></image>
+ <image file="chess/bn.png" state="22"><color alpha="0.5" /></image>
+ <image file="chess/bb.png" state="23"><color alpha="0.5" /></image>
+ <image file="chess/br.png" state="24"><color alpha="0.5" /></image>
+ <image file="chess/bq.png" state="25"><color alpha="0.5" /></image>
+ <image file="chess/bk.png" state="26"><color alpha="0.5" /></image>
+
+ <image file="chess/wp.png" state="27"><color alpha="0.5" /></image>
+ <text string="J" state="27">
+ <color red="0.3" green="0.3" blue="0.2" />
+ <bounds x="0" y="0.55" width="1" height="0.3" />
+ </text>
+
+ <image file="chess/bp.png" state="28"><color alpha="0.5" /></image>
+ <text string="J" state="28">
+ <color red="0.7" green="0.7" blue="0.6" />
+ <bounds x="0" y="0.55" width="1" height="0.3" />
+ </text>
</element>
@@ -176,14 +203,14 @@
<param name="y" start="0" increment="10" />
<param name="i" start="8" increment="-1" />
- <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
- <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
- <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
- <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
- <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
- <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
- <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
- <bezel element="hlbb" inputtag="board:RANK.~i~" inputmask="0x80"><bounds x="70" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
+ <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
+ <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
+ <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
+ <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
+ <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
+ <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
+ <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
+ <bezel element="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x80"><bounds x="70" y="~y~" width="10" height="10" /><color alpha="0.04" /></bezel>
<bezel name="piece_a~i~" element="piece"><bounds x="0" y="~y~" width="10" height="10" /></bezel>
<bezel name="piece_b~i~" element="piece"><bounds x="10" y="~y~" width="10" height="10" /></bezel>
@@ -199,11 +226,21 @@
<!-- sb ui -->
+ <element name="wmask1" defstate="0">
+ <rect state="1"><color red="0.84" green="0.75" blue="0.50" /></rect>
+ </element>
+ <element name="wmask2">
+ <rect><color red="1" green="1" blue="1" /></rect>
+ </element>
+
<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_uit1" defstate="0">
+ <text string="SB.BAVARIA" state="0"><color red="0.81" green="0.8" blue="0.79" /></text>
+ <text string="SB.MAGNETS" state="1"><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">
@@ -250,11 +287,15 @@
</element>
<group name="sb_ui">
- <bounds x="0" y="0" width="10" height="80" />
+ <bounds x="0" y="0" width="10" height="81" />
+
+ <!-- can click here to change board type -->
+ <bezel element="hlub" inputtag="FAKE" inputmask="0x01" inputraw="1"><bounds x="0" y="1.5" width="10" height="5" /></bezel>
+
<bezel element="cblack"><bounds x="0" y="0" width="10" height="1" /></bezel>
<bezel element="cblack"><bounds x="0" y="7" width="10" height="1" /></bezel>
- <bezel element="cblack"><bounds x="0" y="79" width="10" height="1" /></bezel>
- <bezel element="text_uit1"><bounds x="0" y="2" width="10" height="2" /></bezel>
+ <bezel element="cblack"><bounds x="0" y="80" width="10" height="1" /></bezel>
+ <bezel element="text_uit1" inputtag="FAKE" inputmask="0x01" inputraw="1"><bounds x="0" y="2" width="10" height="2" /></bezel>
<bezel element="text_uit2"><bounds x="0" y="4" width="10" height="2" /></bezel>
<!-- board -->
@@ -265,68 +306,77 @@
<bezel element="text_uib2"><bounds x="1.5" y="11.75" width="7" height="2" /></bezel>
<bezel element="text_uib3"><bounds x="1.5" y="15.25" width="7" height="2" /></bezel>
- <bezel element="hlub" inputtag="board:UI" inputmask="0x200"><bounds x="1" y="11.5" width="8" height="2.5" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:UI" inputmask="0x100"><bounds x="1" y="15" width="8" height="2.5" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:UI" inputmask="0x200"><bounds x="1" y="11.5" width="8" height="2.5" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:UI" inputmask="0x100"><bounds x="1" y="15" width="8" height="2.5" /><color alpha="0.25" /></bezel>
<!-- spawn -->
- <bezel element="text_uis1"><bounds x="0" y="20.5" width="10" height="2" /></bezel>
- <bezel element="cwhite"><bounds x="1" y="23" width="8" height="12" /></bezel>
- <bezel element="cwhite"><bounds x="1" y="36" width="8" height="12" /></bezel>
-
- <bezel name="piece_ui1" element="piece"><bounds x="1" y="23" width="4" height="4" /></bezel>
- <bezel name="piece_ui2" element="piece"><bounds x="1" y="27" width="4" height="4" /></bezel>
- <bezel name="piece_ui3" element="piece"><bounds x="1" y="31" width="4" height="4" /></bezel>
- <bezel name="piece_ui4" element="piece"><bounds x="5" y="23" width="4" height="4" /></bezel>
- <bezel name="piece_ui5" element="piece"><bounds x="5" y="27" width="4" height="4" /></bezel>
- <bezel name="piece_ui6" element="piece"><bounds x="5" y="31" width="4" height="4" /></bezel>
- <bezel name="piece_ui7" element="piece"><bounds x="1" y="36" width="4" height="4" /></bezel>
- <bezel name="piece_ui8" element="piece"><bounds x="1" y="40" width="4" height="4" /></bezel>
- <bezel name="piece_ui9" element="piece"><bounds x="1" y="44" width="4" height="4" /></bezel>
- <bezel name="piece_ui10" element="piece"><bounds x="5" y="36" width="4" height="4" /></bezel>
- <bezel name="piece_ui11" element="piece"><bounds x="5" y="40" width="4" height="4" /></bezel>
- <bezel name="piece_ui12" element="piece"><bounds x="5" y="44" width="4" height="4" /></bezel>
-
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:SPAWN" inputmask="0x0800"><bounds x="5" y="44" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="text_uis1"><bounds x="0" y="19.5" width="10" height="2" /></bezel>
+ <bezel element="cwhite"><bounds x="1" y="22" width="8" height="12" /></bezel>
+ <bezel element="cwhite"><bounds x="1" y="35" width="8" height="12" /></bezel>
+
+ <bezel name="piece_ui1" element="piece"><bounds x="1" y="22" width="4" height="4" /></bezel>
+ <bezel name="piece_ui2" element="piece"><bounds x="1" y="26" width="4" height="4" /></bezel>
+ <bezel name="piece_ui3" element="piece"><bounds x="1" y="30" width="4" height="4" /></bezel>
+ <bezel name="piece_ui4" element="piece"><bounds x="5" y="22" width="4" height="4" /></bezel>
+ <bezel name="piece_ui5" element="piece"><bounds x="5" y="26" width="4" height="4" /></bezel>
+ <bezel name="piece_ui6" element="piece"><bounds x="5" y="30" width="4" height="4" /></bezel>
+ <bezel name="piece_ui7" element="piece"><bounds x="1" y="35" width="4" height="4" /></bezel>
+ <bezel name="piece_ui8" element="piece"><bounds x="1" y="39" width="4" height="4" /></bezel>
+ <bezel name="piece_ui9" element="piece"><bounds x="1" y="43" width="4" height="4" /></bezel>
+ <bezel name="piece_ui10" element="piece"><bounds x="5" y="35" width="4" height="4" /></bezel>
+ <bezel name="piece_ui11" element="piece"><bounds x="5" y="39" width="4" height="4" /></bezel>
+ <bezel name="piece_ui12" element="piece"><bounds x="5" y="43" width="4" height="4" /></bezel>
+
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0001"><bounds x="1" y="22" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0002"><bounds x="1" y="26" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0004"><bounds x="1" y="30" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0008"><bounds x="5" y="22" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0010"><bounds x="5" y="26" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0020"><bounds x="5" y="30" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0040"><bounds x="1" y="35" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0080"><bounds x="1" y="39" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0100"><bounds x="1" y="43" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0200"><bounds x="5" y="35" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0400"><bounds x="5" y="39" width="4" height="4" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:SPAWN" inputmask="0x0800"><bounds x="5" y="43" width="4" height="4" /><color alpha="0.25" /></bezel>
+
+ <element ref="cwhite"><bounds x="1" y="48" width="8" height="4" /></element>
+ <element name="piece_ui13" ref="piece"><bounds x="1" y="48" width="4" height="4" /></element>
+ <element name="piece_ui14" ref="piece"><bounds x="5" y="48" width="4" height="4" /></element>
+ <element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x1000"><bounds x="1" y="48" width="4" height="4" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x2000"><bounds x="5" y="48" width="4" height="4" /><color alpha="0.25" /></element>
+ <element ref="wmask1" inputtag="FAKE" inputmask="1" inputraw="1"><bounds x="1" y="48" width="4" height="4" /></element>
+ <element ref="wmask1" inputtag="FAKE" inputmask="1" inputraw="1"><bounds x="5" y="48" width="4" height="4" /></element>
+ <element ref="wmask2" blend="multiply"><bounds x="1" y="48" width="8" height="4" /></element>
<!-- hand -->
- <bezel element="text_uih1"><bounds x="0" y="51" width="10" height="2" /></bezel>
- <bezel element="cblack"><bounds x="1" y="53.5" width="8" height="6" /></bezel>
- <bezel name="piece_ui0" element="piece"><bounds x="2" y="53.5" width="6" height="6" /></bezel>
+ <bezel element="text_uih1"><bounds x="0" y="54" width="10" height="2" /></bezel>
+ <bezel element="cblack"><bounds x="1" y="56.5" width="8" height="6" /></bezel>
+ <bezel name="piece_ui0" element="piece"><bounds x="2" y="56.5" width="6" height="6" /></bezel>
- <bezel element="cwhite"><bounds x="1" y="60.5" width="8" height="2.5" /></bezel>
- <bezel element="text_uih2"><bounds x="1.5" y="60.75" width="7" height="2" /></bezel>
- <bezel element="hlub" inputtag="board:UI" inputmask="0x08"><bounds x="1" y="60.5" width="8" height="2.5" /><color alpha="0.25" /></bezel>
+ <bezel element="cwhite"><bounds x="1" y="63.5" width="8" height="2.5" /></bezel>
+ <bezel element="text_uih2"><bounds x="1.5" y="63.75" width="7" height="2" /></bezel>
+ <bezel element="hlub" inputtag="board:board:UI" inputmask="0x08"><bounds x="1" y="63.5" width="8" height="2.5" /><color alpha="0.25" /></bezel>
<!-- undo -->
- <bezel element="text_uiu1"><bounds x="0" y="66" width="10" height="2" /></bezel>
- <bezel element="cwhite"><bounds x="1" y="68.5" width="1.7" height="6" /></bezel>
- <bezel element="cwhite"><bounds x="3.1" y="68.5" width="1.7" height="6" /></bezel>
- <bezel element="cwhite"><bounds x="5.2" y="68.5" width="1.7" height="6" /></bezel>
- <bezel element="cwhite"><bounds x="7.3" y="68.5" width="1.7" height="6" /></bezel>
- <bezel element="text_uiu2a"><bounds x="1" y="69.5" width="1.7" height="4" /></bezel>
- <bezel element="text_uiu2b"><bounds x="3.1" y="69.5" width="1.7" height="4" /></bezel>
- <bezel element="text_uiu2c"><bounds x="5.2" y="69.5" width="1.7" height="4" /></bezel>
- <bezel element="text_uiu2d"><bounds x="7.3" y="69.5" width="1.7" height="4" /></bezel>
-
- <bezel element="hlub" inputtag="board:UI" inputmask="0x10"><bounds x="1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:UI" inputmask="0x20"><bounds x="3.1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:UI" inputmask="0x40"><bounds x="5.2" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
- <bezel element="hlub" inputtag="board:UI" inputmask="0x80"><bounds x="7.3" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
-
- <bezel name="count_ui0" element="text_uiu3a"><bounds x="0" y="75" width="4" height="2" /></bezel>
- <bezel name="count_ui1" element="text_uiu3c"><bounds x="6" y="75" width="4" height="2" /></bezel>
- <bezel element="text_uiu3b"><bounds x="4" y="75" width="2" height="2" /></bezel>
+ <bezel element="text_uiu1"><bounds x="0" y="68" width="10" height="2" /></bezel>
+ <bezel element="cwhite"><bounds x="1" y="70.5" width="1.7" height="6" /></bezel>
+ <bezel element="cwhite"><bounds x="3.1" y="70.5" width="1.7" height="6" /></bezel>
+ <bezel element="cwhite"><bounds x="5.2" y="70.5" width="1.7" height="6" /></bezel>
+ <bezel element="cwhite"><bounds x="7.3" y="70.5" width="1.7" height="6" /></bezel>
+ <bezel element="text_uiu2a"><bounds x="1" y="71.5" width="1.7" height="4" /></bezel>
+ <bezel element="text_uiu2b"><bounds x="3.1" y="71.5" width="1.7" height="4" /></bezel>
+ <bezel element="text_uiu2c"><bounds x="5.2" y="71.5" width="1.7" height="4" /></bezel>
+ <bezel element="text_uiu2d"><bounds x="7.3" y="71.5" width="1.7" height="4" /></bezel>
+
+ <bezel element="hlub" inputtag="board:board:UI" inputmask="0x10"><bounds x="1" y="70.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:UI" inputmask="0x20"><bounds x="3.1" y="70.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:UI" inputmask="0x40"><bounds x="5.2" y="70.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
+ <bezel element="hlub" inputtag="board:board:UI" inputmask="0x80"><bounds x="7.3" y="70.5" width="1.7" height="6" /><color alpha="0.25" /></bezel>
+
+ <bezel name="count_ui0" element="text_uiu3a"><bounds x="0" y="77" width="4" height="2" /></bezel>
+ <bezel name="count_ui1" element="text_uiu3c"><bounds x="6" y="77" width="4" height="2" /></bezel>
+ <bezel element="text_uiu3b"><bounds x="4" y="77" width="2" height="2" /></bezel>
</group>
@@ -399,8 +449,8 @@
<!-- build screen -->
<view name="Internal Layout">
- <bounds left="0" right="101" top="0" bottom="103" />
- <bezel element="cblack"><bounds x="14" y="0" width="87" height="87" /></bezel>
+ <bounds left="0" right="102" top="-2" bottom="103" />
+ <bezel element="cblack"><bounds x="13" y="-2" width="89" height="89" /></bezel>
<bezel element="cwhite"><bounds x="17" y="2" width="81" height="81" /></bezel>
<bezel element="text_lcd"><bounds x="47.5" y="89" width="24.5" height="2" /></bezel>
@@ -408,18 +458,18 @@
<group ref="buttons"><bounds x="77.5" y="88.5" width="13" height="13" /></group>
<group ref="sb_board"><bounds x="17.5" y="2.5" width="80" height="80" /></group>
- <group ref="sb_ui"><bounds x="1.5" y="3" width="10" height="80" /></group>
+ <group ref="sb_ui"><bounds x="1.5" y="2" width="10" height="81" /></group>
<!-- chessboard coords -->
- <bezel element="text_8"><bounds x="14.7" y="6.5" width="2" height="2" /></bezel>
- <bezel element="text_7"><bounds x="14.7" y="16.5" width="2" height="2" /></bezel>
- <bezel element="text_6"><bounds x="14.7" y="26.5" width="2" height="2" /></bezel>
- <bezel element="text_5"><bounds x="14.7" y="36.5" width="2" height="2" /></bezel>
- <bezel element="text_4"><bounds x="14.7" y="46.5" width="2" height="2" /></bezel>
- <bezel element="text_3"><bounds x="14.7" y="56.5" width="2" height="2" /></bezel>
- <bezel element="text_2"><bounds x="14.7" y="66.5" width="2" height="2" /></bezel>
- <bezel element="text_1"><bounds x="14.7" y="76.5" width="2" height="2" /></bezel>
+ <bezel element="text_8"><bounds x="14.2" y="6.5" width="2" height="2" /></bezel>
+ <bezel element="text_7"><bounds x="14.2" y="16.5" width="2" height="2" /></bezel>
+ <bezel element="text_6"><bounds x="14.2" y="26.5" width="2" height="2" /></bezel>
+ <bezel element="text_5"><bounds x="14.2" y="36.5" width="2" height="2" /></bezel>
+ <bezel element="text_4"><bounds x="14.2" y="46.5" width="2" height="2" /></bezel>
+ <bezel element="text_3"><bounds x="14.2" y="56.5" width="2" height="2" /></bezel>
+ <bezel element="text_2"><bounds x="14.2" y="66.5" width="2" height="2" /></bezel>
+ <bezel element="text_1"><bounds x="14.2" y="76.5" width="2" height="2" /></bezel>
<bezel element="text_a"><bounds x="21.5" y="84" width="2" height="2" /></bezel>
<bezel element="text_b"><bounds x="31.5" y="84" width="2" height="2" /></bezel>
diff --git a/src/mame/layout/mephisto_glasgow.lay b/src/mame/layout/mephisto_glasgow.lay
index 0e389c5d42d..8843ff13f0b 100644
--- a/src/mame/layout/mephisto_glasgow.lay
+++ b/src/mame/layout/mephisto_glasgow.lay
@@ -522,20 +522,20 @@
<!-- build screen -->
<view name="Internal Layout">
- <bounds left="0" right="101" top="0" bottom="104" />
- <bezel element="cblack"><bounds x="14" y="0" width="87" height="87" /></bezel>
+ <bounds left="0" right="102" top="-2" bottom="104" />
+ <bezel element="cblack"><bounds x="13" y="-2" width="89" height="89" /></bezel>
<bezel element="cwhite"><bounds x="17" y="2" width="81" height="81" /></bezel>
<!-- chessboard coords -->
- <bezel element="text_8"><bounds x="14.7" y="6.5" width="2" height="2" /></bezel>
- <bezel element="text_7"><bounds x="14.7" y="16.5" width="2" height="2" /></bezel>
- <bezel element="text_6"><bounds x="14.7" y="26.5" width="2" height="2" /></bezel>
- <bezel element="text_5"><bounds x="14.7" y="36.5" width="2" height="2" /></bezel>
- <bezel element="text_4"><bounds x="14.7" y="46.5" width="2" height="2" /></bezel>
- <bezel element="text_3"><bounds x="14.7" y="56.5" width="2" height="2" /></bezel>
- <bezel element="text_2"><bounds x="14.7" y="66.5" width="2" height="2" /></bezel>
- <bezel element="text_1"><bounds x="14.7" y="76.5" width="2" height="2" /></bezel>
+ <bezel element="text_8"><bounds x="14.2" y="6.5" width="2" height="2" /></bezel>
+ <bezel element="text_7"><bounds x="14.2" y="16.5" width="2" height="2" /></bezel>
+ <bezel element="text_6"><bounds x="14.2" y="26.5" width="2" height="2" /></bezel>
+ <bezel element="text_5"><bounds x="14.2" y="36.5" width="2" height="2" /></bezel>
+ <bezel element="text_4"><bounds x="14.2" y="46.5" width="2" height="2" /></bezel>
+ <bezel element="text_3"><bounds x="14.2" y="56.5" width="2" height="2" /></bezel>
+ <bezel element="text_2"><bounds x="14.2" y="66.5" width="2" height="2" /></bezel>
+ <bezel element="text_1"><bounds x="14.2" y="76.5" width="2" height="2" /></bezel>
<bezel element="text_a"><bounds x="21.5" y="84" width="2" height="2" /></bezel>
<bezel element="text_b"><bounds x="31.5" y="84" width="2" height="2" /></bezel>
diff --git a/src/mame/layout/mephisto_mirage.lay b/src/mame/layout/mephisto_mirage.lay
index 6ac133edfcb..486ba804401 100644
--- a/src/mame/layout/mephisto_mirage.lay
+++ b/src/mame/layout/mephisto_mirage.lay
@@ -217,7 +217,10 @@
<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_uit1" defstate="0">
+ <text string="SB.MOBIL" state="0"><color red="0.81" green="0.8" blue="0.79" /></text>
+ <text string="SB.MODULAR" state="1"><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">
@@ -265,10 +268,14 @@
<group name="sb_ui">
<bounds x="0" y="0" width="10" height="80" />
+
+ <!-- can click here to change board type -->
+ <bezel element="hlub" inputtag="FAKE" inputmask="0x01" inputraw="1"><bounds x="0" y="1.5" width="10" height="5" /></bezel>
+
<bezel element="cblack"><bounds x="0" y="0" width="10" height="1" /></bezel>
<bezel element="cblack"><bounds x="0" y="7" width="10" height="1" /></bezel>
<bezel element="cblack"><bounds x="0" y="79" width="10" height="1" /></bezel>
- <bezel element="text_uit1"><bounds x="0" y="2" width="10" height="2" /></bezel>
+ <bezel element="text_uit1" inputtag="FAKE" inputmask="0x01" inputraw="1"><bounds x="0" y="2" width="10" height="2" /></bezel>
<bezel element="text_uit2"><bounds x="0" y="4" width="10" height="2" /></bezel>
<!-- board -->
diff --git a/src/mame/layout/mephisto_mm1.lay b/src/mame/layout/mephisto_mm1.lay
index 485c6fa077f..a0bac019e37 100644
--- a/src/mame/layout/mephisto_mm1.lay
+++ b/src/mame/layout/mephisto_mm1.lay
@@ -535,12 +535,12 @@
<!-- build screen -->
<view name="Internal Layout">
- <bounds left="-13" right="88" top="-1.5" bottom="104.5" />
+ <bounds left="-14" 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="sb_ui"><bounds x="-12.5" y="3" width="10" height="80" /></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>
diff --git a/src/mame/layout/mephisto_mm2.lay b/src/mame/layout/mephisto_mm2.lay
index 910f3de6a71..d874a8fb189 100644
--- a/src/mame/layout/mephisto_mm2.lay
+++ b/src/mame/layout/mephisto_mm2.lay
@@ -547,8 +547,8 @@
<!-- build screen -->
<view name="Internal Layout">
- <bounds left="0" right="101" top="0" bottom="106.5" />
- <bezel element="cblack"><bounds x="14" y="0" width="87" height="87" /></bezel>
+ <bounds left="0" right="102" top="-2" bottom="106.5" />
+ <bezel element="cblack"><bounds x="13" y="-2" width="89" height="89" /></bezel>
<bezel element="cwhite"><bounds x="17" y="2" width="81" height="81" /></bezel>
<group ref="panel1"><bounds x="37.5" y="91" width="20" height="8" /></group>
@@ -560,14 +560,14 @@
<!-- chessboard coords -->
- <bezel element="text_8"><bounds x="14.7" y="6.5" width="2" height="2" /></bezel>
- <bezel element="text_7"><bounds x="14.7" y="16.5" width="2" height="2" /></bezel>
- <bezel element="text_6"><bounds x="14.7" y="26.5" width="2" height="2" /></bezel>
- <bezel element="text_5"><bounds x="14.7" y="36.5" width="2" height="2" /></bezel>
- <bezel element="text_4"><bounds x="14.7" y="46.5" width="2" height="2" /></bezel>
- <bezel element="text_3"><bounds x="14.7" y="56.5" width="2" height="2" /></bezel>
- <bezel element="text_2"><bounds x="14.7" y="66.5" width="2" height="2" /></bezel>
- <bezel element="text_1"><bounds x="14.7" y="76.5" width="2" height="2" /></bezel>
+ <bezel element="text_8"><bounds x="14.2" y="6.5" width="2" height="2" /></bezel>
+ <bezel element="text_7"><bounds x="14.2" y="16.5" width="2" height="2" /></bezel>
+ <bezel element="text_6"><bounds x="14.2" y="26.5" width="2" height="2" /></bezel>
+ <bezel element="text_5"><bounds x="14.2" y="36.5" width="2" height="2" /></bezel>
+ <bezel element="text_4"><bounds x="14.2" y="46.5" width="2" height="2" /></bezel>
+ <bezel element="text_3"><bounds x="14.2" y="56.5" width="2" height="2" /></bezel>
+ <bezel element="text_2"><bounds x="14.2" y="66.5" width="2" height="2" /></bezel>
+ <bezel element="text_1"><bounds x="14.2" y="76.5" width="2" height="2" /></bezel>
<bezel element="text_a"><bounds x="21.5" y="84" width="2" height="2" /></bezel>
<bezel element="text_b"><bounds x="31.5" y="84" width="2" height="2" /></bezel>
diff --git a/src/mame/layout/mephisto_polgar.lay b/src/mame/layout/mephisto_polgar.lay
index 6189c183f00..d13d93fd826 100644
--- a/src/mame/layout/mephisto_polgar.lay
+++ b/src/mame/layout/mephisto_polgar.lay
@@ -399,20 +399,20 @@
</group>
<view name="Internal Layout">
- <bounds left="0" right="101" top="0" bottom="101.5" />
- <bezel element="cblack"><bounds x="14" y="0" width="87" height="87" /></bezel>
+ <bounds left="0" right="102" top="-2" bottom="101.5" />
+ <bezel element="cblack"><bounds x="13" y="-2" width="89" height="89" /></bezel>
<bezel element="cwhite"><bounds x="17" y="2" width="81" height="81" /></bezel>
<!-- chessboard coords -->
- <bezel element="text_8"><bounds x="14.7" y="6.5" width="2" height="2" /></bezel>
- <bezel element="text_7"><bounds x="14.7" y="16.5" width="2" height="2" /></bezel>
- <bezel element="text_6"><bounds x="14.7" y="26.5" width="2" height="2" /></bezel>
- <bezel element="text_5"><bounds x="14.7" y="36.5" width="2" height="2" /></bezel>
- <bezel element="text_4"><bounds x="14.7" y="46.5" width="2" height="2" /></bezel>
- <bezel element="text_3"><bounds x="14.7" y="56.5" width="2" height="2" /></bezel>
- <bezel element="text_2"><bounds x="14.7" y="66.5" width="2" height="2" /></bezel>
- <bezel element="text_1"><bounds x="14.7" y="76.5" width="2" height="2" /></bezel>
+ <bezel element="text_8"><bounds x="14.2" y="6.5" width="2" height="2" /></bezel>
+ <bezel element="text_7"><bounds x="14.2" y="16.5" width="2" height="2" /></bezel>
+ <bezel element="text_6"><bounds x="14.2" y="26.5" width="2" height="2" /></bezel>
+ <bezel element="text_5"><bounds x="14.2" y="36.5" width="2" height="2" /></bezel>
+ <bezel element="text_4"><bounds x="14.2" y="46.5" width="2" height="2" /></bezel>
+ <bezel element="text_3"><bounds x="14.2" y="56.5" width="2" height="2" /></bezel>
+ <bezel element="text_2"><bounds x="14.2" y="66.5" width="2" height="2" /></bezel>
+ <bezel element="text_1"><bounds x="14.2" y="76.5" width="2" height="2" /></bezel>
<bezel element="text_a"><bounds x="21.5" y="84" width="2" height="2" /></bezel>
<bezel element="text_b"><bounds x="31.5" y="84" width="2" height="2" /></bezel>
diff --git a/src/mame/machine/mmboard.cpp b/src/mame/machine/mmboard.cpp
index b89d43d6fc2..a4d5d7fcd63 100644
--- a/src/mame/machine/mmboard.cpp
+++ b/src/mame/machine/mmboard.cpp
@@ -2,8 +2,14 @@
// copyright-holders:Sandro Ronco
/**********************************************************************
- Mephisto Sensors Board emulation
- Mephisto Display Modul emulation
+Mephisto Sensors Board emulation
+- Modular
+- Muenchen
+- Exclusive
+
+Mephisto Display Modul emulation
+
+This device can also apply to non-modular boards if I/O is same
*********************************************************************/
@@ -18,7 +24,7 @@
DEFINE_DEVICE_TYPE(MEPHISTO_SENSORS_BOARD, mephisto_sensors_board_device, "msboard", "Mephisto Sensors Board")
DEFINE_DEVICE_TYPE(MEPHISTO_BUTTONS_BOARD, mephisto_buttons_board_device, "mbboard", "Mephisto Buttons Board")
-DEFINE_DEVICE_TYPE(MEPHISTO_DISPLAY_MODUL, mephisto_display_modul_device, "mdisplay_modul", "Mephisto Display Modul")
+DEFINE_DEVICE_TYPE(MEPHISTO_DISPLAY_MODUL, mephisto_display_modul_device, "mdisplay_modul", "Mephisto Display Modul")
//***************************************************************************
@@ -46,7 +52,7 @@ void mephisto_board_device::set_config(machine_config &config, sensorboard_devic
m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess));
PWM_DISPLAY(config, m_led_pwm).set_size(8, 8);
- m_led_pwm->output_x().set(FUNC(mephisto_sensors_board_device::refresh_leds_w));
+ m_led_pwm->output_x().set(FUNC(mephisto_board_device::refresh_leds_w));
}
@@ -113,7 +119,7 @@ void mephisto_board_device::device_reset()
WRITE8_MEMBER( mephisto_board_device::refresh_leds_w )
{
if (!m_disable_leds)
- m_led_out[offset >> 6 | (offset & 7) << 3] = data;
+ m_led_out[(offset >> 6 & 7) | (offset & 7) << 3] = data;
}
READ8_MEMBER( mephisto_board_device::input_r )
diff --git a/src/mame/machine/mmboard.h b/src/mame/machine/mmboard.h
index ad82be7951d..0670acdd6e1 100644
--- a/src/mame/machine/mmboard.h
+++ b/src/mame/machine/mmboard.h
@@ -38,6 +38,8 @@ public:
void set_disable_leds(int disable_leds) { m_disable_leds = disable_leds; }
void set_delay(attotime sensordelay) { m_sensordelay = sensordelay; }
+ sensorboard_device *get() { return m_board; }
+
DECLARE_READ8_MEMBER(input_r);
DECLARE_WRITE8_MEMBER(led_w);
DECLARE_READ8_MEMBER(mux_r);