diff options
author | hap <happppp@users.noreply.github.com> | 2021-04-12 00:36:41 +0200 |
---|---|---|
committer | hap <happppp@users.noreply.github.com> | 2021-04-12 00:36:52 +0200 |
commit | f498f612958817f3c03454252523299747f5f9d7 (patch) | |
tree | 851d87de8a27735e4fe2f385c507a02b44d539f6 | |
parent | b3e581c8f958c43a39055ac5c50d630180a9b785 (diff) |
mephisto_montec.cpp: split driver file into montec/smondial
37 files changed, 1026 insertions, 1147 deletions
diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua index a0a657086f2..9a559d057fe 100644 --- a/scripts/target/mame/mess.lua +++ b/scripts/target/mame/mess.lua @@ -2550,6 +2550,7 @@ files { MAME_DIR .. "src/mame/drivers/mephisto_montec.cpp", MAME_DIR .. "src/mame/drivers/mephisto_polgar.cpp", MAME_DIR .. "src/mame/drivers/mephisto_risc.cpp", + MAME_DIR .. "src/mame/drivers/mephisto_smondial.cpp", MAME_DIR .. "src/mame/machine/mmboard.cpp", MAME_DIR .. "src/mame/machine/mmboard.h", MAME_DIR .. "src/mame/video/mmdisplay1.cpp", diff --git a/src/mame/drivers/fidel_eag68k.cpp b/src/mame/drivers/fidel_eag68k.cpp index ff6018052c7..333d2f28136 100644 --- a/src/mame/drivers/fidel_eag68k.cpp +++ b/src/mame/drivers/fidel_eag68k.cpp @@ -161,6 +161,9 @@ B0000x-xxxxxx: see V7, -800000 ******************************************************************************/ #include "emu.h" + +#include "bus/generic/slot.h" +#include "bus/generic/carts.h" #include "cpu/m68000/m68000.h" #include "machine/gen_latch.h" #include "machine/ram.h" @@ -169,8 +172,6 @@ B0000x-xxxxxx: see V7, -800000 #include "machine/sensorboard.h" #include "sound/dac.h" #include "video/pwm.h" -#include "bus/generic/slot.h" -#include "bus/generic/carts.h" #include "softlist.h" #include "speaker.h" diff --git a/src/mame/drivers/fidel_excel.cpp b/src/mame/drivers/fidel_excel.cpp index b165d719f52..8fd4f8ef3c2 100644 --- a/src/mame/drivers/fidel_excel.cpp +++ b/src/mame/drivers/fidel_excel.cpp @@ -205,20 +205,14 @@ private: void ttl_w(offs_t offset, u8 data); u8 ttl_r(offs_t offset); - u8 m_select; - u8 m_7seg_data; - u8 m_speech_data; - u8 m_speech_bank; + u8 m_select = 0; + u8 m_7seg_data = 0; + u8 m_speech_data = 0; + u8 m_speech_bank = 0; }; void excel_state::machine_start() { - // zerofill - m_select = 0; - m_7seg_data = 0; - m_speech_data = 0; - m_speech_bank = 0; - // register for savestates save_item(NAME(m_select)); save_item(NAME(m_7seg_data)); diff --git a/src/mame/drivers/fidel_phantom.cpp b/src/mame/drivers/fidel_phantom.cpp index 66e98bf11a0..240298d2aed 100644 --- a/src/mame/drivers/fidel_phantom.cpp +++ b/src/mame/drivers/fidel_phantom.cpp @@ -142,6 +142,7 @@ void phantom_state::init_fphantom() } + /****************************************************************************** Motor Sim ******************************************************************************/ @@ -206,6 +207,7 @@ void phantom_state::update_pieces_position(int state) } + /****************************************************************************** I/O ******************************************************************************/ @@ -336,6 +338,7 @@ u8 phantom_state::vmotor_ff_clear_r() } + /****************************************************************************** Address Maps ******************************************************************************/ diff --git a/src/mame/drivers/mephisto_academy.cpp b/src/mame/drivers/mephisto_academy.cpp index 41222786920..ee192750b48 100644 --- a/src/mame/drivers/mephisto_academy.cpp +++ b/src/mame/drivers/mephisto_academy.cpp @@ -1,7 +1,7 @@ // license:BSD-3-Clause // copyright-holders:Sandro Ronco, hap // thanks-to:yoyo_chessboard -/*************************************************************************** +/****************************************************************************** Mephisto Academy @@ -18,7 +18,7 @@ Since the program is on an external module, it appears it was meant to be a modular chesscomputer. However, no extra modules were sold separately. Module PCB is the same as Super Mondial II College, label HGS 10 116 05. -***************************************************************************/ +******************************************************************************/ #include "emu.h" @@ -126,6 +126,7 @@ INPUT_PORTS_END void academy_state::academy(machine_config &config) { + /* basic machine hardware */ M65C02(config, m_maincpu, 4.9152_MHz_XTAL); m_maincpu->set_addrmap(AS_PROGRAM, &academy_state::main_map); @@ -140,6 +141,7 @@ void academy_state::academy(machine_config &config) MEPHISTO_SENSORS_BOARD(config, "board"); // internal MEPHISTO_DISPLAY_MODULE2(config, "display"); // internal + /* video hardware */ PWM_DISPLAY(config, m_led_pwm).set_size(4, 4); config.set_default_layout(layout_mephisto_academy); } @@ -176,7 +178,7 @@ ROM_END Game Drivers ***************************************************************************/ -/* YEAR, NAME, PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ +/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ CONS( 1989, academy, 0, 0, academy, academy, academy_state, empty_init, "Hegener + Glaser", "Mephisto Academy (English)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) CONS( 1989, academyg, academy, 0, academy, academy, academy_state, empty_init, "Hegener + Glaser", "Mephisto Academy (German, 06-03-89)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) CONS( 1989, academyga, academy, 0, academy, academy, academy_state, empty_init, "Hegener + Glaser", "Mephisto Academy (German, 04-10-88)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) diff --git a/src/mame/drivers/mephisto_amsterdam.cpp b/src/mame/drivers/mephisto_amsterdam.cpp index eb0ad914b60..82d7dd86160 100644 --- a/src/mame/drivers/mephisto_amsterdam.cpp +++ b/src/mame/drivers/mephisto_amsterdam.cpp @@ -253,7 +253,7 @@ ROM_END Drivers ******************************************************************************/ -/* YEAR, NAME, PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ +/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ CONS( 1985, amsterd, 0, 0, amsterdam, amsterdam, amsterdam_state, empty_init, "Hegener + Glaser", "Mephisto Amsterdam", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) CONS( 1986, dallas32, 0, 0, dallas32, amsterdam, amsterdam_state, empty_init, "Hegener + Glaser", "Mephisto Dallas 68020", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) diff --git a/src/mame/drivers/mephisto_glasgow.cpp b/src/mame/drivers/mephisto_glasgow.cpp index f4ab6e85c5a..6031ddccbbd 100644 --- a/src/mame/drivers/mephisto_glasgow.cpp +++ b/src/mame/drivers/mephisto_glasgow.cpp @@ -111,7 +111,8 @@ u8 glasgow_state::keys_r() data |= 1 << i; // reading keypad also clears irq - m_maincpu->set_input_line(M68K_IRQ_5, CLEAR_LINE); + if (!machine().side_effects_disabled()) + m_maincpu->set_input_line(M68K_IRQ_5, CLEAR_LINE); return ~data; } @@ -239,7 +240,7 @@ ROM_END Drivers ******************************************************************************/ -/* YEAR, NAME, PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ +/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ CONS( 1984, glasgow, 0, 0, glasgow, glasgow, glasgow_state, empty_init, "Hegener + Glaser", "Mephisto III-S Glasgow", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) // newer chesscomputers on 4-ROM hardware (see mephisto_amsterdam.cpp for parent sets) diff --git a/src/mame/drivers/mephisto_milano.cpp b/src/mame/drivers/mephisto_milano.cpp index c1385fa3d47..2eed4fecdb2 100644 --- a/src/mame/drivers/mephisto_milano.cpp +++ b/src/mame/drivers/mephisto_milano.cpp @@ -113,7 +113,7 @@ u8 milano_state::board_r() u8 milano_state::keys_r(offs_t offset) { - return (BIT(m_keys->read(), offset) << 7) | 0x7f; + return ~(BIT(m_keys->read(), offset) << 7); } @@ -142,14 +142,14 @@ void milano_state::milano_mem(address_map &map) static INPUT_PORTS_START( milano ) PORT_START("KEY") - PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Training / Pawn") PORT_CODE(KEYCODE_T) - PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Info / Knight") PORT_CODE(KEYCODE_I) - PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Memory / Bishop") PORT_CODE(KEYCODE_M) - PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Position / Rook") PORT_CODE(KEYCODE_O) - PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Level / Queen") PORT_CODE(KEYCODE_L) - PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Function / King") PORT_CODE(KEYCODE_F) - PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Enter / New Game") PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_F1) // combine for NEW GAME - PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Clear / New Game") PORT_CODE(KEYCODE_BACKSPACE) PORT_CODE(KEYCODE_DEL) PORT_CODE(KEYCODE_F1) // " + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Training / Pawn") PORT_CODE(KEYCODE_T) + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Info / Knight") PORT_CODE(KEYCODE_I) + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Memory / Bishop") PORT_CODE(KEYCODE_M) + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Position / Rook") PORT_CODE(KEYCODE_O) + PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Level / Queen") PORT_CODE(KEYCODE_L) + PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Function / King") PORT_CODE(KEYCODE_F) + PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Enter / New Game") PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_F1) // combine for NEW GAME + PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Clear / New Game") PORT_CODE(KEYCODE_BACKSPACE) PORT_CODE(KEYCODE_DEL) PORT_CODE(KEYCODE_F1) // " INPUT_PORTS_END diff --git a/src/mame/drivers/mephisto_mm2.cpp b/src/mame/drivers/mephisto_mm2.cpp index 63b8bd01515..2299218ec0f 100644 --- a/src/mame/drivers/mephisto_mm2.cpp +++ b/src/mame/drivers/mephisto_mm2.cpp @@ -6,13 +6,14 @@ Mephisto 4 + 5 Chess Computer 2007 Dirk V. TODO: +- rebel5 unknown read from 0x4002, looks like leftover bookrom check - need to emulate TurboKit properly, also for mm5p (it's not as simple as a CPU overclock plus ROM patch) =============================================================================== Hardware notes: -- CPU: G65SC02P-4 or R65C02P3/R65C02P4 +- CPU: R65C02P3/R65C02P4 or G65SC02P-4 - Clock: 4.9152 MHz - NMI CLK: 600 Hz - IRQ Line is set to VSS @@ -85,7 +86,7 @@ MM VI (Saitek, 1994) is on different hardware, H8 CPU. #include "bus/generic/slot.h" #include "bus/generic/carts.h" -#include "cpu/m6502/m65sc02.h" +#include "cpu/m6502/r65c02.h" #include "machine/74259.h" #include "machine/mmboard.h" #include "sound/dac.h" @@ -169,7 +170,7 @@ void mm2_state::lcd_irqack_w(u8 data) { m_display->data_w(data); - // writing to 0x2800 also clears irq + // accessing 0x2800 also clears irq m_maincpu->set_input_line(0, CLEAR_LINE); } @@ -205,9 +206,9 @@ void mm2_state::mm2_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(0x2000, 0x2007).w("outlatch", FUNC(hc259_device::write_d7)).nopr(); map(0x3000, 0x3007).r(FUNC(mm2_state::keys_r)); + map(0x4000, 0x4000).r("board", FUNC(mephisto_board_device::input_r)); map(0x5000, 0x5000).w(m_display, FUNC(mephisto_display1_device::data_w)); map(0x6000, 0x6000).w("board", FUNC(mephisto_board_device::led_w)); map(0x7000, 0x7000).w("board", FUNC(mephisto_board_device::mux_w)); @@ -218,7 +219,7 @@ void mm2_state::mm5p_mem(address_map &map) { map(0x0000, 0x1fff).ram(); map(0x2000, 0x2000).w(m_display, FUNC(mephisto_display1_device::data_w)); - map(0x2400, 0x2407).w("board", FUNC(mephisto_board_device::led_w)).nopr(); + 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(mm2_state::keys_r)); map(0x3000, 0x3000).r("board", FUNC(mephisto_board_device::input_r)); @@ -300,7 +301,7 @@ INPUT_PORTS_END void mm2_state::rebel5(machine_config &config) { /* basic machine hardware */ - M65SC02(config, m_maincpu, 9.8304_MHz_XTAL / 2); + R65C02(config, m_maincpu, 9.8304_MHz_XTAL / 2); m_maincpu->set_addrmap(AS_PROGRAM, &mm2_state::rebel5_mem); const attotime nmi_period = attotime::from_hz(9.8304_MHz_XTAL / 2 / 0x2000); // 600Hz @@ -504,7 +505,7 @@ CONS( 1985, bup, 0, 0, bup, bup, mm2_state, empty_init, "He 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, mm2, 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, mm2, mm2_state, empty_init, "Hegener + Glaser", "Mephisto Rebell 5,0 (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1986, rebel5a, rebel5, 0, rebel5, mm2, mm2_state, empty_init, "Hegener + Glaser", "Mephisto Rebell 5,0 (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) // " CONS( 1987, mm4, 0, 0, mm4, mm2, mm2_state, empty_init, "Hegener + Glaser", "Mephisto MM IV (v7.10)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) CONS( 1987, mm4a, mm4, 0, mm4, mm2, mm2_state, empty_init, "Hegener + Glaser", "Mephisto MM IV (v7.00)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) diff --git a/src/mame/drivers/mephisto_mondial.cpp b/src/mame/drivers/mephisto_mondial.cpp index 71338294db7..5c40498252c 100644 --- a/src/mame/drivers/mephisto_mondial.cpp +++ b/src/mame/drivers/mephisto_mondial.cpp @@ -12,7 +12,6 @@ Hardware notes: TODO: - verify XTAL (or maybe RC or LC circuit), 2MHz is correct -- unknown read from 0x2000 - dump/add MM 1000 module ******************************************************************************/ @@ -61,6 +60,7 @@ private: void mondial_mem(address_map &map); void control_w(u8 data); + u8 irq_ack_r(); u8 input_r(offs_t offset); u8 m_inp_mux = 0; @@ -77,6 +77,25 @@ void mondial_state::machine_start() I/O ******************************************************************************/ +void mondial_state::control_w(u8 data) +{ + // d0-d3: input mux, led select + // d4-d6: led data + m_inp_mux = data & 0xf; + m_led_pwm->matrix(1 << m_inp_mux, ~data >> 4 & 7); + + // d7: enable beeper + m_beeper->set_state(BIT(data, 7)); +} + +u8 mondial_state::irq_ack_r() +{ + if (!machine().side_effects_disabled()) + m_maincpu->set_input_line(0, CLEAR_LINE); + + return 0; +} + u8 mondial_state::input_r(offs_t offset) { u8 data = 0; @@ -92,17 +111,6 @@ u8 mondial_state::input_r(offs_t offset) return ~(BIT(data, offset) << 7); } -void mondial_state::control_w(u8 data) -{ - // d0-d3: input mux, led select - // d4-d6: led data - m_inp_mux = data & 0xf; - m_led_pwm->matrix(1 << m_inp_mux, ~data >> 4 & 7); - - // d7: enable beeper - m_beeper->set_state(BIT(data, 7)); -} - /****************************************************************************** @@ -114,7 +122,7 @@ void mondial_state::mondial_mem(address_map &map) map(0x0000, 0x07ff).ram(); map(0x1000, 0x1000).w(FUNC(mondial_state::control_w)); map(0x1800, 0x1807).r(FUNC(mondial_state::input_r)); - map(0x2000, 0x2000).nopr(); // ? + map(0x2000, 0x2000).r(FUNC(mondial_state::irq_ack_r)); map(0xc000, 0xffff).rom(); } @@ -126,24 +134,24 @@ void mondial_state::mondial_mem(address_map &map) static INPUT_PORTS_START( mondial ) PORT_START("KEY.0") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Pawn / 1") PORT_CODE(KEYCODE_1) - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Knight / 2") PORT_CODE(KEYCODE_2) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Bishop / 3") PORT_CODE(KEYCODE_3) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Rook / 4") PORT_CODE(KEYCODE_4) - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Queen / 5") PORT_CODE(KEYCODE_5) - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("King / 6") PORT_CODE(KEYCODE_6) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Black / 7") PORT_CODE(KEYCODE_7) - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("White / 8") PORT_CODE(KEYCODE_8) + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Pawn / 1") PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Knight / 2") PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Bishop / 3") PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Rook / 4") PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) + PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Queen / 5") PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) + PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("King / 6") PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) + PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Black / 7") PORT_CODE(KEYCODE_7) PORT_CODE(KEYCODE_7_PAD) + PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("White / 8") PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_8_PAD) PORT_START("KEY.1") PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("PLAY") PORT_CODE(KEYCODE_Y) PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("POS") PORT_CODE(KEYCODE_O) PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("MEM") PORT_CODE(KEYCODE_M) PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("INFO") PORT_CODE(KEYCODE_I) - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("CL") PORT_CODE(KEYCODE_BACKSPACE) + PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("CL") PORT_CODE(KEYCODE_DEL) PORT_CODE(KEYCODE_BACKSPACE) PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("LEV") PORT_CODE(KEYCODE_L) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("ENT") PORT_CODE(KEYCODE_ENTER) - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RES") PORT_CODE(KEYCODE_DEL) + PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("ENT") PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) + PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RES") PORT_CODE(KEYCODE_F1) INPUT_PORTS_END @@ -159,7 +167,7 @@ void mondial_state::mondial(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &mondial_state::mondial_mem); const attotime irq_period = attotime::from_hz(2000000 / 0x1000); - m_maincpu->set_periodic_int(FUNC(mondial_state::irq0_line_hold), irq_period); + m_maincpu->set_periodic_int(FUNC(mondial_state::irq0_line_assert), irq_period); SENSORBOARD(config, m_board).set_type(sensorboard_device::BUTTONS); m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess)); diff --git a/src/mame/drivers/mephisto_mondial2.cpp b/src/mame/drivers/mephisto_mondial2.cpp index 42621bb3f43..2d6a79b7c2d 100644 --- a/src/mame/drivers/mephisto_mondial2.cpp +++ b/src/mame/drivers/mephisto_mondial2.cpp @@ -55,9 +55,9 @@ private: void mondial2_mem(address_map &map); void update_leds(); - u8 input_r(offs_t offset); void control_w(u8 data); void board_w(u8 data); + u8 input_r(offs_t offset); u8 m_keypad_mux = 0; u8 m_board_mux = 0; @@ -83,23 +83,6 @@ void mondial2_state::update_leds() m_led_pwm->matrix(m_board_mux, m_led_data); } -u8 mondial2_state::input_r(offs_t offset) -{ - u8 data = 0; - - // read chessboard sensors - for (int i = 0; i < 8; i++) - if (BIT(m_board_mux, i)) - data |= BIT(m_board->read_rank(i), offset); - - // read keypad - for (int i = 0; i < 4; i++) - if (BIT(m_keypad_mux, i)) - data |= BIT(m_keys[i]->read(), offset & 3); - - return ~(data << 7); -} - void mondial2_state::control_w(u8 data) { // d0-d3: keypad mux @@ -120,6 +103,23 @@ void mondial2_state::board_w(u8 data) update_leds(); } +u8 mondial2_state::input_r(offs_t offset) +{ + u8 data = 0; + + // read chessboard sensors + for (int i = 0; i < 8; i++) + if (BIT(m_board_mux, i)) + data |= BIT(m_board->read_rank(i), offset); + + // read keypad + for (int i = 0; i < 4; i++) + if (BIT(m_keypad_mux, i)) + data |= BIT(m_keys[i]->read(), offset & 3); + + return ~(data << 7); +} + /****************************************************************************** @@ -143,16 +143,16 @@ void mondial2_state::mondial2_mem(address_map &map) static INPUT_PORTS_START( mondial2 ) PORT_START("KEY.0") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Pawn / 1") PORT_CODE(KEYCODE_1) - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Knight / 2") PORT_CODE(KEYCODE_2) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Bishop / 3") PORT_CODE(KEYCODE_3) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Rook / 4") PORT_CODE(KEYCODE_4) + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Pawn / 1") PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Knight / 2") PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Bishop / 3") PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Rook / 4") PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_START("KEY.1") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Queen / 5") PORT_CODE(KEYCODE_5) - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("King / 6") PORT_CODE(KEYCODE_6) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Black / 7") PORT_CODE(KEYCODE_7) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("White / 8") PORT_CODE(KEYCODE_8) + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Queen / 5") PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("King / 6") PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Black / 7") PORT_CODE(KEYCODE_7) PORT_CODE(KEYCODE_7_PAD) + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("White / 8") PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_8_PAD) PORT_START("KEY.2") PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("PLAY") PORT_CODE(KEYCODE_Y) @@ -161,10 +161,10 @@ static INPUT_PORTS_START( mondial2 ) PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("INFO") PORT_CODE(KEYCODE_I) PORT_START("KEY.3") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("CL") PORT_CODE(KEYCODE_BACKSPACE) + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("CL") PORT_CODE(KEYCODE_DEL) PORT_CODE(KEYCODE_BACKSPACE) PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("LEV") PORT_CODE(KEYCODE_L) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("ENT") PORT_CODE(KEYCODE_ENTER) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RES") PORT_CODE(KEYCODE_DEL) + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("ENT") PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RES") PORT_CODE(KEYCODE_F1) INPUT_PORTS_END diff --git a/src/mame/drivers/mephisto_mondial68k.cpp b/src/mame/drivers/mephisto_mondial68k.cpp index 68f05d5cd82..2f8cf8637b2 100644 --- a/src/mame/drivers/mephisto_mondial68k.cpp +++ b/src/mame/drivers/mephisto_mondial68k.cpp @@ -6,7 +6,7 @@ Mephisto Mondial 68000XL The chess engine is actually the one from Mephisto Dallas. -Hardware: +Hardware notes: - TS68000CP12 @ 12MHz - 64KB ROM - 16KB RAM @@ -38,7 +38,8 @@ public: : driver_device(mconfig, type, tag) , m_maincpu(*this, "maincpu") , m_board(*this, "board") - , m_display(*this, "display") + , m_lcd_latch(*this, "lcd_latch") + , m_led_pwm(*this, "led_pwm") , m_lcd(*this, "lcd") , m_inputs(*this, "IN.%u", 0) , m_digits(*this, "digit%u", 0U) @@ -51,15 +52,16 @@ protected: void mondial68k_mem(address_map &map); - void lcd_s_w(u32 data); + void update_leds(); + void lcd_output_w(u32 data); void input_mux_w(u8 data); void board_mux_w(u8 data); u8 inputs_r(); - void update_display(); required_device<cpu_device> m_maincpu; required_device<sensorboard_device> m_board; - required_device<pwm_display_device> m_display; + required_device<hc259_device> m_lcd_latch; + required_device<pwm_display_device> m_led_pwm; required_device<pcf2112_device> m_lcd; required_ioport_array<4> m_inputs; output_finder<4> m_digits; @@ -83,12 +85,12 @@ void mondial68k_state::machine_start() I/O ******************************************************************************/ -void mondial68k_state::update_display() +void mondial68k_state::update_leds() { - m_display->matrix(m_input_mux >> 6, ~m_board_mux); + m_led_pwm->matrix(m_input_mux >> 6, ~m_board_mux); } -void mondial68k_state::lcd_s_w(u32 data) +void mondial68k_state::lcd_output_w(u32 data) { // output LCD digits (note: last digit DP segment is unused) for (int i = 0; i < 4; i++) @@ -99,7 +101,7 @@ void mondial68k_state::board_mux_w(u8 data) { // d0-d7: chessboard mux, led data m_board_mux = data; - update_display(); + update_leds(); } void mondial68k_state::input_mux_w(u8 data) @@ -107,7 +109,7 @@ void mondial68k_state::input_mux_w(u8 data) // d0-d3: button mux // d6,d7: led select m_input_mux = data; - update_display(); + update_leds(); } u8 mondial68k_state::inputs_r() @@ -137,7 +139,7 @@ void mondial68k_state::mondial68k_mem(address_map &map) { map(0x000000, 0x00ffff).rom(); map(0x800000, 0x800000).r(FUNC(mondial68k_state::inputs_r)); - map(0x820000, 0x82000f).nopr().w("outlatch", FUNC(hc259_device::write_d0)).umask16(0xff00); + map(0x820000, 0x82000f).nopr().w(m_lcd_latch, FUNC(hc259_device::write_d0)).umask16(0xff00); map(0x840000, 0x840000).w(FUNC(mondial68k_state::input_mux_w)); map(0x860000, 0x860000).w(FUNC(mondial68k_state::board_mux_w)); map(0xc00000, 0xc03fff).ram(); @@ -188,12 +190,12 @@ void mondial68k_state::mondial68k(machine_config &config) m_maincpu->set_addrmap(AS_PROGRAM, &mondial68k_state::mondial68k_mem); m_maincpu->set_periodic_int(FUNC(mondial68k_state::irq5_line_hold), attotime::from_hz(128)); - hc259_device &outlatch(HC259(config, "outlatch")); - outlatch.q_out_cb<0>().set(m_lcd, FUNC(pcf2112_device::clb_w)); - outlatch.q_out_cb<1>().set(m_lcd, FUNC(pcf2112_device::data_w)); - outlatch.q_out_cb<2>().set(m_lcd, FUNC(pcf2112_device::dlen_w)); - outlatch.q_out_cb<6>().set_nop(); // another DAC input? - outlatch.q_out_cb<7>().set("dac", FUNC(dac_1bit_device::write)); + HC259(config, m_lcd_latch); + m_lcd_latch->q_out_cb<0>().set(m_lcd, FUNC(pcf2112_device::clb_w)); + m_lcd_latch->q_out_cb<1>().set(m_lcd, FUNC(pcf2112_device::data_w)); + m_lcd_latch->q_out_cb<2>().set(m_lcd, FUNC(pcf2112_device::dlen_w)); + m_lcd_latch->q_out_cb<6>().set_nop(); // another DAC input? + m_lcd_latch->q_out_cb<7>().set("dac", FUNC(dac_1bit_device::write)); SENSORBOARD(config, m_board).set_type(sensorboard_device::BUTTONS); m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess)); @@ -201,9 +203,9 @@ void mondial68k_state::mondial68k(machine_config &config) /* video hardware */ PCF2112(config, m_lcd, 50); // frequency guessed - m_lcd->write_segs().set(FUNC(mondial68k_state::lcd_s_w)); + m_lcd->write_segs().set(FUNC(mondial68k_state::lcd_output_w)); - PWM_DISPLAY(config, m_display).set_size(2, 8); + PWM_DISPLAY(config, m_led_pwm).set_size(2, 8); config.set_default_layout(layout_mephisto_mondial68k); /* sound hardware */ @@ -231,5 +233,5 @@ ROM_END Game Drivers ***************************************************************************/ -/* YEAR, NAME, PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ -CONS( 1988, mondl68k, 0, 0, mondial68k, mondial68k, mondial68k_state, empty_init, "Hegener + Glaser", "Mephisto Mondial 68000XL", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ +CONS( 1988, mondl68k, 0, 0, mondial68k, mondial68k, mondial68k_state, empty_init, "Hegener + Glaser", "Mephisto Mondial 68000XL", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) diff --git a/src/mame/drivers/mephisto_montec.cpp b/src/mame/drivers/mephisto_montec.cpp index 6b4d5a5bc90..3f07fb08e0b 100644 --- a/src/mame/drivers/mephisto_montec.cpp +++ b/src/mame/drivers/mephisto_montec.cpp @@ -1,435 +1,240 @@ // license:BSD-3-Clause -// copyright-holders:Sandro Ronco -// thanks-to:yoyo_chessboard -/************************************************************************************************** +// copyright-holders:Sandro Ronco, hap +/****************************************************************************** - Mephisto Monte Carlo - Mephisto Mega IV - Mephisto Monte Carlo IV LE - Mephisto Super Mondial - Mephisto Super Mondial II +Mephisto Monte Carlo +Mephisto Monte Carlo IV +Mephisto Monte Carlo IV - Limited Edition - smondialb notes: - - holding CL+INFO+BOOK on boot load the test mode +The chess engine is by Frans Morsch, but for the IV version it's by Ed Schroeder. +Limited Edition has a twice faster CPU. - TODO: - - split driver into several files? - - megaiv/smondial leds are tri-color - - why are megaiv/smondial2 beeps noisy? - - what is montec 0x2000? (it can't be nmi ack) - - add Monte Carlo IV (non-LE) +Hardware notes: +- R65C02P4 @ 4MHz +- 8KB RAM(battery-backed), 32KB ROM +- expansion slot at underside (not used) +- 2*PCF2112, 2 7seg LCD screens +- 8 tri-color leds (like academy, always 6 red and 2 green?) +- magnetic chessboard with 64 leds, piezo -**************************************************************************************************/ +TODO: +- dump/add the standard Monte Carlo IV +******************************************************************************/ #include "emu.h" -#include "bus/generic/slot.h" -#include "bus/generic/carts.h" #include "cpu/m6502/m65c02.h" +#include "cpu/m6502/r65c02.h" #include "machine/74259.h" #include "machine/nvram.h" #include "machine/mmboard.h" #include "sound/dac.h" #include "video/pcf2100.h" +#include "video/pwm.h" -#include "screen.h" #include "speaker.h" -#include "softlist.h" +// internal artwork #include "mephisto_montec.lh" -#include "mephisto_megaiv.lh" -#include "mephisto_smondial.lh" -#include "mephisto_smondial2.lh" -class mephisto_montec_state : public driver_device +namespace { + +class montec_state : public driver_device { public: - mephisto_montec_state(const machine_config &mconfig, device_type type, const char *tag) + montec_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_muxlatch(*this, "muxlatch") + , m_lcd_latch(*this, "lcd_latch") + , m_led_pwm(*this, "led_pwm") , m_lcd(*this, "lcd%u", 0) , m_dac(*this, "dac") , m_keys(*this, "KEY.%u", 0) , m_digits(*this, "digit%u", 0U) - , m_low_leds(*this, "led%u", 0U) - , m_high_leds(*this, "led%u", 100U) { } - void smondial2(machine_config &config); void montec(machine_config &config); - void monteciv(machine_config &config); - void megaiv(machine_config &config); + void montec4le(machine_config &config); protected: - uint8_t montec_input_r(); - void montec_led_w(uint8_t data); - template<int N> void montec_lcd_s_w(uint32_t data); - - uint8_t megaiv_input_r(offs_t offset); - void megaiv_led_w(uint8_t data); - - void megaiv_mem(address_map &map); - void montec_mem(address_map &map); - void smondial2_mem(address_map &map); - virtual void machine_start() override; - virtual void machine_reset() override; +private: required_device<cpu_device> m_maincpu; required_device<mephisto_board_device> m_board; - required_device<hc259_device> m_muxlatch; + required_device<hc259_device> m_lcd_latch; + required_device<pwm_display_device> m_led_pwm; required_device_array<pcf2112_device, 2> m_lcd; required_device<dac_bit_interface> m_dac; required_ioport_array<2> m_keys; output_finder<8> m_digits; - output_finder<16> m_low_leds, m_high_leds; - - uint8_t m_leds_mux; -}; - -class mephisto_smondial_state : public mephisto_montec_state -{ -public: - mephisto_smondial_state(const machine_config &mconfig, device_type type, const char *tag) - : mephisto_montec_state(mconfig, type, tag) - , m_ledlatch(*this, "ledlatch") - , m_boardlatch(*this, "boardlatch") - { } - - void smondial(machine_config &config); -private: - template<int N> DECLARE_WRITE_LINE_MEMBER(led_mux_w); - DECLARE_WRITE_LINE_MEMBER(leds_a_w); - DECLARE_WRITE_LINE_MEMBER(leds_b_w); - DECLARE_WRITE_LINE_MEMBER(leds_c_w); - - void smondial_mem(address_map &map); + void montec_mem(address_map &map); - required_device<hc259_device> m_ledlatch; - required_device<hc259_device> m_boardlatch; + template<int N> void lcd_output_w(u32 data); + void led_w(u8 data); + void irq_ack_w(u8 data) { irq_ack_r(); } + u8 irq_ack_r(); + u8 input_r(); }; - -void mephisto_montec_state::machine_start() +void montec_state::machine_start() { m_digits.resolve(); - m_low_leds.resolve(); - m_high_leds.resolve(); - - save_item(NAME(m_leds_mux)); } -void mephisto_montec_state::machine_reset() -{ - m_leds_mux = 0x00; -} -void mephisto_montec_state::montec_led_w(uint8_t data) -{ - for(int i=0; i<4; i++) - for(int j=0; j<4; j++) - if (BIT(data, i)) - m_high_leds[(i << 2) | j] = BIT(~data, 4 + j); -} + +/****************************************************************************** + I/O +******************************************************************************/ template<int N> -void mephisto_montec_state::montec_lcd_s_w(uint32_t data) +void montec_state::lcd_output_w(u32 data) { - for (int i=0; i<4; i++) + // lcd segment outputs + for (int i = 0; i < 4; i++) m_digits[i + N*4] = bitswap<8>(data >> (8 * i), 7,4,5,0,1,2,3,6); } - -uint8_t mephisto_montec_state::montec_input_r() +void montec_state::led_w(u8 data) { - if (!m_muxlatch->q0_r()) return m_keys[1]->read(); - else if (!m_muxlatch->q1_r()) return m_keys[0]->read(); - - return m_board->input_r() ^ 0xff; + // d0-d3: keypad led select + // d4-d7: keypad led data + m_led_pwm->matrix(data & 0xf, ~data >> 4 & 0xf); } -void mephisto_montec_state::megaiv_led_w(uint8_t data) +u8 montec_state::irq_ack_r() { - if (m_leds_mux != m_board->mux_r()) - { - m_leds_mux = m_board->mux_r(); - for (int i=0; i<8; i++) - { - if (!BIT(m_leds_mux, i)) - { - m_high_leds[i] = BIT(data, 0) | BIT(data, 1); - m_low_leds[0 + i] = BIT(data, 2) | BIT(data, 3); - m_low_leds[8 + i] = BIT(data, 4) | BIT(data, 5); - } - } - } - - m_dac->write(BIT(data, 7)); + if (!machine().side_effects_disabled()) + m_maincpu->set_input_line(0, CLEAR_LINE); + + return 0; } -uint8_t mephisto_montec_state::megaiv_input_r(offs_t offset) +u8 montec_state::input_r() { - if (!m_muxlatch->q0_r()) return BIT(m_keys[1]->read(), 0 + offset) << 7; - else if (!m_muxlatch->q1_r()) return BIT(m_keys[1]->read(), 4 + offset) << 7; - else if (!m_muxlatch->q2_r()) return BIT(m_keys[0]->read(), 0 + offset) << 7; - else if (!m_muxlatch->q3_r()) return BIT(m_keys[0]->read(), 4 + offset) << 7; + u8 data = 0; + + // 74259 q0/q1 selects keypad + for (int i = 0; i < 2; i++) + if (!BIT(m_lcd_latch->output_state(), i)) + data |= m_keys[i]->read(); - return BIT(m_board->input_r(), offset) << 7; + return ~m_board->input_r() | data; } -void mephisto_montec_state::montec_mem(address_map &map) -{ - map(0x0000, 0x1fff).ram().share("nvram"); - map(0x2000, 0x2000).nopr(); // ? - map(0x2400, 0x2400).r(FUNC(mephisto_montec_state::montec_input_r)); - map(0x2800, 0x2800).w(m_board, FUNC(mephisto_board_device::mux_w)); - map(0x2c00, 0x2c00).w(m_board, FUNC(mephisto_board_device::led_w)); - map(0x3000, 0x3007).w(m_muxlatch, FUNC(hc259_device::write_d7)).nopr(); - map(0x3400, 0x3400).w(FUNC(mephisto_montec_state::montec_led_w)); - map(0x8000, 0xffff).rom(); -} -void mephisto_montec_state::megaiv_mem(address_map &map) +/****************************************************************************** + Address Maps +******************************************************************************/ + +void montec_state::montec_mem(address_map &map) { map(0x0000, 0x1fff).ram().share("nvram"); - map(0x2400, 0x2400).w(FUNC(mephisto_montec_state::megaiv_led_w)); + map(0x2000, 0x2000).rw(FUNC(montec_state::irq_ack_r), FUNC(montec_state::irq_ack_w)); + map(0x2400, 0x2400).r(FUNC(montec_state::input_r)); map(0x2800, 0x2800).w(m_board, FUNC(mephisto_board_device::mux_w)); - map(0x2c00, 0x2c07).w(m_muxlatch, FUNC(hc259_device::write_d7)).nopr(); - map(0x3000, 0x3007).r(FUNC(mephisto_montec_state::megaiv_input_r)); + map(0x2c00, 0x2c00).w(m_board, FUNC(mephisto_board_device::led_w)); + map(0x3000, 0x3007).w(m_lcd_latch, FUNC(hc259_device::write_d7)).nopr(); + map(0x3400, 0x3400).w(FUNC(montec_state::led_w)); map(0x8000, 0xffff).rom(); } -void mephisto_montec_state::smondial2_mem(address_map &map) -{ - megaiv_mem(map); - map(0x4000, 0x7fff).r("cartslot", FUNC(generic_slot_device::read_rom)); -} - - -template<int N> -WRITE_LINE_MEMBER(mephisto_smondial_state::led_mux_w) -{ - uint8_t leds_mux = ~m_ledlatch->output_state(); - if (leds_mux & 0x03) m_high_leds[N] = state; - if (leds_mux & 0x0c) m_low_leds[8 + N] = state; - if (leds_mux & 0x30) m_low_leds[0 + N] = state; -} - -WRITE_LINE_MEMBER(mephisto_smondial_state::leds_a_w) -{ - if (!m_ledlatch->q0_r() || !m_ledlatch->q1_r()) - for (int i = 0; i < 8; i++) - m_high_leds[i] = BIT(m_boardlatch->output_state(), i); -} -WRITE_LINE_MEMBER(mephisto_smondial_state::leds_b_w) -{ - if (!m_ledlatch->q2_r() || !m_ledlatch->q3_r()) - for (int i = 0; i < 8; i++) - m_low_leds[8 + i] = BIT(m_boardlatch->output_state(), i); -} - -WRITE_LINE_MEMBER(mephisto_smondial_state::leds_c_w) -{ - if (!m_ledlatch->q4_r() || !m_ledlatch->q5_r()) - for (int i = 0; i < 8; i++) - m_low_leds[0 + i] = BIT(m_boardlatch->output_state(), i); -} - -void mephisto_smondial_state::smondial_mem(address_map &map) -{ - map(0x0000, 0x1fff).ram().share("nvram"); - map(0x4000, 0x4007).r(FUNC(mephisto_smondial_state::megaiv_input_r)); - map(0x6400, 0x6407).w(m_ledlatch, FUNC(hc259_device::write_d7)); - map(0x6800, 0x6807).w(m_boardlatch, FUNC(hc259_device::write_d7)); - map(0x6c00, 0x6c07).w(m_muxlatch, FUNC(hc259_device::write_d7)); - map(0x8000, 0xffff).rom(); -} +/****************************************************************************** + Input Ports +******************************************************************************/ static INPUT_PORTS_START( montec ) PORT_START("KEY.0") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("1 Pawn") PORT_CODE(KEYCODE_1) - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("2 Knight") PORT_CODE(KEYCODE_2) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("3 Bishop") PORT_CODE(KEYCODE_3) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("4 Rook") PORT_CODE(KEYCODE_4) - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("5 Queen") PORT_CODE(KEYCODE_5) - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("6 King") PORT_CODE(KEYCODE_6) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("7 Black") PORT_CODE(KEYCODE_7) - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("8 White") PORT_CODE(KEYCODE_8) + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("BOOK / 9") PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_9_PAD) PORT_CODE(KEYCODE_B) + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("POS / 0") PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_0_PAD) PORT_CODE(KEYCODE_O) + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("MEM") PORT_CODE(KEYCODE_M) + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("INFO") PORT_CODE(KEYCODE_I) + PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("CL") PORT_CODE(KEYCODE_DEL) PORT_CODE(KEYCODE_BACKSPACE) + PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("LEV") PORT_CODE(KEYCODE_L) + PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("ENT") PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) + PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RES") PORT_CODE(KEYCODE_F1) PORT_START("KEY.1") - PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("9 Book") PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_B) - PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("0 Pos") PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_O) - PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Mem") PORT_CODE(KEYCODE_M) - PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Info") PORT_CODE(KEYCODE_I) - PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Clear") PORT_CODE(KEYCODE_BACKSPACE) - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Level") PORT_CODE(KEYCODE_L) - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Enter") PORT_CODE(KEYCODE_ENTER) - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Reset") PORT_CODE(KEYCODE_DEL) + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Pawn / 1") PORT_CODE(KEYCODE_1) + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Knight / 2") PORT_CODE(KEYCODE_2) + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Bishop / 3") PORT_CODE(KEYCODE_3) + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Rook / 4") PORT_CODE(KEYCODE_4) + PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Queen / 5") PORT_CODE(KEYCODE_5) + PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("King / 6") PORT_CODE(KEYCODE_6) + PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Black / 7") PORT_CODE(KEYCODE_7) + PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("White / 8") PORT_CODE(KEYCODE_8) INPUT_PORTS_END -static INPUT_PORTS_START( megaiv ) - PORT_START("KEY.0") - PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("3 Bishop") PORT_CODE(KEYCODE_3) - PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("7 Black") PORT_CODE(KEYCODE_7) - PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Mem") PORT_CODE(KEYCODE_M) - PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Enter") PORT_CODE(KEYCODE_ENTER) - PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("4 Rook") PORT_CODE(KEYCODE_4) - PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("8 White") PORT_CODE(KEYCODE_8) - PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Info") PORT_CODE(KEYCODE_I) - PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Reset") PORT_CODE(KEYCODE_DEL) - - PORT_START("KEY.1") - PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("1 Pawn") PORT_CODE(KEYCODE_1) - PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("5 Queen") PORT_CODE(KEYCODE_5) - PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("9 Book") PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_B) - PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Clear") PORT_CODE(KEYCODE_BACKSPACE) - PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("2 Knight") PORT_CODE(KEYCODE_2) - PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("6 King") PORT_CODE(KEYCODE_6) - PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("0 Pos") PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_O) - PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Level") PORT_CODE(KEYCODE_L) -INPUT_PORTS_END -static INPUT_PORTS_START( smondial2 ) - PORT_START("KEY.0") - PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("3 Bishop") PORT_CODE(KEYCODE_3) - PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("7 Black") PORT_CODE(KEYCODE_7) - PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Pos") PORT_CODE(KEYCODE_O) - PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Enter") PORT_CODE(KEYCODE_ENTER) - PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("4 Rook") PORT_CODE(KEYCODE_4) - PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("8 White") PORT_CODE(KEYCODE_8) - PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Mem") PORT_CODE(KEYCODE_M) - PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Reset") PORT_CODE(KEYCODE_DEL) - PORT_START("KEY.1") - PORT_BIT(0x01, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("1 Pawn") PORT_CODE(KEYCODE_1) - PORT_BIT(0x02, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("5 Queen") PORT_CODE(KEYCODE_5) - PORT_BIT(0x04, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("9 Help") PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_H) - PORT_BIT(0x08, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Level") PORT_CODE(KEYCODE_L) - PORT_BIT(0x10, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("2 Knight") PORT_CODE(KEYCODE_2) - PORT_BIT(0x20, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("6 King") PORT_CODE(KEYCODE_6) - PORT_BIT(0x40, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("0 Info") PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_I) - PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_KEYPAD) PORT_NAME("Clear") PORT_CODE(KEYCODE_BACKSPACE) -INPUT_PORTS_END +/****************************************************************************** + Machine Configs +******************************************************************************/ -void mephisto_montec_state::montec(machine_config &config) +void montec_state::montec(machine_config &config) { - M65C02(config, m_maincpu, XTAL(8'000'000) / 2); // R65C02P4 - m_maincpu->set_addrmap(AS_PROGRAM, &mephisto_montec_state::montec_mem); - m_maincpu->set_periodic_int(FUNC(mephisto_montec_state::nmi_line_pulse), attotime::from_hz(XTAL(8'000'000) / (1 << 14))); + /* basic machine hardware */ + R65C02(config, m_maincpu, 8_MHz_XTAL / 2); // R65C02P4 + m_maincpu->set_addrmap(AS_PROGRAM, &montec_state::montec_mem); + + const attotime irq_period = attotime::from_hz(8_MHz_XTAL / 2 / 0x2000); + m_maincpu->set_periodic_int(FUNC(montec_state::irq0_line_assert), irq_period); NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); - HC259(config, m_muxlatch); - m_muxlatch->q_out_cb<2>().set(m_dac, FUNC(dac_bit_interface::write)); - m_muxlatch->q_out_cb<4>().set(m_lcd[0], FUNC(pcf2112_device::data_w)); - m_muxlatch->q_out_cb<4>().append(m_lcd[1], FUNC(pcf2112_device::data_w)); - m_muxlatch->q_out_cb<5>().set(m_lcd[1], FUNC(pcf2112_device::dlen_w)); - m_muxlatch->q_out_cb<6>().set(m_lcd[0], FUNC(pcf2112_device::clb_w)); - m_muxlatch->q_out_cb<6>().append(m_lcd[1], FUNC(pcf2112_device::clb_w)); - m_muxlatch->q_out_cb<7>().set(m_lcd[0], FUNC(pcf2112_device::dlen_w)); + HC259(config, m_lcd_latch); + m_lcd_latch->q_out_cb<2>().set(m_dac, FUNC(dac_bit_interface::write)).invert(); + m_lcd_latch->q_out_cb<4>().set(m_lcd[0], FUNC(pcf2112_device::data_w)); + m_lcd_latch->q_out_cb<4>().append(m_lcd[1], FUNC(pcf2112_device::data_w)); + m_lcd_latch->q_out_cb<5>().set(m_lcd[1], FUNC(pcf2112_device::dlen_w)); + m_lcd_latch->q_out_cb<6>().set(m_lcd[0], FUNC(pcf2112_device::clb_w)); + m_lcd_latch->q_out_cb<6>().append(m_lcd[1], FUNC(pcf2112_device::clb_w)); + m_lcd_latch->q_out_cb<7>().set(m_lcd[0], FUNC(pcf2112_device::dlen_w)); + + MEPHISTO_SENSORS_BOARD(config, m_board); // internal + m_board->set_delay(attotime::from_msec(300)); + /* video hardware */ PCF2112(config, m_lcd[0], 50); // frequency guessed - m_lcd[0]->write_segs().set(FUNC(mephisto_montec_state::montec_lcd_s_w<0>)); + m_lcd[0]->write_segs().set(FUNC(montec_state::lcd_output_w<0>)); PCF2112(config, m_lcd[1], 50); // " - m_lcd[1]->write_segs().set(FUNC(mephisto_montec_state::montec_lcd_s_w<1>)); - - SPEAKER(config, "speaker").front_center(); - DAC_1BIT(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.25); - - MEPHISTO_SENSORS_BOARD(config, m_board); - m_board->set_delay(attotime::from_msec(300)); + m_lcd[1]->write_segs().set(FUNC(montec_state::lcd_output_w<1>)); + PWM_DISPLAY(config, m_led_pwm).set_size(4, 4); config.set_default_layout(layout_mephisto_montec); -} -void mephisto_montec_state::monteciv(machine_config &config) -{ - montec(config); - m_maincpu->set_clock(XTAL(8'000'000)); - m_board->set_delay(attotime::from_msec(150)); + /* sound hardware */ + SPEAKER(config, "speaker").front_center(); + DAC_1BIT(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.25); } -void mephisto_montec_state::megaiv(machine_config &config) +void montec_state::montec4le(machine_config &config) { montec(config); - m_maincpu->set_clock(XTAL(4'915'200)); - m_maincpu->set_addrmap(AS_PROGRAM, &mephisto_montec_state::megaiv_mem); - m_maincpu->set_periodic_int(FUNC(mephisto_montec_state::nmi_line_pulse), attotime::from_hz(XTAL(4'915'200) / (1 << 13))); - - m_muxlatch->q_out_cb<2>().set_nop(); - - MEPHISTO_BUTTONS_BOARD(config.replace(), m_board); - m_board->set_delay(attotime::from_msec(250)); - m_board->set_disable_leds(true); - config.set_default_layout(layout_mephisto_megaiv); -} -void mephisto_smondial_state::smondial(machine_config &config) -{ - megaiv(config); - m_maincpu->set_clock(XTAL(4'000'000)); - m_maincpu->set_addrmap(AS_PROGRAM, &mephisto_smondial_state::smondial_mem); - m_maincpu->set_periodic_int(FUNC(mephisto_montec_state::nmi_line_pulse), attotime::from_hz(XTAL(4'000'000) / (1 << 13))); - - HC259(config, m_ledlatch); - m_ledlatch->q_out_cb<0>().set(FUNC(mephisto_smondial_state::leds_a_w)); - m_ledlatch->q_out_cb<1>().set(FUNC(mephisto_smondial_state::leds_a_w)); - m_ledlatch->q_out_cb<2>().set(FUNC(mephisto_smondial_state::leds_b_w)); - m_ledlatch->q_out_cb<3>().set(FUNC(mephisto_smondial_state::leds_b_w)); - m_ledlatch->q_out_cb<4>().set(FUNC(mephisto_smondial_state::leds_c_w)); - m_ledlatch->q_out_cb<5>().set(FUNC(mephisto_smondial_state::leds_c_w)); - m_ledlatch->q_out_cb<7>().set(m_dac, FUNC(dac_bit_interface::write)); - - HC259(config, m_boardlatch); - m_boardlatch->parallel_out_cb().set(m_board, FUNC(mephisto_board_device::mux_w)).invert(); - m_boardlatch->q_out_cb<0>().set(FUNC(mephisto_smondial_state::led_mux_w<0>)); - m_boardlatch->q_out_cb<1>().set(FUNC(mephisto_smondial_state::led_mux_w<1>)); - m_boardlatch->q_out_cb<2>().set(FUNC(mephisto_smondial_state::led_mux_w<2>)); - m_boardlatch->q_out_cb<3>().set(FUNC(mephisto_smondial_state::led_mux_w<3>)); - m_boardlatch->q_out_cb<4>().set(FUNC(mephisto_smondial_state::led_mux_w<4>)); - m_boardlatch->q_out_cb<5>().set(FUNC(mephisto_smondial_state::led_mux_w<5>)); - m_boardlatch->q_out_cb<6>().set(FUNC(mephisto_smondial_state::led_mux_w<6>)); - m_boardlatch->q_out_cb<7>().set(FUNC(mephisto_smondial_state::led_mux_w<7>)); - - config.set_default_layout(layout_mephisto_smondial); -} - -void mephisto_montec_state::smondial2(machine_config &config) -{ - megaiv(config); - m_maincpu->set_clock(XTAL(4'000'000)); - m_maincpu->set_addrmap(AS_PROGRAM, &mephisto_montec_state::smondial2_mem); - m_maincpu->set_periodic_int(FUNC(mephisto_montec_state::nmi_line_pulse), attotime::from_hz(XTAL(4'000'000) / (1 << 13))); + /* basic machine hardware */ + M65C02(config.replace(), m_maincpu, 8_MHz_XTAL); + m_maincpu->set_addrmap(AS_PROGRAM, &montec_state::montec_mem); - GENERIC_CARTSLOT(config, "cartslot", generic_plain_slot, "smondial2_cart"); - SOFTWARE_LIST(config, "cart_list").set_original("mephisto_smondial2"); + const attotime irq_period = attotime::from_hz(8_MHz_XTAL / 0x4000); + m_maincpu->set_periodic_int(FUNC(montec_state::irq0_line_assert), irq_period); - config.set_default_layout(layout_mephisto_smondial2); + m_board->set_delay(attotime::from_msec(150)); } -ROM_START( megaiv ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD("megaiv.bin", 0x8000, 0x8000, CRC(dee355d2) SHA1(6bc79c0fb169020f017412f5f9696b9ecafbf99f) ) -ROM_END - -ROM_START( megaiva ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD("mega_iv_17.03.88", 0x8000, 0x8000, CRC(85267e82) SHA1(654c9cf84bf2165fc94f8c4cf9c662786ef3283b) ) -ROM_END -ROM_START( monteciv ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD("mciv.bin", 0x8000, 0x8000, CRC(c4887694) SHA1(7f482d2a40fcb3125266e7a5407da315b4f9b49c) ) -ROM_END +/****************************************************************************** + ROM Definitions +******************************************************************************/ ROM_START( montec ) ROM_REGION( 0x10000, "maincpu", 0 ) @@ -441,36 +246,22 @@ ROM_START( monteca ) ROM_LOAD("mc2_20.7.87", 0x8000, 0x8000, CRC(05524da9) SHA1(bee2ffe09a27095f733584e0fb1203b95c23e17e) ) ROM_END -ROM_START( smondial ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD("supermondial_a.bin", 0x8000, 0x8000, CRC(c1d7d0a5) SHA1(d7f0da6938458c06925f0936e63915319144d7e0) ) -ROM_END -ROM_START( smondialab ) +ROM_START( montec4le ) ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD("supermondial_ab.bin", 0x8000, 0x8000, CRC(a8781685) SHA1(fd4c97e13bd398dc4c85e3e1778bf7e59fccd71e) ) + ROM_LOAD("mc4le.bin", 0x8000, 0x8000, CRC(c4887694) SHA1(7f482d2a40fcb3125266e7a5407da315b4f9b49c) ) ROM_END -ROM_START( smondialb ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD("supermondial_b.bin", 0x8000, 0x8000, CRC(6fb89e97) SHA1(b001e657b4fdc097322b28a25c31814f3da7b124) ) -ROM_END +} // anonymous namespace -ROM_START( smondial2 ) - ROM_REGION( 0x10000, "maincpu", 0 ) - ROM_LOAD("supermondial_ii.bin", 0x8000, 0x8000, CRC(cd73df4a) SHA1(bad786074be613d7f48bf98b6fdf8178a4a85f5b) ) -ROM_END -/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ -CONS( 1988, megaiv, 0, 0, megaiv, megaiv, mephisto_montec_state, empty_init, "Hegener + Glaser", "Mephisto Mega IV (set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) -CONS( 1988, megaiva, megaiv, 0, megaiv, megaiv, mephisto_montec_state, empty_init, "Hegener + Glaser", "Mephisto Mega IV (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +/*************************************************************************** + Game Drivers +***************************************************************************/ -CONS( 1986, smondial, 0, 0, smondial, megaiv, mephisto_smondial_state, empty_init, "Hegener + Glaser", "Mephisto Super Mondial (ver. A)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) -CONS( 1986, smondialab, smondial, 0, smondial, megaiv, mephisto_smondial_state, empty_init, "Hegener + Glaser", "Mephisto Super Mondial (ver. AB)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) -CONS( 1986, smondialb, smondial, 0, megaiv, megaiv, mephisto_montec_state, empty_init, "Hegener + Glaser", "Mephisto Super Mondial (ver. B)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) -CONS( 1988, smondial2, 0, 0, smondial2, smondial2, mephisto_montec_state, empty_init, "Hegener + Glaser", "Mephisto Super Mondial II", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ +CONS( 1987, montec, 0, 0, montec, montec, montec_state, empty_init, "Hegener + Glaser", "Mephisto Monte Carlo (ver. MC3)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1987, monteca, montec, 0, montec, montec, montec_state, empty_init, "Hegener + Glaser", "Mephisto Monte Carlo (ver. MC2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) -CONS( 1987, montec, 0, 0, montec, montec, mephisto_montec_state, empty_init, "Hegener + Glaser", "Mephisto Monte Carlo (ver. MC3)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) -CONS( 1987, monteca, montec, 0, montec, montec, mephisto_montec_state, empty_init, "Hegener + Glaser", "Mephisto Monte Carlo (ver. MC2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) -CONS( 1990, monteciv, 0, 0, monteciv, montec, mephisto_montec_state, empty_init, "Hegener + Glaser", "Mephisto Monte Carlo IV - Limited Edition", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1990, montec4le, 0, 0, montec4le, montec, montec_state, empty_init, "Hegener + Glaser", "Mephisto Monte Carlo IV - Limited Edition", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) diff --git a/src/mame/drivers/mephisto_smondial.cpp b/src/mame/drivers/mephisto_smondial.cpp new file mode 100644 index 00000000000..a1f119ba28e --- /dev/null +++ b/src/mame/drivers/mephisto_smondial.cpp @@ -0,0 +1,407 @@ +// license:BSD-3-Clause +// copyright-holders:Sandro Ronco, hap +// thanks-to:yoyo_chessboard +/****************************************************************************** + +Mephisto Super Mondial +Mephisto Super Mondial II +Mephisto Mega IV + +Hardware notes: +- G65SC02P-4 @ 4MHz +- 8KB RAMbattery-backed), 32KB ROM +- expansion slot at underside (only used for smondial2) +- 2*PCF2112, 2 7seg LCD screens +- 8*8 chessboard buttons, 24 tri-color leds, piezo + +Undocumented buttons: +- smondialb: holding CL+INFO on boot runs diagnostics + +******************************************************************************/ + +#include "emu.h" + +#include "bus/generic/slot.h" +#include "bus/generic/carts.h" +#include "cpu/m6502/m65sc02.h" +#include "cpu/m6502/r65c02.h" +#include "machine/74259.h" +#include "machine/nvram.h" +#include "machine/sensorboard.h" +#include "sound/dac.h" +#include "video/pcf2100.h" +#include "video/pwm.h" + +#include "softlist.h" +#include "speaker.h" + +// internal artwork +#include "mephisto_smondial.lh" +#include "mephisto_smondial2.lh" + + +namespace { + +// Super Mondial B / shared + +class smondialb_state : public driver_device +{ +public: + smondialb_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_lcd_latch(*this, "lcd_latch") + , m_led_pwm(*this, "led_pwm") + , m_lcd(*this, "lcd%u", 0) + , m_dac(*this, "dac") + , m_keys(*this, "KEY.%u", 0) + , m_digits(*this, "digit%u", 0U) + { } + + // machine configs + void smondial2(machine_config &config); + void mega4(machine_config &config); + void smondialb(machine_config &config); + +protected: + virtual void machine_start() override; + + // devices/pointers + required_device<cpu_device> m_maincpu; + required_device<sensorboard_device> m_board; + required_device<hc259_device> m_lcd_latch; + required_device<pwm_display_device> m_led_pwm; + required_device_array<pcf2112_device, 2> m_lcd; + required_device<dac_bit_interface> m_dac; + required_ioport_array<4> m_keys; + output_finder<8> m_digits; + + // address maps + void smondialb_mem(address_map &map); + void smondial2_mem(address_map &map); + + // I/O handlers + template<int N> void lcd_output_w(u32 data); + void update_leds(); + u8 input_r(offs_t offset); + virtual void led_w(u8 data); + void board_w(u8 data); + INTERRUPT_GEN_MEMBER(nmi_handler); + + u8 m_led_data = 0; + u8 m_board_mux = 0; +}; + +void smondialb_state::machine_start() +{ + m_digits.resolve(); + + save_item(NAME(m_led_data)); + save_item(NAME(m_board_mux)); +} + +// Super Mondial A + +class smondiala_state : public smondialb_state +{ +public: + smondiala_state(const machine_config &mconfig, device_type type, const char *tag) : + smondialb_state(mconfig, type, tag) + { } + + void smondiala(machine_config &config); + +private: + void smondiala_mem(address_map &map); + + // led row/column is switched around, do a trampoline here instead of making a different .lay file + virtual void led_w(u8 data) override { smondialb_state::led_w(bitswap<8>(data, 7,6,3,2,5,4,1,0)); } + + void irq_ack_w(u8 data); +}; + + + +/****************************************************************************** + I/O +******************************************************************************/ + +template<int N> +void smondialb_state::lcd_output_w(u32 data) +{ + // lcd segment outputs + for (int i = 0; i < 4; i++) + m_digits[i + N*4] = bitswap<8>(data >> (8 * i), 7,4,5,0,1,2,3,6); +} + +void smondialb_state::update_leds() +{ + m_led_pwm->matrix(m_board_mux, m_led_data); +} + +void smondialb_state::board_w(u8 data) +{ + m_board_mux = ~data; + update_leds(); +} + +void smondialb_state::led_w(u8 data) +{ + // d0-d5: led data + m_led_data = data; + update_leds(); + + // d6: nmi enable (does not apply to smondiala) + // d7: speaker out + m_dac->write(BIT(data, 7)); +} + +u8 smondialb_state::input_r(offs_t offset) +{ + u8 data = 0; + + // read keypad + for (int i = 0; i < 4; i++) + if (!BIT(m_lcd_latch->output_state(), i)) + data |= BIT(m_keys[i]->read(), offset & 3); + + // read chessboard sensors + for (int i = 0; i < 8; i++) + if (BIT(m_board_mux, i)) + data |= BIT(m_board->read_rank(i), offset); + + return ~(data << 7); +} + +INTERRUPT_GEN_MEMBER(smondialb_state::nmi_handler) +{ + if (m_led_data & 0x40) + m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero); +} + +void smondiala_state::irq_ack_w(u8 data) +{ + m_maincpu->set_input_line(0, CLEAR_LINE); +} + + + +/****************************************************************************** + Address Maps +******************************************************************************/ + +void smondialb_state::smondialb_mem(address_map &map) +{ + map(0x0000, 0x1fff).ram().share("nvram"); + map(0x2400, 0x2400).w(FUNC(smondialb_state::led_w)); + map(0x2800, 0x2800).w(FUNC(smondialb_state::board_w)); + map(0x2c00, 0x2c07).w(m_lcd_latch, FUNC(hc259_device::write_d7)).nopr(); + map(0x3000, 0x3007).r(FUNC(smondialb_state::input_r)); + map(0x8000, 0xffff).rom(); +} + +void smondialb_state::smondial2_mem(address_map &map) +{ + smondialb_mem(map); + map(0x4000, 0x7fff).r("cartslot", FUNC(generic_slot_device::read_rom)); +} + +void smondiala_state::smondiala_mem(address_map &map) +{ + map(0x0000, 0x1fff).ram().share("nvram"); + map(0x4000, 0x4007).r(FUNC(smondiala_state::input_r)); + map(0x6000, 0x6000).w(FUNC(smondiala_state::irq_ack_w)); + map(0x6400, 0x6407).w("led_latch", FUNC(hc259_device::write_d7)).nopr(); + map(0x6800, 0x6807).w("board_latch", FUNC(hc259_device::write_d7)).nopr(); + map(0x6c00, 0x6c07).w(m_lcd_latch, FUNC(hc259_device::write_d7)).nopr(); + map(0x8000, 0xffff).rom(); +} + + + +/****************************************************************************** + Input Ports +******************************************************************************/ + +static INPUT_PORTS_START( smondial ) + PORT_START("KEY.0") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Pawn / 1") PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Queen / 5") PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("BOOK / 9") PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_9_PAD) PORT_CODE(KEYCODE_B) + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("CL") PORT_CODE(KEYCODE_DEL) PORT_CODE(KEYCODE_BACKSPACE) + + PORT_START("KEY.1") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Knight / 2") PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("King / 6") PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("POS / 0") PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_0_PAD) PORT_CODE(KEYCODE_O) + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("LEV") PORT_CODE(KEYCODE_L) + + PORT_START("KEY.2") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Bishop / 3") PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Black / 7") PORT_CODE(KEYCODE_7) PORT_CODE(KEYCODE_7_PAD) + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("MEM") PORT_CODE(KEYCODE_M) + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("ENT") PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) + + PORT_START("KEY.3") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Rook / 4") PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) + PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("White / 8") PORT_CODE(KEYCODE_8) PORT_CODE(KEYCODE_8_PAD) + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("INFO") PORT_CODE(KEYCODE_I) + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RES") PORT_CODE(KEYCODE_F1) +INPUT_PORTS_END + +static INPUT_PORTS_START( smondial2 ) + PORT_INCLUDE( smondial ) + + PORT_MODIFY("KEY.0") + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("HELP / 9") PORT_CODE(KEYCODE_9) PORT_CODE(KEYCODE_9_PAD) PORT_CODE(KEYCODE_H) + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("LEV") PORT_CODE(KEYCODE_L) + + PORT_MODIFY("KEY.1") + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("INFO / 0") PORT_CODE(KEYCODE_0) PORT_CODE(KEYCODE_0_PAD) PORT_CODE(KEYCODE_I) + PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("CL") PORT_CODE(KEYCODE_DEL) PORT_CODE(KEYCODE_BACKSPACE) + + PORT_MODIFY("KEY.2") + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("POS") PORT_CODE(KEYCODE_O) + + PORT_MODIFY("KEY.3") + PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("MEM") PORT_CODE(KEYCODE_M) +INPUT_PORTS_END + + + +/****************************************************************************** + Machine Configs +******************************************************************************/ + +void smondialb_state::smondialb(machine_config &config) +{ + /* basic machine hardware */ + M65SC02(config, m_maincpu, 4_MHz_XTAL); + m_maincpu->set_addrmap(AS_PROGRAM, &smondialb_state::smondialb_mem); + + const attotime nmi_period = attotime::from_hz(4_MHz_XTAL / 0x2000); + m_maincpu->set_periodic_int(FUNC(smondialb_state::nmi_handler), nmi_period); + + NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0); + + HC259(config, m_lcd_latch); + m_lcd_latch->q_out_cb<4>().set(m_lcd[0], FUNC(pcf2112_device::data_w)); + m_lcd_latch->q_out_cb<4>().append(m_lcd[1], FUNC(pcf2112_device::data_w)); + m_lcd_latch->q_out_cb<5>().set(m_lcd[1], FUNC(pcf2112_device::dlen_w)); + m_lcd_latch->q_out_cb<6>().set(m_lcd[0], FUNC(pcf2112_device::clb_w)); + m_lcd_latch->q_out_cb<6>().append(m_lcd[1], FUNC(pcf2112_device::clb_w)); + m_lcd_latch->q_out_cb<7>().set(m_lcd[0], FUNC(pcf2112_device::dlen_w)); + + 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(250)); + + /* video hardware */ + PCF2112(config, m_lcd[0], 50); // frequency guessed + m_lcd[0]->write_segs().set(FUNC(smondialb_state::lcd_output_w<0>)); + PCF2112(config, m_lcd[1], 50); // " + m_lcd[1]->write_segs().set(FUNC(smondialb_state::lcd_output_w<1>)); + + PWM_DISPLAY(config, m_led_pwm).set_size(8, 6); + config.set_default_layout(layout_mephisto_smondial); + + /* sound hardware */ + SPEAKER(config, "speaker").front_center(); + DAC_1BIT(config, m_dac).add_route(ALL_OUTPUTS, "speaker", 0.25); +} + +void smondiala_state::smondiala(machine_config &config) +{ + smondialb(config); + + /* basic machine hardware */ + m_maincpu->set_addrmap(AS_PROGRAM, &smondiala_state::smondiala_mem); + + const attotime irq_period = attotime::from_hz(4_MHz_XTAL / 0x2000); + m_maincpu->set_periodic_int(FUNC(smondiala_state::irq0_line_assert), irq_period); + + HC259(config, "led_latch").parallel_out_cb().set(FUNC(smondiala_state::led_w)).invert(); + HC259(config, "board_latch").parallel_out_cb().set(FUNC(smondiala_state::board_w)).invert(); +} + +void smondialb_state::smondial2(machine_config &config) +{ + smondialb(config); + + /* basic machine hardware */ + m_maincpu->set_addrmap(AS_PROGRAM, &smondialb_state::smondial2_mem); + + GENERIC_CARTSLOT(config, "cartslot", generic_plain_slot, "smondial2_cart"); + SOFTWARE_LIST(config, "cart_list").set_original("mephisto_smondial2"); + + config.set_default_layout(layout_mephisto_smondial2); +} + +void smondialb_state::mega4(machine_config &config) +{ + smondialb(config); + + /* basic machine hardware */ + R65C02(config.replace(), m_maincpu, 4.9152_MHz_XTAL); + m_maincpu->set_addrmap(AS_PROGRAM, &smondialb_state::smondialb_mem); + + const attotime nmi_period = attotime::from_hz(4.9152_MHz_XTAL / 0x2000); + m_maincpu->set_periodic_int(FUNC(smondialb_state::nmi_handler), nmi_period); +} + + + +/****************************************************************************** + ROM Definitions +******************************************************************************/ + +ROM_START( smondial ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD("supermondial_a.bin", 0x8000, 0x8000, CRC(c1d7d0a5) SHA1(d7f0da6938458c06925f0936e63915319144d7e0) ) +ROM_END + +ROM_START( smondialab ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD("supermondial_ab.bin", 0x8000, 0x8000, CRC(a8781685) SHA1(fd4c97e13bd398dc4c85e3e1778bf7e59fccd71e) ) +ROM_END + +ROM_START( smondialb ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD("supermondial_b.bin", 0x8000, 0x8000, CRC(6fb89e97) SHA1(b001e657b4fdc097322b28a25c31814f3da7b124) ) +ROM_END + + +ROM_START( smondial2 ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD("supermondial_ii.bin", 0x8000, 0x8000, CRC(cd73df4a) SHA1(bad786074be613d7f48bf98b6fdf8178a4a85f5b) ) +ROM_END + + +ROM_START( mega4 ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD("mega_iv.bin", 0x8000, 0x8000, CRC(dee355d2) SHA1(6bc79c0fb169020f017412f5f9696b9ecafbf99f) ) +ROM_END + +ROM_START( mega4a ) + ROM_REGION( 0x10000, "maincpu", 0 ) + ROM_LOAD("mega_iv_17.03.88", 0x8000, 0x8000, CRC(85267e82) SHA1(654c9cf84bf2165fc94f8c4cf9c662786ef3283b) ) +ROM_END + +} // anonymous namespace + + + +/*************************************************************************** + Game Drivers +***************************************************************************/ + +/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ +CONS( 1986, smondial, 0, 0, smondiala, smondial, smondiala_state, empty_init, "Hegener + Glaser", "Mephisto Super Mondial (ver. A)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1986, smondialab, smondial, 0, smondiala, smondial, smondiala_state, empty_init, "Hegener + Glaser", "Mephisto Super Mondial (ver. AB)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1986, smondialb, smondial, 0, smondialb, smondial, smondialb_state, empty_init, "Hegener + Glaser", "Mephisto Super Mondial (ver. B)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) + +CONS( 1988, smondial2, 0, 0, smondial2, smondial2, smondialb_state, empty_init, "Hegener + Glaser", "Mephisto Super Mondial II", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) + +CONS( 1988, mega4, 0, 0, mega4, smondial, smondialb_state, empty_init, "Hegener + Glaser", "Mephisto Mega IV (set 1)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) +CONS( 1988, mega4a, mega4, 0, mega4, smondial, smondialb_state, empty_init, "Hegener + Glaser", "Mephisto Mega IV (set 2)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) diff --git a/src/mame/layout/mephisto_academy.lay b/src/mame/layout/mephisto_academy.lay index fabca06d644..d9f923498a7 100644 --- a/src/mame/layout/mephisto_academy.lay +++ b/src/mame/layout/mephisto_academy.lay @@ -20,10 +20,10 @@ license:CC0 <element name="led" defstate="0"> <disk state="0"> - <color red="0.20" green="0.0" blue="0.0" /> + <color red="0.2" green="0" blue="0" /> </disk> <disk state="1"> - <color red="0.95" green="0.0" blue="0.0" /> + <color red="1" green="0.1" blue="0.1" /> </disk> </element> <element name="hlbr" defstate="0"> diff --git a/src/mame/layout/mephisto_alm16.lay b/src/mame/layout/mephisto_alm16.lay index e74f8ca549b..4cebb32edd6 100644 --- a/src/mame/layout/mephisto_alm16.lay +++ b/src/mame/layout/mephisto_alm16.lay @@ -11,7 +11,7 @@ license:CC0 <color red="0.20" green="0.0" blue="0.0" /> </disk> <disk state="1"> - <color red="0.95" green="0.0" blue="0.0" /> + <color red="1" green="0.1" blue="0.1" /> </disk> </element> diff --git a/src/mame/layout/mephisto_alm32.lay b/src/mame/layout/mephisto_alm32.lay index e141fc81c1c..fe82c2b9431 100644 --- a/src/mame/layout/mephisto_alm32.lay +++ b/src/mame/layout/mephisto_alm32.lay @@ -11,7 +11,7 @@ license:CC0 <color red="0.20" green="0.0" blue="0.0" /> </disk> <disk state="1"> - <color red="0.95" green="0.0" blue="0.0" /> + <color red="1" green="0.1" blue="0.1" /> </disk> </element> diff --git a/src/mame/layout/mephisto_amsterdam.lay b/src/mame/layout/mephisto_amsterdam.lay index 51f2378c647..5cdc50483d0 100644 --- a/src/mame/layout/mephisto_amsterdam.lay +++ b/src/mame/layout/mephisto_amsterdam.lay @@ -11,7 +11,7 @@ license:CC0 <color red="0.20" green="0.0" blue="0.0" /> </disk> <disk state="1"> - <color red="0.95" green="0.0" blue="0.0" /> + <color red="1" green="0.1" blue="0.1" /> </disk> </element> <element name="hlb" defstate="0"> diff --git a/src/mame/layout/mephisto_berlin.lay b/src/mame/layout/mephisto_berlin.lay index 1ea3103a18f..d77ad3c87f3 100644 --- a/src/mame/layout/mephisto_berlin.lay +++ b/src/mame/layout/mephisto_berlin.lay @@ -11,7 +11,7 @@ license:CC0 <color red="0.20" green="0.0" blue="0.0" /> </disk> <disk state="1"> - <color red="0.95" green="0.0" blue="0.0" /> + <color red="1" green="0.1" blue="0.1" /> </disk> </element> <element name="hlb" defstate="0"> diff --git a/src/mame/layout/mephisto_bup.lay b/src/mame/layout/mephisto_bup.lay index 8b718a333e7..80caabb1f61 100644 --- a/src/mame/layout/mephisto_bup.lay +++ b/src/mame/layout/mephisto_bup.lay @@ -11,7 +11,7 @@ license:CC0 <color red="0.20" green="0.0" blue="0.0" /> </disk> <disk state="1"> - <color red="0.95" green="0.0" blue="0.0" /> + <color red="1" green="0.1" blue="0.1" /> </disk> </element> <element name="hlb" defstate="0"> diff --git a/src/mame/layout/mephisto_gen32.lay b/src/mame/layout/mephisto_gen32.lay index 498fbecc855..85eed4e009a 100644 --- a/src/mame/layout/mephisto_gen32.lay +++ b/src/mame/layout/mephisto_gen32.lay @@ -11,7 +11,7 @@ license:CC0 <color red="0.20" green="0.0" blue="0.0" /> </disk> <disk state="1"> - <color red="0.95" green="0.0" blue="0.0" /> + <color red="1" green="0.1" blue="0.1" /> </disk> </element> diff --git a/src/mame/layout/mephisto_glasgow.lay b/src/mame/layout/mephisto_glasgow.lay index 4ec926a6368..3b161ef2592 100644 --- a/src/mame/layout/mephisto_glasgow.lay +++ b/src/mame/layout/mephisto_glasgow.lay @@ -11,7 +11,7 @@ license:CC0 <color red="0.20" green="0.0" blue="0.0" /> </disk> <disk state="1"> - <color red="0.95" green="0.0" blue="0.0" /> + <color red="1" green="0.1" blue="0.1" /> </disk> </element> <element name="hlb" defstate="0"> diff --git a/src/mame/layout/mephisto_megaiv.lay b/src/mame/layout/mephisto_megaiv.lay deleted file mode 100644 index 59bf904bebe..00000000000 --- a/src/mame/layout/mephisto_megaiv.lay +++ /dev/null @@ -1,497 +0,0 @@ -<?xml version="1.0"?> -<!-- -license:CC0 ---> -<mamelayout version="2"> - -<!-- define elements --> - - <element name="digit" defstate="0"> - <led7seg><color red="0.2" green="0.16" blue="0.16" /></led7seg> - </element> - - <element name="led" defstate="0"> - <rect state="0"> - <color red="0.20" green="0.0" blue="0.0" /> - </rect> - <rect state="1"> - <color red="0.95" green="0.0" blue="0.0" /> - </rect> - </element> - <element name="hlb" defstate="0"> - <text string=" "> - <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="0.0" green="0.0" blue="0.0" /> - </text> - <disk state="1"> - <bounds x="0.0" y="0.0" width="1.0" height="1.0" /> - <color red="1.0" green="1.0" blue="1.0" /> - </disk> - </element> - - <element name="led7seg_background"><rect><color red="0.54" green="0.57" blue="0.58" /> </rect></element> - <element name="background"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect></element> - <element name="black"> <rect><color red="0" green="0" blue="0" /> </rect></element> - <element name="red"> <rect><color red="0.8" green="0.2" blue="0.2" /> </rect></element> - - <element name="text_1"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="1"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_2"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="2"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_3"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="3"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_4"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="4"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_5"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="5"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_6"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="6"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_7"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="7"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_8"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="8"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_a"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="A"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_b"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="B"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_c"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="C"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_d"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="D"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_e"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="E"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_f"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="F"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_g"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="G"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_h"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="H"> <color red="0" green="0" blue="0" /></text> </element> - - <element name="text_book"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="BOOK"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_pos"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="POS"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_mem"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="MEM"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_info"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="INFO"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_err"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="ERR"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_lev"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="LEV"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_black"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="■"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_white"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="□"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_b1"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="[P] 1"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_b2"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="[N] 2"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_b3"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="[B] 3"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_b4"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="[R] 4"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_b5"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="[Q] 5"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_b6"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="[K] 6"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_b7"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="■ 7 ◄"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_b8"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="□ 8 ►"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_book9"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="BOOK 9"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_pos0"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="POS 0"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_cl"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="CL"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_ent"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="ENT"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_res"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="RES"> <color red="0" green="0" blue="0" /></text> </element> - <element name="text_lcd"> <rect><color red="0.9" green="0.9" blue="0.9" /></rect> <text string="MULTI INFO LCD"> <color red="0" green="0" blue="0" /></text> </element> - - - <element name="piece" defstate="0"> - <image file="chess/wp.svg" state="1"/> - <image file="chess/wn.svg" state="2"/> - <image file="chess/wb.svg" state="3"/> - <image file="chess/wr.svg" state="4"/> - <image file="chess/wq.svg" state="5"/> - <image file="chess/wk.svg" state="6"/> - - <image file="chess/bp.svg" state="7"/> - <image file="chess/bn.svg" state="8"/> - <image file="chess/bb.svg" state="9"/> - <image file="chess/br.svg" state="10"/> - <image file="chess/bq.svg" state="11"/> - <image file="chess/bk.svg" state="12"/> - - <!-- selected pieces --> - <image file="chess/wp.svg" state="13"><color alpha="0.5" /></image> - <image file="chess/wn.svg" state="14"><color alpha="0.5" /></image> - <image file="chess/wb.svg" state="15"><color alpha="0.5" /></image> - <image file="chess/wr.svg" state="16"><color alpha="0.5" /></image> - <image file="chess/wq.svg" state="17"><color alpha="0.5" /></image> - <image file="chess/wk.svg" state="18"><color alpha="0.5" /></image> - - <image file="chess/bp.svg" state="19"><color alpha="0.5" /></image> - <image file="chess/bn.svg" state="20"><color alpha="0.5" /></image> - <image file="chess/bb.svg" state="21"><color alpha="0.5" /></image> - <image file="chess/br.svg" state="22"><color alpha="0.5" /></image> - <image file="chess/bq.svg" state="23"><color alpha="0.5" /></image> - <image file="chess/bk.svg" state="24"><color alpha="0.5" /></image> - </element> - - -<!-- sb board --> - - <element name="cwhite"><rect><color red="0.9" green="0.9" blue="0.9" /></rect></element> - <element name="cblack"><rect><color red="0.4" green="0.4" blue="0.4" /></rect></element> - - <element name="hlbb" defstate="0"> - <text string=" "><bounds x="0" y="0" width="1" height="1" /></text> - <disk state="1"> - <bounds x="0.12" y="0.12" width="0.76" height="0.76" /> - <color red="0" green="0" blue="0" /> - </disk> - </element> - - <group name="sb_board"> - <bounds x="0" y="0" width="80" height="80" /> - - <!-- squares (avoid seams) --> - <element ref="cwhite"><bounds x="0" y="0" width="11" height="11" /></element> - <element ref="cblack"><bounds x="10" y="0" width="11" height="11" /></element> - <element ref="cwhite"><bounds x="20" y="0" width="11" height="11" /></element> - <element ref="cblack"><bounds x="30" y="0" width="11" height="11" /></element> - <element ref="cwhite"><bounds x="40" y="0" width="11" height="11" /></element> - <element ref="cblack"><bounds x="50" y="0" width="11" height="11" /></element> - <element ref="cwhite"><bounds x="60" y="0" width="11" height="11" /></element> - <element ref="cblack"><bounds x="70" y="0" width="10" height="11" /></element> - - <element ref="cblack"><bounds x="0" y="10" width="11" height="11" /></element> - <element ref="cwhite"><bounds x="10" y="10" width="11" height="11" /></element> - <element ref="cblack"><bounds x="20" y="10" width="11" height="11" /></element> - <element ref="cwhite"><bounds x="30" y="10" width="11" height="11" /></element> - <element ref="cblack"><bounds x="40" y="10" width="11" height="11" /></element> - <element ref="cwhite"><bounds x="50" y="10" width="11" height="11" /></element> - <element ref="cblack"><bounds x="60" y="10" width="11" height="11" /></element> - <element ref="cwhite"><bounds x="70" y="10" width="10" height="11" /></element> - - <element ref="cwhite"><bounds x="0" y="20" width="11" height="11" /></element> - <element ref="cblack"><bounds x="10" y="20" width="11" height="11" /></element> - <element ref="cwhite"><bounds x="20" y="20" width="11" height="11" /></element> - <element ref="cblack"><bounds x="30" y="20" width="11" height="11" /></element> - <element ref="cwhite"><bounds x="40" y="20" width="11" height="11" /></element> - <element ref="cblack"><bounds x="50" y="20" width="11" height="11" /></element> - <element ref="cwhite"><bounds x="60" y="20" width="11" height="11" /></element> - <element ref="cblack"><bounds x="70" y="20" width="10" height="11" /></element> - - <element ref="cblack"><bounds x="0" y="30" width="11" height="11" /></element> - <element ref="cwhite"><bounds x="10" y="30" width="11" height="11" /></element> - <element ref="cblack"><bounds x="20" y="30" width="11" height="11" /></element> - <element ref="cwhite"><bounds x="30" y="30" width="11" height="11" /></element> - <element ref="cblack"><bounds x="40" y="30" width="11" height="11" /></element> - <element ref="cwhite"><bounds x="50" y="30" width="11" height="11" /></element> - <element ref="cblack"><bounds x="60" y="30" width="11" height="11" /></element> - <element ref="cwhite"><bounds x="70" y="30" width="10" height="11" /></element> - - <element ref="cwhite"><bounds x="0" y="40" width="11" height="11" /></element> - <element ref="cblack"><bounds x="10" y="40" width="11" height="11" /></element> - <element ref="cwhite"><bounds x="20" y="40" width="11" height="11" /></element> - <element ref="cblack"><bounds x="30" y="40" width="11" height="11" /></element> - <element ref="cwhite"><bounds x="40" y="40" width="11" height="11" /></element> - <element ref="cblack"><bounds x="50" y="40" width="11" height="11" /></element> - <element ref="cwhite"><bounds x="60" y="40" width="11" height="11" /></element> - <element ref="cblack"><bounds x="70" y="40" width="10" height="11" /></element> - - <element ref="cblack"><bounds x="0" y="50" width="11" height="11" /></element> - <element ref="cwhite"><bounds x="10" y="50" width="11" height="11" /></element> - <element ref="cblack"><bounds x="20" y="50" width="11" height="11" /></element> - <element ref="cwhite"><bounds x="30" y="50" width="11" height="11" /></element> - <element ref="cblack"><bounds x="40" y="50" width="11" height="11" /></element> - <element ref="cwhite"><bounds x="50" y="50" width="11" height="11" /></element> - <element ref="cblack"><bounds x="60" y="50" width="11" height="11" /></element> - <element ref="cwhite"><bounds x="70" y="50" width="10" height="11" /></element> - - <element ref="cwhite"><bounds x="0" y="60" width="11" height="11" /></element> - <element ref="cblack"><bounds x="10" y="60" width="11" height="11" /></element> - <element ref="cwhite"><bounds x="20" y="60" width="11" height="11" /></element> - <element ref="cblack"><bounds x="30" y="60" width="11" height="11" /></element> - <element ref="cwhite"><bounds x="40" y="60" width="11" height="11" /></element> - <element ref="cblack"><bounds x="50" y="60" width="11" height="11" /></element> - <element ref="cwhite"><bounds x="60" y="60" width="11" height="11" /></element> - <element ref="cblack"><bounds x="70" y="60" width="10" height="11" /></element> - - <element ref="cblack"><bounds x="0" y="70" width="11" height="10" /></element> - <element ref="cwhite"><bounds x="10" y="70" width="11" height="10" /></element> - <element ref="cblack"><bounds x="20" y="70" width="11" height="10" /></element> - <element ref="cwhite"><bounds x="30" y="70" width="11" height="10" /></element> - <element ref="cblack"><bounds x="40" y="70" width="11" height="10" /></element> - <element ref="cwhite"><bounds x="50" y="70" width="11" height="10" /></element> - <element ref="cblack"><bounds x="60" y="70" width="11" height="10" /></element> - <element ref="cwhite"><bounds x="70" y="70" width="10" height="10" /></element> - - <!-- sensors, pieces --> - <repeat count="8"> - <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 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> - <element name="piece_c~i~" ref="piece"><bounds x="20" y="~y~" width="10" height="10" /></element> - <element name="piece_d~i~" ref="piece"><bounds x="30" y="~y~" width="10" height="10" /></element> - <element name="piece_e~i~" ref="piece"><bounds x="40" y="~y~" width="10" height="10" /></element> - <element name="piece_f~i~" ref="piece"><bounds x="50" y="~y~" width="10" height="10" /></element> - <element name="piece_g~i~" ref="piece"><bounds x="60" y="~y~" width="10" height="10" /></element> - <element name="piece_h~i~" ref="piece"><bounds x="70" y="~y~" width="10" height="10" /></element> - </repeat> - </group> - - -<!-- sb ui --> - - <element name="hlub" defstate="0"> - <rect state="1"><color red="0" green="0" blue="0" /></rect> - </element> - - <element name="text_uit1"><text string="S.BOARD"><color red="0.81" green="0.8" blue="0.79" /></text></element> - <element name="text_uit2"><text string="INTERFACE"><color red="0.81" green="0.8" blue="0.79" /></text></element> - <element name="text_uib1"><text string="BOARD:"><color red="0.81" green="0.8" blue="0.79" /></text></element> - <element name="text_uib2"> - <rect><color red="0.9" green="0.9" blue="0.9" /></rect> - <text string="RESET"><color red="0.01" green="0.01" blue="0.01" /></text> - </element> - <element name="text_uib3"> - <rect><color red="0.9" green="0.9" blue="0.9" /></rect> - <text string="CLEAR"><color red="0.01" green="0.01" blue="0.01" /></text> - </element> - <element name="text_uis1"><text string="SPAWN:"><color red="0.81" green="0.8" blue="0.79" /></text></element> - <element name="text_uih1"><text string="HAND:"><color red="0.81" green="0.8" blue="0.79" /></text></element> - <element name="text_uih2"> - <rect><color red="0.9" green="0.9" blue="0.9" /></rect> - <text string="REMOVE"><color red="0.01" green="0.01" blue="0.01" /></text> - </element> - <element name="text_uiu1"><text string="UNDO:"><color red="0.81" green="0.8" blue="0.79" /></text></element> - <element name="text_uiu2a"> - <rect><color red="0.9" green="0.9" blue="0.9" /></rect> - <text string=" <<"><color red="0.01" green="0.01" blue="0.01" /></text> - </element> - <element name="text_uiu2b"> - <rect><color red="0.9" green="0.9" blue="0.9" /></rect> - <text string=" < "><color red="0.01" green="0.01" blue="0.01" /></text> - </element> - <element name="text_uiu2c"> - <rect><color red="0.9" green="0.9" blue="0.9" /></rect> - <text string=" >"><color red="0.01" green="0.01" blue="0.01" /></text> - </element> - <element name="text_uiu2d"> - <rect><color red="0.9" green="0.9" blue="0.9" /></rect> - <text string=" >>"><color red="0.01" green="0.01" blue="0.01" /></text> - </element> - <element name="text_uiu3a" defstate="0"> - <simplecounter maxstate="999" digits="1" align="2"> - <color red="0.81" green="0.8" blue="0.79" /> - </simplecounter> - </element> - <element name="text_uiu3b"><text string="/"><color red="0.81" green="0.8" blue="0.79" /></text></element> - <element name="text_uiu3c" defstate="0"> - <simplecounter maxstate="999" digits="1" align="1"> - <color red="0.81" green="0.8" blue="0.79" /> - </simplecounter> - </element> - - <group name="sb_ui"> - <bounds x="0" y="0" width="10" height="80" /> - <element ref="cblack"><bounds x="0" y="0" width="10" height="1" /></element> - <element ref="cblack"><bounds x="0" y="7" width="10" height="1" /></element> - <element ref="cblack"><bounds x="0" y="79" width="10" height="1" /></element> - <element ref="text_uit1"><bounds x="0" y="2" width="10" height="2" /></element> - <element ref="text_uit2"><bounds x="0" y="4" width="10" height="2" /></element> - - <!-- board --> - <element ref="text_uib1"><bounds x="0" y="9" width="10" height="2" /></element> - <element ref="cwhite"><bounds x="1" y="11.5" width="8" height="2.5" /></element> - <element ref="cwhite"><bounds x="1" y="15" width="8" height="2.5" /></element> - - <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> - - <!-- spawn --> - <element ref="text_uis1"><bounds x="0" y="20.5" width="10" height="2" /></element> - <element ref="cwhite"><bounds x="1" y="23" width="8" height="12" /></element> - <element ref="cwhite"><bounds x="1" y="36" width="8" height="12" /></element> - - <element name="piece_ui1" ref="piece"><bounds x="1" y="23" width="4" height="4" /></element> - <element name="piece_ui2" ref="piece"><bounds x="1" y="27" width="4" height="4" /></element> - <element name="piece_ui3" ref="piece"><bounds x="1" y="31" width="4" height="4" /></element> - <element name="piece_ui4" ref="piece"><bounds x="5" y="23" width="4" height="4" /></element> - <element name="piece_ui5" ref="piece"><bounds x="5" y="27" width="4" height="4" /></element> - <element name="piece_ui6" ref="piece"><bounds x="5" y="31" width="4" height="4" /></element> - <element name="piece_ui7" ref="piece"><bounds x="1" y="36" width="4" height="4" /></element> - <element name="piece_ui8" ref="piece"><bounds x="1" y="40" width="4" height="4" /></element> - <element name="piece_ui9" ref="piece"><bounds x="1" y="44" width="4" height="4" /></element> - <element name="piece_ui10" ref="piece"><bounds x="5" y="36" width="4" height="4" /></element> - <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> - - <!-- hand --> - <element ref="text_uih1"><bounds x="0" y="51" width="10" height="2" /></element> - <element ref="cblack"><bounds x="1" y="53.5" width="8" height="6" /></element> - <element name="piece_ui0" ref="piece"><bounds x="2" y="53.5" width="6" height="6" /></element> - - <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> - - <!-- undo --> - <element ref="text_uiu1"><bounds x="0" y="66" width="10" height="2" /></element> - <element ref="cwhite"><bounds x="1" y="68.5" width="1.7" height="6" /></element> - <element ref="cwhite"><bounds x="3.1" y="68.5" width="1.7" height="6" /></element> - <element ref="cwhite"><bounds x="5.2" y="68.5" width="1.7" height="6" /></element> - <element ref="cwhite"><bounds x="7.3" y="68.5" width="1.7" height="6" /></element> - <element ref="text_uiu2a"><bounds x="1" y="69.5" width="1.7" height="4" /></element> - <element ref="text_uiu2b"><bounds x="3.1" y="69.5" width="1.7" height="4" /></element> - <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 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> - <element ref="text_uiu3b"><bounds x="4" y="75" width="2" height="2" /></element> - </group> - - <group name="panel"> - <bounds left="0" right="79" top="0" bottom="13" /> - <element ref="background"><bounds x="0" y="0" width="79" height="13" /></element> - - <element ref="black"> <bounds x="0" y="1.5" width="10" height="10.5" /> </element> - <element ref="text_lcd"> <bounds x="0.5" y="0" width="10" height="1.5" /> </element> - <element ref="led7seg_background"> <bounds x="0.5" y="2" width="9" height="4" /> </element> - <element name="digit0" ref="digit"> <bounds x="1" y="2.5" width="2" height="3" /> </element> - <element name="digit1" ref="digit"> <bounds x="3" y="2.5" width="2" height="3" /> </element> - <element name="digit2" ref="digit"> <bounds x="5" y="2.5" width="2" height="3" /> </element> - <element name="digit3" ref="digit"> <bounds x="7" y="2.5" width="2" height="3" /> </element> - <element ref="led7seg_background"> <bounds x="0.5" y="7.5" width="9" height="4" /> </element> - <element name="digit4" ref="digit"> <bounds x="1" y="8" width="2" height="3" /> </element> - <element name="digit5" ref="digit"> <bounds x="3" y="8" width="2" height="3" /> </element> - <element name="digit6" ref="digit"> <bounds x="5" y="8" width="2" height="3" /> </element> - <element name="digit7" ref="digit"> <bounds x="7" y="8" width="2" height="3" /> </element> - - <element name="led100" ref="led"> <bounds x="13.0" y="0.4" width="1.3" height="0.8" /> </element> - <element name="led101" ref="led"> <bounds x="21.5" y="0.4" width="1.3" height="0.8" /> </element> - <element name="led102" ref="led"> <bounds x="30.0" y="0.4" width="1.3" height="0.8" /> </element> - <element name="led103" ref="led"> <bounds x="38.5" y="0.4" width="1.3" height="0.8" /> </element> - <element name="led104" ref="led"> <bounds x="47.0" y="0.4" width="1.3" height="0.8" /> </element> - <element name="led105" ref="led"> <bounds x="55.5" y="0.4" width="1.3" height="0.8" /> </element> - <element name="led106" ref="led"> <bounds x="64.0" y="0.4" width="1.3" height="0.8" /> </element> - <element name="led107" ref="led"> <bounds x="72.5" y="0.4" width="1.3" height="0.8" /> </element> - - <element ref="black"> <bounds x="13" y="2" width="6" height="4" /> </element> - <element ref="black"> <bounds x="21.5" y="2" width="6" height="4" /> </element> - <element ref="black"> <bounds x="30" y="2" width="6" height="4" /> </element> - <element ref="black"> <bounds x="38.5" y="2" width="6" height="4" /> </element> - <element ref="black"> <bounds x="47" y="2" width="6" height="4" /> </element> - <element ref="black"> <bounds x="55.5" y="2" width="6" height="4" /> </element> - <element ref="black"> <bounds x="64" y="2" width="6" height="4" /> </element> - <element ref="black"> <bounds x="72.5" y="2" width="6" height="4" /> </element> - <element ref="black"> <bounds x="13" y="7.5" width="6" height="4" /> </element> - <element ref="black"> <bounds x="21.5" y="7.5" width="6" height="4" /> </element> - <element ref="black"> <bounds x="30" y="7.5" width="6" height="4" /> </element> - <element ref="black"> <bounds x="38.5" y="7.5" width="6" height="4" /> </element> - <element ref="black"> <bounds x="47" y="7.5" width="6" height="4" /> </element> - <element ref="black"> <bounds x="55.5" y="7.5" width="6" height="4" /> </element> - <element ref="red"> <bounds x="64" y="7.5" width="6" height="4" /> </element> - <element ref="red"> <bounds x="72.5" y="7.5" width="6" height="4" /> </element> - - <element ref="text_book"> <bounds x="15" y="0" width="4" height="1.5" /> </element> - <element ref="text_pos"> <bounds x="23.5" y="0" width="3" height="1.5" /> </element> - <element ref="text_mem"> <bounds x="32" y="0" width="3" height="1.5" /> </element> - <element ref="text_info"> <bounds x="40.5" y="0" width="4" height="1.5" /> </element> - <element ref="text_err"> <bounds x="49" y="0" width="3" height="1.5" /> </element> - <element ref="text_lev"> <bounds x="57.5" y="0" width="3" height="1.5" /> </element> - <element ref="text_black"> <bounds x="66" y="0" width="1" height="1.5" /> </element> - <element ref="text_white"> <bounds x="74.5" y="0" width="1" height="1.5" /> </element> - <element ref="text_b1"> <bounds x="13.5" y="2.5" width="5" height="1.5" /> </element> - <element ref="text_b2"> <bounds x="22" y="2.5" width="5" height="1.5" /> </element> - <element ref="text_b3"> <bounds x="30.5" y="2.5" width="5" height="1.5" /> </element> - <element ref="text_b4"> <bounds x="39" y="2.5" width="5" height="1.5" /> </element> - <element ref="text_b5"> <bounds x="47.5" y="2.5" width="5" height="1.5" /> </element> - <element ref="text_b6"> <bounds x="56" y="2.5" width="5" height="1.5" /> </element> - <element ref="text_b7"> <bounds x="64.5" y="2.5" width="5" height="1.5" /> </element> - <element ref="text_b8"> <bounds x="73" y="2.5" width="5" height="1.5" /> </element> - <element ref="text_book9"> <bounds x="13.5" y="8" width="5" height="1.5" /> </element> - <element ref="text_pos0"> <bounds x="22" y="8" width="5" height="1.5" /> </element> - <element ref="text_mem"> <bounds x="30.5" y="8" width="5" height="1.5" /> </element> - <element ref="text_info"> <bounds x="39" y="8" width="5" height="1.5" /> </element> - <element ref="text_cl"> <bounds x="47.5" y="8" width="5" height="1.5" /> </element> - <element ref="text_lev"> <bounds x="56" y="8" width="5" height="1.5" /> </element> - <element ref="text_ent"> <bounds x="64.5" y="8" width="5" height="1.5" /> </element> - <element ref="text_res"> <bounds x="73" y="8" width="5" height="1.5" /> </element> - - <element ref="hlb" inputtag="KEY.1" inputmask="0x01"> <bounds x="13" y="2" width="6" height="4" /> <color alpha="0.3"/></element> - <element ref="hlb" inputtag="KEY.1" inputmask="0x10"> <bounds x="21.5" y="2" width="6" height="4" /> <color alpha="0.3"/></element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x01"> <bounds x="30" y="2" width="6" height="4" /> <color alpha="0.3"/></element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x10"> <bounds x="38.5" y="2" width="6" height="4" /> <color alpha="0.3"/></element> - <element ref="hlb" inputtag="KEY.1" inputmask="0x02"> <bounds x="47" y="2" width="6" height="4" /> <color alpha="0.3"/></element> - <element ref="hlb" inputtag="KEY.1" inputmask="0x20"> <bounds x="55.5" y="2" width="6" height="4" /> <color alpha="0.3"/></element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x02"> <bounds x="64" y="2" width="6" height="4" /> <color alpha="0.3"/></element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x20"> <bounds x="72.5" y="2" width="6" height="4" /> <color alpha="0.3"/></element> - <element ref="hlb" inputtag="KEY.1" inputmask="0x04"> <bounds x="13" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element> - <element ref="hlb" inputtag="KEY.1" inputmask="0x40"> <bounds x="21.5" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x04"> <bounds x="30" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x40"> <bounds x="38.5" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element> - <element ref="hlb" inputtag="KEY.1" inputmask="0x08"> <bounds x="47" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element> - <element ref="hlb" inputtag="KEY.1" inputmask="0x80"> <bounds x="55.5" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x08"> <bounds x="64" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x80"> <bounds x="72.5" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element> - </group> - - -<!-- build screen --> - - <view name="Internal Layout"> - <bounds left="0" right="103" top="-2" bottom="102" /> - <element ref="background"><bounds x="13" y="-2" width="90" height="104" /></element> - - <!-- chessboard coords --> - <element ref="text_8"><bounds x="13.6" y="7" width="2" height="2" /></element> - <element ref="text_7"><bounds x="13.6" y="17" width="2" height="2" /></element> - <element ref="text_6"><bounds x="13.6" y="27" width="2" height="2" /></element> - <element ref="text_5"><bounds x="13.6" y="37" width="2" height="2" /></element> - <element ref="text_4"><bounds x="13.6" y="47" width="2" height="2" /></element> - <element ref="text_3"><bounds x="13.6" y="57" width="2" height="2" /></element> - <element ref="text_2"><bounds x="13.6" y="67" width="2" height="2" /></element> - <element ref="text_1"><bounds x="13.6" y="77" width="2" height="2" /></element> - - <element ref="text_a"><bounds x="22" y="85.7" width="2" height="2" /></element> - <element ref="text_b"><bounds x="32" y="85.7" width="2" height="2" /></element> - <element ref="text_c"><bounds x="42" y="85.7" width="2" height="2" /></element> - <element ref="text_d"><bounds x="52" y="85.7" width="2" height="2" /></element> - <element ref="text_e"><bounds x="62" y="85.7" width="2" height="2" /></element> - <element ref="text_f"><bounds x="72" y="85.7" width="2" height="2" /></element> - <element ref="text_g"><bounds x="82" y="85.7" width="2" height="2" /></element> - <element ref="text_h"><bounds x="92" y="85.7" width="2" height="2" /></element> - - <!-- chessboard bezel --> - <element ref="black"><bounds x="17.5" y="2.5" width="81" height="81" /></element> - - <!-- chessboard leds --> - <element name="led0" ref="led"><bounds x="15.7" y="77.25" width="0.8" height="1.5" /></element> - <element name="led1" ref="led"><bounds x="15.7" y="67.25" width="0.8" height="1.5" /></element> - <element name="led2" ref="led"><bounds x="15.7" y="57.25" width="0.8" height="1.5" /></element> - <element name="led3" ref="led"><bounds x="15.7" y="47.25" width="0.8" height="1.5" /></element> - <element name="led4" ref="led"><bounds x="15.7" y="37.25" width="0.8" height="1.5" /></element> - <element name="led5" ref="led"><bounds x="15.7" y="27.25" width="0.8" height="1.5" /></element> - <element name="led6" ref="led"><bounds x="15.7" y="17.25" width="0.8" height="1.5" /></element> - <element name="led7" ref="led"><bounds x="15.7" y="7.25" width="0.8" height="1.5" /></element> - - <element name="led8" ref="led"><bounds x="22.25" y="84.5" width="1.5" height="0.8" /></element> - <element name="led9" ref="led"><bounds x="32.25" y="84.5" width="1.5" height="0.8" /></element> - <element name="led10" ref="led"><bounds x="42.25" y="84.5" width="1.5" height="0.8" /></element> - <element name="led11" ref="led"><bounds x="52.25" y="84.5" width="1.5" height="0.8" /></element> - <element name="led12" ref="led"><bounds x="62.25" y="84.5" width="1.5" height="0.8" /></element> - <element name="led13" ref="led"><bounds x="72.25" y="84.5" width="1.5" height="0.8" /></element> - <element name="led14" ref="led"><bounds x="82.25" y="84.5" width="1.5" height="0.8" /></element> - <element name="led15" ref="led"><bounds x="92.25" y="84.5" width="1.5" height="0.8" /></element> - - <!-- LCD panel --> - <group ref="panel"><bounds x="18" y="89" width="79" height="13" /></group> - - <group ref="sb_board"><bounds x="18" y="3" width="80" height="80" /></group> - <group ref="sb_ui"><bounds x="1.5" y="3" width="10" height="80" /></group> - </view> -</mamelayout> diff --git a/src/mame/layout/mephisto_milano.lay b/src/mame/layout/mephisto_milano.lay index ad4c4b74f10..dff38a17dc5 100644 --- a/src/mame/layout/mephisto_milano.lay +++ b/src/mame/layout/mephisto_milano.lay @@ -14,7 +14,7 @@ license:CC0 <color red="0.20" green="0.0" blue="0.0" /> </disk> <disk state="1"> - <color red="0.95" green="0.0" blue="0.0" /> + <color red="1" green="0.1" blue="0.1" /> </disk> </element> <element name="ledr" defstate="0"> @@ -22,7 +22,7 @@ license:CC0 <color red="0.20" green="0.0" blue="0.0" /> </rect> <rect state="1"> - <color red="0.95" green="0.0" blue="0.0" /> + <color red="1" green="0.1" blue="0.1" /> </rect> </element> <element name="hlb" defstate="0"> diff --git a/src/mame/layout/mephisto_mm2.lay b/src/mame/layout/mephisto_mm2.lay index 4d76871cb0d..52e5535e18f 100644 --- a/src/mame/layout/mephisto_mm2.lay +++ b/src/mame/layout/mephisto_mm2.lay @@ -11,7 +11,7 @@ license:CC0 <color red="0.20" green="0.0" blue="0.0" /> </disk> <disk state="1"> - <color red="0.95" green="0.0" blue="0.0" /> + <color red="1" green="0.1" blue="0.1" /> </disk> </element> <element name="hlb" defstate="0"> diff --git a/src/mame/layout/mephisto_modena.lay b/src/mame/layout/mephisto_modena.lay index dd0b91f0903..043921ccd28 100644 --- a/src/mame/layout/mephisto_modena.lay +++ b/src/mame/layout/mephisto_modena.lay @@ -14,7 +14,7 @@ license:CC0 <color red="0.20" green="0.0" blue="0.0" /> </disk> <disk state="1"> - <color red="0.95" green="0.0" blue="0.0" /> + <color red="1" green="0.1" blue="0.1" /> </disk> </element> <element name="ledr" defstate="0"> @@ -22,7 +22,7 @@ license:CC0 <color red="0.20" green="0.0" blue="0.0" /> </rect> <rect state="1"> - <color red="0.95" green="0.0" blue="0.0" /> + <color red="1" green="0.1" blue="0.1" /> </rect> </element> <element name="hlb" defstate="0"> diff --git a/src/mame/layout/mephisto_modular_tm.lay b/src/mame/layout/mephisto_modular_tm.lay index 6eb92e690e0..208344434a6 100644 --- a/src/mame/layout/mephisto_modular_tm.lay +++ b/src/mame/layout/mephisto_modular_tm.lay @@ -11,7 +11,7 @@ license:CC0 <color red="0.20" green="0.0" blue="0.0" /> </disk> <disk state="1"> - <color red="0.95" green="0.0" blue="0.0" /> + <color red="1" green="0.1" blue="0.1" /> </disk> </element> diff --git a/src/mame/layout/mephisto_mondial.lay b/src/mame/layout/mephisto_mondial.lay index 6ba3f4c0498..23f1d454190 100644 --- a/src/mame/layout/mephisto_mondial.lay +++ b/src/mame/layout/mephisto_mondial.lay @@ -11,7 +11,7 @@ license:CC0 <color red="0.20" green="0.0" blue="0.0" /> </rect> <rect state="1"> - <color red="0.95" green="0.0" blue="0.0" /> + <color red="1" green="0.1" blue="0.1" /> </rect> </element> <element name="hlb" defstate="0"> diff --git a/src/mame/layout/mephisto_mondial2.lay b/src/mame/layout/mephisto_mondial2.lay index b9ccca1f879..493e8c0f69e 100644 --- a/src/mame/layout/mephisto_mondial2.lay +++ b/src/mame/layout/mephisto_mondial2.lay @@ -11,7 +11,7 @@ license:CC0 <color red="0.20" green="0.0" blue="0.0" /> </rect> <rect state="1"> - <color red="0.95" green="0.0" blue="0.0" /> + <color red="1" green="0.1" blue="0.1" /> </rect> </element> <element name="hlb" defstate="0"> diff --git a/src/mame/layout/mephisto_mondial68k.lay b/src/mame/layout/mephisto_mondial68k.lay index ae5695df054..79bb8780067 100644 --- a/src/mame/layout/mephisto_mondial68k.lay +++ b/src/mame/layout/mephisto_mondial68k.lay @@ -15,7 +15,7 @@ license:CC0 <color red="0.20" green="0.0" blue="0.0" /> </rect> <rect state="1"> - <color red="0.95" green="0.0" blue="0.0" /> + <color red="1" green="0.1" blue="0.1" /> </rect> </element> <element name="hlb" defstate="0"> diff --git a/src/mame/layout/mephisto_montec.lay b/src/mame/layout/mephisto_montec.lay index d86b683554d..02d13f9594b 100644 --- a/src/mame/layout/mephisto_montec.lay +++ b/src/mame/layout/mephisto_montec.lay @@ -10,12 +10,24 @@ license:CC0 <led7seg><color red="0.2" green="0.16" blue="0.16" /></led7seg> </element> + <element name="ledo"> + <disk><color red="0.1" green="0.1" blue="0.1" /></disk> + </element> + <element name="ledr" defstate="0"> + <disk state="0"><color red="0" green="0" blue="0" /></disk> + <disk state="1"><color red="1" green="0" blue="0" /></disk> + </element> + <element name="ledg" defstate="0"> + <disk state="0"><color red="0" green="0" blue="0" /></disk> + <disk state="1"><color red="0" green="1" blue="0" /></disk> + </element> + <element name="led" defstate="0"> <disk state="0"> - <color red="0.20" green="0.0" blue="0.0" /> + <color red="0.2" green="0" blue="0" /> </disk> <disk state="1"> - <color red="0.95" green="0.0" blue="0.0" /> + <color red="1" green="0.1" blue="0.1" /> </disk> </element> <element name="hlbr" defstate="0"> @@ -400,14 +412,32 @@ license:CC0 <element name="digit6" ref="digit"> <bounds x="5" y="8" width="2" height="3" /> </element> <element name="digit7" ref="digit"> <bounds x="7" y="8" width="2" height="3" /> </element> - <element name="led100" ref="led"> <bounds x="13.1" y="-0.4" width="1.3" height="1.3" /> </element> - <element name="led104" ref="led"> <bounds x="22.1" y="-0.4" width="1.3" height="1.3" /> </element> - <element name="led108" ref="led"> <bounds x="31.1" y="-0.4" width="1.3" height="1.3" /> </element> - <element name="led112" ref="led"> <bounds x="40.1" y="-0.4" width="1.3" height="1.3" /> </element> - <element name="led102" ref="led"> <bounds x="49.1" y="-0.4" width="1.3" height="1.3" /> </element> - <element name="led106" ref="led"> <bounds x="58.1" y="-0.4" width="1.3" height="1.3" /> </element> - <element name="led111" ref="led"> <bounds x="67.1" y="-0.4" width="1.3" height="1.3" /> </element> - <element name="led115" ref="led"> <bounds x="76.1" y="-0.4" width="1.3" height="1.3" /> </element> + <element ref="ledo"><bounds x="13.1" y="-0.4" width="1.3" height="1.3" /></element> + <element ref="ledo"><bounds x="22.1" y="-0.4" width="1.3" height="1.3" /></element> + <element ref="ledo"><bounds x="31.1" y="-0.4" width="1.3" height="1.3" /></element> + <element ref="ledo"><bounds x="40.1" y="-0.4" width="1.3" height="1.3" /></element> + <element ref="ledo"><bounds x="49.1" y="-0.4" width="1.3" height="1.3" /></element> + <element ref="ledo"><bounds x="58.1" y="-0.4" width="1.3" height="1.3" /></element> + <element ref="ledo"><bounds x="67.1" y="-0.4" width="1.3" height="1.3" /></element> + <element ref="ledo"><bounds x="76.1" y="-0.4" width="1.3" height="1.3" /></element> + + <element name="0.0" ref="ledr" blend="add"><bounds x="13.1" y="-0.4" width="1.3" height="1.3" /></element> + <element name="1.0" ref="ledr" blend="add"><bounds x="22.1" y="-0.4" width="1.3" height="1.3" /></element> + <element name="2.0" ref="ledr" blend="add"><bounds x="31.1" y="-0.4" width="1.3" height="1.3" /></element> + <element name="3.0" ref="ledr" blend="add"><bounds x="40.1" y="-0.4" width="1.3" height="1.3" /></element> + <element name="0.2" ref="ledr" blend="add"><bounds x="49.1" y="-0.4" width="1.3" height="1.3" /></element> + <element name="1.2" ref="ledr" blend="add"><bounds x="58.1" y="-0.4" width="1.3" height="1.3" /></element> + <element name="2.2" ref="ledr" blend="add"><bounds x="67.1" y="-0.4" width="1.3" height="1.3" /></element> + <element name="3.2" ref="ledr" blend="add"><bounds x="76.1" y="-0.4" width="1.3" height="1.3" /></element> + + <element name="0.1" ref="ledg" blend="add"><bounds x="13.1" y="-0.4" width="1.3" height="1.3" /></element> + <element name="1.1" ref="ledg" blend="add"><bounds x="22.1" y="-0.4" width="1.3" height="1.3" /></element> + <element name="2.1" ref="ledg" blend="add"><bounds x="31.1" y="-0.4" width="1.3" height="1.3" /></element> + <element name="3.1" ref="ledg" blend="add"><bounds x="40.1" y="-0.4" width="1.3" height="1.3" /></element> + <element name="0.3" ref="ledg" blend="add"><bounds x="49.1" y="-0.4" width="1.3" height="1.3" /></element> + <element name="1.3" ref="ledg" blend="add"><bounds x="58.1" y="-0.4" width="1.3" height="1.3" /></element> + <element name="2.3" ref="ledg" blend="add"><bounds x="67.1" y="-0.4" width="1.3" height="1.3" /></element> + <element name="3.3" ref="ledg" blend="add"><bounds x="76.1" y="-0.4" width="1.3" height="1.3" /></element> <element ref="text_book"> <bounds x="15" y="-0.5" width="4" height="1.5" /> </element> <element ref="text_pos"> <bounds x="24" y="-0.5" width="3" height="1.5" /> </element> @@ -434,22 +464,22 @@ license:CC0 <element ref="text_ent"> <bounds x="65.25" y="11" width="5" height="1.5" /> </element> <element ref="text_res"> <bounds x="74.25" y="11" width="5" height="1.5" /> </element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x01"> <bounds x="13" y="2" width="1.5" height="2.5" /> </element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x02"> <bounds x="22" y="2" width="1.5" height="2.5" /> </element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x04"> <bounds x="31" y="2" width="1.5" height="2.5" /> </element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x08"> <bounds x="40" y="2" width="1.5" height="2.5" /> </element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x10"> <bounds x="49" y="2" width="1.5" height="2.5" /> </element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x20"> <bounds x="58" y="2" width="1.5" height="2.5" /> </element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x40"> <bounds x="67" y="2" width="1.5" height="2.5" /> </element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x80"> <bounds x="76" y="2" width="1.5" height="2.5" /> </element> - <element ref="hlb" inputtag="KEY.1" inputmask="0x01"> <bounds x="13" y="8" width="1.5" height="2.5" /> </element> - <element ref="hlb" inputtag="KEY.1" inputmask="0x02"> <bounds x="22" y="8" width="1.5" height="2.5" /> </element> - <element ref="hlb" inputtag="KEY.1" inputmask="0x04"> <bounds x="31" y="8" width="1.5" height="2.5" /> </element> - <element ref="hlb" inputtag="KEY.1" inputmask="0x08"> <bounds x="40" y="8" width="1.5" height="2.5" /> </element> - <element ref="hlb" inputtag="KEY.1" inputmask="0x10"> <bounds x="49" y="8" width="1.5" height="2.5" /> </element> - <element ref="hlb" inputtag="KEY.1" inputmask="0x20"> <bounds x="58" y="8" width="1.5" height="2.5" /> </element> - <element ref="hlb" inputtag="KEY.1" inputmask="0x40"> <bounds x="67" y="8" width="1.5" height="2.5" /> </element> - <element ref="hlbr" inputtag="KEY.1" inputmask="0x80"> <bounds x="76" y="8" width="1.5" height="2.5" /> </element> + <element ref="hlb" inputtag="KEY.1" inputmask="0x01"> <bounds x="13" y="2" width="1.5" height="2.5" /> </element> + <element ref="hlb" inputtag="KEY.1" inputmask="0x02"> <bounds x="22" y="2" width="1.5" height="2.5" /> </element> + <element ref="hlb" inputtag="KEY.1" inputmask="0x04"> <bounds x="31" y="2" width="1.5" height="2.5" /> </element> + <element ref="hlb" inputtag="KEY.1" inputmask="0x08"> <bounds x="40" y="2" width="1.5" height="2.5" /> </element> + <element ref="hlb" inputtag="KEY.1" inputmask="0x10"> <bounds x="49" y="2" width="1.5" height="2.5" /> </element> + <element ref="hlb" inputtag="KEY.1" inputmask="0x20"> <bounds x="58" y="2" width="1.5" height="2.5" /> </element> + <element ref="hlb" inputtag="KEY.1" inputmask="0x40"> <bounds x="67" y="2" width="1.5" height="2.5" /> </element> + <element ref="hlb" inputtag="KEY.1" inputmask="0x80"> <bounds x="76" y="2" width="1.5" height="2.5" /> </element> + <element ref="hlb" inputtag="KEY.0" inputmask="0x01"> <bounds x="13" y="8" width="1.5" height="2.5" /> </element> + <element ref="hlb" inputtag="KEY.0" inputmask="0x02"> <bounds x="22" y="8" width="1.5" height="2.5" /> </element> + <element ref="hlb" inputtag="KEY.0" inputmask="0x04"> <bounds x="31" y="8" width="1.5" height="2.5" /> </element> + <element ref="hlb" inputtag="KEY.0" inputmask="0x08"> <bounds x="40" y="8" width="1.5" height="2.5" /> </element> + <element ref="hlb" inputtag="KEY.0" inputmask="0x10"> <bounds x="49" y="8" width="1.5" height="2.5" /> </element> + <element ref="hlb" inputtag="KEY.0" inputmask="0x20"> <bounds x="58" y="8" width="1.5" height="2.5" /> </element> + <element ref="hlb" inputtag="KEY.0" inputmask="0x40"> <bounds x="67" y="8" width="1.5" height="2.5" /> </element> + <element ref="hlbr" inputtag="KEY.0" inputmask="0x80"> <bounds x="76" y="8" width="1.5" height="2.5" /> </element> </group> <!-- build screen --> diff --git a/src/mame/layout/mephisto_polgar.lay b/src/mame/layout/mephisto_polgar.lay index e45d884e6b9..e3618b188a8 100644 --- a/src/mame/layout/mephisto_polgar.lay +++ b/src/mame/layout/mephisto_polgar.lay @@ -14,7 +14,7 @@ license:CC0 <color red="0.20" green="0.0" blue="0.0" /> </disk> <disk state="1"> - <color red="0.95" green="0.0" blue="0.0" /> + <color red="1" green="0.1" blue="0.1" /> </disk> </element> <element name="hlb" defstate="0"> diff --git a/src/mame/layout/mephisto_risc.lay b/src/mame/layout/mephisto_risc.lay index e45d884e6b9..e3618b188a8 100644 --- a/src/mame/layout/mephisto_risc.lay +++ b/src/mame/layout/mephisto_risc.lay @@ -14,7 +14,7 @@ license:CC0 <color red="0.20" green="0.0" blue="0.0" /> </disk> <disk state="1"> - <color red="0.95" green="0.0" blue="0.0" /> + <color red="1" green="0.1" blue="0.1" /> </disk> </element> <element name="hlb" defstate="0"> diff --git a/src/mame/layout/mephisto_smondial.lay b/src/mame/layout/mephisto_smondial.lay index de095c6b923..a82503ba114 100644 --- a/src/mame/layout/mephisto_smondial.lay +++ b/src/mame/layout/mephisto_smondial.lay @@ -10,12 +10,24 @@ license:CC0 <led7seg><color red="0.2" green="0.16" blue="0.16" /></led7seg> </element> + <element name="ledo"> + <rect><color red="0.1" green="0.1" blue="0.1" /></rect> + </element> + <element name="ledr" defstate="0"> + <rect state="0"><color red="0" green="0" blue="0" /></rect> + <rect state="1"><color red="1" green="0" blue="0" /></rect> + </element> + <element name="ledg" defstate="0"> + <rect state="0"><color red="0" green="0" blue="0" /></rect> + <rect state="1"><color red="0" green="1" blue="0" /></rect> + </element> + <element name="led" defstate="0"> <rect state="0"> <color red="0.20" green="0.0" blue="0.0" /> </rect> <rect state="1"> - <color red="0.95" green="0.0" blue="0.0" /> + <color red="1" green="0.1" blue="0.1" /> </rect> </element> <element name="hlb" defstate="0"> @@ -201,14 +213,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> @@ -290,8 +302,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> @@ -311,18 +323,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> @@ -331,7 +343,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> @@ -344,10 +356,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> @@ -371,14 +383,32 @@ license:CC0 <element name="digit6" ref="digit"> <bounds x="5" y="8" width="2" height="3" /> </element> <element name="digit7" ref="digit"> <bounds x="7" y="8" width="2" height="3" /> </element> - <element name="led100" ref="led"> <bounds x="13.0" y="0.4" width="1.3" height="0.8" /> </element> - <element name="led101" ref="led"> <bounds x="21.5" y="0.4" width="1.3" height="0.8" /> </element> - <element name="led102" ref="led"> <bounds x="30.0" y="0.4" width="1.3" height="0.8" /> </element> - <element name="led103" ref="led"> <bounds x="38.5" y="0.4" width="1.3" height="0.8" /> </element> - <element name="led104" ref="led"> <bounds x="47.0" y="0.4" width="1.3" height="0.8" /> </element> - <element name="led105" ref="led"> <bounds x="55.5" y="0.4" width="1.3" height="0.8" /> </element> - <element name="led106" ref="led"> <bounds x="64.0" y="0.4" width="1.3" height="0.8" /> </element> - <element name="led107" ref="led"> <bounds x="72.5" y="0.4" width="1.3" height="0.8" /> </element> + <element ref="ledo"><bounds x="13.0" y="0.4" width="1.3" height="0.8" /> </element> + <element ref="ledo"><bounds x="21.5" y="0.4" width="1.3" height="0.8" /> </element> + <element ref="ledo"><bounds x="30.0" y="0.4" width="1.3" height="0.8" /> </element> + <element ref="ledo"><bounds x="38.5" y="0.4" width="1.3" height="0.8" /> </element> + <element ref="ledo"><bounds x="47.0" y="0.4" width="1.3" height="0.8" /> </element> + <element ref="ledo"><bounds x="55.5" y="0.4" width="1.3" height="0.8" /> </element> + <element ref="ledo"><bounds x="64.0" y="0.4" width="1.3" height="0.8" /> </element> + <element ref="ledo"><bounds x="72.5" y="0.4" width="1.3" height="0.8" /> </element> + + <element name="0.0" ref="ledg" blend="add"><bounds x="13.0" y="0.4" width="1.3" height="0.8" /> </element> + <element name="1.0" ref="ledg" blend="add"><bounds x="21.5" y="0.4" width="1.3" height="0.8" /> </element> + <element name="2.0" ref="ledg" blend="add"><bounds x="30.0" y="0.4" width="1.3" height="0.8" /> </element> + <element name="3.0" ref="ledg" blend="add"><bounds x="38.5" y="0.4" width="1.3" height="0.8" /> </element> + <element name="4.0" ref="ledg" blend="add"><bounds x="47.0" y="0.4" width="1.3" height="0.8" /> </element> + <element name="5.0" ref="ledg" blend="add"><bounds x="55.5" y="0.4" width="1.3" height="0.8" /> </element> + <element name="6.0" ref="ledg" blend="add"><bounds x="64.0" y="0.4" width="1.3" height="0.8" /> </element> + <element name="7.0" ref="ledg" blend="add"><bounds x="72.5" y="0.4" width="1.3" height="0.8" /> </element> + + <element name="0.1" ref="ledr" blend="add"><bounds x="13.0" y="0.4" width="1.3" height="0.8" /> </element> + <element name="1.1" ref="ledr" blend="add"><bounds x="21.5" y="0.4" width="1.3" height="0.8" /> </element> + <element name="2.1" ref="ledr" blend="add"><bounds x="30.0" y="0.4" width="1.3" height="0.8" /> </element> + <element name="3.1" ref="ledr" blend="add"><bounds x="38.5" y="0.4" width="1.3" height="0.8" /> </element> + <element name="4.1" ref="ledr" blend="add"><bounds x="47.0" y="0.4" width="1.3" height="0.8" /> </element> + <element name="5.1" ref="ledr" blend="add"><bounds x="55.5" y="0.4" width="1.3" height="0.8" /> </element> + <element name="6.1" ref="ledr" blend="add"><bounds x="64.0" y="0.4" width="1.3" height="0.8" /> </element> + <element name="7.1" ref="ledr" blend="add"><bounds x="72.5" y="0.4" width="1.3" height="0.8" /> </element> <element ref="black"> <bounds x="13" y="2" width="6" height="4" /> </element> <element ref="black"> <bounds x="21.5" y="2" width="6" height="4" /> </element> @@ -394,7 +424,7 @@ license:CC0 <element ref="black"> <bounds x="38.5" y="7.5" width="6" height="4" /> </element> <element ref="black"> <bounds x="47" y="7.5" width="6" height="4" /> </element> <element ref="black"> <bounds x="55.5" y="7.5" width="6" height="4" /> </element> - <element ref="black"> <bounds x="64" y="7.5" width="6" height="4" /> </element> + <element ref="black"> <bounds x="64" y="7.5" width="6" height="4" /> </element> <!-- on Mega IV, this button is red, but that's not worth another .lay file --> <element ref="red"> <bounds x="72.5" y="7.5" width="6" height="4" /> </element> <element ref="text_book"> <bounds x="15" y="0" width="4" height="1.5" /> </element> @@ -422,22 +452,22 @@ license:CC0 <element ref="text_ent"> <bounds x="64.5" y="8" width="5" height="1.5" /> </element> <element ref="text_res"> <bounds x="73" y="8" width="5" height="1.5" /> </element> - <element ref="hlb" inputtag="KEY.1" inputmask="0x01"> <bounds x="13" y="2" width="6" height="4" /> <color alpha="0.3"/></element> - <element ref="hlb" inputtag="KEY.1" inputmask="0x10"> <bounds x="21.5" y="2" width="6" height="4" /> <color alpha="0.3"/></element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x01"> <bounds x="30" y="2" width="6" height="4" /> <color alpha="0.3"/></element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x10"> <bounds x="38.5" y="2" width="6" height="4" /> <color alpha="0.3"/></element> - <element ref="hlb" inputtag="KEY.1" inputmask="0x02"> <bounds x="47" y="2" width="6" height="4" /> <color alpha="0.3"/></element> - <element ref="hlb" inputtag="KEY.1" inputmask="0x20"> <bounds x="55.5" y="2" width="6" height="4" /> <color alpha="0.3"/></element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x02"> <bounds x="64" y="2" width="6" height="4" /> <color alpha="0.3"/></element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x20"> <bounds x="72.5" y="2" width="6" height="4" /> <color alpha="0.3"/></element> - <element ref="hlb" inputtag="KEY.1" inputmask="0x04"> <bounds x="13" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element> - <element ref="hlb" inputtag="KEY.1" inputmask="0x40"> <bounds x="21.5" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x04"> <bounds x="30" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x40"> <bounds x="38.5" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element> - <element ref="hlb" inputtag="KEY.1" inputmask="0x08"> <bounds x="47" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element> - <element ref="hlb" inputtag="KEY.1" inputmask="0x80"> <bounds x="55.5" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x08"> <bounds x="64" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x80"> <bounds x="72.5" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element> + <element ref="hlb" inputtag="KEY.0" inputmask="0x01"> <bounds x="13" y="2" width="6" height="4" /> <color alpha="0.3"/></element> + <element ref="hlb" inputtag="KEY.1" inputmask="0x01"> <bounds x="21.5" y="2" width="6" height="4" /> <color alpha="0.3"/></element> + <element ref="hlb" inputtag="KEY.2" inputmask="0x01"> <bounds x="30" y="2" width="6" height="4" /> <color alpha="0.3"/></element> + <element ref="hlb" inputtag="KEY.3" inputmask="0x01"> <bounds x="38.5" y="2" width="6" height="4" /> <color alpha="0.3"/></element> + <element ref="hlb" inputtag="KEY.0" inputmask="0x02"> <bounds x="47" y="2" width="6" height="4" /> <color alpha="0.3"/></element> + <element ref="hlb" inputtag="KEY.1" inputmask="0x02"> <bounds x="55.5" y="2" width="6" height="4" /> <color alpha="0.3"/></element> + <element ref="hlb" inputtag="KEY.2" inputmask="0x02"> <bounds x="64" y="2" width="6" height="4" /> <color alpha="0.3"/></element> + <element ref="hlb" inputtag="KEY.3" inputmask="0x02"> <bounds x="72.5" y="2" width="6" height="4" /> <color alpha="0.3"/></element> + <element ref="hlb" inputtag="KEY.0" inputmask="0x04"> <bounds x="13" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element> + <element ref="hlb" inputtag="KEY.1" inputmask="0x04"> <bounds x="21.5" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element> + <element ref="hlb" inputtag="KEY.2" inputmask="0x04"> <bounds x="30" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element> + <element ref="hlb" inputtag="KEY.3" inputmask="0x04"> <bounds x="38.5" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element> + <element ref="hlb" inputtag="KEY.0" inputmask="0x08"> <bounds x="47" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element> + <element ref="hlb" inputtag="KEY.1" inputmask="0x08"> <bounds x="55.5" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element> + <element ref="hlb" inputtag="KEY.2" inputmask="0x08"> <bounds x="64" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element> + <element ref="hlb" inputtag="KEY.3" inputmask="0x08"> <bounds x="72.5" y="7.5" width="6" height="4" /> <color alpha="0.3"/></element> </group> @@ -448,7 +478,7 @@ license:CC0 <element ref="background"><bounds x="13" y="-2" width="90" height="104" /></element> <!-- chessboard coords --> - <element ref="text_8"><bounds x="13.6" y="7" width="2" height="2" /></element> + <element ref="text_8"><bounds x="13.6" y="7" width="2" height="2" /></element> <element ref="text_7"><bounds x="13.6" y="17" width="2" height="2" /></element> <element ref="text_6"><bounds x="13.6" y="27" width="2" height="2" /></element> <element ref="text_5"><bounds x="13.6" y="37" width="2" height="2" /></element> @@ -470,23 +500,59 @@ license:CC0 <element ref="black"><bounds x="17.5" y="2.5" width="81" height="81" /></element> <!-- chessboard leds --> - <element name="led0" ref="led"><bounds x="15.7" y="77.25" width="0.8" height="1.5" /></element> - <element name="led1" ref="led"><bounds x="15.7" y="67.25" width="0.8" height="1.5" /></element> - <element name="led2" ref="led"><bounds x="15.7" y="57.25" width="0.8" height="1.5" /></element> - <element name="led3" ref="led"><bounds x="15.7" y="47.25" width="0.8" height="1.5" /></element> - <element name="led4" ref="led"><bounds x="15.7" y="37.25" width="0.8" height="1.5" /></element> - <element name="led5" ref="led"><bounds x="15.7" y="27.25" width="0.8" height="1.5" /></element> - <element name="led6" ref="led"><bounds x="15.7" y="17.25" width="0.8" height="1.5" /></element> - <element name="led7" ref="led"><bounds x="15.7" y="7.25" width="0.8" height="1.5" /></element> - - <element name="led8" ref="led"><bounds x="22.25" y="84.5" width="1.5" height="0.8" /></element> - <element name="led9" ref="led"><bounds x="32.25" y="84.5" width="1.5" height="0.8" /></element> - <element name="led10" ref="led"><bounds x="42.25" y="84.5" width="1.5" height="0.8" /></element> - <element name="led11" ref="led"><bounds x="52.25" y="84.5" width="1.5" height="0.8" /></element> - <element name="led12" ref="led"><bounds x="62.25" y="84.5" width="1.5" height="0.8" /></element> - <element name="led13" ref="led"><bounds x="72.25" y="84.5" width="1.5" height="0.8" /></element> - <element name="led14" ref="led"><bounds x="82.25" y="84.5" width="1.5" height="0.8" /></element> - <element name="led15" ref="led"><bounds x="92.25" y="84.5" width="1.5" height="0.8" /></element> + <element ref="ledo"><bounds x="15.7" y="77.25" width="0.8" height="1.5" /></element> + <element ref="ledo"><bounds x="15.7" y="67.25" width="0.8" height="1.5" /></element> + <element ref="ledo"><bounds x="15.7" y="57.25" width="0.8" height="1.5" /></element> + <element ref="ledo"><bounds x="15.7" y="47.25" width="0.8" height="1.5" /></element> + <element ref="ledo"><bounds x="15.7" y="37.25" width="0.8" height="1.5" /></element> + <element ref="ledo"><bounds x="15.7" y="27.25" width="0.8" height="1.5" /></element> + <element ref="ledo"><bounds x="15.7" y="17.25" width="0.8" height="1.5" /></element> + <element ref="ledo"><bounds x="15.7" y="7.25" width="0.8" height="1.5" /></element> + + <element name="0.2" ref="ledg" blend="add"><bounds x="15.7" y="77.25" width="0.8" height="1.5" /></element> + <element name="1.2" ref="ledg" blend="add"><bounds x="15.7" y="67.25" width="0.8" height="1.5" /></element> + <element name="2.2" ref="ledg" blend="add"><bounds x="15.7" y="57.25" width="0.8" height="1.5" /></element> + <element name="3.2" ref="ledg" blend="add"><bounds x="15.7" y="47.25" width="0.8" height="1.5" /></element> + <element name="4.2" ref="ledg" blend="add"><bounds x="15.7" y="37.25" width="0.8" height="1.5" /></element> + <element name="5.2" ref="ledg" blend="add"><bounds x="15.7" y="27.25" width="0.8" height="1.5" /></element> + <element name="6.2" ref="ledg" blend="add"><bounds x="15.7" y="17.25" width="0.8" height="1.5" /></element> + <element name="7.2" ref="ledg" blend="add"><bounds x="15.7" y="7.25" width="0.8" height="1.5" /></element> + + <element name="0.3" ref="ledr" blend="add"><bounds x="15.7" y="77.25" width="0.8" height="1.5" /></element> + <element name="1.3" ref="ledr" blend="add"><bounds x="15.7" y="67.25" width="0.8" height="1.5" /></element> + <element name="2.3" ref="ledr" blend="add"><bounds x="15.7" y="57.25" width="0.8" height="1.5" /></element> + <element name="3.3" ref="ledr" blend="add"><bounds x="15.7" y="47.25" width="0.8" height="1.5" /></element> + <element name="4.3" ref="ledr" blend="add"><bounds x="15.7" y="37.25" width="0.8" height="1.5" /></element> + <element name="5.3" ref="ledr" blend="add"><bounds x="15.7" y="27.25" width="0.8" height="1.5" /></element> + <element name="6.3" ref="ledr" blend="add"><bounds x="15.7" y="17.25" width="0.8" height="1.5" /></element> + <element name="7.3" ref="ledr" blend="add"><bounds x="15.7" y="7.25" width="0.8" height="1.5" /></element> + + <element ref="ledo"><bounds x="22.25" y="84.5" width="1.5" height="0.8" /></element> + <element ref="ledo"><bounds x="32.25" y="84.5" width="1.5" height="0.8" /></element> + <element ref="ledo"><bounds x="42.25" y="84.5" width="1.5" height="0.8" /></element> + <element ref="ledo"><bounds x="52.25" y="84.5" width="1.5" height="0.8" /></element> + <element ref="ledo"><bounds x="62.25" y="84.5" width="1.5" height="0.8" /></element> + <element ref="ledo"><bounds x="72.25" y="84.5" width="1.5" height="0.8" /></element> + <element ref="ledo"><bounds x="82.25" y="84.5" width="1.5" height="0.8" /></element> + <element ref="ledo"><bounds x="92.25" y="84.5" width="1.5" height="0.8" /></element> + + <element name="0.4" ref="ledg" blend="add"><bounds x="22.25" y="84.5" width="1.5" height="0.8" /></element> + <element name="1.4" ref="ledg" blend="add"><bounds x="32.25" y="84.5" width="1.5" height="0.8" /></element> + <element name="2.4" ref="ledg" blend="add"><bounds x="42.25" y="84.5" width="1.5" height="0.8" /></element> + <element name="3.4" ref="ledg" blend="add"><bounds x="52.25" y="84.5" width="1.5" height="0.8" /></element> + <element name="4.4" ref="ledg" blend="add"><bounds x="62.25" y="84.5" width="1.5" height="0.8" /></element> + <element name="5.4" ref="ledg" blend="add"><bounds x="72.25" y="84.5" width="1.5" height="0.8" /></element> + <element name="6.4" ref="ledg" blend="add"><bounds x="82.25" y="84.5" width="1.5" height="0.8" /></element> + <element name="7.4" ref="ledg" blend="add"><bounds x="92.25" y="84.5" width="1.5" height="0.8" /></element> + + <element name="0.5" ref="ledr" blend="add"><bounds x="22.25" y="84.5" width="1.5" height="0.8" /></element> + <element name="1.5" ref="ledr" blend="add"><bounds x="32.25" y="84.5" width="1.5" height="0.8" /></element> + <element name="2.5" ref="ledr" blend="add"><bounds x="42.25" y="84.5" width="1.5" height="0.8" /></element> + <element name="3.5" ref="ledr" blend="add"><bounds x="52.25" y="84.5" width="1.5" height="0.8" /></element> + <element name="4.5" ref="ledr" blend="add"><bounds x="62.25" y="84.5" width="1.5" height="0.8" /></element> + <element name="5.5" ref="ledr" blend="add"><bounds x="72.25" y="84.5" width="1.5" height="0.8" /></element> + <element name="6.5" ref="ledr" blend="add"><bounds x="82.25" y="84.5" width="1.5" height="0.8" /></element> + <element name="7.5" ref="ledr" blend="add"><bounds x="92.25" y="84.5" width="1.5" height="0.8" /></element> <!-- LCD panel --> <group ref="panel"><bounds x="18" y="89" width="79" height="13" /></group> diff --git a/src/mame/layout/mephisto_smondial2.lay b/src/mame/layout/mephisto_smondial2.lay index a67d5d3fc2a..7daf3e2d41e 100644 --- a/src/mame/layout/mephisto_smondial2.lay +++ b/src/mame/layout/mephisto_smondial2.lay @@ -10,12 +10,24 @@ license:CC0 <led7seg><color red="0.2" green="0.16" blue="0.16" /></led7seg> </element> + <element name="ledo"> + <rect><color red="0.1" green="0.1" blue="0.1" /></rect> + </element> + <element name="ledr" defstate="0"> + <rect state="0"><color red="0" green="0" blue="0" /></rect> + <rect state="1"><color red="1" green="0" blue="0" /></rect> + </element> + <element name="ledg" defstate="0"> + <rect state="0"><color red="0" green="0" blue="0" /></rect> + <rect state="1"><color red="0" green="1" blue="0" /></rect> + </element> + <element name="led" defstate="0"> <rect state="0"> <color red="0.20" green="0.0" blue="0.0" /> </rect> <rect state="1"> - <color red="0.95" green="0.0" blue="0.0" /> + <color red="1" green="0.1" blue="0.1" /> </rect> </element> <element name="hlb" defstate="0"> @@ -204,14 +216,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> @@ -293,8 +305,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> @@ -314,18 +326,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> @@ -334,7 +346,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> @@ -347,10 +359,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> @@ -374,14 +386,32 @@ license:CC0 <element name="digit6" ref="digit"> <bounds x="5" y="8" width="2" height="3" /> </element> <element name="digit7" ref="digit"> <bounds x="7" y="8" width="2" height="3" /> </element> - <element name="led100" ref="led"> <bounds x="13.0" y="0.4" width="1.3" height="0.8" /> </element> - <element name="led101" ref="led"> <bounds x="21.5" y="0.4" width="1.3" height="0.8" /> </element> - <element name="led102" ref="led"> <bounds x="30.0" y="0.4" width="1.3" height="0.8" /> </element> - <element name="led103" ref="led"> <bounds x="38.5" y="0.4" width="1.3" height="0.8" /> </element> - <element name="led104" ref="led"> <bounds x="47.0" y="0.4" width="1.3" height="0.8" /> </element> - <element name="led105" ref="led"> <bounds x="55.5" y="0.4" width="1.3" height="0.8" /> </element> - <element name="led106" ref="led"> <bounds x="64.0" y="0.4" width="1.3" height="0.8" /> </element> - <element name="led107" ref="led"> <bounds x="72.5" y="0.4" width="1.3" height="0.8" /> </element> + <element ref="ledo"><bounds x="13.0" y="0.4" width="1.3" height="0.8" /> </element> + <element ref="ledo"><bounds x="21.5" y="0.4" width="1.3" height="0.8" /> </element> + <element ref="ledo"><bounds x="30.0" y="0.4" width="1.3" height="0.8" /> </element> + <element ref="ledo"><bounds x="38.5" y="0.4" width="1.3" height="0.8" /> </element> + <element ref="ledo"><bounds x="47.0" y="0.4" width="1.3" height="0.8" /> </element> + <element ref="ledo"><bounds x="55.5" y="0.4" width="1.3" height="0.8" /> </element> + <element ref="ledo"><bounds x="64.0" y="0.4" width="1.3" height="0.8" /> </element> + <element ref="ledo"><bounds x="72.5" y="0.4" width="1.3" height="0.8" /> </element> + + <element name="0.0" ref="ledg" blend="add"><bounds x="13.0" y="0.4" width="1.3" height="0.8" /> </element> + <element name="1.0" ref="ledg" blend="add"><bounds x="21.5" y="0.4" width="1.3" height="0.8" /> </element> + <element name="2.0" ref="ledg" blend="add"><bounds x="30.0" y="0.4" width="1.3" height="0.8" /> </element> + <element name="3.0" ref="ledg" blend="add"><bounds x="38.5" y="0.4" width="1.3" height="0.8" /> </element> + <element name="4.0" ref="ledg" blend="add"><bounds x="47.0" y="0.4" width="1.3" height="0.8" /> </element> + <element name="5.0" ref="ledg" blend="add"><bounds x="55.5" y="0.4" width="1.3" height="0.8" /> </element> + <element name="6.0" ref="ledg" blend="add"><bounds x="64.0" y="0.4" width="1.3" height="0.8" /> </element> + <element name="7.0" ref="ledg" blend="add"><bounds x="72.5" y="0.4" width="1.3" height="0.8" /> </element> + + <element name="0.1" ref="ledr" blend="add"><bounds x="13.0" y="0.4" width="1.3" height="0.8" /> </element> + <element name="1.1" ref="ledr" blend="add"><bounds x="21.5" y="0.4" width="1.3" height="0.8" /> </element> + <element name="2.1" ref="ledr" blend="add"><bounds x="30.0" y="0.4" width="1.3" height="0.8" /> </element> + <element name="3.1" ref="ledr" blend="add"><bounds x="38.5" y="0.4" width="1.3" height="0.8" /> </element> + <element name="4.1" ref="ledr" blend="add"><bounds x="47.0" y="0.4" width="1.3" height="0.8" /> </element> + <element name="5.1" ref="ledr" blend="add"><bounds x="55.5" y="0.4" width="1.3" height="0.8" /> </element> + <element name="6.1" ref="ledr" blend="add"><bounds x="64.0" y="0.4" width="1.3" height="0.8" /> </element> + <element name="7.1" ref="ledr" blend="add"><bounds x="72.5" y="0.4" width="1.3" height="0.8" /> </element> <element ref="black"> <bounds x="13" y="2" width="6" height="4" /> </element> <element ref="black"> <bounds x="21.5" y="2" width="6" height="4" /> </element> @@ -425,22 +455,22 @@ license:CC0 <element ref="text_ent"> <bounds x="64.5" y="8.75" width="5" height="1.5" /> </element> <element ref="text_res"> <bounds x="73" y="8.75" width="5" height="1.5" /> </element> - <element ref="hlb" inputtag="KEY.1" inputmask="0x01"> <bounds x="13" y="2" width="6" height="4" /> <color alpha="0.3" /></element> - <element ref="hlb" inputtag="KEY.1" inputmask="0x10"> <bounds x="21.5" y="2" width="6" height="4" /> <color alpha="0.3" /></element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x01"> <bounds x="30" y="2" width="6" height="4" /> <color alpha="0.3" /></element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x10"> <bounds x="38.5" y="2" width="6" height="4" /> <color alpha="0.3" /></element> - <element ref="hlb" inputtag="KEY.1" inputmask="0x02"> <bounds x="47" y="2" width="6" height="4" /> <color alpha="0.3" /></element> - <element ref="hlb" inputtag="KEY.1" inputmask="0x20"> <bounds x="55.5" y="2" width="6" height="4" /> <color alpha="0.3" /></element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x02"> <bounds x="64" y="2" width="6" height="4" /> <color alpha="0.3" /></element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x20"> <bounds x="72.5" y="2" width="6" height="4" /> <color alpha="0.3" /></element> - <element ref="hlb" inputtag="KEY.1" inputmask="0x04"> <bounds x="13" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element> - <element ref="hlb" inputtag="KEY.1" inputmask="0x40"> <bounds x="21.5" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x04"> <bounds x="30" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x40"> <bounds x="38.5" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element> - <element ref="hlb" inputtag="KEY.1" inputmask="0x08"> <bounds x="47" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element> - <element ref="hlb" inputtag="KEY.1" inputmask="0x80"> <bounds x="55.5" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x08"> <bounds x="64" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element> - <element ref="hlb" inputtag="KEY.0" inputmask="0x80"> <bounds x="72.5" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element> + <element ref="hlb" inputtag="KEY.0" inputmask="0x01"> <bounds x="13" y="2" width="6" height="4" /> <color alpha="0.3" /></element> + <element ref="hlb" inputtag="KEY.1" inputmask="0x01"> <bounds x="21.5" y="2" width="6" height="4" /> <color alpha="0.3" /></element> + <element ref="hlb" inputtag="KEY.2" inputmask="0x01"> <bounds x="30" y="2" width="6" height="4" /> <color alpha="0.3" /></element> + <element ref="hlb" inputtag="KEY.3" inputmask="0x01"> <bounds x="38.5" y="2" width="6" height="4" /> <color alpha="0.3" /></element> + <element ref="hlb" inputtag="KEY.0" inputmask="0x02"> <bounds x="47" y="2" width="6" height="4" /> <color alpha="0.3" /></element> + <element ref="hlb" inputtag="KEY.1" inputmask="0x02"> <bounds x="55.5" y="2" width="6" height="4" /> <color alpha="0.3" /></element> + <element ref="hlb" inputtag="KEY.2" inputmask="0x02"> <bounds x="64" y="2" width="6" height="4" /> <color alpha="0.3" /></element> + <element ref="hlb" inputtag="KEY.3" inputmask="0x02"> <bounds x="72.5" y="2" width="6" height="4" /> <color alpha="0.3" /></element> + <element ref="hlb" inputtag="KEY.0" inputmask="0x04"> <bounds x="13" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element> + <element ref="hlb" inputtag="KEY.1" inputmask="0x04"> <bounds x="21.5" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element> + <element ref="hlb" inputtag="KEY.2" inputmask="0x04"> <bounds x="30" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element> + <element ref="hlb" inputtag="KEY.3" inputmask="0x04"> <bounds x="38.5" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element> + <element ref="hlb" inputtag="KEY.0" inputmask="0x08"> <bounds x="47" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element> + <element ref="hlb" inputtag="KEY.1" inputmask="0x08"> <bounds x="55.5" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element> + <element ref="hlb" inputtag="KEY.2" inputmask="0x08"> <bounds x="64" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element> + <element ref="hlb" inputtag="KEY.3" inputmask="0x08"> <bounds x="72.5" y="7.5" width="6" height="4" /> <color alpha="0.3" /></element> </group> @@ -473,23 +503,59 @@ license:CC0 <element ref="black"><bounds x="17.5" y="2.5" width="81" height="81" /></element> <!-- chessboard leds --> - <element name="led0" ref="led"><bounds x="15.7" y="77.25" width="0.8" height="1.5" /></element> - <element name="led1" ref="led"><bounds x="15.7" y="67.25" width="0.8" height="1.5" /></element> - <element name="led2" ref="led"><bounds x="15.7" y="57.25" width="0.8" height="1.5" /></element> - <element name="led3" ref="led"><bounds x="15.7" y="47.25" width="0.8" height="1.5" /></element> - <element name="led4" ref="led"><bounds x="15.7" y="37.25" width="0.8" height="1.5" /></element> - <element name="led5" ref="led"><bounds x="15.7" y="27.25" width="0.8" height="1.5" /></element> - <element name="led6" ref="led"><bounds x="15.7" y="17.25" width="0.8" height="1.5" /></element> - <element name="led7" ref="led"><bounds x="15.7" y="7.25" width="0.8" height="1.5" /></element> - - <element name="led8" ref="led"><bounds x="22.25" y="84.5" width="1.5" height="0.8" /></element> - <element name="led9" ref="led"><bounds x="32.25" y="84.5" width="1.5" height="0.8" /></element> - <element name="led10" ref="led"><bounds x="42.25" y="84.5" width="1.5" height="0.8" /></element> - <element name="led11" ref="led"><bounds x="52.25" y="84.5" width="1.5" height="0.8" /></element> - <element name="led12" ref="led"><bounds x="62.25" y="84.5" width="1.5" height="0.8" /></element> - <element name="led13" ref="led"><bounds x="72.25" y="84.5" width="1.5" height="0.8" /></element> - <element name="led14" ref="led"><bounds x="82.25" y="84.5" width="1.5" height="0.8" /></element> - <element name="led15" ref="led"><bounds x="92.25" y="84.5" width="1.5" height="0.8" /></element> + <element ref="ledo"><bounds x="15.7" y="77.25" width="0.8" height="1.5" /></element> + <element ref="ledo"><bounds x="15.7" y="67.25" width="0.8" height="1.5" /></element> + <element ref="ledo"><bounds x="15.7" y="57.25" width="0.8" height="1.5" /></element> + <element ref="ledo"><bounds x="15.7" y="47.25" width="0.8" height="1.5" /></element> + <element ref="ledo"><bounds x="15.7" y="37.25" width="0.8" height="1.5" /></element> + <element ref="ledo"><bounds x="15.7" y="27.25" width="0.8" height="1.5" /></element> + <element ref="ledo"><bounds x="15.7" y="17.25" width="0.8" height="1.5" /></element> + <element ref="ledo"><bounds x="15.7" y="7.25" width="0.8" height="1.5" /></element> + + <element name="0.2" ref="ledg" blend="add"><bounds x="15.7" y="77.25" width="0.8" height="1.5" /></element> + <element name="1.2" ref="ledg" blend="add"><bounds x="15.7" y="67.25" width="0.8" height="1.5" /></element> + <element name="2.2" ref="ledg" blend="add"><bounds x="15.7" y="57.25" width="0.8" height="1.5" /></element> + <element name="3.2" ref="ledg" blend="add"><bounds x="15.7" y="47.25" width="0.8" height="1.5" /></element> + <element name="4.2" ref="ledg" blend="add"><bounds x="15.7" y="37.25" width="0.8" height="1.5" /></element> + <element name="5.2" ref="ledg" blend="add"><bounds x="15.7" y="27.25" width="0.8" height="1.5" /></element> + <element name="6.2" ref="ledg" blend="add"><bounds x="15.7" y="17.25" width="0.8" height="1.5" /></element> + <element name="7.2" ref="ledg" blend="add"><bounds x="15.7" y="7.25" width="0.8" height="1.5" /></element> + + <element name="0.3" ref="ledr" blend="add"><bounds x="15.7" y="77.25" width="0.8" height="1.5" /></element> + <element name="1.3" ref="ledr" blend="add"><bounds x="15.7" y="67.25" width="0.8" height="1.5" /></element> + <element name="2.3" ref="ledr" blend="add"><bounds x="15.7" y="57.25" width="0.8" height="1.5" /></element> + <element name="3.3" ref="ledr" blend="add"><bounds x="15.7" y="47.25" width="0.8" height="1.5" /></element> + <element name="4.3" ref="ledr" blend="add"><bounds x="15.7" y="37.25" width="0.8" height="1.5" /></element> + <element name="5.3" ref="ledr" blend="add"><bounds x="15.7" y="27.25" width="0.8" height="1.5" /></element> + <element name="6.3" ref="ledr" blend="add"><bounds x="15.7" y="17.25" width="0.8" height="1.5" /></element> + <element name="7.3" ref="ledr" blend="add"><bounds x="15.7" y="7.25" width="0.8" height="1.5" /></element> + + <element ref="ledo"><bounds x="22.25" y="84.5" width="1.5" height="0.8" /></element> + <element ref="ledo"><bounds x="32.25" y="84.5" width="1.5" height="0.8" /></element> + <element ref="ledo"><bounds x="42.25" y="84.5" width="1.5" height="0.8" /></element> + <element ref="ledo"><bounds x="52.25" y="84.5" width="1.5" height="0.8" /></element> + <element ref="ledo"><bounds x="62.25" y="84.5" width="1.5" height="0.8" /></element> + <element ref="ledo"><bounds x="72.25" y="84.5" width="1.5" height="0.8" /></element> + <element ref="ledo"><bounds x="82.25" y="84.5" width="1.5" height="0.8" /></element> + <element ref="ledo"><bounds x="92.25" y="84.5" width="1.5" height="0.8" /></element> + + <element name="0.4" ref="ledg" blend="add"><bounds x="22.25" y="84.5" width="1.5" height="0.8" /></element> + <element name="1.4" ref="ledg" blend="add"><bounds x="32.25" y="84.5" width="1.5" height="0.8" /></element> + <element name="2.4" ref="ledg" blend="add"><bounds x="42.25" y="84.5" width="1.5" height="0.8" /></element> + <element name="3.4" ref="ledg" blend="add"><bounds x="52.25" y="84.5" width="1.5" height="0.8" /></element> + <element name="4.4" ref="ledg" blend="add"><bounds x="62.25" y="84.5" width="1.5" height="0.8" /></element> + <element name="5.4" ref="ledg" blend="add"><bounds x="72.25" y="84.5" width="1.5" height="0.8" /></element> + <element name="6.4" ref="ledg" blend="add"><bounds x="82.25" y="84.5" width="1.5" height="0.8" /></element> + <element name="7.4" ref="ledg" blend="add"><bounds x="92.25" y="84.5" width="1.5" height="0.8" /></element> + + <element name="0.5" ref="ledr" blend="add"><bounds x="22.25" y="84.5" width="1.5" height="0.8" /></element> + <element name="1.5" ref="ledr" blend="add"><bounds x="32.25" y="84.5" width="1.5" height="0.8" /></element> + <element name="2.5" ref="ledr" blend="add"><bounds x="42.25" y="84.5" width="1.5" height="0.8" /></element> + <element name="3.5" ref="ledr" blend="add"><bounds x="52.25" y="84.5" width="1.5" height="0.8" /></element> + <element name="4.5" ref="ledr" blend="add"><bounds x="62.25" y="84.5" width="1.5" height="0.8" /></element> + <element name="5.5" ref="ledr" blend="add"><bounds x="72.25" y="84.5" width="1.5" height="0.8" /></element> + <element name="6.5" ref="ledr" blend="add"><bounds x="82.25" y="84.5" width="1.5" height="0.8" /></element> + <element name="7.5" ref="ledr" blend="add"><bounds x="92.25" y="84.5" width="1.5" height="0.8" /></element> <!-- LCD panel --> <group ref="panel"><bounds x="18" y="89" width="79" height="13" /></group> diff --git a/src/mame/mame.lst b/src/mame/mame.lst index e26298c49a7..1e106a1ef79 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -22792,15 +22792,9 @@ mondial2 // 1987 Mephisto Mondial II mondl68k // 1988 Mephisto Mondial 68000XL @source:mephisto_montec.cpp -smondial // 1986 Mephisto Super Mondial (Ver A) -smondialab // 1986 Mephisto Super Mondial (Ver AB) -smondialb // 1986 Mephisto Super Mondial (Ver B) montec // 1987 Mephisto Monte Carlo monteca // 1987 Mephisto Monte Carlo -smondial2 // 1989 Mephisto Super Mondial II -megaiv // 1989 Mephisto Mega IV -megaiva // 1989 Mephisto Mega IV -monteciv // 1990 Mephisto Monte Carlo IV LE +montec4le // 1990 Mephisto Monte Carlo IV LE @source:mephisto_polgar.cpp polgar // 1990 Mephisto Polgar @@ -22812,6 +22806,14 @@ polgar101 // 1990 Mephisto Polgar 10MHz mrisc // 1992 Mephisto RISC 1MB mrisc2 // 1994 Mephisto RISC II +@source:mephisto_smondial.cpp +mega4 // 1989 Mephisto Mega IV +mega4a // 1989 Mephisto Mega IV +smondial // 1986 Mephisto Super Mondial (Ver A) +smondialab // 1986 Mephisto Super Mondial (Ver AB) +smondialb // 1986 Mephisto Super Mondial (Ver B) +smondial2 // 1989 Mephisto Super Mondial II + @source:mephistp.cpp mephistp // mephistp1 // diff --git a/src/mame/mess.flt b/src/mame/mess.flt index b4221afab8f..a5acf920536 100644 --- a/src/mame/mess.flt +++ b/src/mame/mess.flt @@ -592,6 +592,7 @@ mephisto_mondial68k.cpp mephisto_montec.cpp mephisto_polgar.cpp mephisto_risc.cpp +mephisto_smondial.cpp meritum.cpp mes.cpp mfabfz.cpp |