summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author Ivan Vangelista <mesgnet@yahoo.it>2021-02-23 20:55:37 +0100
committer Ivan Vangelista <mesgnet@yahoo.it>2021-02-23 20:55:37 +0100
commit72cc27262212892f8159d77ab1167ee9938a3065 (patch)
tree04212d02a99be6f27dd90f08ae3947b0993284ad
parent69bb4015f614cb5565b45b1a0cb80ca3d00587c2 (diff)
simple_st0016.cpp: got rid of tagmap lookups and other small cleanups
-rw-r--r--scripts/target/mame/arcade.lua1
-rw-r--r--src/mame/drivers/simple_st0016.cpp192
-rw-r--r--src/mame/includes/simple_st0016.h57
3 files changed, 126 insertions, 124 deletions
diff --git a/scripts/target/mame/arcade.lua b/scripts/target/mame/arcade.lua
index 9e304c44ac4..3cad06dd47a 100644
--- a/scripts/target/mame/arcade.lua
+++ b/scripts/target/mame/arcade.lua
@@ -3822,7 +3822,6 @@ files {
MAME_DIR .. "src/mame/machine/st0016.cpp",
MAME_DIR .. "src/mame/machine/st0016.h",
MAME_DIR .. "src/mame/drivers/simple_st0016.cpp",
- MAME_DIR .. "src/mame/includes/simple_st0016.h",
MAME_DIR .. "src/mame/video/seta001.cpp",
MAME_DIR .. "src/mame/video/seta001.h",
MAME_DIR .. "src/mame/video/x1_012.cpp",
diff --git a/src/mame/drivers/simple_st0016.cpp b/src/mame/drivers/simple_st0016.cpp
index bd2ae3b7a36..6db72556138 100644
--- a/src/mame/drivers/simple_st0016.cpp
+++ b/src/mame/drivers/simple_st0016.cpp
@@ -21,10 +21,70 @@ Dips verified for Neratte Chu (nratechu) from manual
#include "emu.h"
#include "cpu/v810/v810.h"
#include "cpu/z80/z80.h"
-#include "sound/st0016.h"
-#include "includes/simple_st0016.h"
#include "machine/st0016.h"
+#include "machine/timer.h"
+#include "sound/st0016.h"
+#include "screen.h"
+
+namespace {
+
+class st0016_state : public driver_device
+{
+public:
+ st0016_state(const machine_config &mconfig, device_type type, const char *tag)
+ : driver_device(mconfig, type, tag),
+ m_maincpu(*this,"maincpu"),
+ m_subcpu(*this, "sub"),
+ m_screen(*this, "screen"),
+ m_mainbank(*this, "mainbank"),
+ m_system(*this, "SYSTEM"),
+ m_dsw(*this, "DSW%u", 1U)
+ { }
+
+ void st0016(machine_config &config);
+ void renju(machine_config &config);
+ void mayjinsn(machine_config &config);
+
+ void init_nratechu();
+ void init_mayjinsn();
+ void init_mayjisn2();
+ void init_renju();
+
+protected:
+ virtual void machine_start() override;
+
+private:
+ uint8_t m_mux_port;
+ uint32_t m_latches[8];
+
+ required_device<st0016_cpu_device> m_maincpu;
+ optional_device<cpu_device> m_subcpu;
+ required_device<screen_device> m_screen;
+
+ required_memory_bank m_mainbank;
+
+ required_ioport m_system;
+ required_ioport_array<2> m_dsw;
+
+ uint8_t mux_r();
+ void mux_select_w(uint8_t data);
+ uint32_t latch32_r(offs_t offset);
+ void latch32_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0);
+ uint8_t latch8_r(offs_t offset);
+ void latch8_w(offs_t offset, uint8_t data);
+
+ void rom_bank_w(uint8_t data);
+
+ uint32_t screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
+ TIMER_DEVICE_CALLBACK_MEMBER(interrupt);
+
+ void renju_mem(address_map &map);
+ void st0016_io(address_map &map);
+ void st0016_m2_io(address_map &map);
+ void st0016_mem(address_map &map);
+ void v810_mem(address_map &map);
+};
/*************************************
@@ -36,15 +96,21 @@ Dips verified for Neratte Chu (nratechu) from manual
void st0016_state::machine_start()
{
m_mainbank->configure_entries(0, 256, memregion("maincpu")->base(), 0x4000);
+
+ m_mux_port = 0;
+ std::fill(std::begin(m_latches), std::end(m_latches), 0);
+
+ save_item(NAME(m_mux_port));
+ save_item(NAME(m_latches));
}
void st0016_state::st0016_mem(address_map &map)
{
map(0x0000, 0x7fff).rom();
- map(0x8000, 0xbfff).bankr("mainbank");
+ map(0x8000, 0xbfff).bankr(m_mainbank);
map(0xe000, 0xe7ff).ram();
- map(0xe800, 0xe87f).ram(); /* common ram */
- map(0xf000, 0xffff).ram(); /* work ram */
+ map(0xe800, 0xe87f).ram(); // common ram
+ map(0xf000, 0xffff).ram(); // work ram
}
void st0016_state::renju_mem(address_map &map)
@@ -61,18 +127,18 @@ uint8_t st0016_state::mux_r()
xxxx - input port #2
xxxx - dip switches (2x8 bits) (multiplexed)
*/
- int retval = ioport("SYSTEM")->read() & 0x0f;
+ int retval = m_system->read() & 0x0f;
- switch(mux_port & 0x30)
+ switch(m_mux_port & 0x30)
{
- case 0x00: retval |= ((ioport("DSW1")->read() & 1) << 4) | ((ioport("DSW1")->read() & 0x10) << 1)
- | ((ioport("DSW2")->read() & 1) << 6) | ((ioport("DSW2")->read() & 0x10) <<3); break;
- case 0x10: retval |= ((ioport("DSW1")->read() & 2) << 3) | ((ioport("DSW1")->read() & 0x20) )
- | ((ioport("DSW2")->read() & 2) << 5) | ((ioport("DSW2")->read() & 0x20) <<2); break;
- case 0x20: retval |= ((ioport("DSW1")->read() & 4) << 2) | ((ioport("DSW1")->read() & 0x40) >> 1)
- | ((ioport("DSW2")->read() & 4) << 4) | ((ioport("DSW2")->read() & 0x40) <<1); break;
- case 0x30: retval |= ((ioport("DSW1")->read() & 8) << 1) | ((ioport("DSW1")->read() & 0x80) >> 2)
- | ((ioport("DSW2")->read() & 8) << 3) | ((ioport("DSW2")->read() & 0x80) ); break;
+ case 0x00: retval |= ((m_dsw[0]->read() & 1) << 4) | ((m_dsw[0]->read() & 0x10) << 1)
+ | ((m_dsw[1]->read() & 1) << 6) | ((m_dsw[1]->read() & 0x10) <<3); break;
+ case 0x10: retval |= ((m_dsw[0]->read() & 2) << 3) | ((m_dsw[0]->read() & 0x20) )
+ | ((m_dsw[1]->read() & 2) << 5) | ((m_dsw[1]->read() & 0x20) <<2); break;
+ case 0x20: retval |= ((m_dsw[0]->read() & 4) << 2) | ((m_dsw[0]->read() & 0x40) >> 1)
+ | ((m_dsw[1]->read() & 4) << 4) | ((m_dsw[1]->read() & 0x40) <<1); break;
+ case 0x30: retval |= ((m_dsw[0]->read() & 8) << 1) | ((m_dsw[0]->read() & 0x80) >> 2)
+ | ((m_dsw[1]->read() & 8) << 3) | ((m_dsw[1]->read() & 0x80) ); break;
}
return retval;
@@ -80,13 +146,12 @@ uint8_t st0016_state::mux_r()
void st0016_state::mux_select_w(uint8_t data)
{
- mux_port=data;
+ m_mux_port = data;
}
-void st0016_state::st0016_rom_bank_w(uint8_t data)
+void st0016_state::rom_bank_w(uint8_t data)
{
m_mainbank->set_entry(data);
- // st0016_rom_bank = data;
}
void st0016_state::st0016_io(address_map &map)
@@ -96,10 +161,10 @@ void st0016_state::st0016_io(address_map &map)
map(0xc1, 0xc1).portr("P2").nopw();
map(0xc2, 0xc2).r(FUNC(st0016_state::mux_r)).nopw();
map(0xc3, 0xc3).portr("P2").nopw();
- map(0xe0, 0xe0).nopw(); /* renju = $40, neratte = 0 */
- map(0xe1, 0xe1).w(FUNC(st0016_state::st0016_rom_bank_w));
- map(0xe6, 0xe6).nopw(); /* banking ? ram bank ? shared rambank ? */
- map(0xe7, 0xe7).nopw(); /* watchdog */
+ map(0xe0, 0xe0).nopw(); // renju = $40, neratte = 0
+ map(0xe1, 0xe1).w(FUNC(st0016_state::rom_bank_w));
+ map(0xe6, 0xe6).nopw(); // banking ? ram bank ? shared rambank ?
+ map(0xe7, 0xe7).nopw(); // watchdog
}
@@ -109,35 +174,33 @@ void st0016_state::st0016_io(address_map &map)
*
*************************************/
-static uint32_t latches[8];
-
uint32_t st0016_state::latch32_r(offs_t offset)
{
if(!offset)
- latches[2]&=~2;
- return latches[offset];
+ m_latches[2] &= ~2;
+ return m_latches[offset];
}
void st0016_state::latch32_w(offs_t offset, uint32_t data, uint32_t mem_mask)
{
if(!offset)
- latches[2]|=1;
- COMBINE_DATA(&latches[offset]);
+ m_latches[2] |= 1;
+ COMBINE_DATA(&m_latches[offset]);
machine().scheduler().synchronize();
}
uint8_t st0016_state::latch8_r(offs_t offset)
{
if(!offset)
- latches[2]&=~1;
- return latches[offset];
+ m_latches[2] &= ~1;
+ return m_latches[offset];
}
void st0016_state::latch8_w(offs_t offset, uint8_t data)
{
if(!offset)
- latches[2]|=2;
- latches[offset]=data;
+ m_latches[2] |= 2;
+ m_latches[offset] = data;
machine().scheduler().synchronize();
}
@@ -147,7 +210,7 @@ void st0016_state::v810_mem(address_map &map)
map(0x80000000, 0x8001ffff).ram();
map(0xc0000000, 0xc001ffff).ram();
map(0x40000000, 0x4000000f).r(FUNC(st0016_state::latch32_r)).w(FUNC(st0016_state::latch32_w));
- map(0xfff80000, 0xffffffff).bankr("bank2");
+ map(0xfff80000, 0xffffffff).rom().region("sub", 0);
}
void st0016_state::st0016_m2_io(address_map &map)
@@ -159,9 +222,9 @@ void st0016_state::st0016_m2_io(address_map &map)
map(0xd2, 0xd2).r(FUNC(st0016_state::mux_r)).nopw();
map(0xd3, 0xd3).portr("P2").nopw();
map(0xe0, 0xe0).nopw();
- map(0xe1, 0xe1).w(FUNC(st0016_state::st0016_rom_bank_w));
- map(0xe6, 0xe6).nopw(); /* banking ? ram bank ? shared rambank ? */
- map(0xe7, 0xe7).nopw(); /* watchdog */
+ map(0xe1, 0xe1).w(FUNC(st0016_state::rom_bank_w));
+ map(0xe6, 0xe6).nopw(); // banking ? ram bank ? shared rambank ?
+ map(0xe7, 0xe7).nopw(); // watchdog
}
/*************************************
@@ -197,7 +260,7 @@ static INPUT_PORTS_START( st0016 )
PORT_SERVICE( 0x08, IP_ACTIVE_LOW)
PORT_START("UNK")
- PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN ) /* unused ? */
+ PORT_BIT( 0xff, IP_ACTIVE_LOW, IPT_UNKNOWN ) // unused ?
PORT_START("DSW1")
PORT_DIPUNKNOWN_DIPLOC( 0x01, IP_ACTIVE_LOW, "SW1:1" )
@@ -233,7 +296,7 @@ static INPUT_PORTS_START( renju )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_MODIFY("DSW1") /* Dip switch A */
+ PORT_MODIFY("DSW1") // Dip switch A
PORT_DIPNAME( 0x02, 0x02, DEF_STR( Flip_Screen ) ) PORT_DIPLOCATION("SW1:2")
PORT_DIPSETTING( 0x02, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -252,7 +315,7 @@ static INPUT_PORTS_START( renju )
PORT_DIPSETTING( 0x00, DEF_STR( 2C_3C ) )
PORT_DIPSETTING( 0x80, DEF_STR( 1C_2C ) )
- PORT_MODIFY("DSW2") /* Dip switch B */
+ PORT_MODIFY("DSW2") // Dip switch B
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x00, DEF_STR( Very_Hard ) )
PORT_DIPSETTING( 0x01, DEF_STR( Hard ) )
@@ -272,7 +335,7 @@ static INPUT_PORTS_START( koikois )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_MODIFY("DSW1") /* Dip switch A */
+ PORT_MODIFY("DSW1") // Dip switch A
PORT_DIPNAME( 0x01, 0x01, DEF_STR( Unknown ) ) PORT_DIPLOCATION("SW1:1")
PORT_DIPSETTING( 0x01, DEF_STR( Off ) )
PORT_DIPSETTING( 0x00, DEF_STR( On ) )
@@ -292,7 +355,7 @@ static INPUT_PORTS_START( koikois )
PORT_DIPSETTING( 0x00, "Majyan Panel" )
PORT_DIPSETTING( 0x40, DEF_STR( Joystick ) )
- PORT_MODIFY("DSW2") /* Dip switch B */
+ PORT_MODIFY("DSW2") // Dip switch B
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2")
PORT_DIPSETTING( 0x00, DEF_STR( Very_Hard ) )
PORT_DIPSETTING( 0x01, DEF_STR( Hard ) )
@@ -307,7 +370,7 @@ static INPUT_PORTS_START( nratechu )
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_SERVICE1 )
PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_MODIFY("DSW1") /* Dip switch A */
+ PORT_MODIFY("DSW1") // Dip switch A
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2,3")
PORT_DIPSETTING( 0x00, DEF_STR( 5C_1C ) )
PORT_DIPSETTING( 0x01, DEF_STR( 4C_1C ) )
@@ -327,7 +390,7 @@ static INPUT_PORTS_START( nratechu )
PORT_DIPSETTING( 0x00, DEF_STR( English ) )
PORT_DIPSETTING( 0x80, DEF_STR( Japanese ) )
- PORT_MODIFY("DSW2") /* Dip switch B */
+ PORT_MODIFY("DSW2") // Dip switch B
PORT_DIPNAME( 0x03, 0x03, DEF_STR( Difficulty ) ) PORT_DIPLOCATION("SW2:1,2") // speed / time..
PORT_DIPSETTING( 0x02, DEF_STR( Easy ) )
PORT_DIPSETTING( 0x03, DEF_STR( Normal ))
@@ -354,7 +417,7 @@ static INPUT_PORTS_START( mayjisn2 )
PORT_MODIFY("SYSTEM")
PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_UNKNOWN )
- PORT_MODIFY("DSW1") /* Dip switch A */
+ PORT_MODIFY("DSW1") // Dip switch A
PORT_DIPNAME( 0x07, 0x07, DEF_STR( Coinage ) ) PORT_DIPLOCATION("SW1:1,2,3")
PORT_DIPSETTING( 0x01, DEF_STR( 4C_1C ) )
PORT_DIPSETTING( 0x02, DEF_STR( 3C_1C ) )
@@ -369,7 +432,7 @@ static INPUT_PORTS_START( mayjisn2 )
PORT_DIPSETTING( 0x18, "4:00" )
PORT_DIPSETTING( 0x10, "3:00" )
- PORT_MODIFY("DSW2") /* Dip switch B */
+ PORT_MODIFY("DSW2") // Dip switch B
PORT_DIPNAME( 0x18, 0x18, "Music in Game" ) PORT_DIPLOCATION("SW2:4,5")
PORT_DIPSETTING( 0x00, DEF_STR( Off ) )
PORT_DIPSETTING( 0x08, "Remixed" )
@@ -441,14 +504,14 @@ static INPUT_PORTS_START( gostop )
INPUT_PORTS_END
-TIMER_DEVICE_CALLBACK_MEMBER(st0016_state::st0016_int)
+TIMER_DEVICE_CALLBACK_MEMBER(st0016_state::interrupt)
{
int scanline = param;
- if(scanline == 240)
- m_maincpu->set_input_line(0,HOLD_LINE);
- else if((scanline % 64) == 0)
- if(m_maincpu->state_int(Z80_IFF1)) /* dirty hack ... */
+ if (scanline == 240)
+ m_maincpu->set_input_line(0, HOLD_LINE);
+ else if ((scanline % 64) == 0)
+ if (m_maincpu->state_int(Z80_IFF1)) // dirty hack ...
m_maincpu->pulse_input_line(INPUT_LINE_NMI, attotime::zero);
}
@@ -461,32 +524,29 @@ TIMER_DEVICE_CALLBACK_MEMBER(st0016_state::st0016_int)
*
*************************************/
-uint32_t st0016_state::screen_update_st0016(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
+uint32_t st0016_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
- return m_maincpu->update(screen,bitmap,cliprect);
+ return m_maincpu->update(screen, bitmap, cliprect);
}
void st0016_state::st0016(machine_config &config)
{
- /* basic machine hardware */
- ST0016_CPU(config, m_maincpu, 8000000); /* 8 MHz ? */
+ // basic machine hardware
+ ST0016_CPU(config, m_maincpu, 8000000); // 8 MHz ?
m_maincpu->set_addrmap(AS_PROGRAM, &st0016_state::st0016_mem);
m_maincpu->set_addrmap(AS_IO, &st0016_state::st0016_io);
- TIMER(config, "scantimer").configure_scanline(FUNC(st0016_state::st0016_int), "screen", 0, 1);
+ TIMER(config, "scantimer").configure_scanline(FUNC(st0016_state::interrupt), "screen", 0, 1);
- /* video hardware */
+ // video hardware
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_refresh_hz(60);
m_screen->set_vblank_time(ATTOSECONDS_IN_USEC(0));
m_screen->set_size(48*8, 48*8);
m_screen->set_visarea(0*8, 48*8-1, 0*8, 48*8-1);
- m_screen->set_screen_update(FUNC(st0016_state::screen_update_st0016));
+ m_screen->set_screen_update(FUNC(st0016_state::screen_update));
m_screen->set_palette("maincpu:palette");
-
-
-// MCFG_VIDEO_START_OVERRIDE(st0016_state,st0016)
}
void st0016_state::mayjinsn(machine_config &config)
@@ -540,7 +600,7 @@ E51-00001-A
|------------------------------------|
Note:
- *ST-0016: was surface scratched to hide it's identity on PCB E51-00001-A
+ *ST-0016: was surface scratched to hide its identity on PCB E51-00001-A
On similar PCBs, the chip was unaltered
*/
@@ -680,7 +740,7 @@ ROM_START(mayjinsn )
ROM_LOAD( "sx003.06", 0x080000, 0x80000, CRC(f0553386) SHA1(8915cb3ce03b9a12612694caec9bbec6de4dd070) )
ROM_LOAD( "sx003.07d", 0x100000, 0x80000, CRC(8db281c3) SHA1(f8b488dd28010f01f789217a4d62ba2116e06e94) )
- ROM_REGION32_LE( 0x20000*4, "user1", 0 ) /* V810 code */
+ ROM_REGION32_LE( 0x20000*4, "sub", 0 ) // V810 code
ROM_LOAD32_BYTE( "sx003.04", 0x00003, 0x20000, CRC(fa15459f) SHA1(4163ab842943705c550f137abbdd2cb51ba5390f) )
ROM_LOAD32_BYTE( "sx003.03", 0x00002, 0x20000, CRC(71a438ea) SHA1(613bab6a59aa1bced2ab37177c61a0fd7ce7e64f) )
ROM_LOAD32_BYTE( "sx003.02", 0x00001, 0x20000, CRC(61911eed) SHA1(1442b3867b85120ba652ec8205d74332addffb67) )
@@ -691,7 +751,7 @@ ROM_START(mayjisn2 )
ROM_REGION( 0x100000, "maincpu", 0 )
ROM_LOAD( "sx007-05.8b", 0x00000, 0x100000, CRC(b13ea605) SHA1(75c067df02c988f170c24153d3852c472355fc9d) )
- ROM_REGION32_LE( 0x20000*4, "user1", 0 ) /* V810 code */
+ ROM_REGION32_LE( 0x20000*4, "sub", 0 ) // V810 code
ROM_LOAD32_BYTE( "sx007-04.4b", 0x00003, 0x20000, CRC(fa15459f) SHA1(4163ab842943705c550f137abbdd2cb51ba5390f) )
ROM_LOAD32_BYTE( "sx007-03.4j", 0x00002, 0x20000, CRC(71a438ea) SHA1(613bab6a59aa1bced2ab37177c61a0fd7ce7e64f) )
ROM_LOAD32_BYTE( "sx007-02.4m", 0x00001, 0x20000, CRC(61911eed) SHA1(1442b3867b85120ba652ec8205d74332addffb67) )
@@ -717,15 +777,15 @@ void st0016_state::init_nratechu()
void st0016_state::init_mayjinsn()
{
m_maincpu->set_game_flag(4 /*| 0x80*/);
- membank("bank2")->set_base(memregion("user1")->base());
}
void st0016_state::init_mayjisn2()
{
m_maincpu->set_game_flag(4);
- membank("bank2")->set_base(memregion("user1")->base());
}
+} // Anonymous namespace
+
/*************************************
*
@@ -739,7 +799,7 @@ GAME( 1994, mayjisn2, 0, mayjinsn, mayjisn2, st0016_state, init_mayjisn2,
GAME( 1995, koikois, 0, st0016, koikois, st0016_state, init_renju, ROT0, "Visco", "Koi Koi Shimasho", MACHINE_IMPERFECT_GRAPHICS | MACHINE_NO_COCKTAIL)
GAME( 2001, gostop, 0, st0016, gostop, st0016_state, init_renju, ROT0, "Visco", "Kankoku Hanafuda Go-Stop", MACHINE_NO_COCKTAIL)
-/* Not working */
+// Not working
GAME( 1994, mayjinsn, 0, mayjinsn, st0016, st0016_state, init_mayjinsn, ROT0, "Seta", "Mayjinsen", MACHINE_IMPERFECT_GRAPHICS|MACHINE_NOT_WORKING|MACHINE_NO_COCKTAIL)
GAME( 1994, dcrown, 0, st0016, renju, st0016_state, init_renju, ROT0, "Nippon Data Kiki", "Dream Crown (set 1)", MACHINE_NOT_WORKING|MACHINE_NO_COCKTAIL) // (c) 1994 Nippon Data Kiki is uploaded near the Japanese Insert coin text
GAME( 1994, dcrowna, dcrown, st0016, renju, st0016_state, init_renju, ROT0, "Nippon Data Kiki", "Dream Crown (set 2)", MACHINE_NOT_WORKING|MACHINE_NO_COCKTAIL) // the Insert Coin text has been translated to English and no (c) is uploaded
diff --git a/src/mame/includes/simple_st0016.h b/src/mame/includes/simple_st0016.h
deleted file mode 100644
index d00acceee02..00000000000
--- a/src/mame/includes/simple_st0016.h
+++ /dev/null
@@ -1,57 +0,0 @@
-// license:BSD-3-Clause
-// copyright-holders:Tomasz Slanina
-
-#include "machine/st0016.h"
-#include "machine/timer.h"
-#include "screen.h"
-
-class st0016_state : public driver_device
-{
-public:
- st0016_state(const machine_config &mconfig, device_type type, const char *tag)
- : driver_device(mconfig, type, tag),
- m_maincpu(*this,"maincpu"),
- m_subcpu(*this, "sub"),
- m_screen(*this, "screen"),
- m_mainbank(*this, "mainbank")
- { }
-
- void st0016(machine_config &config);
- void renju(machine_config &config);
- void mayjinsn(machine_config &config);
-
- void init_nratechu();
- void init_mayjinsn();
- void init_mayjisn2();
- void init_renju();
-
-private:
- int mux_port;
- // uint32_t m_st0016_rom_bank;
-
- required_device<st0016_cpu_device> m_maincpu;
- optional_device<cpu_device> m_subcpu;
- required_device<screen_device> m_screen;
-
- required_memory_bank m_mainbank;
-
- uint8_t mux_r();
- void mux_select_w(uint8_t data);
- uint32_t latch32_r(offs_t offset);
- void latch32_w(offs_t offset, uint32_t data, uint32_t mem_mask = ~0);
- uint8_t latch8_r(offs_t offset);
- void latch8_w(offs_t offset, uint8_t data);
-
- void st0016_rom_bank_w(uint8_t data);
-
- virtual void machine_start() override;
- DECLARE_VIDEO_START(st0016);
- uint32_t screen_update_st0016(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
- TIMER_DEVICE_CALLBACK_MEMBER(st0016_int);
-
- void renju_mem(address_map &map);
- void st0016_io(address_map &map);
- void st0016_m2_io(address_map &map);
- void st0016_mem(address_map &map);
- void v810_mem(address_map &map);
-};