summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
author R. Belmont <rb6502@users.noreply.github.com>2019-03-30 11:44:51 -0400
committer GitHub <noreply@github.com>2019-03-30 11:44:51 -0400
commit3757f401005f2a185797cc0d8006c99664d81db7 (patch)
treec6badbf32a18e7eba263007c6ef58d812c7fe02f
parenta9312266a9667647e3d72c075865a3f24a83969f (diff)
parentcd8d9575f72a89eb1b52457538df60ca282ce06c (diff)
Merge pull request #4779 from cam900/deco16_split
deco16ic.cpp : Move cninja exclusive transmask function into cninja.cpp
-rw-r--r--src/mame/drivers/backfire.cpp2
-rw-r--r--src/mame/drivers/boogwing.cpp2
-rw-r--r--src/mame/drivers/cbuster.cpp2
-rw-r--r--src/mame/drivers/cninja.cpp14
-rw-r--r--src/mame/drivers/darkseal.cpp2
-rw-r--r--src/mame/drivers/dassault.cpp2
-rw-r--r--src/mame/drivers/dblewing.cpp1
-rw-r--r--src/mame/drivers/deco156.cpp2
-rw-r--r--src/mame/drivers/deco32.cpp12
-rw-r--r--src/mame/drivers/dietgo.cpp1
-rw-r--r--src/mame/drivers/dreambal.cpp1
-rw-r--r--src/mame/drivers/funkyjet.cpp1
-rw-r--r--src/mame/drivers/mirage.cpp1
-rw-r--r--src/mame/drivers/pktgaldx.cpp1
-rw-r--r--src/mame/drivers/rohga.cpp8
-rw-r--r--src/mame/drivers/simpl156.cpp1
-rw-r--r--src/mame/drivers/sshangha.cpp1
-rw-r--r--src/mame/drivers/supbtime.cpp1
-rw-r--r--src/mame/drivers/vaportra.cpp2
-rw-r--r--src/mame/includes/cninja.h1
-rw-r--r--src/mame/video/cninja.cpp5
-rw-r--r--src/mame/video/deco16ic.cpp19
-rw-r--r--src/mame/video/deco16ic.h5
23 files changed, 26 insertions, 61 deletions
diff --git a/src/mame/drivers/backfire.cpp b/src/mame/drivers/backfire.cpp
index 9a3eb889adb..a123d45916f 100644
--- a/src/mame/drivers/backfire.cpp
+++ b/src/mame/drivers/backfire.cpp
@@ -399,7 +399,6 @@ void backfire_state::backfire(machine_config &config)
DECO16IC(config, m_deco_tilegen[0], 0);
m_deco_tilegen[0]->set_screen(m_lscreen);
- m_deco_tilegen[0]->set_split(0);
m_deco_tilegen[0]->set_pf1_size(DECO_64x32);
m_deco_tilegen[0]->set_pf2_size(DECO_64x32);
m_deco_tilegen[0]->set_pf1_trans_mask(0x0f);
@@ -416,7 +415,6 @@ void backfire_state::backfire(machine_config &config)
DECO16IC(config, m_deco_tilegen[1], 0);
m_deco_tilegen[1]->set_screen(m_lscreen);
- m_deco_tilegen[1]->set_split(0);
m_deco_tilegen[1]->set_pf1_size(DECO_64x32);
m_deco_tilegen[1]->set_pf2_size(DECO_64x32);
m_deco_tilegen[1]->set_pf1_trans_mask(0x0f);
diff --git a/src/mame/drivers/boogwing.cpp b/src/mame/drivers/boogwing.cpp
index 637dc465457..177c93873d8 100644
--- a/src/mame/drivers/boogwing.cpp
+++ b/src/mame/drivers/boogwing.cpp
@@ -362,7 +362,6 @@ void boogwing_state::boogwing(machine_config &config)
DECO_ACE(config, m_deco_ace, 0);
DECO16IC(config, m_deco_tilegen[0], 0);
- m_deco_tilegen[0]->set_split(0);
m_deco_tilegen[0]->set_pf1_size(DECO_64x32);
m_deco_tilegen[0]->set_pf2_size(DECO_64x32);
m_deco_tilegen[0]->set_pf1_trans_mask(0x0f);
@@ -378,7 +377,6 @@ void boogwing_state::boogwing(machine_config &config)
m_deco_tilegen[0]->set_gfxdecode_tag("gfxdecode");
DECO16IC(config, m_deco_tilegen[1], 0);
- m_deco_tilegen[1]->set_split(0);
m_deco_tilegen[1]->set_pf1_size(DECO_64x32);
m_deco_tilegen[1]->set_pf2_size(DECO_64x32);
m_deco_tilegen[1]->set_pf1_trans_mask(0x0f);
diff --git a/src/mame/drivers/cbuster.cpp b/src/mame/drivers/cbuster.cpp
index ee619cd198e..87e1bed2fb9 100644
--- a/src/mame/drivers/cbuster.cpp
+++ b/src/mame/drivers/cbuster.cpp
@@ -323,7 +323,6 @@ void cbuster_state::twocrude(machine_config &config)
BUFFERED_SPRITERAM16(config, m_spriteram);
DECO16IC(config, m_deco_tilegen[0], 0);
- m_deco_tilegen[0]->set_split(0);
m_deco_tilegen[0]->set_pf1_size(DECO_64x32);
m_deco_tilegen[0]->set_pf2_size(DECO_64x32);
m_deco_tilegen[0]->set_pf1_trans_mask(0x0f);
@@ -339,7 +338,6 @@ void cbuster_state::twocrude(machine_config &config)
m_deco_tilegen[0]->set_gfxdecode_tag("gfxdecode");
DECO16IC(config, m_deco_tilegen[1], 0);
- m_deco_tilegen[1]->set_split(0);
m_deco_tilegen[1]->set_pf1_size(DECO_64x32);
m_deco_tilegen[1]->set_pf2_size(DECO_64x32);
m_deco_tilegen[1]->set_pf1_trans_mask(0x0f);
diff --git a/src/mame/drivers/cninja.cpp b/src/mame/drivers/cninja.cpp
index 5bd7276e6ca..a2b6418ac47 100644
--- a/src/mame/drivers/cninja.cpp
+++ b/src/mame/drivers/cninja.cpp
@@ -819,7 +819,6 @@ void cninja_state::cninja(machine_config &config)
BUFFERED_SPRITERAM16(config, m_spriteram[0]);
DECO16IC(config, m_deco_tilegen[0], 0);
- m_deco_tilegen[0]->set_split(1);
m_deco_tilegen[0]->set_pf1_size(DECO_64x32);
m_deco_tilegen[0]->set_pf2_size(DECO_64x32);
m_deco_tilegen[0]->set_pf1_trans_mask(0x0f);
@@ -833,7 +832,6 @@ void cninja_state::cninja(machine_config &config)
m_deco_tilegen[0]->set_gfxdecode_tag(m_gfxdecode);
DECO16IC(config, m_deco_tilegen[1], 0);
- m_deco_tilegen[1]->set_split(0);
m_deco_tilegen[1]->set_pf1_size(DECO_64x32);
m_deco_tilegen[1]->set_pf2_size(DECO_64x32);
m_deco_tilegen[1]->set_pf1_trans_mask(0x0f);
@@ -892,6 +890,8 @@ void cninja_state::stoneage(machine_config &config)
irq.raster2_irq_callback().set_inputline(m_maincpu, 4);
irq.vblank_irq_callback().set_inputline(m_maincpu, 5);
+ MCFG_VIDEO_START_OVERRIDE(cninja_state,cninja)
+
/* video hardware */
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
m_screen->set_raw(XTAL(24'000'000) / 4, 376, 0, 256, 274, 8, 248);
@@ -906,7 +906,6 @@ void cninja_state::stoneage(machine_config &config)
BUFFERED_SPRITERAM16(config, m_spriteram[0]);
DECO16IC(config, m_deco_tilegen[0], 0);
- m_deco_tilegen[0]->set_split(1);
m_deco_tilegen[0]->set_pf1_size(DECO_64x32);
m_deco_tilegen[0]->set_pf2_size(DECO_64x32);
m_deco_tilegen[0]->set_pf1_trans_mask(0x0f);
@@ -920,7 +919,6 @@ void cninja_state::stoneage(machine_config &config)
m_deco_tilegen[0]->set_gfxdecode_tag(m_gfxdecode);
DECO16IC(config, m_deco_tilegen[1], 0);
- m_deco_tilegen[1]->set_split(0);
m_deco_tilegen[1]->set_pf1_size(DECO_64x32);
m_deco_tilegen[1]->set_pf2_size(DECO_64x32);
m_deco_tilegen[1]->set_pf1_trans_mask(0x0f);
@@ -1001,7 +999,6 @@ void cninja_state::cninjabl(machine_config &config)
BUFFERED_SPRITERAM16(config, m_spriteram[0]);
DECO16IC(config, m_deco_tilegen[0], 0);
- m_deco_tilegen[0]->set_split(1);
m_deco_tilegen[0]->set_pf1_size(DECO_64x32);
m_deco_tilegen[0]->set_pf2_size(DECO_64x32);
m_deco_tilegen[0]->set_pf1_trans_mask(0x0f);
@@ -1015,7 +1012,6 @@ void cninja_state::cninjabl(machine_config &config)
m_deco_tilegen[0]->set_gfxdecode_tag(m_gfxdecode);
DECO16IC(config, m_deco_tilegen[1], 0);
- m_deco_tilegen[1]->set_split(0);
m_deco_tilegen[1]->set_pf1_size(DECO_64x32);
m_deco_tilegen[1]->set_pf2_size(DECO_64x32);
m_deco_tilegen[1]->set_pf1_trans_mask(0x0f);
@@ -1073,7 +1069,6 @@ void cninja_state::edrandy(machine_config &config)
BUFFERED_SPRITERAM16(config, m_spriteram[0]);
DECO16IC(config, m_deco_tilegen[0], 0);
- m_deco_tilegen[0]->set_split(0);
m_deco_tilegen[0]->set_pf1_size(DECO_64x32);
m_deco_tilegen[0]->set_pf2_size(DECO_64x32);
m_deco_tilegen[0]->set_pf1_trans_mask(0x0f);
@@ -1087,7 +1082,6 @@ void cninja_state::edrandy(machine_config &config)
m_deco_tilegen[0]->set_gfxdecode_tag(m_gfxdecode);
DECO16IC(config, m_deco_tilegen[1], 0);
- m_deco_tilegen[1]->set_split(0);
m_deco_tilegen[1]->set_pf1_size(DECO_64x32);
m_deco_tilegen[1]->set_pf2_size(DECO_64x32);
m_deco_tilegen[1]->set_pf1_trans_mask(0x0f);
@@ -1162,7 +1156,6 @@ void cninja_state::robocop2(machine_config &config)
BUFFERED_SPRITERAM16(config, m_spriteram[0]);
DECO16IC(config, m_deco_tilegen[0], 0);
- m_deco_tilegen[0]->set_split(0);
m_deco_tilegen[0]->set_pf1_size(DECO_64x32);
m_deco_tilegen[0]->set_pf2_size(DECO_64x32);
m_deco_tilegen[0]->set_pf1_trans_mask(0x0f);
@@ -1177,7 +1170,6 @@ void cninja_state::robocop2(machine_config &config)
m_deco_tilegen[0]->set_gfxdecode_tag(m_gfxdecode);
DECO16IC(config, m_deco_tilegen[1], 0);
- m_deco_tilegen[1]->set_split(0);
m_deco_tilegen[1]->set_pf1_size(DECO_64x32);
m_deco_tilegen[1]->set_pf2_size(DECO_64x32);
m_deco_tilegen[1]->set_pf1_trans_mask(0x0f);
@@ -1256,7 +1248,6 @@ void cninja_state::mutantf(machine_config &config)
BUFFERED_SPRITERAM16(config, m_spriteram[1]);
DECO16IC(config, m_deco_tilegen[0], 0);
- m_deco_tilegen[0]->set_split(0);
m_deco_tilegen[0]->set_pf1_size(DECO_64x32);
m_deco_tilegen[0]->set_pf2_size(DECO_64x32);
m_deco_tilegen[0]->set_pf1_trans_mask(0x0f);
@@ -1272,7 +1263,6 @@ void cninja_state::mutantf(machine_config &config)
m_deco_tilegen[0]->set_gfxdecode_tag(m_gfxdecode);
DECO16IC(config, m_deco_tilegen[1], 0);
- m_deco_tilegen[1]->set_split(0);
m_deco_tilegen[1]->set_pf1_size(DECO_64x32);
m_deco_tilegen[1]->set_pf2_size(DECO_64x32);
m_deco_tilegen[1]->set_pf1_trans_mask(0x0f);
diff --git a/src/mame/drivers/darkseal.cpp b/src/mame/drivers/darkseal.cpp
index 71fe922f2bd..d812725b8cd 100644
--- a/src/mame/drivers/darkseal.cpp
+++ b/src/mame/drivers/darkseal.cpp
@@ -227,7 +227,6 @@ void darkseal_state::darkseal(machine_config &config)
BUFFERED_SPRITERAM16(config, m_spriteram);
DECO16IC(config, m_deco_tilegen[0], 0);
- m_deco_tilegen[0]->set_split(0);
m_deco_tilegen[0]->set_pf1_size(DECO_64x64);
m_deco_tilegen[0]->set_pf2_size(DECO_64x64); // both these tilemaps need to be twice the y size of usual!
m_deco_tilegen[0]->set_pf1_trans_mask(0x0f);
@@ -241,7 +240,6 @@ void darkseal_state::darkseal(machine_config &config)
m_deco_tilegen[0]->set_gfxdecode_tag("gfxdecode");
DECO16IC(config, m_deco_tilegen[1], 0);
- m_deco_tilegen[1]->set_split(0);
m_deco_tilegen[1]->set_pf1_size(DECO_64x32);
m_deco_tilegen[1]->set_pf2_size(DECO_64x32);
m_deco_tilegen[1]->set_pf1_trans_mask(0x0f);
diff --git a/src/mame/drivers/dassault.cpp b/src/mame/drivers/dassault.cpp
index 8ede1f49abb..6dac523c34a 100644
--- a/src/mame/drivers/dassault.cpp
+++ b/src/mame/drivers/dassault.cpp
@@ -557,7 +557,6 @@ void dassault_state::dassault(machine_config &config)
BUFFERED_SPRITERAM16(config, m_spriteram[1]);
DECO16IC(config, m_deco_tilegen[0], 0);
- m_deco_tilegen[0]->set_split(0);
m_deco_tilegen[0]->set_pf1_size(DECO_64x32);
m_deco_tilegen[0]->set_pf2_size(DECO_64x32);
m_deco_tilegen[0]->set_pf1_trans_mask(0x0f);
@@ -573,7 +572,6 @@ void dassault_state::dassault(machine_config &config)
m_deco_tilegen[0]->set_gfxdecode_tag("gfxdecode");
DECO16IC(config, m_deco_tilegen[1], 0);
- m_deco_tilegen[1]->set_split(0);
m_deco_tilegen[1]->set_pf1_size(DECO_64x32);
m_deco_tilegen[1]->set_pf2_size(DECO_64x32);
m_deco_tilegen[1]->set_pf1_trans_mask(0x0f);
diff --git a/src/mame/drivers/dblewing.cpp b/src/mame/drivers/dblewing.cpp
index 8f45fc625a7..c38f2a3f567 100644
--- a/src/mame/drivers/dblewing.cpp
+++ b/src/mame/drivers/dblewing.cpp
@@ -382,7 +382,6 @@ void dblewing_state::dblewing(machine_config &config)
GFXDECODE(config, "gfxdecode", "palette", gfx_dblewing);
DECO16IC(config, m_deco_tilegen, 0);
- m_deco_tilegen->set_split(0);
m_deco_tilegen->set_pf1_size(DECO_64x32);
m_deco_tilegen->set_pf2_size(DECO_64x32);
m_deco_tilegen->set_pf1_trans_mask(0x0f);
diff --git a/src/mame/drivers/deco156.cpp b/src/mame/drivers/deco156.cpp
index df7bd749e1b..dbb66553328 100644
--- a/src/mame/drivers/deco156.cpp
+++ b/src/mame/drivers/deco156.cpp
@@ -349,7 +349,6 @@ void deco156_state::hvysmsh(machine_config &config)
PALETTE(config, m_palette).set_format(palette_device::xBGR_888, 1024);
DECO16IC(config, m_deco_tilegen, 0);
- m_deco_tilegen->set_split(0);
m_deco_tilegen->set_pf1_size(DECO_64x32);
m_deco_tilegen->set_pf2_size(DECO_64x32);
m_deco_tilegen->set_pf1_trans_mask(0x0f);
@@ -402,7 +401,6 @@ void deco156_state::wcvol95(machine_config &config)
PALETTE(config, m_palette).set_format(palette_device::xBGR_555, 1024);
DECO16IC(config, m_deco_tilegen, 0);
- m_deco_tilegen->set_split(0);
m_deco_tilegen->set_pf1_size(DECO_64x32);
m_deco_tilegen->set_pf2_size(DECO_64x32);
m_deco_tilegen->set_pf1_trans_mask(0x0f);
diff --git a/src/mame/drivers/deco32.cpp b/src/mame/drivers/deco32.cpp
index 026b633b546..7d20995e28a 100644
--- a/src/mame/drivers/deco32.cpp
+++ b/src/mame/drivers/deco32.cpp
@@ -1881,7 +1881,6 @@ void captaven_state::captaven(machine_config &config)
PALETTE(config, m_palette).set_format(palette_device::xBGR_888, 2048);
DECO16IC(config, m_deco_tilegen[0], 0);
- m_deco_tilegen[0]->set_split(0);
m_deco_tilegen[0]->set_pf1_size(DECO_64x32);
m_deco_tilegen[0]->set_pf2_size(DECO_64x32);
m_deco_tilegen[0]->set_pf1_trans_mask(0x0f);
@@ -1895,7 +1894,6 @@ void captaven_state::captaven(machine_config &config)
m_deco_tilegen[0]->set_gfxdecode_tag(m_gfxdecode);
DECO16IC(config, m_deco_tilegen[1], 0); // pf3 is in 8bpp mode, pf4 is not used
- m_deco_tilegen[1]->set_split(0);
m_deco_tilegen[1]->set_pf1_size(DECO_32x32);
m_deco_tilegen[1]->set_pf2_size(DECO_32x32);
m_deco_tilegen[1]->set_pf1_trans_mask(0xff);
@@ -1962,7 +1960,6 @@ void fghthist_state::fghthist(machine_config &config)
PALETTE(config, m_palette).set_entries(2048);
DECO16IC(config, m_deco_tilegen[0], 0);
- m_deco_tilegen[0]->set_split(0);
m_deco_tilegen[0]->set_pf1_size(DECO_64x32);
m_deco_tilegen[0]->set_pf2_size(DECO_64x32);
m_deco_tilegen[0]->set_pf1_trans_mask(0x0f);
@@ -1978,7 +1975,6 @@ void fghthist_state::fghthist(machine_config &config)
m_deco_tilegen[0]->set_gfxdecode_tag(m_gfxdecode);
DECO16IC(config, m_deco_tilegen[1], 0);
- m_deco_tilegen[1]->set_split(0);
m_deco_tilegen[1]->set_pf1_size(DECO_64x32);
m_deco_tilegen[1]->set_pf2_size(DECO_64x32);
m_deco_tilegen[1]->set_pf1_trans_mask(0x0f);
@@ -2087,7 +2083,6 @@ void dragngun_state::dragngun(machine_config &config)
BUFFERED_SPRITERAM32(config, m_spriteram);
DECO16IC(config, m_deco_tilegen[0], 0);
- m_deco_tilegen[0]->set_split(0);
m_deco_tilegen[0]->set_pf1_size(DECO_64x32);
m_deco_tilegen[0]->set_pf2_size(DECO_64x32);
m_deco_tilegen[0]->set_pf1_trans_mask(0x0f);
@@ -2103,7 +2098,6 @@ void dragngun_state::dragngun(machine_config &config)
m_deco_tilegen[0]->set_gfxdecode_tag(m_gfxdecode);
DECO16IC(config, m_deco_tilegen[1], 0);
- m_deco_tilegen[1]->set_split(0);
m_deco_tilegen[1]->set_pf1_size(DECO_64x32);
m_deco_tilegen[1]->set_pf2_size(DECO_64x32);
m_deco_tilegen[1]->set_pf1_trans_mask(0xff);
@@ -2215,7 +2209,6 @@ void dragngun_state::lockload(machine_config &config)
PALETTE(config, m_palette).set_entries(2048);
DECO16IC(config, m_deco_tilegen[0], 0);
- m_deco_tilegen[0]->set_split(0);
m_deco_tilegen[0]->set_pf1_size(DECO_64x32);
m_deco_tilegen[0]->set_pf2_size(DECO_64x32);
m_deco_tilegen[0]->set_pf1_trans_mask(0x0f);
@@ -2231,7 +2224,6 @@ void dragngun_state::lockload(machine_config &config)
m_deco_tilegen[0]->set_gfxdecode_tag(m_gfxdecode);
DECO16IC(config, m_deco_tilegen[1], 0);
- m_deco_tilegen[1]->set_split(0);
m_deco_tilegen[1]->set_pf1_size(DECO_32x32);
m_deco_tilegen[1]->set_pf2_size(DECO_32x32); // lockload definitely wants pf34 half width..
m_deco_tilegen[1]->set_pf1_trans_mask(0xff);
@@ -2295,7 +2287,6 @@ void nslasher_state::tattass(machine_config &config)
DECO_ACE(config, m_deco_ace, 0);
DECO16IC(config, m_deco_tilegen[0], 0);
- m_deco_tilegen[0]->set_split(0);
m_deco_tilegen[0]->set_pf1_size(DECO_64x32);
m_deco_tilegen[0]->set_pf2_size(DECO_64x32);
m_deco_tilegen[0]->set_pf1_trans_mask(0x0f);
@@ -2311,7 +2302,6 @@ void nslasher_state::tattass(machine_config &config)
m_deco_tilegen[0]->set_gfxdecode_tag(m_gfxdecode);
DECO16IC(config, m_deco_tilegen[1], 0);
- m_deco_tilegen[1]->set_split(0);
m_deco_tilegen[1]->set_pf1_size(DECO_64x32);
m_deco_tilegen[1]->set_pf2_size(DECO_64x32);
m_deco_tilegen[1]->set_pf1_trans_mask(0x0f);
@@ -2371,7 +2361,6 @@ void nslasher_state::nslasher(machine_config &config)
DECO_ACE(config, m_deco_ace, 0);
DECO16IC(config, m_deco_tilegen[0], 0);
- m_deco_tilegen[0]->set_split(0);
m_deco_tilegen[0]->set_pf1_size(DECO_64x32);
m_deco_tilegen[0]->set_pf2_size(DECO_64x32);
m_deco_tilegen[0]->set_pf1_trans_mask(0x0f);
@@ -2387,7 +2376,6 @@ void nslasher_state::nslasher(machine_config &config)
m_deco_tilegen[0]->set_gfxdecode_tag(m_gfxdecode);
DECO16IC(config, m_deco_tilegen[1], 0);
- m_deco_tilegen[1]->set_split(0);
m_deco_tilegen[1]->set_pf1_size(DECO_64x32);
m_deco_tilegen[1]->set_pf2_size(DECO_64x32);
m_deco_tilegen[1]->set_pf1_trans_mask(0x0f);
diff --git a/src/mame/drivers/dietgo.cpp b/src/mame/drivers/dietgo.cpp
index 12cfb54fb7a..656aa5e8d18 100644
--- a/src/mame/drivers/dietgo.cpp
+++ b/src/mame/drivers/dietgo.cpp
@@ -231,7 +231,6 @@ void dietgo_state::dietgo(machine_config &config)
GFXDECODE(config, "gfxdecode", "palette", gfx_dietgo);
DECO16IC(config, m_deco_tilegen, 0);
- m_deco_tilegen->set_split(0);
m_deco_tilegen->set_pf1_size(DECO_64x32);
m_deco_tilegen->set_pf2_size(DECO_64x32);
m_deco_tilegen->set_pf1_trans_mask(0x0f);
diff --git a/src/mame/drivers/dreambal.cpp b/src/mame/drivers/dreambal.cpp
index 07169fefc68..6040f329c5f 100644
--- a/src/mame/drivers/dreambal.cpp
+++ b/src/mame/drivers/dreambal.cpp
@@ -338,7 +338,6 @@ void dreambal_state::dreambal(machine_config &config)
m_deco104->port_c_cb().set_ioport("DSW");
DECO16IC(config, m_deco_tilegen, 0);
- m_deco_tilegen->set_split(0);
m_deco_tilegen->set_pf1_size(DECO_64x32);
m_deco_tilegen->set_pf2_size(DECO_64x32);
m_deco_tilegen->set_pf1_trans_mask(0x0f);
diff --git a/src/mame/drivers/funkyjet.cpp b/src/mame/drivers/funkyjet.cpp
index 2c2b8f0cef0..00d81fe3716 100644
--- a/src/mame/drivers/funkyjet.cpp
+++ b/src/mame/drivers/funkyjet.cpp
@@ -334,7 +334,6 @@ void funkyjet_state::funkyjet(machine_config &config)
PALETTE(config, "palette").set_format(palette_device::xBGR_444, 1024);
DECO16IC(config, m_deco_tilegen, 0);
- m_deco_tilegen->set_split(0);
m_deco_tilegen->set_pf1_size(DECO_64x32);
m_deco_tilegen->set_pf2_size(DECO_64x32);
m_deco_tilegen->set_pf1_trans_mask(0x0f);
diff --git a/src/mame/drivers/mirage.cpp b/src/mame/drivers/mirage.cpp
index 49f970c0b9d..92107fedea7 100644
--- a/src/mame/drivers/mirage.cpp
+++ b/src/mame/drivers/mirage.cpp
@@ -315,7 +315,6 @@ void miragemj_state::mirage(machine_config &config)
PALETTE(config, "palette").set_format(palette_device::xBGR_555, 1024);
DECO16IC(config, m_deco_tilegen, 0);
- m_deco_tilegen->set_split(0);
m_deco_tilegen->set_pf1_size(DECO_64x32);
m_deco_tilegen->set_pf2_size(DECO_64x32);
m_deco_tilegen->set_pf1_trans_mask(0x0f);
diff --git a/src/mame/drivers/pktgaldx.cpp b/src/mame/drivers/pktgaldx.cpp
index 2bbb8596766..1c757dc4336 100644
--- a/src/mame/drivers/pktgaldx.cpp
+++ b/src/mame/drivers/pktgaldx.cpp
@@ -360,7 +360,6 @@ void pktgaldx_state::pktgaldx(machine_config &config)
GFXDECODE(config, m_gfxdecode, m_palette, gfx_pktgaldx);
DECO16IC(config, m_deco_tilegen, 0);
- m_deco_tilegen->set_split(0);
m_deco_tilegen->set_pf1_size(DECO_64x32);
m_deco_tilegen->set_pf2_size(DECO_64x32);
m_deco_tilegen->set_pf1_trans_mask(0x0f);
diff --git a/src/mame/drivers/rohga.cpp b/src/mame/drivers/rohga.cpp
index da1d4c8d39d..00b983b2e0a 100644
--- a/src/mame/drivers/rohga.cpp
+++ b/src/mame/drivers/rohga.cpp
@@ -901,7 +901,6 @@ void rohga_state::rohga(machine_config &config)
m_decocomn->set_palette_tag(m_palette);
DECO16IC(config, m_deco_tilegen[0], 0);
- m_deco_tilegen[0]->set_split(0);
m_deco_tilegen[0]->set_pf1_size(DECO_64x64);
m_deco_tilegen[0]->set_pf2_size(DECO_64x32);
m_deco_tilegen[0]->set_pf1_trans_mask(0x0f);
@@ -917,7 +916,6 @@ void rohga_state::rohga(machine_config &config)
m_deco_tilegen[0]->set_gfxdecode_tag("gfxdecode");
DECO16IC(config, m_deco_tilegen[1], 0);
- m_deco_tilegen[1]->set_split(0);
m_deco_tilegen[1]->set_pf1_size(DECO_64x32);
m_deco_tilegen[1]->set_pf2_size(DECO_64x32);
m_deco_tilegen[1]->set_pf1_trans_mask(0x0f);
@@ -993,7 +991,6 @@ void rohga_state::wizdfire(machine_config &config)
m_decocomn->set_palette_tag(m_palette);
DECO16IC(config, m_deco_tilegen[0], 0);
- m_deco_tilegen[0]->set_split(0);
m_deco_tilegen[0]->set_pf1_size(DECO_64x32);
m_deco_tilegen[0]->set_pf2_size(DECO_64x32);
m_deco_tilegen[0]->set_pf1_trans_mask(0x0f);
@@ -1009,7 +1006,6 @@ void rohga_state::wizdfire(machine_config &config)
m_deco_tilegen[0]->set_gfxdecode_tag("gfxdecode");
DECO16IC(config, m_deco_tilegen[1], 0);
- m_deco_tilegen[1]->set_split(0);
m_deco_tilegen[1]->set_pf1_size(DECO_64x32);
m_deco_tilegen[1]->set_pf2_size(DECO_64x32);
m_deco_tilegen[1]->set_pf1_trans_mask(0x0f);
@@ -1090,7 +1086,6 @@ void rohga_state::nitrobal(machine_config &config)
m_decocomn->set_palette_tag(m_palette);
DECO16IC(config, m_deco_tilegen[0], 0);
- m_deco_tilegen[0]->set_split(0);
m_deco_tilegen[0]->set_pf1_size(DECO_64x32);
m_deco_tilegen[0]->set_pf2_size(DECO_32x32);
m_deco_tilegen[0]->set_pf1_trans_mask(0x0f);
@@ -1106,7 +1101,6 @@ void rohga_state::nitrobal(machine_config &config)
m_deco_tilegen[0]->set_gfxdecode_tag("gfxdecode");
DECO16IC(config, m_deco_tilegen[1], 0);
- m_deco_tilegen[1]->set_split(0);
m_deco_tilegen[1]->set_pf1_size(DECO_32x32);
m_deco_tilegen[1]->set_pf2_size(DECO_32x32);
m_deco_tilegen[1]->set_pf1_trans_mask(0x0f);
@@ -1188,7 +1182,6 @@ void rohga_state::schmeisr(machine_config &config)
m_decocomn->set_palette_tag(m_palette);
DECO16IC(config, m_deco_tilegen[0], 0);
- m_deco_tilegen[0]->set_split(0);
m_deco_tilegen[0]->set_pf1_size(DECO_64x64);
m_deco_tilegen[0]->set_pf2_size(DECO_64x32);
m_deco_tilegen[0]->set_pf1_trans_mask(0x0f);
@@ -1204,7 +1197,6 @@ void rohga_state::schmeisr(machine_config &config)
m_deco_tilegen[0]->set_gfxdecode_tag("gfxdecode");
DECO16IC(config, m_deco_tilegen[1], 0);
- m_deco_tilegen[1]->set_split(0);
m_deco_tilegen[1]->set_pf1_size(DECO_64x32);
m_deco_tilegen[1]->set_pf2_size(DECO_64x32);
m_deco_tilegen[1]->set_pf1_trans_mask(0x0f);
diff --git a/src/mame/drivers/simpl156.cpp b/src/mame/drivers/simpl156.cpp
index a203d88f76d..afd62eb23c9 100644
--- a/src/mame/drivers/simpl156.cpp
+++ b/src/mame/drivers/simpl156.cpp
@@ -426,7 +426,6 @@ void simpl156_state::chainrec(machine_config &config)
GFXDECODE(config, "gfxdecode", m_palette, gfx_simpl156);
DECO16IC(config, m_deco_tilegen, 0);
- m_deco_tilegen->set_split(0);
m_deco_tilegen->set_pf1_size(DECO_64x32);
m_deco_tilegen->set_pf2_size(DECO_64x32);
m_deco_tilegen->set_pf1_trans_mask(0x0f);
diff --git a/src/mame/drivers/sshangha.cpp b/src/mame/drivers/sshangha.cpp
index ce0fde56e78..f69005d99a4 100644
--- a/src/mame/drivers/sshangha.cpp
+++ b/src/mame/drivers/sshangha.cpp
@@ -434,7 +434,6 @@ void sshangha_state::sshangha(machine_config &config)
PALETTE(config, m_palette).set_format(palette_device::xBGR_888, 0x4000);
DECO16IC(config, m_tilegen, 0);
- m_tilegen->set_split(0);
m_tilegen->set_pf1_size(DECO_64x32);
m_tilegen->set_pf2_size(DECO_64x32);
m_tilegen->set_pf1_trans_mask(0x0f);
diff --git a/src/mame/drivers/supbtime.cpp b/src/mame/drivers/supbtime.cpp
index 11639322f48..261b06aee32 100644
--- a/src/mame/drivers/supbtime.cpp
+++ b/src/mame/drivers/supbtime.cpp
@@ -357,7 +357,6 @@ void supbtime_state::supbtime(machine_config &config)
PALETTE(config, "palette").set_format(palette_device::xBGR_444, 1024);
DECO16IC(config, m_deco_tilegen, 0);
- m_deco_tilegen->set_split(0);
m_deco_tilegen->set_pf1_size(DECO_64x32);
m_deco_tilegen->set_pf2_size(DECO_64x32);
m_deco_tilegen->set_pf1_trans_mask(0x0f);
diff --git a/src/mame/drivers/vaportra.cpp b/src/mame/drivers/vaportra.cpp
index 4f7015df8a4..373baa71c97 100644
--- a/src/mame/drivers/vaportra.cpp
+++ b/src/mame/drivers/vaportra.cpp
@@ -233,7 +233,6 @@ void vaportra_state::vaportra(machine_config &config)
PALETTE(config, m_palette).set_entries(1280);
DECO16IC(config, m_deco_tilegen[0], 0);
- m_deco_tilegen[0]->set_split(0);
m_deco_tilegen[0]->set_pf1_size(DECO_64x32);
m_deco_tilegen[0]->set_pf2_size(DECO_64x32);
m_deco_tilegen[0]->set_pf1_trans_mask(0x0f);
@@ -249,7 +248,6 @@ void vaportra_state::vaportra(machine_config &config)
m_deco_tilegen[0]->set_gfxdecode_tag("gfxdecode");
DECO16IC(config, m_deco_tilegen[1], 0);
- m_deco_tilegen[1]->set_split(0);
m_deco_tilegen[1]->set_pf1_size(DECO_64x32);
m_deco_tilegen[1]->set_pf2_size(DECO_64x32);
m_deco_tilegen[1]->set_pf1_trans_mask(0x0f);
diff --git a/src/mame/includes/cninja.h b/src/mame/includes/cninja.h
index 7c7113d5d65..c0a07a7999e 100644
--- a/src/mame/includes/cninja.h
+++ b/src/mame/includes/cninja.h
@@ -64,6 +64,7 @@ public:
void init_cninjabl2();
DECLARE_MACHINE_START(robocop2);
DECLARE_MACHINE_RESET(robocop2);
+ DECLARE_VIDEO_START(cninja);
DECLARE_VIDEO_START(stoneage);
DECLARE_VIDEO_START(mutantf);
uint32_t screen_update_cninja(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
diff --git a/src/mame/video/cninja.cpp b/src/mame/video/cninja.cpp
index d6bc0fc72d6..cfb7e30fe03 100644
--- a/src/mame/video/cninja.cpp
+++ b/src/mame/video/cninja.cpp
@@ -11,6 +11,11 @@
/******************************************************************************/
+VIDEO_START_MEMBER(cninja_state,cninja)
+{
+ m_deco_tilegen[0]->set_transmask(1, 0, 0x00ff, 0xff01);
+}
+
VIDEO_START_MEMBER(cninja_state,stoneage)
{
/* The bootleg has broken scroll registers */
diff --git a/src/mame/video/deco16ic.cpp b/src/mame/video/deco16ic.cpp
index 0943f16d649..a52cac73971 100644
--- a/src/mame/video/deco16ic.cpp
+++ b/src/mame/video/deco16ic.cpp
@@ -191,7 +191,6 @@ deco16ic_device::deco16ic_device(const machine_config &mconfig, const char *tag,
m_pf12_last_small(0),
m_pf12_last_big(0),
m_pf1_8bpp_mode(0),
- m_split(0),
m_pf1_size(0),
m_pf2_size(0),
m_pf1_trans_mask(0xf),
@@ -248,9 +247,6 @@ void deco16ic_device::device_start()
m_pf1_tilemap_16x16->set_transparent_pen(0);
m_pf2_tilemap_16x16->set_transparent_pen(0);
- if (m_split) /* Caveman Ninja only */
- m_pf2_tilemap_16x16->set_transmask(0, 0x00ff, 0xff01);
-
m_pf1_8bpp_mode = 0;
m_pf1_data = make_unique_clear<uint16_t[]>(0x2000 / 2);
@@ -519,6 +515,21 @@ void deco16ic_device::custom_tilemap_draw(
/******************************************************************************/
+void deco16ic_device::set_transmask(int tmap, int group, u32 fgmask, u32 bgmask)
+{
+ switch (tmap)
+ {
+ case 0:
+ m_pf1_tilemap_16x16->set_transmask(group, fgmask, bgmask);
+ m_pf1_tilemap_8x8->set_transmask(group, fgmask, bgmask);
+ break;
+ case 1:
+ m_pf2_tilemap_16x16->set_transmask(group, fgmask, bgmask);
+ m_pf2_tilemap_8x8->set_transmask(group, fgmask, bgmask);
+ break;
+ }
+}
+
/* captain america seems to have a similar 8bpp feature to robocop2, investigate merging */
void deco16ic_device::set_pf1_8bpp_mode(int mode)
{
diff --git a/src/mame/video/deco16ic.h b/src/mame/video/deco16ic.h
index 8c19d469571..2c5fa213e03 100644
--- a/src/mame/video/deco16ic.h
+++ b/src/mame/video/deco16ic.h
@@ -37,7 +37,6 @@ public:
// void set_palette_tag(const char *tag);
template <typename... T> void set_bank1_callback(T &&... args) { m_bank1_cb = deco16_bank_cb_delegate(std::forward<T>(args)...); }
template <typename... T> void set_bank2_callback(T &&... args) { m_bank2_cb = deco16_bank_cb_delegate(std::forward<T>(args)...); }
- void set_split(int split) { m_split = split; }
void set_pf1_size(int size) { m_pf1_size = size; }
void set_pf2_size(int size) { m_pf2_size = size; }
void set_pf1_trans_mask(int mask) { m_pf1_trans_mask = mask; }
@@ -94,6 +93,9 @@ public:
/* used by captaven */
void set_pf1_8bpp_mode(int mode);
+ /* used by cninja */
+ void set_transmask(int tmap, int group, u32 fgmask, u32 bgmask);
+
/* used by stoneage */
void set_scrolldx(int tmap, int size, int dx, int dx_if_flipped);
@@ -146,7 +148,6 @@ private:
int m_pf12_last_small, m_pf12_last_big;
int m_pf1_8bpp_mode;
- int m_split;
int m_pf1_size;
int m_pf2_size;
int m_pf1_trans_mask, m_pf2_trans_mask;