diff options
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 |
commit | 7b72b123c2719b17f4edc7164b18497c6e578c73 (patch) | |
tree | ff9ddc1843c8dbc66a118128d42573e8106a5d78 | |
parent | 85b4bcd98cdcc427dd5685ffc729282ce6aeccaf (diff) |
mephisto_milano: don't use mmboard device
-rw-r--r-- | src/mame/drivers/mephisto_glasgow.cpp | 86 | ||||
-rw-r--r-- | src/mame/drivers/mephisto_milano.cpp | 102 | ||||
-rw-r--r-- | src/mame/drivers/mephisto_mm2.cpp | 140 | ||||
-rw-r--r-- | src/mame/drivers/mephisto_mondial68k.cpp | 2 | ||||
-rw-r--r-- | src/mame/drivers/mephisto_polgar.cpp | 32 | ||||
-rw-r--r-- | src/mame/drivers/mephisto_risc.cpp | 32 | ||||
-rw-r--r-- | src/mame/drivers/mephistp.cpp | 75 | ||||
-rw-r--r-- | src/mame/layout/mephisto_milano.lay | 88 |
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> |