summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame
diff options
context:
space:
mode:
authorGravatarGravatar hap <happppp@users.noreply.github.com>2019-12-06 16:52:11 +0100
committerGravatarGravatar hap <happppp@users.noreply.github.com>2019-12-06 16:56:26 +0100
commitf7f0fed6baba2da45524c7e4f05d7c21b53a46cf (patch)
treeecdb7f118a401ec4515afa503b37bdd4ea9b11c3 /src/mame
parenta36dd336b898007c821ebaf8f0bd5109571bf75c (diff)
dominator: identify buttons (nw)
Diffstat (limited to 'src/mame')
-rw-r--r--src/mame/drivers/cxg_dominator.cpp42
-rw-r--r--src/mame/drivers/fidel_excel.cpp1
-rw-r--r--src/mame/drivers/mephisto_modena.cpp5
3 files changed, 27 insertions, 21 deletions
diff --git a/src/mame/drivers/cxg_dominator.cpp b/src/mame/drivers/cxg_dominator.cpp
index ba27bbf2d96..b9b485b074e 100644
--- a/src/mame/drivers/cxg_dominator.cpp
+++ b/src/mame/drivers/cxg_dominator.cpp
@@ -14,11 +14,11 @@ Hardware notes:
Sphinx Galaxy is assumed to be on similar hardware.
The chess engine is by Frans Morsch, older versions (before 2.05) were buggy.
-It's also used in the newer Mephisto Modena.
+Hold Pawn + Knight buttons at boot for test mode, it will tell the version number.
+This engine was also used in the newer Mephisto Modena.
TODO:
- artwork
-- buttons
******************************************************************************/
@@ -159,7 +159,7 @@ READ8_MEMBER(dominator_state::input_r)
void dominator_state::main_map(address_map &map)
{
- map(0x0000, 0x1fff).ram(); //.share("nvram");
+ map(0x0000, 0x1fff).ram().share("nvram");
map(0x4000, 0x400f).rw(FUNC(dominator_state::input_r), FUNC(dominator_state::leds_w));
map(0x4010, 0x4010).w(FUNC(dominator_state::control_w));
//map(0x7f00, 0x7fff).nopr(); // mid-opcode dummy read
@@ -174,24 +174,24 @@ void dominator_state::main_map(address_map &map)
static INPUT_PORTS_START( dominator )
PORT_START("IN.0")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_1)
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_2)
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_3)
- PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_4)
- PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_5)
- PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_6)
- PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_7)
- PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_8)
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_M) PORT_NAME("Move")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_T) PORT_NAME("Take Back")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_1) PORT_CODE(KEYCODE_1_PAD) PORT_NAME("Pawn")
+ PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_2) PORT_CODE(KEYCODE_2_PAD) PORT_NAME("Knight")
+ PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_3) PORT_CODE(KEYCODE_3_PAD) PORT_NAME("Bishop")
+ PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_4) PORT_CODE(KEYCODE_4_PAD) PORT_NAME("Rook")
+ PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_5) PORT_CODE(KEYCODE_5_PAD) PORT_NAME("Queen")
+ PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_6) PORT_CODE(KEYCODE_6_PAD) PORT_NAME("King")
PORT_START("IN.1")
- PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Q)
- PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_W)
- PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_E)
- PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_R)
- PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_T)
- PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Y)
- PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_U)
- PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_I)
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_U) PORT_NAME("Multi Move")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_L) PORT_NAME("Level")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_H) PORT_NAME("Hint")
+ PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_R) PORT_NAME("Replay")
+ PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_I) PORT_CODE(KEYCODE_BACKSPACE) PORT_CODE(KEYCODE_DEL) PORT_NAME("Library/Clear")
+ PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_S) PORT_CODE(KEYCODE_C) PORT_NAME("Color/Sound")
+ PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_E) PORT_NAME("Enter Position")
+ PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_N) PORT_NAME("New Game")
INPUT_PORTS_END
@@ -209,6 +209,8 @@ void dominator_state::dominator(machine_config &config)
const attotime irq_period = attotime::from_hz(4_MHz_XTAL / 0x2000); // from 4020
m_maincpu->set_periodic_int(FUNC(dominator_state::nmi_line_pulse), irq_period);
+ NVRAM(config, "nvram", nvram_device::DEFAULT_ALL_0);
+
SENSORBOARD(config, m_board).set_type(sensorboard_device::BUTTONS);
m_board->init_cb().set(m_board, FUNC(sensorboard_device::preset_chess));
m_board->set_delay(attotime::from_msec(150));
@@ -217,7 +219,7 @@ void dominator_state::dominator(machine_config &config)
LC7582(config, m_lcd, 0);
m_lcd->write_segs().set(FUNC(dominator_state::lcd_s_w));
- PWM_DISPLAY(config, m_display).set_size(10, 8);
+ PWM_DISPLAY(config, m_display).set_size(8+1, 8);
//config.set_default_layout(layout_cxg_dominator);
/* sound hardware */
diff --git a/src/mame/drivers/fidel_excel.cpp b/src/mame/drivers/fidel_excel.cpp
index 97429046ec6..ee3ab1dc203 100644
--- a/src/mame/drivers/fidel_excel.cpp
+++ b/src/mame/drivers/fidel_excel.cpp
@@ -12,6 +12,7 @@ TODO:
The problem goes away if RAM stays powered-on, but PCB has no indication of NVRAM.
- granits chessboard buttons seem too sensitive (detects input on falling edge if held too long)
- granits has a module slot, is it usable?
+- granits overlock + dynamic /2 cpu divider? (like SC12) instead of static /2 divider
*******************************************************************************
diff --git a/src/mame/drivers/mephisto_modena.cpp b/src/mame/drivers/mephisto_modena.cpp
index bd7cba023fa..65fd0319994 100644
--- a/src/mame/drivers/mephisto_modena.cpp
+++ b/src/mame/drivers/mephisto_modena.cpp
@@ -2,7 +2,10 @@
// copyright-holders:Sandro Ronco
/**************************************************************************************************
- Mephisto Modena
+Mephisto Modena
+
+The chess engine is by Frans Morsch, same one as Sphinx Dominator 2.05.
+Hold Pawn + Knight buttons at boot for test mode.
**************************************************************************************************/