From 78c2a4091e0d5152fa2c3e1f724e8b2f75af2127 Mon Sep 17 00:00:00 2001 From: hap Date: Sat, 24 Apr 2021 01:04:10 +0200 Subject: saitek_risc2500: update internal artwork --- src/devices/machine/smartboard.cpp | 5 +- src/mame/drivers/saitek_risc2500.cpp | 40 ++- src/mame/drivers/tasc.cpp | 18 +- src/mame/layout/mephisto_modena.lay | 1 + src/mame/layout/mephisto_mondial.lay | 15 +- src/mame/layout/mephisto_mondial2.lay | 15 +- src/mame/layout/mephisto_mondial68k.lay | 14 +- src/mame/layout/mephisto_montec.lay | 4 + src/mame/layout/mephisto_montreux.lay | 533 ++++++++++++++++++++++++++++++++ src/mame/layout/mephisto_polgar.lay | 6 +- src/mame/layout/mephisto_risc.lay | 6 +- src/mame/layout/mephisto_smondial.lay | 14 +- src/mame/layout/mephisto_smondial2.lay | 14 +- src/mame/layout/saitek_risc2500.lay | 342 ++++++++++---------- 14 files changed, 798 insertions(+), 229 deletions(-) create mode 100644 src/mame/layout/mephisto_montreux.lay diff --git a/src/devices/machine/smartboard.cpp b/src/devices/machine/smartboard.cpp index c91dbd0ca46..5ac68fea89e 100644 --- a/src/devices/machine/smartboard.cpp +++ b/src/devices/machine/smartboard.cpp @@ -15,7 +15,7 @@ SmartBoard II is SB20 (64 LEDs, digital chesspieces) SmartBoard III is SB30 again, but digital SB20 and the newer SB30 are not emulated. They're on different hardware, with -embedded CPU to reduce I/O overhead. Note, These are not compatible with old +embedded CPU to reduce I/O overhead. Note, those are not compatible with old versions of Tasc R30. ******************************************************************************/ @@ -291,10 +291,9 @@ void tasc_sb30_device::data0_w(int state) m_squares[i] = piece_id ? (1 << (piece_id - 1)) : 0; } + m_scan_pending = false; m_pos = 0; update_output(); - - m_scan_pending = false; } else { diff --git a/src/mame/drivers/saitek_risc2500.cpp b/src/mame/drivers/saitek_risc2500.cpp index 0487dfd9824..ed8d6f2cbbf 100644 --- a/src/mame/drivers/saitek_risc2500.cpp +++ b/src/mame/drivers/saitek_risc2500.cpp @@ -56,6 +56,7 @@ TODO: #include "speaker.h" // internal artwork +#include "mephisto_montreux.lh" #include "saitek_risc2500.lh" @@ -74,7 +75,7 @@ public: , m_speaker(*this, "speaker") , m_lcdc(*this, "lcdc") , m_board(*this, "board") - , m_inputs(*this, "P%u", 0) + , m_inputs(*this, "IN.%u", 0) , m_digits(*this, "digit%u", 0U) , m_syms(*this, "sym%u", 0U) , m_leds(*this, "led%u", 0U) @@ -84,6 +85,7 @@ public: DECLARE_INPUT_CHANGED_MEMBER(on_button); void risc2500(machine_config &config); + void montreux(machine_config &config); protected: virtual void machine_start() override; @@ -366,35 +368,35 @@ void risc2500_state::risc2500_mem(address_map &map) ******************************************************************************/ static INPUT_PORTS_START( risc2500 ) - PORT_START("P0") + PORT_START("IN.0") PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Pawn") PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("BACK") PORT_CODE(KEYCODE_BACKSPACE) + PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("BACK") PORT_CODE(KEYCODE_B) PORT_CODE(KEYCODE_BACKSPACE) - PORT_START("P1") + PORT_START("IN.1") PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Knight") PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("ENTER") PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) - PORT_START("P2") + PORT_START("IN.2") PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Bishop") PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("DOWN") PORT_CODE(KEYCODE_DOWN) - PORT_START("P3") + PORT_START("IN.3") PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Rook") PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("UP") PORT_CODE(KEYCODE_UP) - PORT_START("P4") + PORT_START("IN.4") PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Queen") PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("MENU") PORT_CODE(KEYCODE_M) - PORT_START("P5") + PORT_START("IN.5") PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("King") PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("PLAY") PORT_CODE(KEYCODE_L) - PORT_START("P6") + PORT_START("IN.6") PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("RIGHT") PORT_CODE(KEYCODE_RIGHT) PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("NEW GAME") PORT_CODE(KEYCODE_N) - PORT_START("P7") + PORT_START("IN.7") PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("LEFT") PORT_CODE(KEYCODE_LEFT) PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("OFF") PORT_CODE(KEYCODE_O) @@ -403,6 +405,16 @@ static INPUT_PORTS_START( risc2500 ) PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("ACL") PORT_CODE(KEYCODE_F1) PORT_CHANGED_MEMBER(DEVICE_SELF, risc2500_state, acl_button, 0) INPUT_PORTS_END +static INPUT_PORTS_START( montreux ) // on/off buttons have different labels + PORT_INCLUDE( risc2500 ) + + PORT_MODIFY("IN.7") + PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("STOP") PORT_CODE(KEYCODE_S) + + PORT_MODIFY("RESET") + PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("GO") PORT_CODE(KEYCODE_G) PORT_CHANGED_MEMBER(DEVICE_SELF, risc2500_state, on_button, 0) +INPUT_PORTS_END + /****************************************************************************** @@ -456,6 +468,12 @@ void risc2500_state::risc2500(machine_config &config) m_speaker->set_levels(4, speaker_levels); } +void risc2500_state::montreux(machine_config &config) +{ + risc2500(config); + config.set_default_layout(layout_mephisto_montreux); +} + /****************************************************************************** @@ -489,4 +507,4 @@ ROM_END CONS( 1992, risc2500, 0, 0, risc2500, risc2500, risc2500_state, empty_init, "Saitek / Tasc", "Kasparov RISC 2500 (v1.04)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) CONS( 1992, risc2500a, risc2500, 0, risc2500, risc2500, risc2500_state, empty_init, "Saitek / Tasc", "Kasparov RISC 2500 (v1.03)", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) -CONS( 1995, montreux, 0, 0, risc2500, risc2500, risc2500_state, empty_init, "Saitek / Tasc", "Mephisto Montreux", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) // after Saitek bought Hegener + Glaser +CONS( 1995, montreux, 0, 0, montreux, montreux, risc2500_state, empty_init, "Saitek / Tasc", "Mephisto Montreux", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) // after Saitek bought Hegener + Glaser diff --git a/src/mame/drivers/tasc.cpp b/src/mame/drivers/tasc.cpp index 1e3a37524ca..0143bdd5c2e 100644 --- a/src/mame/drivers/tasc.cpp +++ b/src/mame/drivers/tasc.cpp @@ -277,24 +277,24 @@ void tasc_state::nvram_map(address_map &map) static INPUT_PORTS_START( tasc ) PORT_START("IN.0") - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_G) PORT_NAME("PLAY") - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_LEFT) PORT_NAME("LEFT") + PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_G) PORT_NAME("PLAY") + PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_LEFT) PORT_NAME("LEFT") PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_UNUSED) PORT_START("IN.1") - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_BACKSPACE) PORT_NAME("BACK") + PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_B) PORT_CODE(KEYCODE_BACKSPACE) PORT_NAME("BACK") PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_RIGHT) PORT_NAME("RIGHT") PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_UNUSED) PORT_START("IN.2") - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_M) PORT_NAME("MENU") - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_UP) PORT_NAME("UP") - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_L) PORT_NAME("Left Clock") + PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_M) PORT_NAME("MENU") + PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_UP) PORT_NAME("UP") + PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_L) PORT_NAME("Left Clock") PORT_START("IN.3") - PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_ENTER) PORT_NAME("ENTER") - PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_DOWN) PORT_NAME("DOWN") - PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_R) PORT_NAME("Right Clock") + PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_ENTER) PORT_CODE(KEYCODE_ENTER_PAD) PORT_NAME("ENTER") + PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_DOWN) PORT_NAME("DOWN") + PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_R) PORT_NAME("Right Clock") PORT_START("FAKE") PORT_CONFNAME( 0x01, 0x00, "CPU Frequency" ) PORT_CHANGED_MEMBER(DEVICE_SELF, tasc_state, switch_cpu_freq, 0) diff --git a/src/mame/layout/mephisto_modena.lay b/src/mame/layout/mephisto_modena.lay index 043921ccd28..d723be85b1f 100644 --- a/src/mame/layout/mephisto_modena.lay +++ b/src/mame/layout/mephisto_modena.lay @@ -431,6 +431,7 @@ license:CC0 + diff --git a/src/mame/layout/mephisto_mondial.lay b/src/mame/layout/mephisto_mondial.lay index 23f1d454190..fd8b13cbb89 100644 --- a/src/mame/layout/mephisto_mondial.lay +++ b/src/mame/layout/mephisto_mondial.lay @@ -350,6 +350,9 @@ license:CC0 + + + @@ -413,6 +416,10 @@ license:CC0 + + + + @@ -436,6 +443,8 @@ license:CC0 + + @@ -455,11 +464,5 @@ license:CC0 - - - - - - diff --git a/src/mame/layout/mephisto_mondial2.lay b/src/mame/layout/mephisto_mondial2.lay index 493e8c0f69e..1d4f995e5c6 100644 --- a/src/mame/layout/mephisto_mondial2.lay +++ b/src/mame/layout/mephisto_mondial2.lay @@ -350,6 +350,9 @@ license:CC0 + + + @@ -413,6 +416,10 @@ license:CC0 + + + + @@ -436,6 +443,8 @@ license:CC0 + + @@ -455,11 +464,5 @@ license:CC0 - - - - - - diff --git a/src/mame/layout/mephisto_mondial68k.lay b/src/mame/layout/mephisto_mondial68k.lay index 79bb8780067..4de8bef3044 100644 --- a/src/mame/layout/mephisto_mondial68k.lay +++ b/src/mame/layout/mephisto_mondial68k.lay @@ -348,6 +348,9 @@ license:CC0 + + + @@ -437,8 +440,13 @@ license:CC0 + + + + + @@ -458,11 +466,5 @@ license:CC0 - - - - - - diff --git a/src/mame/layout/mephisto_montec.lay b/src/mame/layout/mephisto_montec.lay index 02d13f9594b..ae9692aad7e 100644 --- a/src/mame/layout/mephisto_montec.lay +++ b/src/mame/layout/mephisto_montec.lay @@ -396,6 +396,9 @@ license:CC0 + + + @@ -482,6 +485,7 @@ license:CC0 + diff --git a/src/mame/layout/mephisto_montreux.lay b/src/mame/layout/mephisto_montreux.lay new file mode 100644 index 00000000000..f8bcdd818cf --- /dev/null +++ b/src/mame/layout/mephisto_montreux.lay @@ -0,0 +1,533 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/mame/layout/mephisto_polgar.lay b/src/mame/layout/mephisto_polgar.lay index e3618b188a8..5fdb939fa53 100644 --- a/src/mame/layout/mephisto_polgar.lay +++ b/src/mame/layout/mephisto_polgar.lay @@ -431,8 +431,7 @@ license:CC0 - - + @@ -451,11 +450,10 @@ license:CC0 - + - diff --git a/src/mame/layout/mephisto_risc.lay b/src/mame/layout/mephisto_risc.lay index e3618b188a8..5fdb939fa53 100644 --- a/src/mame/layout/mephisto_risc.lay +++ b/src/mame/layout/mephisto_risc.lay @@ -431,8 +431,7 @@ license:CC0 - - + @@ -451,11 +450,10 @@ license:CC0 - + - diff --git a/src/mame/layout/mephisto_smondial.lay b/src/mame/layout/mephisto_smondial.lay index a82503ba114..3660eab8f90 100644 --- a/src/mame/layout/mephisto_smondial.lay +++ b/src/mame/layout/mephisto_smondial.lay @@ -366,6 +366,9 @@ license:CC0 + + + @@ -496,8 +499,13 @@ license:CC0 + + + + + @@ -553,11 +561,5 @@ license:CC0 - - - - - - diff --git a/src/mame/layout/mephisto_smondial2.lay b/src/mame/layout/mephisto_smondial2.lay index 7daf3e2d41e..43276750726 100644 --- a/src/mame/layout/mephisto_smondial2.lay +++ b/src/mame/layout/mephisto_smondial2.lay @@ -369,6 +369,9 @@ license:CC0 + + + @@ -499,8 +502,13 @@ license:CC0 + + + + + @@ -556,11 +564,5 @@ license:CC0 - - - - - - diff --git a/src/mame/layout/saitek_risc2500.lay b/src/mame/layout/saitek_risc2500.lay index 265c42ed573..d2c806c90fb 100644 --- a/src/mame/layout/saitek_risc2500.lay +++ b/src/mame/layout/saitek_risc2500.lay @@ -13,10 +13,10 @@ license:CC0 - + - + @@ -30,93 +30,85 @@ license:CC0 - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + - + - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + - + + @@ -153,8 +145,8 @@ license:CC0 - - + + @@ -276,34 +268,34 @@ license:CC0 - + - + - + - + - + - + - + @@ -402,12 +394,30 @@ license:CC0 - - - + + + + + + + + + + + + + + + + + + + + + + - - + @@ -423,112 +433,108 @@ license:CC0 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + - + -- cgit v1.2.3