From 9e84835983f145e2d8e51ce6a0002beb62c77b69 Mon Sep 17 00:00:00 2001 From: hap Date: Fri, 28 Jun 2019 16:59:41 +0200 Subject: savant: add screen overlay (nw) --- src/mame/drivers/novag_presto.cpp | 10 +++--- src/mame/drivers/novag_savant.cpp | 15 +++++--- src/mame/layout/ave_arb.lay | 34 +++++++++--------- src/mame/layout/novag_savant.lay | 75 +++++++++++++++++++++++++++++++++++++++ 4 files changed, 108 insertions(+), 26 deletions(-) create mode 100644 src/mame/layout/novag_savant.lay diff --git a/src/mame/drivers/novag_presto.cpp b/src/mame/drivers/novag_presto.cpp index c8d4a9b7738..3b8293589c2 100644 --- a/src/mame/drivers/novag_presto.cpp +++ b/src/mame/drivers/novag_presto.cpp @@ -45,7 +45,7 @@ public: m_display(*this, "display"), m_board(*this, "board"), m_dac(*this, "dac"), - m_inputs(*this, "IN.%u", 0) + m_keypad(*this, "IN.0") { } // machine drivers @@ -58,7 +58,7 @@ protected: required_device m_display; required_device m_board; optional_device m_dac; - required_ioport_array<1> m_inputs; + required_ioport m_keypad; // I/O handlers void update_display(); @@ -152,14 +152,14 @@ READ8_MEMBER(presto_state::input_r) u8 data = 0; // P10-P17: multiplexed inputs - // read chessboard + // read chessboard buttons for (int i = 0; i < 8; i++) if (BIT(m_inp_mux, i)) data |= m_board->read_rank(i); - // read keypad + // read sidepanel keypad if (m_kp_select) - data |= m_inputs[0]->read(); + data |= m_keypad->read(); return ~data; } diff --git a/src/mame/drivers/novag_savant.cpp b/src/mame/drivers/novag_savant.cpp index 3ac82d788a4..fd11dd14e90 100644 --- a/src/mame/drivers/novag_savant.cpp +++ b/src/mame/drivers/novag_savant.cpp @@ -20,7 +20,6 @@ anymore in original working order. TODO: - get rid of m_wait_in hack when Z80 core accurately emulates WAIT pin -- internal artwork ******************************************************************************/ @@ -38,7 +37,7 @@ TODO: #include "speaker.h" // internal artwork -//#include "novag_savant.lh" // clickable +#include "novag_savant.lh" // clickable namespace { @@ -63,6 +62,9 @@ public: // machine drivers void savant(machine_config &config); + // user-controlled light switch (9 light bulbs behind LCD panel) + DECLARE_INPUT_CHANGED_MEMBER(light_switch) { output().set_value("backlight", newval); } + protected: virtual void machine_start() override; @@ -332,6 +334,11 @@ static INPUT_PORTS_START( savant ) PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_H) PORT_NAME("Hint") PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_Y) PORT_NAME("Promote") PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_6) PORT_NAME("Set Up") + + PORT_START("LIGHT") + PORT_CONFNAME( 0x01, 0x01, "LCD Backlight" ) PORT_CHANGED_MEMBER(DEVICE_SELF, savant_state, light_switch, nullptr) + PORT_CONFSETTING( 0x00, DEF_STR( Off ) ) + PORT_CONFSETTING( 0x01, DEF_STR( On ) ) INPUT_PORTS_END @@ -376,7 +383,7 @@ void savant_state::savant(machine_config &config) screen.set_visarea_full(); PWM_DISPLAY(config, m_display).set_size(8, 24+27); - //config.set_default_layout(layout_novag_savant); + config.set_default_layout(layout_novag_savant); /* sound hardware */ SPEAKER(config, "speaker").front_center(); @@ -413,4 +420,4 @@ ROM_END ******************************************************************************/ // YEAR NAME PARENT CMP MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS -CONS( 1981, savant, 0, 0, savant, savant, savant_state, empty_init, "Novag", "Savant", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING ) +CONS( 1981, savant, 0, 0, savant, savant, savant_state, empty_init, "Novag", "Savant", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) diff --git a/src/mame/layout/ave_arb.lay b/src/mame/layout/ave_arb.lay index 1f45eb252aa..e9e555bd994 100644 --- a/src/mame/layout/ave_arb.lay +++ b/src/mame/layout/ave_arb.lay @@ -31,68 +31,68 @@ - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + - + @@ -137,7 +137,7 @@ - + diff --git a/src/mame/layout/novag_savant.lay b/src/mame/layout/novag_savant.lay new file mode 100644 index 00000000000..c484f3768b6 --- /dev/null +++ b/src/mame/layout/novag_savant.lay @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + -- cgit v1.2.3