summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author hap <happppp@users.noreply.github.com>2019-06-12 15:57:31 +0200
committer hap <happppp@users.noreply.github.com>2019-06-12 15:57:31 +0200
commit8c80fc4b4367c69bf0daea3c233f04e828b604d5 (patch)
tree566abcd28a9fc6382913a795a22c773cf485e3a3
parenta599cad852626bb9ab2c5160dea5a08a09c43b3f (diff)
cking_master, cxg_ch2001: move from chessbase to screenless (nw)
-rw-r--r--scripts/target/mame/mess.lua18
-rw-r--r--src/emu/screen.cpp4
-rw-r--r--src/emu/screen.h2
-rw-r--r--src/mame/drivers/cking_master.cpp117
-rw-r--r--src/mame/drivers/cxg_ch2001.cpp116
-rw-r--r--src/mame/drivers/hh_melps4.cpp1
-rw-r--r--src/mame/drivers/hh_tms1k.cpp1
-rw-r--r--src/mame/drivers/rzone.cpp1
-rw-r--r--src/mame/drivers/tb303.cpp2
-rw-r--r--src/mame/drivers/tispeak.cpp1
-rw-r--r--src/mame/drivers/tr606.cpp2
-rw-r--r--src/mame/includes/hh_sm510.h1
-rw-r--r--src/mame/includes/hh_tms1k.h1
-rw-r--r--src/mame/includes/hh_ucom4.h1
-rw-r--r--src/mame/machine/chessbase.cpp2
15 files changed, 231 insertions, 39 deletions
diff --git a/scripts/target/mame/mess.lua b/scripts/target/mame/mess.lua
index f9657c0f7ea..4044269ad43 100644
--- a/scripts/target/mame/mess.lua
+++ b/scripts/target/mame/mess.lua
@@ -1854,8 +1854,6 @@ files {
MAME_DIR .. "src/mame/machine/chessbase.cpp",
MAME_DIR .. "src/mame/includes/chessbase.h",
MAME_DIR .. "src/mame/drivers/ave_arb.cpp",
- MAME_DIR .. "src/mame/drivers/cking_master.cpp",
- MAME_DIR .. "src/mame/drivers/cxg_ch2001.cpp",
MAME_DIR .. "src/mame/drivers/scisys_cp2000.cpp",
MAME_DIR .. "src/mame/machine/fidelbase.cpp",
@@ -3038,20 +3036,22 @@ createMESSProjects(_target, _subtarget, "screenless")
files {
MAME_DIR .. "src/mame/machine/screenless.cpp",
MAME_DIR .. "src/mame/includes/screenless.h",
+ MAME_DIR .. "src/mame/drivers/cking_master.cpp",
+ MAME_DIR .. "src/mame/drivers/cxg_ch2001.cpp",
MAME_DIR .. "src/mame/drivers/hh_amis2k.cpp",
MAME_DIR .. "src/mame/drivers/hh_cop400.cpp",
MAME_DIR .. "src/mame/drivers/hh_hmcs40.cpp",
+ MAME_DIR .. "src/mame/drivers/hh_melps4.cpp",
MAME_DIR .. "src/mame/drivers/hh_pic16.cpp",
MAME_DIR .. "src/mame/drivers/hh_ucom4.cpp",
- MAME_DIR .. "src/mame/includes/hh_ucom4.h",
- MAME_DIR .. "src/mame/drivers/tb303.cpp",
- MAME_DIR .. "src/mame/drivers/tr606.cpp",
- MAME_DIR .. "src/mame/drivers/hh_melps4.cpp",
MAME_DIR .. "src/mame/drivers/hh_tms1k.cpp",
MAME_DIR .. "src/mame/includes/hh_tms1k.h",
- MAME_DIR .. "src/mame/drivers/ticalc1x.cpp",
- MAME_DIR .. "src/mame/drivers/tispeak.cpp",
- MAME_DIR .. "src/mame/drivers/tispellb.cpp",
+ MAME_DIR .. "src/mame/drivers/ticalc1x.cpp", -- subdriver of hh_tms1k
+ MAME_DIR .. "src/mame/drivers/tispeak.cpp", -- "
+ MAME_DIR .. "src/mame/drivers/tispellb.cpp", -- "
+ MAME_DIR .. "src/mame/includes/hh_ucom4.h",
+ MAME_DIR .. "src/mame/drivers/tb303.cpp", -- subdriver of hh_ucom4
+ MAME_DIR .. "src/mame/drivers/tr606.cpp", -- "
}
-- Don't call this project "sega" or it collides with the arcade one
diff --git a/src/emu/screen.cpp b/src/emu/screen.cpp
index ef9611f1999..103230ba114 100644
--- a/src/emu/screen.cpp
+++ b/src/emu/screen.cpp
@@ -546,7 +546,7 @@ screen_device::screen_device(const machine_config &mconfig, const char *tag, dev
, m_scanline_cb(*this)
, m_palette(*this, finder_base::DUMMY_TAG)
, m_video_attributes(0)
- , m_svg_region(nullptr)
+ , m_svg_region(tag)
, m_container(nullptr)
, m_width(100)
, m_height(100)
@@ -717,8 +717,6 @@ void screen_device::device_start()
if (m_type == SCREEN_TYPE_SVG)
{
- if (!m_svg_region)
- m_svg_region = basetag();
memory_region *reg = owner()->memregion(m_svg_region);
if (!reg)
fatalerror("%s: SVG region \"%s\" does not exist\n", tag(), m_svg_region);
diff --git a/src/emu/screen.h b/src/emu/screen.h
index abf663ddc73..c530dc75502 100644
--- a/src/emu/screen.h
+++ b/src/emu/screen.h
@@ -268,7 +268,7 @@ public:
template<typename T> void set_palette(T &&tag) { m_palette.set_tag(std::forward<T>(tag)); }
void set_video_attributes(u32 flags) { m_video_attributes = flags; }
void set_color(rgb_t color) { m_color = color; }
- void set_svg_region(const char *region) { m_svg_region = region; } // default region is basetag()
+ void set_svg_region(const char *region) { m_svg_region = region; } // default region is device tag
// information getters
render_container &container() const { assert(m_container != nullptr); return *m_container; }
diff --git a/src/mame/drivers/cking_master.cpp b/src/mame/drivers/cking_master.cpp
index abea4ea1fe3..bbf42d914e1 100644
--- a/src/mame/drivers/cking_master.cpp
+++ b/src/mame/drivers/cking_master.cpp
@@ -3,7 +3,7 @@
// thanks-to:Berger
/******************************************************************************
-* cking_master.cpp, subdriver of machine/chessbase.cpp
+* cking_master.cpp, subdriver of machine/screenless.cpp
TODO:
- 1 WAIT CLK per M1, workaround with z80_set_cycle_tables is possible
@@ -21,10 +21,11 @@ Chess King Master overview (yes, it's plainly named "Master"):
******************************************************************************/
#include "emu.h"
-#include "includes/chessbase.h"
+#include "includes/screenless.h"
#include "cpu/z80/z80.h"
#include "machine/bankdev.h"
+#include "machine/timer.h"
#include "sound/dac.h"
#include "sound/volt_reg.h"
#include "speaker.h"
@@ -35,15 +36,16 @@ Chess King Master overview (yes, it's plainly named "Master"):
namespace {
-class master_state : public chessbase_state
+class master_state : public screenless_state
{
public:
master_state(const machine_config &mconfig, device_type type, const char *tag) :
- chessbase_state(mconfig, type, tag),
+ screenless_state(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_irq_on(*this, "irq_on"),
m_dac(*this, "dac"),
- m_mainmap(*this, "mainmap")
+ m_mainmap(*this, "mainmap"),
+ m_inputs(*this, "IN.%u", 0)
{ }
// machine drivers
@@ -51,12 +53,16 @@ public:
void init_master();
+protected:
+ virtual void machine_start() override;
+
private:
// devices/pointers
required_device<cpu_device> m_maincpu;
required_device<timer_device> m_irq_on;
required_device<dac_2bit_binary_weighted_ones_complement_device> m_dac;
required_device<address_map_bank_device> m_mainmap;
+ required_ioport_array<10> m_inputs;
// periodic interrupts
template<int Line> TIMER_DEVICE_CALLBACK_MEMBER(irq_on) { m_maincpu->set_input_line(Line, ASSERT_LINE); }
@@ -68,11 +74,22 @@ private:
u8 main_trampoline_r(offs_t offset);
void main_trampoline_w(offs_t offset, u8 data);
+ u8 m_inp_mux;
+
// I/O handlers
u8 input_r();
void control_w(u8 data);
};
+void master_state::machine_start()
+{
+ screenless_state::machine_start();
+
+ // zerofill, register for savestates
+ m_inp_mux = 0;
+ save_item(NAME(m_inp_mux));
+}
+
/******************************************************************************
@@ -85,8 +102,8 @@ void master_state::control_w(u8 data)
{
// d0-d3: 74145 A-D
// 74145 0-9: input mux, led select
- u16 sel = 1 << (data & 0xf) & 0x3ff;
- m_inp_mux = sel;
+ m_inp_mux = data & 0xf;
+ u16 sel = 1 << m_inp_mux & 0x3ff;
// d4,d5: led data
display_matrix(2, 9, data >> 4 & 3, sel & 0x1ff);
@@ -97,8 +114,9 @@ void master_state::control_w(u8 data)
u8 master_state::input_r()
{
- // d0-d7: multiplexed inputs (active low)
- return ~read_inputs(10);
+ // d0-d7: multiplexed inputs
+ u8 data = (m_inp_mux < 10) ? m_inputs[m_inp_mux]->read() : 0;
+ return ~data;
}
void master_state::init_master()
@@ -164,7 +182,85 @@ void master_state::main_trampoline(address_map &map)
******************************************************************************/
static INPUT_PORTS_START( master )
- PORT_INCLUDE( generic_cb_buttons )
+ PORT_START("IN.0")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+
+ PORT_START("IN.1")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+
+ PORT_START("IN.2")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+
+ PORT_START("IN.3")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+
+ PORT_START("IN.4")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+
+ PORT_START("IN.5")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+
+ PORT_START("IN.6")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+
+ PORT_START("IN.7")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
+ PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_NAME("Board Sensor")
PORT_START("IN.8")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_1) PORT_NAME("Change Position")
@@ -205,7 +301,6 @@ void master_state::master(machine_config &config)
m_irq_on->set_start_delay(irq_period - attotime::from_nsec(22870)); // active for 22.87us
TIMER(config, "irq_off").configure_periodic(FUNC(master_state::irq_off<INPUT_LINE_IRQ0>), irq_period);
- TIMER(config, "display_decay").configure_periodic(FUNC(master_state::display_decay_tick), attotime::from_msec(1));
config.set_default_layout(layout_ck_master);
/* sound hardware */
diff --git a/src/mame/drivers/cxg_ch2001.cpp b/src/mame/drivers/cxg_ch2001.cpp
index 7fac5d659a9..6b716a424a4 100644
--- a/src/mame/drivers/cxg_ch2001.cpp
+++ b/src/mame/drivers/cxg_ch2001.cpp
@@ -3,7 +3,7 @@
// thanks-to:Berger
/******************************************************************************
-* cxg_ch2001.cpp, subdriver of machine/chessbase.cpp
+* cxg_ch2001.cpp, subdriver of machine/screenless.cpp
*******************************************************************************
@@ -15,9 +15,10 @@ CXG Chess 2001 overview:
******************************************************************************/
#include "emu.h"
-#include "includes/chessbase.h"
+#include "includes/screenless.h"
#include "cpu/z80/z80.h"
+#include "machine/timer.h"
#include "sound/dac.h"
#include "sound/volt_reg.h"
#include "speaker.h"
@@ -28,26 +29,31 @@ CXG Chess 2001 overview:
namespace {
-class ch2001_state : public chessbase_state
+class ch2001_state : public screenless_state
{
public:
ch2001_state(const machine_config &mconfig, device_type type, const char *tag) :
- chessbase_state(mconfig, type, tag),
+ screenless_state(mconfig, type, tag),
m_maincpu(*this, "maincpu"),
m_irq_on(*this, "irq_on"),
m_dac(*this, "dac"),
- m_speaker_off(*this, "speaker_off")
+ m_speaker_off(*this, "speaker_off"),
+ m_inputs(*this, "IN.%u", 0)
{ }
// machine drivers
void ch2001(machine_config &config);
+protected:
+ virtual void machine_start() override;
+
private:
// devices/pointers
required_device<cpu_device> m_maincpu;
required_device<timer_device> m_irq_on;
required_device<dac_bit_interface> m_dac;
required_device<timer_device> m_speaker_off;
+ required_ioport_array<10> m_inputs;
// periodic interrupts
template<int Line> TIMER_DEVICE_CALLBACK_MEMBER(irq_on) { m_maincpu->set_input_line(Line, ASSERT_LINE); }
@@ -58,12 +64,23 @@ private:
// address maps
void main_map(address_map &map);
+ u8 m_inp_mux;
+
// I/O handlers
DECLARE_WRITE8_MEMBER(speaker_w);
DECLARE_WRITE8_MEMBER(leds_w);
DECLARE_READ8_MEMBER(input_r);
};
+void ch2001_state::machine_start()
+{
+ screenless_state::machine_start();
+
+ // zerofill, register for savestates
+ m_inp_mux = 0;
+ save_item(NAME(m_inp_mux));
+}
+
/******************************************************************************
@@ -84,18 +101,20 @@ WRITE8_MEMBER(ch2001_state::leds_w)
// d0-d7: 74ls273 (WR to CLK)
// 74ls273 Q1-Q4: 74ls145 A-D
// 74ls145 0-9: input mux/led select
- m_inp_mux = 1 << (data & 0xf) & 0x3ff;
+ m_inp_mux = data & 0xf;
+ u16 sel = 1 << m_inp_mux & 0x3ff;
// 74ls273 Q5-Q8: MC14028 A-D
// MC14028 Q0-Q7: led data, Q8,Q9: N/C
u8 led_data = 1 << (data >> 4 & 0xf) & 0xff;
- display_matrix(8, 10, led_data, m_inp_mux);
+ display_matrix(8, 10, led_data, sel);
}
READ8_MEMBER(ch2001_state::input_r)
{
// d0-d7: multiplexed inputs
- return ~read_inputs(10);
+ u8 data = (m_inp_mux < 10) ? m_inputs[m_inp_mux]->read() : 0;
+ return ~data;
}
@@ -119,7 +138,85 @@ void ch2001_state::main_map(address_map &map)
******************************************************************************/
static INPUT_PORTS_START( ch2001 )
- PORT_INCLUDE( generic_cb_magnets )
+ PORT_START("IN.0")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+
+ PORT_START("IN.1")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+
+ PORT_START("IN.2")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+
+ PORT_START("IN.3")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+
+ PORT_START("IN.4")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+
+ PORT_START("IN.5")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+
+ PORT_START("IN.6")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+
+ PORT_START("IN.7")
+ PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x02, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x04, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x08, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x10, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x20, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x40, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
+ PORT_BIT(0x80, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_TOGGLE PORT_NAME("Board Sensor")
PORT_START("IN.8")
PORT_BIT(0x01, IP_ACTIVE_HIGH, IPT_KEYPAD) PORT_CODE(KEYCODE_T) PORT_NAME("Black")
@@ -161,7 +258,6 @@ void ch2001_state::ch2001(machine_config &config)
TIMER(config, m_speaker_off).configure_generic(FUNC(ch2001_state::speaker_off));
- TIMER(config, "display_decay").configure_periodic(FUNC(ch2001_state::display_decay_tick), attotime::from_msec(1));
config.set_default_layout(layout_cxg_ch2001);
/* sound hardware */
diff --git a/src/mame/drivers/hh_melps4.cpp b/src/mame/drivers/hh_melps4.cpp
index e6468d63a21..affd20bb03a 100644
--- a/src/mame/drivers/hh_melps4.cpp
+++ b/src/mame/drivers/hh_melps4.cpp
@@ -12,7 +12,6 @@
#include "includes/screenless.h"
#include "cpu/melps4/m58846.h"
-#include "machine/timer.h"
#include "sound/spkrdev.h"
#include "screen.h"
diff --git a/src/mame/drivers/hh_tms1k.cpp b/src/mame/drivers/hh_tms1k.cpp
index 43149718511..4a7d4259213 100644
--- a/src/mame/drivers/hh_tms1k.cpp
+++ b/src/mame/drivers/hh_tms1k.cpp
@@ -153,6 +153,7 @@
#include "machine/tms1024.h"
#include "machine/clock.h"
+#include "machine/timer.h"
#include "sound/beep.h"
#include "sound/s14001a.h"
#include "sound/sn76477.h"
diff --git a/src/mame/drivers/rzone.cpp b/src/mame/drivers/rzone.cpp
index fa3f33586ca..c08021fbf26 100644
--- a/src/mame/drivers/rzone.cpp
+++ b/src/mame/drivers/rzone.cpp
@@ -32,6 +32,7 @@
#include "includes/hh_sm510.h"
#include "cpu/sm510/sm510.h"
+#include "machine/timer.h"
#include "screen.h"
#include "speaker.h"
diff --git a/src/mame/drivers/tb303.cpp b/src/mame/drivers/tb303.cpp
index f5ced59fcff..1698197fdde 100644
--- a/src/mame/drivers/tb303.cpp
+++ b/src/mame/drivers/tb303.cpp
@@ -17,6 +17,8 @@
#include "emu.h"
#include "includes/hh_ucom4.h"
+#include "machine/timer.h"
+
#include "tb303.lh"
diff --git a/src/mame/drivers/tispeak.cpp b/src/mame/drivers/tispeak.cpp
index 3dd9853efd2..48c3a9cb2d3 100644
--- a/src/mame/drivers/tispeak.cpp
+++ b/src/mame/drivers/tispeak.cpp
@@ -405,6 +405,7 @@ K28 modules:
#include "bus/generic/carts.h"
#include "bus/generic/slot.h"
+#include "machine/timer.h"
#include "machine/tms6100.h"
#include "sound/tms5110.h"
#include "softlist.h"
diff --git a/src/mame/drivers/tr606.cpp b/src/mame/drivers/tr606.cpp
index 001adda7094..cddca7b0c8d 100644
--- a/src/mame/drivers/tr606.cpp
+++ b/src/mame/drivers/tr606.cpp
@@ -17,6 +17,8 @@
#include "emu.h"
#include "includes/hh_ucom4.h"
+#include "machine/timer.h"
+
#include "tr606.lh"
diff --git a/src/mame/includes/hh_sm510.h b/src/mame/includes/hh_sm510.h
index d4af3754689..dee77543def 100644
--- a/src/mame/includes/hh_sm510.h
+++ b/src/mame/includes/hh_sm510.h
@@ -10,7 +10,6 @@
#define MAME_INCLUDES_HH_SM510_H
#include "cpu/sm510/sm510.h"
-#include "machine/timer.h"
#include "sound/spkrdev.h"
diff --git a/src/mame/includes/hh_tms1k.h b/src/mame/includes/hh_tms1k.h
index c083c16a34f..19cd3a524a3 100644
--- a/src/mame/includes/hh_tms1k.h
+++ b/src/mame/includes/hh_tms1k.h
@@ -22,7 +22,6 @@
#include "cpu/tms1000/tms0270.h"
#include "cpu/tms1000/tp0320.h"
-#include "machine/timer.h"
#include "sound/spkrdev.h"
diff --git a/src/mame/includes/hh_ucom4.h b/src/mame/includes/hh_ucom4.h
index 8797041c2c7..8ede7a7745a 100644
--- a/src/mame/includes/hh_ucom4.h
+++ b/src/mame/includes/hh_ucom4.h
@@ -12,7 +12,6 @@
#include "includes/screenless.h"
#include "cpu/ucom4/ucom4.h"
-#include "machine/timer.h"
#include "sound/spkrdev.h"
diff --git a/src/mame/machine/chessbase.cpp b/src/mame/machine/chessbase.cpp
index cc38c8a5720..331552a1895 100644
--- a/src/mame/machine/chessbase.cpp
+++ b/src/mame/machine/chessbase.cpp
@@ -12,7 +12,7 @@ As workaround for the chess games, use an external chess GUI on the side,
such as Arena(in editmode).
TODO:
-- use screenless class
+- use screenless class, this file will be removed eventually
******************************************************************************/