summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/devices/video/lc7582.cpp9
-rw-r--r--src/devices/video/lc7582.h3
-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
5 files changed, 30 insertions, 30 deletions
diff --git a/src/devices/video/lc7582.cpp b/src/devices/video/lc7582.cpp
index d062486e827..d50054b41e8 100644
--- a/src/devices/video/lc7582.cpp
+++ b/src/devices/video/lc7582.cpp
@@ -22,17 +22,12 @@ DEFINE_DEVICE_TYPE(LC7582, lc7582_device, "lc7582", "Sanyo LC7582 LCD Driver")
// constructor
//-------------------------------------------------
-lc7582_device::lc7582_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock) :
- device_t(mconfig, type, tag, owner, clock),
+lc7582_device::lc7582_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
+ device_t(mconfig, LC7582, tag, owner, clock),
m_latch{0, 0},
m_write_segs(*this)
{ }
-lc7582_device::lc7582_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) :
- lc7582_device(mconfig, LC7582, tag, owner, clock)
-{ }
-
-
//-------------------------------------------------
// device_start - device-specific startup
diff --git a/src/devices/video/lc7582.h b/src/devices/video/lc7582.h
index 7aea77814ac..a2744aad0b6 100644
--- a/src/devices/video/lc7582.h
+++ b/src/devices/video/lc7582.h
@@ -43,12 +43,11 @@ public:
DECLARE_WRITE_LINE_MEMBER(inh_w) { m_blank = bool(state); refresh_output(); }
protected:
- lc7582_device(const machine_config &mconfig, device_type type, const char *tag, device_t *owner, u32 clock);
-
// device-level overrides
virtual void device_start() override;
virtual void device_post_load() override { refresh_output(); }
+private:
void refresh_output();
int m_data = 0;
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.
**************************************************************************************************/