summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2021-04-08 14:15:19 +0200
committer hap <happppp@users.noreply.github.com>2021-04-08 14:15:38 +0200
commit7b72b123c2719b17f4edc7164b18497c6e578c73 (patch)
treeff9ddc1843c8dbc66a118128d42573e8106a5d78
parent85b4bcd98cdcc427dd5685ffc729282ce6aeccaf (diff)
mephisto_milano: don't use mmboard device
-rw-r--r--src/mame/drivers/mephisto_glasgow.cpp86
-rw-r--r--src/mame/drivers/mephisto_milano.cpp102
-rw-r--r--src/mame/drivers/mephisto_mm2.cpp140
-rw-r--r--src/mame/drivers/mephisto_mondial68k.cpp2
-rw-r--r--src/mame/drivers/mephisto_polgar.cpp32
-rw-r--r--src/mame/drivers/mephisto_risc.cpp32
-rw-r--r--src/mame/drivers/mephistp.cpp75
-rw-r--r--src/mame/layout/mephisto_milano.lay88
8 files changed, 316 insertions, 241 deletions
diff --git a/src/mame/drivers/mephisto_glasgow.cpp b/src/mame/drivers/mephisto_glasgow.cpp
index b12d54a0e89..6fd353da8a7 100644
--- a/src/mame/drivers/mephisto_glasgow.cpp
+++ b/src/mame/drivers/mephisto_glasgow.cpp
@@ -40,9 +40,11 @@ TODO:
***************************************************************************/
#include "emu.h"
+
#include "cpu/m68000/m68000.h"
#include "machine/mmboard.h"
#include "sound/dac.h"
+
#include "speaker.h"
// internal artwork
@@ -50,6 +52,8 @@ TODO:
#include "mephisto_glasgow.lh"
+namespace {
+
class glasgow_state : public driver_device
{
public:
@@ -65,10 +69,10 @@ public:
void glasgow(machine_config &config);
protected:
- void glasgow_lcd_w(uint8_t data);
- void glasgow_lcd_flag_w(uint8_t data);
- uint8_t glasgow_keys_r();
- void glasgow_keys_w(uint8_t data);
+ void glasgow_lcd_w(u8 data);
+ void glasgow_lcd_flag_w(u8 data);
+ u8 glasgow_keys_r();
+ void glasgow_keys_w(u8 data);
virtual void machine_start() override;
virtual void machine_reset() override;
@@ -81,9 +85,9 @@ protected:
required_ioport_array<2> m_keyboard;
output_finder<4> m_digits;
- uint8_t m_lcd_shift_counter;
- uint8_t m_led7;
- uint8_t m_key_select;
+ u8 m_lcd_shift_counter;
+ u8 m_led7;
+ u8 m_key_select;
};
@@ -96,11 +100,11 @@ public:
void dallas32(machine_config &config);
protected:
- void write_lcd(uint8_t data);
- void write_lcd_flag(uint8_t data);
- void write_beeper(uint8_t data);
- void write_board(uint8_t data);
- uint8_t read_newkeys();
+ void write_lcd(u8 data);
+ void write_lcd_flag(u8 data);
+ void write_beeper(u8 data);
+ void write_board(u8 data);
+ u8 read_newkeys();
void amsterd_mem(address_map &map);
void dallas32_mem(address_map &map);
@@ -108,7 +112,11 @@ protected:
-void glasgow_state::glasgow_lcd_w(uint8_t data)
+/******************************************************************************
+ I/O
+******************************************************************************/
+
+void glasgow_state::glasgow_lcd_w(u8 data)
{
if (m_led7 == 0)
m_digits[m_lcd_shift_counter] = data;
@@ -117,9 +125,9 @@ void glasgow_state::glasgow_lcd_w(uint8_t data)
m_lcd_shift_counter &= 3;
}
-void glasgow_state::glasgow_lcd_flag_w(uint8_t data)
+void glasgow_state::glasgow_lcd_flag_w(u8 data)
{
- uint8_t const lcd_flag = data & 0x81;
+ u8 const lcd_flag = data & 0x81;
m_dac->write(BIT(lcd_flag, 0));
@@ -129,10 +137,10 @@ void glasgow_state::glasgow_lcd_flag_w(uint8_t data)
m_led7 = 0;
}
-uint8_t glasgow_state::glasgow_keys_r()
+u8 glasgow_state::glasgow_keys_r()
{
// See if any keys pressed
- uint8_t data = 3;
+ u8 data = 3;
if (m_key_select == m_keyboard[0]->read())
data &= 1;
@@ -143,12 +151,12 @@ uint8_t glasgow_state::glasgow_keys_r()
return data;
}
-void glasgow_state::glasgow_keys_w(uint8_t data)
+void glasgow_state::glasgow_keys_w(u8 data)
{
m_key_select = data;
}
-void amsterd_state::write_lcd(uint8_t data)
+void amsterd_state::write_lcd(u8 data)
{
if (m_lcd_shift_counter & 4)
m_digits[m_lcd_shift_counter & 3] = data;
@@ -157,7 +165,7 @@ void amsterd_state::write_lcd(uint8_t data)
m_lcd_shift_counter &= 7;
}
-void amsterd_state::write_lcd_flag(uint8_t data)
+void amsterd_state::write_lcd_flag(u8 data)
{
// The key function in the rom expects a value from the
// second key row after writing to here
@@ -166,19 +174,19 @@ void amsterd_state::write_lcd_flag(uint8_t data)
m_led7 = data ? 255 : 0;
}
-void amsterd_state::write_board(uint8_t data)
+void amsterd_state::write_board(u8 data)
{
m_key_select = 0;
m_board->led_w(0);
m_board->mux_w(data);
}
-void amsterd_state::write_beeper(uint8_t data)
+void amsterd_state::write_beeper(u8 data)
{
m_dac->write(BIT(data, 0));
}
-uint8_t amsterd_state::read_newkeys()
+u8 amsterd_state::read_newkeys()
{
return m_keyboard[m_key_select & 1]->read();
}
@@ -201,6 +209,11 @@ void glasgow_state::machine_reset()
}
+
+/******************************************************************************
+ Address Maps
+******************************************************************************/
+
void glasgow_state::glasgow_mem(address_map &map)
{
map.global_mask(0x1ffff);
@@ -239,6 +252,12 @@ void amsterd_state::dallas32_mem(address_map &map)
map(0x800088, 0x800088).w("board", FUNC(mephisto_board_device::led_w));
}
+
+
+/******************************************************************************
+ Input Ports
+******************************************************************************/
+
static INPUT_PORTS_START( new_keyboard )
PORT_START("LINE0")
PORT_BIT( 0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("A / 1") PORT_CODE(KEYCODE_A) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD)
@@ -284,6 +303,11 @@ static INPUT_PORTS_START( old_keyboard )
INPUT_PORTS_END
+
+/******************************************************************************
+ Machine Configs
+******************************************************************************/
+
void glasgow_state::glasgow(machine_config &config)
{
/* basic machine hardware */
@@ -323,9 +347,10 @@ void amsterd_state::dallas32(machine_config &config)
}
-/***************************************************************************
- ROM definitions
-***************************************************************************/
+
+/******************************************************************************
+ ROM Definitions
+******************************************************************************/
ROM_START( glasgow )
ROM_REGION( 0x10000, "maincpu", 0 )
@@ -387,10 +412,13 @@ ROM_START( roma16a )
ROM_LOAD16_BYTE("roma_l_high", 0x08001, 0x04000, CRC(0b20617b) SHA1(f0296c486ce9009a69de1e50b90b0e1b7555f468) )
ROM_END
+} // anonymous namespace
-/***************************************************************************
- Game drivers
-***************************************************************************/
+
+
+/******************************************************************************
+ Drivers
+******************************************************************************/
/* YEAR, NAME, PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
CONS( 1984, glasgow, 0, 0, glasgow, old_keyboard, glasgow_state, empty_init, "Hegener + Glaser", "Mephisto III-S Glasgow", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
diff --git a/src/mame/drivers/mephisto_milano.cpp b/src/mame/drivers/mephisto_milano.cpp
index 4dc7e225615..ea5851f9f0a 100644
--- a/src/mame/drivers/mephisto_milano.cpp
+++ b/src/mame/drivers/mephisto_milano.cpp
@@ -1,5 +1,6 @@
// license:BSD-3-Clause
-// copyright-holders:Sandro Ronco
+// copyright-holders:Sandro Ronco, hap
+// thanks-to:Berger
/******************************************************************************
Mephisto Milano
@@ -19,8 +20,9 @@ Nigel Short is basically a Milano 2.00
#include "cpu/m6502/r65c02.h"
#include "machine/74259.h"
#include "machine/nvram.h"
-#include "machine/mmboard.h"
+#include "machine/sensorboard.h"
#include "video/mmdisplay2.h"
+#include "video/pwm.h"
// internal artwork
#include "mephisto_milano.lh"
@@ -28,55 +30,90 @@ Nigel Short is basically a Milano 2.00
namespace {
-class mephisto_milano_state : public driver_device
+class milano_state : public driver_device
{
public:
- mephisto_milano_state(const machine_config &mconfig, device_type type, const char *tag)
+ milano_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
, m_board(*this, "board")
, m_display(*this, "display")
+ , m_led_pwm(*this, "led_pwm")
, m_keys(*this, "KEY")
{ }
void milano(machine_config &config);
+protected:
+ virtual void machine_start() override;
+
private:
required_device<cpu_device> m_maincpu;
- required_device<mephisto_board_device> m_board;
+ required_device<sensorboard_device> m_board;
required_device<mephisto_display_module2_device> m_display;
+ required_device<pwm_display_device> m_led_pwm;
required_ioport m_keys;
void milano_mem(address_map &map);
- u8 keys_r(offs_t offset);
- u8 board_r();
+ void update_leds();
void io_w(u8 data);
+ void board_w(u8 data);
+ u8 board_r();
+ u8 keys_r(offs_t offset);
+
+ u8 m_board_mux = 0;
+ u8 m_led_data = 0;
};
+void milano_state::machine_start()
+{
+ save_item(NAME(m_board_mux));
+ save_item(NAME(m_led_data));
+}
+
/******************************************************************************
I/O
******************************************************************************/
-u8 mephisto_milano_state::keys_r(offs_t offset)
+void milano_state::update_leds()
{
- return (BIT(m_keys->read(), offset) << 7) | 0x7f;
+ m_led_pwm->matrix(m_board_mux, m_led_data);
}
-u8 mephisto_milano_state::board_r()
-{
- return m_board->input_r() ^ 0xff;
-}
-
-void mephisto_milano_state::io_w(u8 data)
+void milano_state::io_w(u8 data)
{
// default display module
m_display->io_w(data & 0x0f);
// high bits go to board leds
- m_board->led_w(data >> 4);
+ m_led_data = data >> 4;
+ update_leds();
+}
+
+void milano_state::board_w(u8 data)
+{
+ m_board_mux = ~data;
+ update_leds();
+}
+
+u8 milano_state::board_r()
+{
+ u8 data = 0;
+
+ // read chessboard sensors
+ for (int i = 0; i < 8; i++)
+ if (BIT(m_board_mux, i))
+ data |= m_board->read_rank(i);
+
+ return data;
+}
+
+u8 milano_state::keys_r(offs_t offset)
+{
+ return (BIT(m_keys->read(), offset) << 7) | 0x7f;
}
@@ -85,15 +122,15 @@ void mephisto_milano_state::io_w(u8 data)
Address Maps
******************************************************************************/
-void mephisto_milano_state::milano_mem(address_map &map)
+void milano_state::milano_mem(address_map &map)
{
map(0x0000, 0x1fbf).ram().share("nvram");
map(0x1fc0, 0x1fc0).w(m_display, FUNC(mephisto_display_module2_device::latch_w));
- map(0x1fd0, 0x1fd0).w(m_board, FUNC(mephisto_board_device::mux_w));
- map(0x1fe0, 0x1fe0).r(FUNC(mephisto_milano_state::board_r));
+ map(0x1fd0, 0x1fd0).w(FUNC(milano_state::board_w));
+ map(0x1fe0, 0x1fe0).r(FUNC(milano_state::board_r));
map(0x1fe8, 0x1fef).w("outlatch", FUNC(hc259_device::write_d7)).nopr();
- map(0x1fd8, 0x1fdf).r(FUNC(mephisto_milano_state::keys_r));
- map(0x1ff0, 0x1ff0).w(FUNC(mephisto_milano_state::io_w));
+ map(0x1fd8, 0x1fdf).r(FUNC(milano_state::keys_r));
+ map(0x1ff0, 0x1ff0).w(FUNC(milano_state::io_w));
map(0x2000, 0xffff).rom();
}
@@ -121,11 +158,12 @@ INPUT_PORTS_END
Machine Configs
******************************************************************************/
-void mephisto_milano_state::milano(machine_config &config)
+void milano_state::milano(machine_config &config)
{
+ /* basic machine hardware */
R65C02(config, m_maincpu, 4.9152_MHz_XTAL);
- m_maincpu->set_addrmap(AS_PROGRAM, &mephisto_milano_state::milano_mem);
- m_maincpu->set_periodic_int(FUNC(mephisto_milano_state::nmi_line_pulse), attotime::from_hz(4.9152_MHz_XTAL / (1 << 13)));
+ m_maincpu->set_addrmap(AS_PROGRAM, &milano_state::milano_mem);
+ m_maincpu->set_periodic_int(FUNC(milano_state::nmi_line_pulse), attotime::from_hz(4.9152_MHz_XTAL / (1 << 13)));
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
@@ -137,7 +175,13 @@ void mephisto_milano_state::milano(machine_config &config)
outlatch.q_out_cb<4>().set_output("led104");
outlatch.q_out_cb<5>().set_output("led105");
- MEPHISTO_BUTTONS_BOARD(config, m_board); // internal
+ SENSORBOARD(config, m_board).set_type(sensorboard_device::BUTTONS);
+ m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess));
+ m_board->set_delay(attotime::from_msec(150));
+
+ /* video hardware */
+ PWM_DISPLAY(config, m_led_pwm).set_size(8, 2);
+
MEPHISTO_DISPLAY_MODULE2(config, m_display); // internal
config.set_default_layout(layout_mephisto_milano);
}
@@ -171,8 +215,8 @@ ROM_END
Game Drivers
***************************************************************************/
-/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
-CONS( 1991, milano, 0, 0, milano, milano, mephisto_milano_state, empty_init, "Hegener + Glaser", "Mephisto Milano (v1.02)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1991, milanoa, milano, 0, milano, milano, mephisto_milano_state, empty_init, "Hegener + Glaser", "Mephisto Milano (v1.01)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
+CONS( 1991, milano, 0, 0, milano, milano, milano_state, empty_init, "Hegener + Glaser", "Mephisto Milano (v1.02)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+CONS( 1991, milanoa, milano, 0, milano, milano, milano_state, empty_init, "Hegener + Glaser", "Mephisto Milano (v1.01)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1993, nshort, 0, 0, milano, milano, mephisto_milano_state, empty_init, "Hegener + Glaser", "Mephisto Nigel Short", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+CONS( 1993, nshort, 0, 0, milano, milano, milano_state, empty_init, "Hegener + Glaser", "Mephisto Nigel Short", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
diff --git a/src/mame/drivers/mephisto_mm2.cpp b/src/mame/drivers/mephisto_mm2.cpp
index 0016ee631f0..89409b9a5c9 100644
--- a/src/mame/drivers/mephisto_mm2.cpp
+++ b/src/mame/drivers/mephisto_mm2.cpp
@@ -95,10 +95,12 @@ TODO:
#include "mephisto_bup.lh"
-class mephisto_state : public driver_device
+namespace {
+
+class mm2_state : public driver_device
{
public:
- mephisto_state(const machine_config &mconfig, device_type type, const char *tag)
+ mm2_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
, m_outlatch(*this, "outlatch")
@@ -126,13 +128,13 @@ private:
required_ioport_array<8> m_key2;
output_finder<4> m_digits;
- void write_lcd(uint8_t data);
- void mephisto_nmi_w(uint8_t data);
- uint8_t read_keys(offs_t offset);
+ void write_lcd(u8 data);
+ void mephisto_nmi_w(u8 data);
+ u8 read_keys(offs_t offset);
DECLARE_WRITE_LINE_MEMBER(write_led7);
- uint8_t m_lcd_shift_counter;
- uint8_t m_led7;
- uint8_t m_allowNMI;
+ u8 m_lcd_shift_counter;
+ u8 m_led7;
+ u8 m_allowNMI;
virtual void machine_start() override;
virtual void machine_reset() override;
TIMER_DEVICE_CALLBACK_MEMBER(update_nmi);
@@ -145,7 +147,7 @@ private:
void rebel5_mem(address_map &map);
};
-void mephisto_state::machine_start()
+void mm2_state::machine_start()
{
m_digits.resolve();
@@ -154,7 +156,7 @@ void mephisto_state::machine_start()
save_item(NAME(m_allowNMI));
}
-void mephisto_state::machine_reset()
+void mm2_state::machine_reset()
{
m_lcd_shift_counter = 3;
m_allowNMI = 1;
@@ -167,7 +169,7 @@ void mephisto_state::machine_reset()
I/O
******************************************************************************/
-TIMER_DEVICE_CALLBACK_MEMBER(mephisto_state::update_nmi)
+TIMER_DEVICE_CALLBACK_MEMBER(mm2_state::update_nmi)
{
if (m_allowNMI)
{
@@ -176,12 +178,12 @@ TIMER_DEVICE_CALLBACK_MEMBER(mephisto_state::update_nmi)
}
}
-TIMER_DEVICE_CALLBACK_MEMBER(mephisto_state::update_nmi_r5)
+TIMER_DEVICE_CALLBACK_MEMBER(mm2_state::update_nmi_r5)
{
m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero);
}
-void mephisto_state::write_lcd(uint8_t data)
+void mm2_state::write_lcd(u8 data)
{
if (m_led7 == 0)
m_digits[m_lcd_shift_counter] = data; // 0x109 MM IV // 0x040 MM V
@@ -192,14 +194,14 @@ void mephisto_state::write_lcd(uint8_t data)
m_maincpu->set_input_line(0, CLEAR_LINE);
}
-void mephisto_state::mephisto_nmi_w(uint8_t data)
+void mm2_state::mephisto_nmi_w(u8 data)
{
m_allowNMI = 1;
}
-uint8_t mephisto_state::read_keys(offs_t offset)
+u8 mm2_state::read_keys(offs_t offset)
{
- uint8_t data = 0;
+ u8 data = 0;
if (!m_outlatch->q7_r())
{
@@ -213,7 +215,7 @@ uint8_t mephisto_state::read_keys(offs_t offset)
return data | 0x7f;
}
-WRITE_LINE_MEMBER(mephisto_state::write_led7)
+WRITE_LINE_MEMBER(mm2_state::write_led7)
{
m_led7 = state ? 0x00 : 0xff;
}
@@ -224,50 +226,50 @@ WRITE_LINE_MEMBER(mephisto_state::write_led7)
Address Maps
******************************************************************************/
-void mephisto_state::bup_mem(address_map &map)
+void mm2_state::bup_mem(address_map &map)
{
map(0x0000, 0x0fff).ram();
map(0x1000, 0x1007).w("outlatch", FUNC(hc259_device::write_d7));
- map(0x1800, 0x1807).r(FUNC(mephisto_state::read_keys));
+ map(0x1800, 0x1807).r(FUNC(mm2_state::read_keys));
map(0x2000, 0x2000).r("board", FUNC(mephisto_board_device::input_r));
- map(0x2800, 0x2800).w(FUNC(mephisto_state::write_lcd));
+ map(0x2800, 0x2800).w(FUNC(mm2_state::write_lcd));
map(0x3000, 0x3000).w("board", FUNC(mephisto_board_device::led_w));
map(0x3800, 0x3800).w("board", FUNC(mephisto_board_device::mux_w));
map(0x8000, 0xffff).rom();
}
-void mephisto_state::mm2_mem(address_map &map)
+void mm2_state::mm2_mem(address_map &map)
{
bup_mem(map);
map(0x4000, 0x7fff).r("cartslot", FUNC(generic_slot_device::read_rom)); // opening library
}
-void mephisto_state::rebel5_mem(address_map &map)
+void mm2_state::rebel5_mem(address_map &map)
{
map(0x0000, 0x1fff).ram();
map(0x2000, 0x2007).w("outlatch", FUNC(hc259_device::write_d7));
map(0x3000, 0x4000).r("board", FUNC(mephisto_board_device::input_r));
- map(0x3000, 0x3007).r(FUNC(mephisto_state::read_keys));
- map(0x5000, 0x5000).w(FUNC(mephisto_state::write_lcd));
+ map(0x3000, 0x3007).r(FUNC(mm2_state::read_keys));
+ map(0x5000, 0x5000).w(FUNC(mm2_state::write_lcd));
map(0x6000, 0x6000).w("board", FUNC(mephisto_board_device::led_w));
map(0x7000, 0x7000).w("board", FUNC(mephisto_board_device::mux_w));
map(0x8000, 0xffff).rom();
}
-void mephisto_state::mm5p_mem(address_map &map)
+void mm2_state::mm5p_mem(address_map &map)
{
map(0x0000, 0x1fff).ram();
- map(0x2000, 0x2000).w(FUNC(mephisto_state::write_lcd));
+ map(0x2000, 0x2000).w(FUNC(mm2_state::write_lcd));
map(0x2400, 0x2407).w("board", FUNC(mephisto_board_device::led_w)).nopr();
map(0x2800, 0x2800).w("board", FUNC(mephisto_board_device::mux_w));
- map(0x2c00, 0x2c07).r(FUNC(mephisto_state::read_keys));
+ map(0x2c00, 0x2c07).r(FUNC(mm2_state::read_keys));
map(0x3000, 0x3000).r("board", FUNC(mephisto_board_device::input_r));
map(0x3400, 0x3407).w("outlatch", FUNC(hc259_device::write_d7)).nopr();
- map(0x3800, 0x3800).w(FUNC(mephisto_state::mephisto_nmi_w));
+ map(0x3800, 0x3800).w(FUNC(mm2_state::mephisto_nmi_w));
map(0x4000, 0xffff).rom();
}
-void mephisto_state::mm4_mem(address_map &map)
+void mm2_state::mm4_mem(address_map &map)
{
mm5p_mem(map);
map(0x4000, 0x7fff).r("cartslot", FUNC(generic_slot_device::read_rom));
@@ -315,8 +317,8 @@ static INPUT_PORTS_START( mephisto )
PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("D / 4 / Rook") PORT_CODE(KEYCODE_D) PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD)
PORT_START("RESET")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RES 1") PORT_CODE(KEYCODE_Z) PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, mephisto_state, reset_button, 0)
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RES 2") PORT_CODE(KEYCODE_X) PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, mephisto_state, reset_button, 0)
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RES 1") PORT_CODE(KEYCODE_Z) PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, mm2_state, reset_button, 0)
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RES 2") PORT_CODE(KEYCODE_X) PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, mm2_state, reset_button, 0)
INPUT_PORTS_END
static INPUT_PORTS_START( bup )
@@ -355,11 +357,11 @@ static INPUT_PORTS_START( bup )
PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("MEM") PORT_CODE(KEYCODE_M)
PORT_START("RESET")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RES 1") PORT_CODE(KEYCODE_Z) PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, mephisto_state, reset_button, 0)
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RES 2") PORT_CODE(KEYCODE_X) PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, mephisto_state, reset_button, 0)
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RES 1") PORT_CODE(KEYCODE_Z) PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, mm2_state, reset_button, 0)
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RES 2") PORT_CODE(KEYCODE_X) PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, mm2_state, reset_button, 0)
INPUT_PORTS_END
-INPUT_CHANGED_MEMBER(mephisto_state::reset_button)
+INPUT_CHANGED_MEMBER(mm2_state::reset_button)
{
// RES buttons in serial tied to CPU RESET
if (ioport("RESET")->read() == 3)
@@ -375,13 +377,13 @@ INPUT_CHANGED_MEMBER(mephisto_state::reset_button)
Machine Configs
******************************************************************************/
-void mephisto_state::rebel5(machine_config &config)
+void mm2_state::rebel5(machine_config &config)
{
/* basic machine hardware */
M65C02(config, m_maincpu, 9.8304_MHz_XTAL / 2);
- m_maincpu->set_addrmap(AS_PROGRAM, &mephisto_state::rebel5_mem);
+ m_maincpu->set_addrmap(AS_PROGRAM, &mm2_state::rebel5_mem);
- TIMER(config, "nmi_timer").configure_periodic(FUNC(mephisto_state::update_nmi_r5), attotime::from_hz(600));
+ TIMER(config, "nmi_timer").configure_periodic(FUNC(mm2_state::update_nmi_r5), attotime::from_hz(600));
HC259(config, m_outlatch);
m_outlatch->q_out_cb<0>().set_output("led100");
@@ -391,7 +393,7 @@ void mephisto_state::rebel5(machine_config &config)
m_outlatch->q_out_cb<4>().set_output("led104");
m_outlatch->q_out_cb<5>().set_output("led105");
m_outlatch->q_out_cb<6>().set(m_dac, FUNC(dac_bit_interface::write));
- m_outlatch->q_out_cb<7>().set(FUNC(mephisto_state::write_led7));
+ m_outlatch->q_out_cb<7>().set(FUNC(mm2_state::write_led7));
MEPHISTO_SENSORS_BOARD(config, "board");
config.set_default_layout(layout_mephisto_mm2);
@@ -401,63 +403,63 @@ void mephisto_state::rebel5(machine_config &config)
DAC_1BIT(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.25);
}
-void mephisto_state::mm5p(machine_config &config)
+void mm2_state::mm5p(machine_config &config)
{
rebel5(config);
/* basic machine hardware */
m_maincpu->set_clock(4.9152_MHz_XTAL);
- m_maincpu->set_addrmap(AS_PROGRAM, &mephisto_state::mm5p_mem);
+ m_maincpu->set_addrmap(AS_PROGRAM, &mm2_state::mm5p_mem);
- TIMER(config.replace(), "nmi_timer").configure_periodic(FUNC(mephisto_state::update_nmi), attotime::from_hz(600));
+ TIMER(config.replace(), "nmi_timer").configure_periodic(FUNC(mm2_state::update_nmi), attotime::from_hz(600));
}
-void mephisto_state::mm4(machine_config &config)
+void mm2_state::mm4(machine_config &config)
{
mm5p(config);
/* basic machine hardware */
- m_maincpu->set_addrmap(AS_PROGRAM, &mephisto_state::mm4_mem);
+ m_maincpu->set_addrmap(AS_PROGRAM, &mm2_state::mm4_mem);
GENERIC_CARTSLOT(config, "cartslot", generic_plain_slot, "mephisto_cart");
SOFTWARE_LIST(config, "cart_list").set_original("mephisto_mm4");
}
-void mephisto_state::mm4tk(machine_config &config)
+void mm2_state::mm4tk(machine_config &config)
{
mm4(config);
m_maincpu->set_clock(18000000);
}
-void mephisto_state::mm5(machine_config &config)
+void mm2_state::mm5(machine_config &config)
{
mm4(config);
SOFTWARE_LIST(config.replace(), "cart_list").set_original("mephisto_mm5");
}
-void mephisto_state::bup(machine_config &config)
+void mm2_state::bup(machine_config &config)
{
rebel5(config);
/* basic machine hardware */
m_maincpu->set_clock(7.3728_MHz_XTAL / 2);
- m_maincpu->set_addrmap(AS_PROGRAM, &mephisto_state::bup_mem);
+ m_maincpu->set_addrmap(AS_PROGRAM, &mm2_state::bup_mem);
config.device_remove("nmi_timer");
const attotime irq_period = attotime::from_hz(7.3728_MHz_XTAL / 2 / 0x2000); // 450Hz from 4020 Q13
- m_maincpu->set_periodic_int(FUNC(mephisto_state::irq0_line_assert), irq_period);
+ m_maincpu->set_periodic_int(FUNC(mm2_state::irq0_line_assert), irq_period);
- m_outlatch->q_out_cb<7>().set(FUNC(mephisto_state::write_led7)).invert();
+ m_outlatch->q_out_cb<7>().set(FUNC(mm2_state::write_led7)).invert();
config.set_default_layout(layout_mephisto_bup);
}
-void mephisto_state::mm2(machine_config &config)
+void mm2_state::mm2(machine_config &config)
{
bup(config);
/* basic machine hardware */
- m_maincpu->set_addrmap(AS_PROGRAM, &mephisto_state::mm2_mem);
+ m_maincpu->set_addrmap(AS_PROGRAM, &mm2_state::mm2_mem);
config.set_default_layout(layout_mephisto_mm2);
@@ -561,30 +563,32 @@ ROM_START( mm5p )
ROM_LOAD("programm.bin", 0x8000, 0x8000, CRC(ee22b974) SHA1(37267507be30ee84051bc94c3a63fb1298a00261) )
ROM_END
+} // anonymous namespace
+
/******************************************************************************
Drivers
******************************************************************************/
-/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS */
-CONS( 1984, mm2, 0, 0, mm2, mephisto, mephisto_state, empty_init, "Hegener + Glaser", "Mephisto MM II (set 1, v4.00 1 EPROM)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1984, mm2a, mm2, 0, mm2, mephisto, mephisto_state, empty_init, "Hegener + Glaser", "Mephisto MM II (set 2, v4.00 2 EPROMs)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1984, mm2b, mm2, 0, mm2, mephisto, mephisto_state, empty_init, "Hegener + Glaser", "Mephisto MM II (set 3, v3.00)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1984, mm2c, mm2, 0, mm2, mephisto, mephisto_state, empty_init, "Hegener + Glaser", "Mephisto MM II (set 4)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1984, mm2d, mm2, 0, mm2, mephisto, mephisto_state, empty_init, "Hegener + Glaser", "Mephisto MM II (set 5)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS */
+CONS( 1984, mm2, 0, 0, mm2, mephisto, mm2_state, empty_init, "Hegener + Glaser", "Mephisto MM II (set 1, v4.00 1 EPROM)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+CONS( 1984, mm2a, mm2, 0, mm2, mephisto, mm2_state, empty_init, "Hegener + Glaser", "Mephisto MM II (set 2, v4.00 2 EPROMs)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+CONS( 1984, mm2b, mm2, 0, mm2, mephisto, mm2_state, empty_init, "Hegener + Glaser", "Mephisto MM II (set 3, v3.00)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+CONS( 1984, mm2c, mm2, 0, mm2, mephisto, mm2_state, empty_init, "Hegener + Glaser", "Mephisto MM II (set 4)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+CONS( 1984, mm2d, mm2, 0, mm2, mephisto, mm2_state, empty_init, "Hegener + Glaser", "Mephisto MM II (set 5)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1985, bup, 0, 0, bup, bup, mephisto_state, empty_init, "Hegener + Glaser", u8"Mephisto Blitz- und Problemlösungs-Modul (set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1985, bupa, bup, 0, bup, bup, mephisto_state, empty_init, "Hegener + Glaser", u8"Mephisto Blitz- und Problemlösungs-Modul (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+CONS( 1985, bup, 0, 0, bup, bup, mm2_state, empty_init, "Hegener + Glaser", u8"Mephisto Blitz- und Problemlösungs-Modul (set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+CONS( 1985, bupa, bup, 0, bup, bup, mm2_state, empty_init, "Hegener + Glaser", u8"Mephisto Blitz- und Problemlösungs-Modul (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1986, rebel5, 0, 0, rebel5, mephisto, mephisto_state, empty_init, "Hegener + Glaser", "Mephisto Rebell 5,0 (set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) // aka MM III
-CONS( 1986, rebel5a, rebel5, 0, rebel5, mephisto, mephisto_state, empty_init, "Hegener + Glaser", "Mephisto Rebell 5,0 (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+CONS( 1986, rebel5, 0, 0, rebel5, mephisto, mm2_state, empty_init, "Hegener + Glaser", "Mephisto Rebell 5,0 (set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) // aka MM III
+CONS( 1986, rebel5a, rebel5, 0, rebel5, mephisto, mm2_state, empty_init, "Hegener + Glaser", "Mephisto Rebell 5,0 (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1987, mm4, 0, 0, mm4, mephisto, mephisto_state, empty_init, "Hegener + Glaser", "Mephisto MM IV (v7.10)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1987, mm4a, mm4, 0, mm4, mephisto, mephisto_state, empty_init, "Hegener + Glaser", "Mephisto MM IV (v7.00)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1987, mm4b, mm4, 0, mm4, mephisto, mephisto_state, empty_init, "Hegener + Glaser", "Mephisto MM IV (v6.00)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1987, mm4tk, mm4, 0, mm4tk, mephisto, mephisto_state, empty_init, "hack", "Mephisto MM IV (TurboKit)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_TIMING )
+CONS( 1987, mm4, 0, 0, mm4, mephisto, mm2_state, empty_init, "Hegener + Glaser", "Mephisto MM IV (v7.10)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+CONS( 1987, mm4a, mm4, 0, mm4, mephisto, mm2_state, empty_init, "Hegener + Glaser", "Mephisto MM IV (v7.00)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+CONS( 1987, mm4b, mm4, 0, mm4, mephisto, mm2_state, empty_init, "Hegener + Glaser", "Mephisto MM IV (v6.00)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+CONS( 1987, mm4tk, mm4, 0, mm4tk, mephisto, mm2_state, empty_init, "hack", "Mephisto MM IV (TurboKit)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_TIMING )
-CONS( 1990, mm5, 0, 0, mm5, mephisto, mephisto_state, empty_init, "Hegener + Glaser", "Mephisto MM V (set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1990, mm5a, mm5, 0, mm5, mephisto, mephisto_state, empty_init, "Hegener + Glaser", "Mephisto MM V (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1989, mm5p, mm5, 0, mm5p, mephisto, mephisto_state, empty_init, "Hegener + Glaser", "Mephisto MM V (prototype)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_TIMING )
+CONS( 1990, mm5, 0, 0, mm5, mephisto, mm2_state, empty_init, "Hegener + Glaser", "Mephisto MM V (set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+CONS( 1990, mm5a, mm5, 0, mm5, mephisto, mm2_state, empty_init, "Hegener + Glaser", "Mephisto MM V (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+CONS( 1989, mm5p, mm5, 0, mm5p, mephisto, mm2_state, empty_init, "Hegener + Glaser", "Mephisto MM V (prototype)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_TIMING )
diff --git a/src/mame/drivers/mephisto_mondial68k.cpp b/src/mame/drivers/mephisto_mondial68k.cpp
index f7031268034..68f05d5cd82 100644
--- a/src/mame/drivers/mephisto_mondial68k.cpp
+++ b/src/mame/drivers/mephisto_mondial68k.cpp
@@ -112,7 +112,7 @@ void mondial68k_state::input_mux_w(u8 data)
u8 mondial68k_state::inputs_r()
{
- u8 data = 0x00;
+ u8 data = 0;
// read buttons
for (int i = 0; i < 4; i++)
diff --git a/src/mame/drivers/mephisto_polgar.cpp b/src/mame/drivers/mephisto_polgar.cpp
index 4543067da40..fe3fcacdfae 100644
--- a/src/mame/drivers/mephisto_polgar.cpp
+++ b/src/mame/drivers/mephisto_polgar.cpp
@@ -29,10 +29,10 @@ The 10MHz version has a W65C02P-8 @ 9.83MHz.
namespace {
-class mephisto_polgar_state : public driver_device
+class polgar_state : public driver_device
{
public:
- mephisto_polgar_state(const machine_config &mconfig, device_type type, const char *tag)
+ polgar_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
, m_keys(*this, "KEY")
@@ -56,7 +56,7 @@ private:
I/O
******************************************************************************/
-u8 mephisto_polgar_state::keys_r(offs_t offset)
+u8 polgar_state::keys_r(offs_t offset)
{
return (BIT(m_keys->read(), offset) << 7) | 0x7f;
}
@@ -67,14 +67,14 @@ u8 mephisto_polgar_state::keys_r(offs_t offset)
Address Maps
******************************************************************************/
-void mephisto_polgar_state::polgar_mem(address_map &map)
+void polgar_state::polgar_mem(address_map &map)
{
map(0x0000, 0x1fff).ram().share("nvram");
map(0x2000, 0x2000).w("display", FUNC(mephisto_display_module2_device::latch_w));
map(0x2004, 0x2004).w("display", FUNC(mephisto_display_module2_device::io_w));
map(0x2400, 0x2400).w("board", FUNC(mephisto_board_device::led_w));
map(0x2800, 0x2800).w("board", FUNC(mephisto_board_device::mux_w));
- map(0x2c00, 0x2c07).r(FUNC(mephisto_polgar_state::keys_r));
+ map(0x2c00, 0x2c07).r(FUNC(polgar_state::keys_r));
map(0x3000, 0x3000).r("board", FUNC(mephisto_board_device::input_r));
map(0x3400, 0x3407).w("outlatch", FUNC(hc259_device::write_d7));
map(0x4000, 0xffff).rom();
@@ -104,11 +104,11 @@ INPUT_PORTS_END
Machine Configs
******************************************************************************/
-void mephisto_polgar_state::polgar(machine_config &config)
+void polgar_state::polgar(machine_config &config)
{
R65C02(config, m_maincpu, 4.9152_MHz_XTAL);
- m_maincpu->set_addrmap(AS_PROGRAM, &mephisto_polgar_state::polgar_mem);
- m_maincpu->set_periodic_int(FUNC(mephisto_polgar_state::nmi_line_pulse), attotime::from_hz(4.9152_MHz_XTAL / (1 << 13)));
+ m_maincpu->set_addrmap(AS_PROGRAM, &polgar_state::polgar_mem);
+ m_maincpu->set_periodic_int(FUNC(polgar_state::nmi_line_pulse), attotime::from_hz(4.9152_MHz_XTAL / (1 << 13)));
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
@@ -125,13 +125,13 @@ void mephisto_polgar_state::polgar(machine_config &config)
config.set_default_layout(layout_mephisto_polgar);
}
-void mephisto_polgar_state::polgar10(machine_config &config)
+void polgar_state::polgar10(machine_config &config)
{
polgar(config);
M65C02(config.replace(), m_maincpu, 9.8304_MHz_XTAL);
- m_maincpu->set_addrmap(AS_PROGRAM, &mephisto_polgar_state::polgar_mem);
- m_maincpu->set_periodic_int(FUNC(mephisto_polgar_state::nmi_line_pulse), attotime::from_hz(9.8304_MHz_XTAL / (1 << 13)));
+ m_maincpu->set_addrmap(AS_PROGRAM, &polgar_state::polgar_mem);
+ m_maincpu->set_periodic_int(FUNC(polgar_state::nmi_line_pulse), attotime::from_hz(9.8304_MHz_XTAL / (1 << 13)));
}
@@ -168,8 +168,8 @@ ROM_END
Game Drivers
***************************************************************************/
-/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
-CONS( 1990, polgar, 0, 0, polgar, polgar, mephisto_polgar_state, empty_init, "Hegener + Glaser", "Mephisto Polgar (v1.50)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1989, polgara, polgar, 0, polgar, polgar, mephisto_polgar_state, empty_init, "Hegener + Glaser", "Mephisto Polgar (v1.10)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1990, polgar10, polgar, 0, polgar10, polgar, mephisto_polgar_state, empty_init, "Hegener + Glaser", "Mephisto Polgar 10 MHz (v10.0)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1990, polgar101, polgar, 0, polgar10, polgar, mephisto_polgar_state, empty_init, "Hegener + Glaser", "Mephisto Polgar 10 MHz (v10.1)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
+CONS( 1990, polgar, 0, 0, polgar, polgar, polgar_state, empty_init, "Hegener + Glaser", "Mephisto Polgar (v1.50)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+CONS( 1989, polgara, polgar, 0, polgar, polgar, polgar_state, empty_init, "Hegener + Glaser", "Mephisto Polgar (v1.10)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+CONS( 1990, polgar10, polgar, 0, polgar10, polgar, polgar_state, empty_init, "Hegener + Glaser", "Mephisto Polgar 10 MHz (v10.0)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+CONS( 1990, polgar101, polgar, 0, polgar10, polgar, polgar_state, empty_init, "Hegener + Glaser", "Mephisto Polgar 10 MHz (v10.1)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
diff --git a/src/mame/drivers/mephisto_risc.cpp b/src/mame/drivers/mephisto_risc.cpp
index edf8cd9b0b8..d4e07536f3b 100644
--- a/src/mame/drivers/mephisto_risc.cpp
+++ b/src/mame/drivers/mephisto_risc.cpp
@@ -31,10 +31,10 @@ Hardware notes:
namespace {
-class mephisto_risc_state : public driver_device
+class risc_state : public driver_device
{
public:
- mephisto_risc_state(const machine_config &mconfig, device_type type, const char *tag)
+ risc_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
, m_chessm(*this, "chessm")
@@ -60,7 +60,7 @@ private:
void chessm_w(u8 data);
};
-void mephisto_risc_state::machine_start()
+void risc_state::machine_start()
{
m_rombank->configure_entries(0, 4, memregion("maincpu")->base(), 0x8000);
}
@@ -71,18 +71,18 @@ void mephisto_risc_state::machine_start()
I/O
******************************************************************************/
-u8 mephisto_risc_state::keys_r(offs_t offset)
+u8 risc_state::keys_r(offs_t offset)
{
return (BIT(m_keys->read(), offset) << 7) | 0x7f;
}
-u8 mephisto_risc_state::chessm_r()
+u8 risc_state::chessm_r()
{
// d0: chessmachine data
return m_chessm->data_r();
}
-void mephisto_risc_state::chessm_w(u8 data)
+void risc_state::chessm_w(u8 data)
{
// d0,d7: chessmachine data
m_chessm->data0_w(BIT(data, 0));
@@ -98,19 +98,19 @@ void mephisto_risc_state::chessm_w(u8 data)
Address Maps
******************************************************************************/
-void mephisto_risc_state::mrisc_mem(address_map &map)
+void risc_state::mrisc_mem(address_map &map)
{
map.unmap_value_high();
map(0x0000, 0x1fff).ram().share("nvram");
map(0x2000, 0x2000).w("display", FUNC(mephisto_display_module2_device::latch_w));
map(0x2004, 0x2004).w("display", FUNC(mephisto_display_module2_device::io_w));
- map(0x2c00, 0x2c07).r(FUNC(mephisto_risc_state::keys_r));
+ map(0x2c00, 0x2c07).r(FUNC(risc_state::keys_r));
map(0x2400, 0x2400).w("board", FUNC(mephisto_board_device::led_w));
map(0x2800, 0x2800).w("board", FUNC(mephisto_board_device::mux_w));
map(0x3000, 0x3000).r("board", FUNC(mephisto_board_device::input_r));
map(0x3400, 0x3407).w("outlatch", FUNC(hc259_device::write_d7)).nopr();
- map(0x3800, 0x3800).w(FUNC(mephisto_risc_state::chessm_w));
- map(0x3c00, 0x3c00).r(FUNC(mephisto_risc_state::chessm_r));
+ map(0x3800, 0x3800).w(FUNC(risc_state::chessm_w));
+ map(0x3c00, 0x3c00).r(FUNC(risc_state::chessm_r));
map(0x4000, 0x7fff).rom();
map(0x8000, 0xffff).bankr("rombank");
}
@@ -139,11 +139,11 @@ INPUT_PORTS_END
Machine Configs
******************************************************************************/
-void mephisto_risc_state::mrisc(machine_config &config)
+void risc_state::mrisc(machine_config &config)
{
M65SC02(config, m_maincpu, 10_MHz_XTAL / 4);
- m_maincpu->set_addrmap(AS_PROGRAM, &mephisto_risc_state::mrisc_mem);
- m_maincpu->set_periodic_int(FUNC(mephisto_risc_state::irq0_line_hold), attotime::from_hz(10_MHz_XTAL / (1 << 14)));
+ m_maincpu->set_addrmap(AS_PROGRAM, &risc_state::mrisc_mem);
+ m_maincpu->set_periodic_int(FUNC(risc_state::irq0_line_hold), attotime::from_hz(10_MHz_XTAL / (1 << 14)));
CHESSMACHINE(config, m_chessm, 14'000'000); // Mephisto manual says 14MHz (no XTAL)
config.set_perfect_quantum(m_maincpu);
@@ -192,6 +192,6 @@ ROM_END
Game Drivers
***************************************************************************/
-/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
-CONS( 1992, mrisc, 0, 0, mrisc, mrisc, mephisto_risc_state, empty_init, "Hegener + Glaser / Tasc", "Mephisto Risc 1MB", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
-CONS( 1994, mrisc2, mrisc, 0, mrisc, mrisc, mephisto_risc_state, empty_init, "Hegener + Glaser / Tasc", "Mephisto Risc II", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
+CONS( 1992, mrisc, 0, 0, mrisc, mrisc, risc_state, empty_init, "Hegener + Glaser / Tasc", "Mephisto Risc 1MB", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
+CONS( 1994, mrisc2, mrisc, 0, mrisc, mrisc, risc_state, empty_init, "Hegener + Glaser / Tasc", "Mephisto Risc II", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
diff --git a/src/mame/drivers/mephistp.cpp b/src/mame/drivers/mephistp.cpp
index bb169df4246..cdbc1b87d78 100644
--- a/src/mame/drivers/mephistp.cpp
+++ b/src/mame/drivers/mephistp.cpp
@@ -21,11 +21,10 @@
#include "sound/ym3812.h"
#include "speaker.h"
-// mephisto_state was also defined in mess/drivers/mephisto.c
-class mephisto_pinball_state : public driver_device
+class mephisto_state : public driver_device
{
public:
- mephisto_pinball_state(const machine_config &mconfig, device_type type, const char *tag)
+ mephisto_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag)
, m_maincpu(*this, "maincpu")
, m_aysnd(*this, "aysnd")
@@ -62,29 +61,29 @@ private:
};
-void mephisto_pinball_state::shift_load_w(u8 data)
+void mephisto_state::shift_load_w(u8 data)
{
}
-u8 mephisto_pinball_state::ay8910_read()
+u8 mephisto_state::ay8910_read()
{
return m_ay8910_data;
}
-void mephisto_pinball_state::ay8910_write(u8 data)
+void mephisto_state::ay8910_write(u8 data)
{
m_ay8910_data = data;
ay8910_update();
}
-void mephisto_pinball_state::t0_t1_w(u8 data)
+void mephisto_state::t0_t1_w(u8 data)
{
m_ay8910_bdir = BIT(data, 4); // T0
m_ay8910_bc1 = BIT(data, 5); // T1
ay8910_update();
}
-void mephisto_pinball_state::ay8910_update()
+void mephisto_state::ay8910_update()
{
if (m_ay8910_bdir)
m_aysnd->data_address_w(m_ay8910_bc1, m_ay8910_data);
@@ -92,21 +91,21 @@ void mephisto_pinball_state::ay8910_update()
m_ay8910_data = m_aysnd->data_r();
}
-void mephisto_pinball_state::ay8910_columns_w(u8 data)
+void mephisto_state::ay8910_columns_w(u8 data)
{
}
-u8 mephisto_pinball_state::ay8910_inputs_r()
+u8 mephisto_state::ay8910_inputs_r()
{
return 0xff;
}
-void mephisto_pinball_state::sound_rombank_w(u8 data)
+void mephisto_state::sound_rombank_w(u8 data)
{
m_soundbank->set_entry(data & 0xf);
}
-void mephisto_pinball_state::mephisto_map(address_map &map)
+void mephisto_state::mephisto_map(address_map &map)
{
map(0x00000, 0x07fff).rom().region("maincpu", 0).mirror(0x8000);
map(0x10000, 0x107ff).ram().share("nvram");
@@ -115,12 +114,12 @@ void mephisto_pinball_state::mephisto_map(address_map &map)
map(0x13800, 0x13807).rw("ic20", FUNC(i8155_device::io_r), FUNC(i8155_device::io_w));
map(0x14000, 0x140ff).rw("ic9", FUNC(i8155_device::memory_r), FUNC(i8155_device::memory_w));
map(0x14800, 0x14807).rw("ic9", FUNC(i8155_device::io_r), FUNC(i8155_device::io_w));
- map(0x16000, 0x16000).w(FUNC(mephisto_pinball_state::shift_load_w));
+ map(0x16000, 0x16000).w(FUNC(mephisto_state::shift_load_w));
map(0x17000, 0x17001).nopw(); //???
map(0xf0000, 0xf7fff).rom().region("maincpu", 0).mirror(0x8000);
}
-void mephisto_pinball_state::sport2k_map(address_map &map)
+void mephisto_state::sport2k_map(address_map &map)
{
map(0x00000, 0x0ffff).rom().region("maincpu", 0);
map(0x20000, 0x21fff).ram().share("nvram");
@@ -129,25 +128,25 @@ void mephisto_pinball_state::sport2k_map(address_map &map)
map(0x2b800, 0x2b807).rw("ic20", FUNC(i8155_device::io_r), FUNC(i8155_device::io_w));
map(0x2c000, 0x2c0ff).rw("ic9", FUNC(i8155_device::memory_r), FUNC(i8155_device::memory_w));
map(0x2c800, 0x2c807).rw("ic9", FUNC(i8155_device::io_r), FUNC(i8155_device::io_w));
- map(0x2e000, 0x2e000).w(FUNC(mephisto_pinball_state::shift_load_w));
+ map(0x2e000, 0x2e000).w(FUNC(mephisto_state::shift_load_w));
map(0x2f000, 0x2f001).nopw(); //???
map(0xf0000, 0xfffff).rom().region("maincpu", 0);
}
-void mephisto_pinball_state::mephisto_8051_map(address_map &map)
+void mephisto_state::mephisto_8051_map(address_map &map)
{
map(0x0000, 0x7fff).rom();
map(0x8000, 0xffff).bankr("soundbank");
}
-void mephisto_pinball_state::mephisto_8051_io(address_map &map)
+void mephisto_state::mephisto_8051_io(address_map &map)
{
map(0x0000, 0x07ff).ram();
- map(0x0800, 0x0800).w(FUNC(mephisto_pinball_state::sound_rombank_w));
+ map(0x0800, 0x0800).w(FUNC(mephisto_state::sound_rombank_w));
map(0x1000, 0x1000).w("dac", FUNC(dac08_device::data_w));
}
-void mephisto_pinball_state::sport2k_8051_io(address_map &map)
+void mephisto_state::sport2k_8051_io(address_map &map)
{
mephisto_8051_io(map);
map(0x1800, 0x1801).rw("ymsnd", FUNC(ym3812_device::read), FUNC(ym3812_device::write));
@@ -157,7 +156,7 @@ void mephisto_pinball_state::sport2k_8051_io(address_map &map)
static INPUT_PORTS_START( mephisto )
INPUT_PORTS_END
-void mephisto_pinball_state::machine_start()
+void mephisto_state::machine_start()
{
m_soundbank->configure_entries(0, 16, memregion("sound1")->base(), 0x8000);
m_soundbank->set_entry(0);
@@ -170,15 +169,15 @@ void mephisto_pinball_state::machine_start()
save_item(NAME(m_ay8910_bc1));
}
-void mephisto_pinball_state::machine_reset()
+void mephisto_state::machine_reset()
{
}
-void mephisto_pinball_state::mephisto(machine_config &config)
+void mephisto_state::mephisto(machine_config &config)
{
/* basic machine hardware */
I8088(config, m_maincpu, XTAL(18'000'000)/3);
- m_maincpu->set_addrmap(AS_PROGRAM, &mephisto_pinball_state::mephisto_map);
+ m_maincpu->set_addrmap(AS_PROGRAM, &mephisto_state::mephisto_map);
//m_maincpu->set_irq_acknowledge_callback("muart", FUNC(i8256_device::inta_cb));
NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
@@ -193,32 +192,32 @@ void mephisto_pinball_state::mephisto(machine_config &config)
I8155(config, "ic9", XTAL(18'000'000)/6);
//i8155_device &i8155_2(I8155(config, "ic9", XTAL(18'000'000)/6));
- //i8155_2.out_to_callback().set(FUNC(mephisto_pinball_state::clk_shift_w));
+ //i8155_2.out_to_callback().set(FUNC(mephisto_state::clk_shift_w));
i8051_device &soundcpu(I8051(config, "soundcpu", XTAL(12'000'000)));
- soundcpu.set_addrmap(AS_PROGRAM, &mephisto_pinball_state::mephisto_8051_map); // EA tied high for external program ROM
- soundcpu.set_addrmap(AS_IO, &mephisto_pinball_state::mephisto_8051_io);
- soundcpu.port_in_cb<1>().set(FUNC(mephisto_pinball_state::ay8910_read));
- soundcpu.port_out_cb<1>().set(FUNC(mephisto_pinball_state::ay8910_write));
- soundcpu.port_out_cb<3>().set(FUNC(mephisto_pinball_state::t0_t1_w));
+ soundcpu.set_addrmap(AS_PROGRAM, &mephisto_state::mephisto_8051_map); // EA tied high for external program ROM
+ soundcpu.set_addrmap(AS_IO, &mephisto_state::mephisto_8051_io);
+ soundcpu.port_in_cb<1>().set(FUNC(mephisto_state::ay8910_read));
+ soundcpu.port_out_cb<1>().set(FUNC(mephisto_state::ay8910_write));
+ soundcpu.port_out_cb<3>().set(FUNC(mephisto_state::t0_t1_w));
soundcpu.serial_rx_cb().set_constant(0); // from MUART
SPEAKER(config, "mono").front_center();
AY8910(config, m_aysnd, XTAL(12'000'000)/8);
- m_aysnd->port_a_write_callback().set(FUNC(mephisto_pinball_state::ay8910_columns_w));
- m_aysnd->port_b_read_callback().set(FUNC(mephisto_pinball_state::ay8910_inputs_r));
+ m_aysnd->port_a_write_callback().set(FUNC(mephisto_state::ay8910_columns_w));
+ m_aysnd->port_b_read_callback().set(FUNC(mephisto_state::ay8910_inputs_r));
m_aysnd->add_route(ALL_OUTPUTS, "mono", 0.5);
DAC08(config, "dac", 0).add_route(ALL_OUTPUTS, "mono", 0.5);
}
-void mephisto_pinball_state::sport2k(machine_config &config)
+void mephisto_state::sport2k(machine_config &config)
{
mephisto(config);
- m_maincpu->set_addrmap(AS_PROGRAM, &mephisto_pinball_state::sport2k_map);
- subdevice<i8051_device>("soundcpu")->set_addrmap(AS_IO, &mephisto_pinball_state::sport2k_8051_io);
+ m_maincpu->set_addrmap(AS_PROGRAM, &mephisto_state::sport2k_map);
+ subdevice<i8051_device>("soundcpu")->set_addrmap(AS_IO, &mephisto_state::sport2k_8051_io);
YM3812(config, "ymsnd", XTAL(14'318'181)/4).add_route(ALL_OUTPUTS, "mono", 0.5);
}
@@ -296,7 +295,7 @@ ROM_START(sport2k)
ROM_LOAD("s511_512.bin", 0x40000, 0x10000, CRC(ca9afa80) SHA1(6f219bdc1ad06e340b2930610897b70369a43684))
ROM_END
-GAME(1987, mephistp, 0, mephisto, mephisto, mephisto_pinball_state, empty_init, ROT0, "Stargame", "Mephisto (Stargame) (rev. 1.2)", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_IMPERFECT_SOUND)
-GAME(1987, mephistp1, mephistp, mephisto, mephisto, mephisto_pinball_state, empty_init, ROT0, "Stargame", "Mephisto (Stargame) (rev. 1.1)", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_IMPERFECT_SOUND)
-GAME(1987, mephistpn, mephistp, mephisto, mephisto, mephisto_pinball_state, empty_init, ROT0, "Stargame", "Mephisto (Stargame) (newer?)", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_IMPERFECT_SOUND)
-GAME(1988, sport2k, 0, sport2k, mephisto, mephisto_pinball_state, empty_init, ROT0, "Cirsa", "Sport 2000", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_NO_SOUND)
+GAME(1987, mephistp, 0, mephisto, mephisto, mephisto_state, empty_init, ROT0, "Stargame", "Mephisto (Stargame) (rev. 1.2)", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_IMPERFECT_SOUND)
+GAME(1987, mephistp1, mephistp, mephisto, mephisto, mephisto_state, empty_init, ROT0, "Stargame", "Mephisto (Stargame) (rev. 1.1)", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_IMPERFECT_SOUND)
+GAME(1987, mephistpn, mephistp, mephisto, mephisto, mephisto_state, empty_init, ROT0, "Stargame", "Mephisto (Stargame) (newer?)", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_IMPERFECT_SOUND)
+GAME(1988, sport2k, 0, sport2k, mephisto, mephisto_state, empty_init, ROT0, "Cirsa", "Sport 2000", MACHINE_NOT_WORKING | MACHINE_MECHANICAL | MACHINE_NO_SOUND)
diff --git a/src/mame/layout/mephisto_milano.lay b/src/mame/layout/mephisto_milano.lay
index 829a6204f2d..ad4c4b74f10 100644
--- a/src/mame/layout/mephisto_milano.lay
+++ b/src/mame/layout/mephisto_milano.lay
@@ -195,14 +195,14 @@ license:CC0
<param name="y" start="0" increment="10" />
<param name="i" start="8" increment="-1" />
- <element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
- <element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
- <element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
- <element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
- <element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
- <element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
- <element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
- <element ref="hlbb" inputtag="board:board:RANK.~i~" inputmask="0x80"><bounds x="70" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
+ <element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x01"><bounds x="0" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
+ <element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x02"><bounds x="10" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
+ <element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x04"><bounds x="20" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
+ <element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x08"><bounds x="30" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
+ <element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x10"><bounds x="40" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
+ <element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x20"><bounds x="50" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
+ <element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x40"><bounds x="60" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
+ <element ref="hlbb" inputtag="board:RANK.~i~" inputmask="0x80"><bounds x="70" y="~y~" width="10" height="10" /><color alpha="0.04" /></element>
<element name="piece_a~i~" ref="piece"><bounds x="0" y="~y~" width="10" height="10" /></element>
<element name="piece_b~i~" ref="piece"><bounds x="10" y="~y~" width="10" height="10" /></element>
@@ -284,8 +284,8 @@ license:CC0
<element ref="text_uib2"><bounds x="1.5" y="11.75" width="7" height="2" /></element>
<element ref="text_uib3"><bounds x="1.5" y="15.25" width="7" height="2" /></element>
- <element ref="hlub" inputtag="board:board:UI" inputmask="0x200"><bounds x="1" y="11.5" width="8" height="2.5" /><color alpha="0.25" /></element>
- <element ref="hlub" inputtag="board:board:UI" inputmask="0x100"><bounds x="1" y="15" width="8" height="2.5" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:UI" inputmask="0x200"><bounds x="1" y="11.5" width="8" height="2.5" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:UI" inputmask="0x100"><bounds x="1" y="15" width="8" height="2.5" /><color alpha="0.25" /></element>
<!-- spawn -->
<element ref="text_uis1"><bounds x="0" y="20.5" width="10" height="2" /></element>
@@ -305,18 +305,18 @@ license:CC0
<element name="piece_ui11" ref="piece"><bounds x="5" y="40" width="4" height="4" /></element>
<element name="piece_ui12" ref="piece"><bounds x="5" y="44" width="4" height="4" /></element>
- <element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></element>
- <element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></element>
- <element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></element>
- <element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></element>
- <element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></element>
- <element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></element>
- <element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></element>
- <element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></element>
- <element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></element>
- <element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></element>
- <element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></element>
- <element ref="hlub" inputtag="board:board:SPAWN" inputmask="0x0800"><bounds x="5" y="44" width="4" height="4" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:SPAWN" inputmask="0x0001"><bounds x="1" y="23" width="4" height="4" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:SPAWN" inputmask="0x0002"><bounds x="1" y="27" width="4" height="4" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:SPAWN" inputmask="0x0004"><bounds x="1" y="31" width="4" height="4" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:SPAWN" inputmask="0x0008"><bounds x="5" y="23" width="4" height="4" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:SPAWN" inputmask="0x0010"><bounds x="5" y="27" width="4" height="4" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:SPAWN" inputmask="0x0020"><bounds x="5" y="31" width="4" height="4" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:SPAWN" inputmask="0x0040"><bounds x="1" y="36" width="4" height="4" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:SPAWN" inputmask="0x0080"><bounds x="1" y="40" width="4" height="4" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:SPAWN" inputmask="0x0100"><bounds x="1" y="44" width="4" height="4" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:SPAWN" inputmask="0x0200"><bounds x="5" y="36" width="4" height="4" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:SPAWN" inputmask="0x0400"><bounds x="5" y="40" width="4" height="4" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:SPAWN" inputmask="0x0800"><bounds x="5" y="44" width="4" height="4" /><color alpha="0.25" /></element>
<!-- hand -->
<element ref="text_uih1"><bounds x="0" y="51" width="10" height="2" /></element>
@@ -325,7 +325,7 @@ license:CC0
<element ref="cwhite"><bounds x="1" y="60.5" width="8" height="2.5" /></element>
<element ref="text_uih2"><bounds x="1.5" y="60.75" width="7" height="2" /></element>
- <element ref="hlub" inputtag="board:board:UI" inputmask="0x08"><bounds x="1" y="60.5" width="8" height="2.5" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:UI" inputmask="0x08"><bounds x="1" y="60.5" width="8" height="2.5" /><color alpha="0.25" /></element>
<!-- undo -->
<element ref="text_uiu1"><bounds x="0" y="66" width="10" height="2" /></element>
@@ -338,10 +338,10 @@ license:CC0
<element ref="text_uiu2c"><bounds x="5.2" y="69.5" width="1.7" height="4" /></element>
<element ref="text_uiu2d"><bounds x="7.3" y="69.5" width="1.7" height="4" /></element>
- <element ref="hlub" inputtag="board:board:UI" inputmask="0x10"><bounds x="1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
- <element ref="hlub" inputtag="board:board:UI" inputmask="0x20"><bounds x="3.1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
- <element ref="hlub" inputtag="board:board:UI" inputmask="0x40"><bounds x="5.2" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
- <element ref="hlub" inputtag="board:board:UI" inputmask="0x80"><bounds x="7.3" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:UI" inputmask="0x10"><bounds x="1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:UI" inputmask="0x20"><bounds x="3.1" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:UI" inputmask="0x40"><bounds x="5.2" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
+ <element ref="hlub" inputtag="board:UI" inputmask="0x80"><bounds x="7.3" y="68.5" width="1.7" height="6" /><color alpha="0.25" /></element>
<element name="count_ui0" ref="text_uiu3a"><bounds x="0" y="75" width="4" height="2" /></element>
<element name="count_ui1" ref="text_uiu3c"><bounds x="6" y="75" width="4" height="2" /></element>
@@ -430,23 +430,23 @@ license:CC0
<element ref="text_h"><bounds x="94" y="86.5" width="2" height="2" /></element>
<!-- chessboard leds -->
- <element name="led0" ref="ledr"><bounds x="24" y="85" width="2" height="1" /></element>
- <element name="led8" ref="ledr"><bounds x="34" y="85" width="2" height="1" /></element>
- <element name="led16" ref="ledr"><bounds x="44" y="85" width="2" height="1" /></element>
- <element name="led24" ref="ledr"><bounds x="54" y="85" width="2" height="1" /></element>
- <element name="led32" ref="ledr"><bounds x="64" y="85" width="2" height="1" /></element>
- <element name="led40" ref="ledr"><bounds x="74" y="85" width="2" height="1" /></element>
- <element name="led48" ref="ledr"><bounds x="84" y="85" width="2" height="1" /></element>
- <element name="led56" ref="ledr"><bounds x="94" y="85" width="2" height="1" /></element>
-
- <element name="led1" ref="ledr"><bounds x="16.5" y="77.5" width="2" height="1" /></element>
- <element name="led9" ref="ledr"><bounds x="16.5" y="67.5" width="2" height="1" /></element>
- <element name="led17" ref="ledr"><bounds x="16.5" y="57.5" width="2" height="1" /></element>
- <element name="led25" ref="ledr"><bounds x="16.5" y="47.5" width="2" height="1" /></element>
- <element name="led33" ref="ledr"><bounds x="16.5" y="37.5" width="2" height="1" /></element>
- <element name="led41" ref="ledr"><bounds x="16.5" y="27.5" width="2" height="1" /></element>
- <element name="led49" ref="ledr"><bounds x="16.5" y="17.5" width="2" height="1" /></element>
- <element name="led57" ref="ledr"><bounds x="16.5" y="7.5" width="2" height="1" /></element>
+ <element name="0.0" ref="ledr"><bounds x="24" y="85" width="2" height="1" /></element>
+ <element name="1.0" ref="ledr"><bounds x="34" y="85" width="2" height="1" /></element>
+ <element name="2.0" ref="ledr"><bounds x="44" y="85" width="2" height="1" /></element>
+ <element name="3.0" ref="ledr"><bounds x="54" y="85" width="2" height="1" /></element>
+ <element name="4.0" ref="ledr"><bounds x="64" y="85" width="2" height="1" /></element>
+ <element name="5.0" ref="ledr"><bounds x="74" y="85" width="2" height="1" /></element>
+ <element name="6.0" ref="ledr"><bounds x="84" y="85" width="2" height="1" /></element>
+ <element name="7.0" ref="ledr"><bounds x="94" y="85" width="2" height="1" /></element>
+
+ <element name="0.1" ref="ledr"><bounds x="16.5" y="77.5" width="2" height="1" /></element>
+ <element name="1.1" ref="ledr"><bounds x="16.5" y="67.5" width="2" height="1" /></element>
+ <element name="2.1" ref="ledr"><bounds x="16.5" y="57.5" width="2" height="1" /></element>
+ <element name="3.1" ref="ledr"><bounds x="16.5" y="47.5" width="2" height="1" /></element>
+ <element name="4.1" ref="ledr"><bounds x="16.5" y="37.5" width="2" height="1" /></element>
+ <element name="5.1" ref="ledr"><bounds x="16.5" y="27.5" width="2" height="1" /></element>
+ <element name="6.1" ref="ledr"><bounds x="16.5" y="17.5" width="2" height="1" /></element>
+ <element name="7.1" ref="ledr"><bounds x="16.5" y="7.5" width="2" height="1" /></element>
<group ref="sb_board"><bounds x="20" y="3" width="80" height="80" /></group>
<group ref="sb_ui"><bounds x="2.5" y="3" width="10" height="80" /></group>