summaryrefslogtreecommitdiffstatshomepage
path: root/src
diff options
context:
space:
mode:
author Alex W. Jackson <alex.w.jackson@gmail.com>2015-08-13 14:21:40 -0400
committer Alex W. Jackson <alex.w.jackson@gmail.com>2015-08-13 14:21:40 -0400
commit6e3fef765dc4849d8d63cf4cf9d1ba004d9461dd (patch)
tree8e1d782e6047ec30fcf1204d8c4ead8858f7ba0a /src
parent3f2b5a229d10ce272fe132bf3cada1c72f4040c3 (diff)
More konami cleanups (nw)
Diffstat (limited to 'src')
-rw-r--r--src/mame/drivers/battlnts.c3
-rw-r--r--src/mame/drivers/bladestl.c3
-rw-r--r--src/mame/drivers/gradius3.c82
-rw-r--r--src/mame/drivers/mainevt.c70
-rw-r--r--src/mame/drivers/rockrage.c2
-rw-r--r--src/mame/drivers/xmen.c52
-rw-r--r--src/mame/includes/aliens.h5
-rw-r--r--src/mame/includes/battlnts.h1
-rw-r--r--src/mame/includes/bladestl.h1
-rw-r--r--src/mame/includes/crimfght.h4
-rw-r--r--src/mame/includes/gradius3.h6
-rw-r--r--src/mame/includes/mainevt.h12
-rw-r--r--src/mame/includes/rockrage.h1
-rw-r--r--src/mame/includes/rollerg.h5
-rw-r--r--src/mame/includes/ultraman.h4
-rw-r--r--src/mame/includes/xmen.h7
-rw-r--r--src/mame/video/aliens.c35
-rw-r--r--src/mame/video/battlnts.c2
-rw-r--r--src/mame/video/bladestl.c2
-rw-r--r--src/mame/video/crimfght.c42
-rw-r--r--src/mame/video/gradius3.c29
-rw-r--r--src/mame/video/mainevt.c34
-rw-r--r--src/mame/video/rockrage.c2
-rw-r--r--src/mame/video/rollerg.c18
-rw-r--r--src/mame/video/spy.c6
-rw-r--r--src/mame/video/ultraman.c40
26 files changed, 176 insertions, 292 deletions
diff --git a/src/mame/drivers/battlnts.c b/src/mame/drivers/battlnts.c
index 48a22234455..d3596e2d1b5 100644
--- a/src/mame/drivers/battlnts.c
+++ b/src/mame/drivers/battlnts.c
@@ -217,13 +217,10 @@ void battlnts_state::machine_start()
m_rombank->configure_entries(0, 4, &ROM[0x10000], 0x4000);
save_item(NAME(m_spritebank));
- save_item(NAME(m_layer_colorbase));
}
void battlnts_state::machine_reset()
{
- m_layer_colorbase[0] = 0;
- m_layer_colorbase[1] = 0;
m_spritebank = 0;
}
diff --git a/src/mame/drivers/bladestl.c b/src/mame/drivers/bladestl.c
index 263f39aed2b..14f8fc0a641 100644
--- a/src/mame/drivers/bladestl.c
+++ b/src/mame/drivers/bladestl.c
@@ -282,7 +282,6 @@ void bladestl_state::machine_start()
m_rombank->configure_entries(0, 4, memregion("maincpu")->base(), 0x2000);
save_item(NAME(m_spritebank));
- save_item(NAME(m_layer_colorbase));
save_item(NAME(m_last_track));
}
@@ -290,8 +289,6 @@ void bladestl_state::machine_reset()
{
int i;
- m_layer_colorbase[0] = 0;
- m_layer_colorbase[1] = 1;
m_spritebank = 0;
for (i = 0; i < 4 ; i++)
diff --git a/src/mame/drivers/gradius3.c b/src/mame/drivers/gradius3.c
index c4b87e6c794..815cbb9dad5 100644
--- a/src/mame/drivers/gradius3.c
+++ b/src/mame/drivers/gradius3.c
@@ -412,50 +412,50 @@ ROM_START( gradius3j )
ROM_END
ROM_START( gradius3js )
- ROM_REGION( 0x40000, "maincpu", 0 )
- ROM_LOAD16_BYTE( "945_s13.f15", 0x00000, 0x20000, CRC(70c240a2) SHA1(82dc391572e1f61b0182cb031654d71adcdd5f6e) )
- ROM_LOAD16_BYTE( "945_s12.e15", 0x00001, 0x20000, CRC(bbc300d4) SHA1(e1ca98bc591575285d7bd2d4fefdf35fed10dcb6) )
-
- ROM_REGION( 0x100000, "sub", 0 )
- ROM_LOAD16_BYTE( "945_m09.r17", 0x000000, 0x20000, CRC(b4a6df25) SHA1(85533cf140d28f6f81c0b49b8061bda0924a613a) )
- ROM_LOAD16_BYTE( "945_m08.n17", 0x000001, 0x20000, CRC(74e981d2) SHA1(e7b47a2da01ff73293d2100c48fdf00b33125af5) )
- ROM_LOAD16_BYTE( "945_l06b.r11", 0x040000, 0x20000, CRC(83772304) SHA1(a90c75a3de670b6ec5e0fc201876d463b4a76766) )
- ROM_LOAD16_BYTE( "945_l06a.n11", 0x040001, 0x20000, CRC(e1fd75b6) SHA1(6160d80a2f1bf550e85d6253cf521a96f5a644cc) )
- ROM_LOAD16_BYTE( "945_l07c.r15", 0x080000, 0x20000, CRC(c1e399b6) SHA1(e95bd478dd3beea0175bf9ee4cededb111c4ace1) )
- ROM_LOAD16_BYTE( "945_l07a.n15", 0x080001, 0x20000, CRC(96222d04) SHA1(b55700f683a556b0e73dbac9c7b4ce485420d21c) )
- ROM_LOAD16_BYTE( "945_l07d.r13", 0x0c0000, 0x20000, CRC(4c16d4bd) SHA1(01dcf169b78a1e495214b10181401d1920b0c924) )
- ROM_LOAD16_BYTE( "945_l07b.n13", 0x0c0001, 0x20000, CRC(5e209d01) SHA1(0efa1bbfdc7e2ba1e0bb96245e2bfe961258b446) )
-
- ROM_REGION( 0x10000, "audiocpu", 0 )
- ROM_LOAD( "945_m05.d9", 0x00000, 0x10000, CRC(c8c45365) SHA1(b9a7b736b52bca42c7b8c8ed64c8df73e0116158) )
-
- ROM_REGION( 0x200000, "k051960", 0 ) /* graphics (addressable by the main CPU) */
+ ROM_REGION( 0x40000, "maincpu", 0 )
+ ROM_LOAD16_BYTE( "945_s13.f15", 0x00000, 0x20000, CRC(70c240a2) SHA1(82dc391572e1f61b0182cb031654d71adcdd5f6e) )
+ ROM_LOAD16_BYTE( "945_s12.e15", 0x00001, 0x20000, CRC(bbc300d4) SHA1(e1ca98bc591575285d7bd2d4fefdf35fed10dcb6) )
+
+ ROM_REGION( 0x100000, "sub", 0 )
+ ROM_LOAD16_BYTE( "945_m09.r17", 0x000000, 0x20000, CRC(b4a6df25) SHA1(85533cf140d28f6f81c0b49b8061bda0924a613a) )
+ ROM_LOAD16_BYTE( "945_m08.n17", 0x000001, 0x20000, CRC(74e981d2) SHA1(e7b47a2da01ff73293d2100c48fdf00b33125af5) )
+ ROM_LOAD16_BYTE( "945_l06b.r11", 0x040000, 0x20000, CRC(83772304) SHA1(a90c75a3de670b6ec5e0fc201876d463b4a76766) )
+ ROM_LOAD16_BYTE( "945_l06a.n11", 0x040001, 0x20000, CRC(e1fd75b6) SHA1(6160d80a2f1bf550e85d6253cf521a96f5a644cc) )
+ ROM_LOAD16_BYTE( "945_l07c.r15", 0x080000, 0x20000, CRC(c1e399b6) SHA1(e95bd478dd3beea0175bf9ee4cededb111c4ace1) )
+ ROM_LOAD16_BYTE( "945_l07a.n15", 0x080001, 0x20000, CRC(96222d04) SHA1(b55700f683a556b0e73dbac9c7b4ce485420d21c) )
+ ROM_LOAD16_BYTE( "945_l07d.r13", 0x0c0000, 0x20000, CRC(4c16d4bd) SHA1(01dcf169b78a1e495214b10181401d1920b0c924) )
+ ROM_LOAD16_BYTE( "945_l07b.n13", 0x0c0001, 0x20000, CRC(5e209d01) SHA1(0efa1bbfdc7e2ba1e0bb96245e2bfe961258b446) )
+
+ ROM_REGION( 0x10000, "audiocpu", 0 )
+ ROM_LOAD( "945_m05.d9", 0x00000, 0x10000, CRC(c8c45365) SHA1(b9a7b736b52bca42c7b8c8ed64c8df73e0116158) )
+
+ ROM_REGION( 0x200000, "k051960", 0 ) /* graphics (addressable by the main CPU) */
ROM_LOAD32_BYTE( "945_A02A.K2", 0x000000, 0x20000, CRC(fbb81511) SHA1(e7988d52e323e46117f5080c469daf9b119f28a0) )
- ROM_LOAD32_BYTE( "945_A02C.M2", 0x000001, 0x20000, CRC(031b55e8) SHA1(64ed8dee60bf012df7c1ed496af1c75263c052a6) )
- ROM_LOAD32_BYTE( "945_A01A.E2", 0x000002, 0x20000, CRC(bace5abb) SHA1(b32df63294c0730f463335b1b760494389c60062) )
- ROM_LOAD32_BYTE( "945_A01C.H2", 0x000003, 0x20000, CRC(d91b29a6) SHA1(0c3027a08996f4c2b86dd88695241b21c8dffd64) )
- ROM_LOAD32_BYTE( "945_A02B.K4", 0x080000, 0x20000, CRC(c0fed4ab) SHA1(f01975b13759cae7c8dfd24f9b3f4ac960d32957) )
- ROM_LOAD32_BYTE( "945_A02D.M4", 0x080001, 0x20000, CRC(d462817c) SHA1(00137e38454e7c3548a1a9553c5ee644916b3959) )
- ROM_LOAD32_BYTE( "945_A01B.E4", 0x080002, 0x20000, CRC(b426090e) SHA1(06a671a648e3255146fe0c325d5451d4f75f08aa) )
- ROM_LOAD32_BYTE( "945_A01D.H4", 0x080003, 0x20000, CRC(3990c09a) SHA1(1f6a089c1d03fb95d4d96fecc0379bde26ee2b9d) )
-
- ROM_LOAD32_BYTE( "945_l04a.k6", 0x100000, 0x20000, CRC(884e21ee) SHA1(ce86dd3a06775e5b1aa09db010dcb674e67828e7) )
- ROM_LOAD32_BYTE( "945_l04c.m6", 0x100001, 0x20000, CRC(45bcd921) SHA1(e51a8a71362a6fb55124aa1dce74519c0a3c6e3f) )
- ROM_LOAD32_BYTE( "945_l03a.e6", 0x100002, 0x20000, CRC(a67ef087) SHA1(fd63474f3bbde5dfc53ed4c1db25d6411a8b54d2) )
- ROM_LOAD32_BYTE( "945_l03c.h6", 0x100003, 0x20000, CRC(a56be17a) SHA1(1d387736144c30fcb5de54235331ab1ff70c356e) )
- ROM_LOAD32_BYTE( "945_l04b.k8", 0x180000, 0x20000, CRC(843bc67d) SHA1(cdf8421083f24ab27867ed5d08d8949da192b2b9) )
- ROM_LOAD32_BYTE( "945_l04d.m8", 0x180001, 0x20000, CRC(0a98d08e) SHA1(1e0ca51a2d45c01fa3f11950ddd387f41ddae691) )
- ROM_LOAD32_BYTE( "945_l03b.e8", 0x180002, 0x20000, CRC(933e68b9) SHA1(f3a39446ca77d17fdbd938bd5f718ae9d5570879) )
- ROM_LOAD32_BYTE( "945_l03d.h8", 0x180003, 0x20000, CRC(f375e87b) SHA1(6427b966795c907c8e516244872fe52217da62c4) )
-
- ROM_REGION( 0x0100, "proms", 0 )
- ROM_LOAD( "945l14.j28", 0x0000, 0x0100, CRC(c778c189) SHA1(847eaf379ba075c25911c6f83dd63ff390534f60) ) /* priority encoder (not used) */
-
- ROM_REGION( 0x80000, "k007232", 0 ) /* 007232 samples */
+ ROM_LOAD32_BYTE( "945_A02C.M2", 0x000001, 0x20000, CRC(031b55e8) SHA1(64ed8dee60bf012df7c1ed496af1c75263c052a6) )
+ ROM_LOAD32_BYTE( "945_A01A.E2", 0x000002, 0x20000, CRC(bace5abb) SHA1(b32df63294c0730f463335b1b760494389c60062) )
+ ROM_LOAD32_BYTE( "945_A01C.H2", 0x000003, 0x20000, CRC(d91b29a6) SHA1(0c3027a08996f4c2b86dd88695241b21c8dffd64) )
+ ROM_LOAD32_BYTE( "945_A02B.K4", 0x080000, 0x20000, CRC(c0fed4ab) SHA1(f01975b13759cae7c8dfd24f9b3f4ac960d32957) )
+ ROM_LOAD32_BYTE( "945_A02D.M4", 0x080001, 0x20000, CRC(d462817c) SHA1(00137e38454e7c3548a1a9553c5ee644916b3959) )
+ ROM_LOAD32_BYTE( "945_A01B.E4", 0x080002, 0x20000, CRC(b426090e) SHA1(06a671a648e3255146fe0c325d5451d4f75f08aa) )
+ ROM_LOAD32_BYTE( "945_A01D.H4", 0x080003, 0x20000, CRC(3990c09a) SHA1(1f6a089c1d03fb95d4d96fecc0379bde26ee2b9d) )
+
+ ROM_LOAD32_BYTE( "945_l04a.k6", 0x100000, 0x20000, CRC(884e21ee) SHA1(ce86dd3a06775e5b1aa09db010dcb674e67828e7) )
+ ROM_LOAD32_BYTE( "945_l04c.m6", 0x100001, 0x20000, CRC(45bcd921) SHA1(e51a8a71362a6fb55124aa1dce74519c0a3c6e3f) )
+ ROM_LOAD32_BYTE( "945_l03a.e6", 0x100002, 0x20000, CRC(a67ef087) SHA1(fd63474f3bbde5dfc53ed4c1db25d6411a8b54d2) )
+ ROM_LOAD32_BYTE( "945_l03c.h6", 0x100003, 0x20000, CRC(a56be17a) SHA1(1d387736144c30fcb5de54235331ab1ff70c356e) )
+ ROM_LOAD32_BYTE( "945_l04b.k8", 0x180000, 0x20000, CRC(843bc67d) SHA1(cdf8421083f24ab27867ed5d08d8949da192b2b9) )
+ ROM_LOAD32_BYTE( "945_l04d.m8", 0x180001, 0x20000, CRC(0a98d08e) SHA1(1e0ca51a2d45c01fa3f11950ddd387f41ddae691) )
+ ROM_LOAD32_BYTE( "945_l03b.e8", 0x180002, 0x20000, CRC(933e68b9) SHA1(f3a39446ca77d17fdbd938bd5f718ae9d5570879) )
+ ROM_LOAD32_BYTE( "945_l03d.h8", 0x180003, 0x20000, CRC(f375e87b) SHA1(6427b966795c907c8e516244872fe52217da62c4) )
+
+ ROM_REGION( 0x0100, "proms", 0 )
+ ROM_LOAD( "945l14.j28", 0x0000, 0x0100, CRC(c778c189) SHA1(847eaf379ba075c25911c6f83dd63ff390534f60) ) /* priority encoder (not used) */
+
+ ROM_REGION( 0x80000, "k007232", 0 ) /* 007232 samples */
ROM_LOAD( "945_A10A.C14", 0x00000, 0x20000, CRC(ec717414) SHA1(8c63d5fe01d0833529fca91bc80cdbd8a04174c0) )
ROM_LOAD( "945_A10B.C16", 0x20000, 0x20000, CRC(709e30e4) SHA1(27fcea720cd2498f1870c9290d30dcb3dd81d5e5) )
- ROM_LOAD( "945_l11a.c18", 0x40000, 0x20000, CRC(6043f4eb) SHA1(1c2e9ace1cfdde504b7b6158e3c3f54dc5ae33d4) )
- ROM_LOAD( "945_l11b.c20", 0x60000, 0x20000, CRC(89ea3baf) SHA1(8edcbaa7969185cfac48c02559826d1b8b081f3f) )
+ ROM_LOAD( "945_l11a.c18", 0x40000, 0x20000, CRC(6043f4eb) SHA1(1c2e9ace1cfdde504b7b6158e3c3f54dc5ae33d4) )
+ ROM_LOAD( "945_l11b.c20", 0x60000, 0x20000, CRC(89ea3baf) SHA1(8edcbaa7969185cfac48c02559826d1b8b081f3f) )
ROM_END
ROM_START( gradius3a )
diff --git a/src/mame/drivers/mainevt.c b/src/mame/drivers/mainevt.c
index 5d63550de55..704f07d9eac 100644
--- a/src/mame/drivers/mainevt.c
+++ b/src/mame/drivers/mainevt.c
@@ -51,7 +51,7 @@ INTERRUPT_GEN_MEMBER(mainevt_state::dv_interrupt)
WRITE8_MEMBER(mainevt_state::mainevt_bankswitch_w)
{
/* bit 0-1 ROM bank select */
- membank("bank1")->set_entry(data & 0x03);
+ m_rombank->set_entry(data & 0x03);
/* TODO: bit 5 = select work RAM or palette? */
//palette_selected = data & 0x20;
@@ -170,7 +170,7 @@ static ADDRESS_MAP_START( mainevt_map, AS_PROGRAM, 8, mainevt_state )
AM_RANGE(0x4000, 0x5dff) AM_RAM
AM_RANGE(0x5e00, 0x5fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("bank1")
+ AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("rombank")
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -194,7 +194,7 @@ static ADDRESS_MAP_START( devstors_map, AS_PROGRAM, 8, mainevt_state )
AM_RANGE(0x4000, 0x5dff) AM_RAM
AM_RANGE(0x5e00, 0x5fff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
- AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("bank1")
+ AM_RANGE(0x6000, 0x7fff) AM_ROMBANK("rombank")
AM_RANGE(0x8000, 0xffff) AM_ROM
ADDRESS_MAP_END
@@ -380,9 +380,7 @@ WRITE8_MEMBER(mainevt_state::volume_callback)
void mainevt_state::machine_start()
{
- UINT8 *ROM = memregion("maincpu")->base();
-
- membank("bank1")->configure_entries(0, 4, &ROM[0x10000], 0x2000);
+ m_rombank->configure_entries(0, 4, memregion("maincpu")->base(), 0x2000);
save_item(NAME(m_nmi_enable));
}
@@ -428,8 +426,6 @@ static MACHINE_CONFIG_START( mainevt, mainevt_state )
MCFG_PALETTE_ENABLE_SHADOWS()
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- MCFG_VIDEO_START_OVERRIDE(mainevt_state,mainevt)
-
MCFG_DEVICE_ADD("k052109", K052109, 0)
MCFG_GFX_PALETTE("palette")
MCFG_K052109_CB(mainevt_state, mainevt_tile_callback)
@@ -475,8 +471,6 @@ static MACHINE_CONFIG_START( devstors, mainevt_state )
MCFG_PALETTE_ENABLE_SHADOWS()
MCFG_PALETTE_FORMAT(xBBBBBGGGGGRRRRR)
- MCFG_VIDEO_START_OVERRIDE(mainevt_state,dv)
-
MCFG_DEVICE_ADD("k052109", K052109, 0)
MCFG_GFX_PALETTE("palette")
MCFG_K052109_CB(mainevt_state, dv_tile_callback)
@@ -510,11 +504,10 @@ MACHINE_CONFIG_END
ROM_START( mainevt ) /* 4 players - English title screen - No "Warning" message in the ROM */
- ROM_REGION( 0x40000, "maincpu", 0 )
- ROM_LOAD( "799y02.k11", 0x10000, 0x08000, CRC(e2e7dbd5) SHA1(80314cd42a9f47f7bb82a2160fb5ef2ddc6dff30) )
- ROM_CONTINUE( 0x08000, 0x08000 )
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "799y02.k11", 0x00000, 0x10000, CRC(e2e7dbd5) SHA1(80314cd42a9f47f7bb82a2160fb5ef2ddc6dff30) )
- ROM_REGION( 0x10000, "audiocpu", 0 )
+ ROM_REGION( 0x8000, "audiocpu", 0 )
ROM_LOAD( "799c01.f7", 0x00000, 0x08000, CRC(447c4c5c) SHA1(86e42132793c59cc6feece143516f7ecd4ed14e8) )
ROM_REGION( 0x20000, "k052109", 0 ) /* tiles */
@@ -538,11 +531,10 @@ ROM_START( mainevt ) /* 4 players - English title screen - No "Warning" messa
ROM_END
ROM_START( mainevto ) /* 4 players - English title screen - No "Warning" message in the ROM */
- ROM_REGION( 0x40000, "maincpu", 0 )
- ROM_LOAD( "799f02.k11", 0x10000, 0x08000, CRC(c143596b) SHA1(5da7efaf0f7c7a493cc242eae115f278bc9c134b) )
- ROM_CONTINUE( 0x08000, 0x08000 )
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "799f02.k11", 0x00000, 0x10000, CRC(c143596b) SHA1(5da7efaf0f7c7a493cc242eae115f278bc9c134b) )
- ROM_REGION( 0x10000, "audiocpu", 0 )
+ ROM_REGION( 0x8000, "audiocpu", 0 )
ROM_LOAD( "799c01.f7", 0x00000, 0x08000, CRC(447c4c5c) SHA1(86e42132793c59cc6feece143516f7ecd4ed14e8) )
ROM_REGION( 0x20000, "k052109", 0 ) /* tiles */
@@ -566,11 +558,10 @@ ROM_START( mainevto ) /* 4 players - English title screen - No "Warning" messa
ROM_END
ROM_START( mainevt2p ) /* 2 players - English title screen - "Warning" message in the ROM (not displayed) */
- ROM_REGION( 0x40000, "maincpu", 0 )
- ROM_LOAD( "799x02.k11", 0x10000, 0x08000, CRC(42cfc650) SHA1(2d1918ebc0d93a2356ad995a6854dbde7c3b8daf) )
- ROM_CONTINUE( 0x08000, 0x08000 )
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "799x02.k11", 0x00000, 0x10000, CRC(42cfc650) SHA1(2d1918ebc0d93a2356ad995a6854dbde7c3b8daf) )
- ROM_REGION( 0x10000, "audiocpu", 0 )
+ ROM_REGION( 0x8000, "audiocpu", 0 )
ROM_LOAD( "799c01.f7", 0x00000, 0x08000, CRC(447c4c5c) SHA1(86e42132793c59cc6feece143516f7ecd4ed14e8) )
ROM_REGION( 0x20000, "k052109", 0 ) /* tiles */
@@ -594,11 +585,10 @@ ROM_START( mainevt2p ) /* 2 players - English title screen - "Warning" message
ROM_END
ROM_START( ringohja ) /* 2 players - Japan title screen - "Warning" message in the ROM (displayed) */
- ROM_REGION( 0x40000, "maincpu", 0 )
- ROM_LOAD( "799n02.k11", 0x10000, 0x08000, CRC(f9305dd0) SHA1(7135053be9d46ac9c09ab63eca1eb71825a71a13) )
- ROM_CONTINUE( 0x08000, 0x08000 )
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "799n02.k11", 0x00000, 0x10000, CRC(f9305dd0) SHA1(7135053be9d46ac9c09ab63eca1eb71825a71a13) )
- ROM_REGION( 0x10000, "audiocpu", 0 )
+ ROM_REGION( 0x8000, "audiocpu", 0 )
ROM_LOAD( "799c01.f7", 0x00000, 0x08000, CRC(447c4c5c) SHA1(86e42132793c59cc6feece143516f7ecd4ed14e8) )
ROM_REGION( 0x20000, "k052109", 0 ) /* tiles */
@@ -623,11 +613,10 @@ ROM_END
ROM_START( devstors )
- ROM_REGION( 0x40000, "maincpu", 0 )
- ROM_LOAD( "890z02.k11", 0x10000, 0x08000, CRC(ebeb306f) SHA1(838fcfe95dfedd61f21f34301d48e337db765ab2) )
- ROM_CONTINUE( 0x08000, 0x08000 )
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "890z02.k11", 0x00000, 0x10000, CRC(ebeb306f) SHA1(838fcfe95dfedd61f21f34301d48e337db765ab2) )
- ROM_REGION( 0x10000, "audiocpu", 0 )
+ ROM_REGION( 0x8000, "audiocpu", 0 )
ROM_LOAD( "890k01.f7", 0x00000, 0x08000, CRC(d44b3eb0) SHA1(26109fc56668b65f1a5aa6d8ec2c08fd70ca7c51) )
ROM_REGION( 0x40000, "k052109", 0 ) /* tiles */
@@ -648,11 +637,10 @@ ROM_START( devstors )
ROM_END
ROM_START( devstors2 )
- ROM_REGION( 0x40000, "maincpu", 0 )
- ROM_LOAD( "890x02.k11", 0x10000, 0x08000, CRC(e58ebb35) SHA1(4253b6a7128534cc0866bc910a271d91ac8b40fd) )
- ROM_CONTINUE( 0x08000, 0x08000 )
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "890x02.k11", 0x00000, 0x10000, CRC(e58ebb35) SHA1(4253b6a7128534cc0866bc910a271d91ac8b40fd) )
- ROM_REGION( 0x10000, "audiocpu", 0 )
+ ROM_REGION( 0x8000, "audiocpu", 0 )
ROM_LOAD( "890k01.f7", 0x00000, 0x08000, CRC(d44b3eb0) SHA1(26109fc56668b65f1a5aa6d8ec2c08fd70ca7c51) )
ROM_REGION( 0x40000, "k052109", 0 ) /* tiles */
@@ -673,11 +661,10 @@ ROM_START( devstors2 )
ROM_END
ROM_START( devstors3 )
- ROM_REGION( 0x40000, "maincpu", 0 )
- ROM_LOAD( "890v02.k11", 0x10000, 0x08000, CRC(52f4ccdd) SHA1(074e526ed170a5f2083c8c0808734291a2ea7403) )
- ROM_CONTINUE( 0x08000, 0x08000 )
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "890v02.k11", 0x00000, 0x10000, CRC(52f4ccdd) SHA1(074e526ed170a5f2083c8c0808734291a2ea7403) )
- ROM_REGION( 0x10000, "audiocpu", 0 )
+ ROM_REGION( 0x8000, "audiocpu", 0 )
ROM_LOAD( "890k01.f7", 0x00000, 0x08000, CRC(d44b3eb0) SHA1(26109fc56668b65f1a5aa6d8ec2c08fd70ca7c51) )
ROM_REGION( 0x40000, "k052109", 0 ) /* tiles */
@@ -698,11 +685,10 @@ ROM_START( devstors3 )
ROM_END
ROM_START( garuka )
- ROM_REGION( 0x40000, "maincpu", 0 )
- ROM_LOAD( "890w02.k11", 0x10000, 0x08000, CRC(b2f6f538) SHA1(95dad3258a2e4c5648d0fc22c06fa3e2da3b5ed1) )
- ROM_CONTINUE( 0x08000, 0x08000 )
+ ROM_REGION( 0x10000, "maincpu", 0 )
+ ROM_LOAD( "890w02.k11", 0x00000, 0x10000, CRC(b2f6f538) SHA1(95dad3258a2e4c5648d0fc22c06fa3e2da3b5ed1) )
- ROM_REGION( 0x10000, "audiocpu", 0 )
+ ROM_REGION( 0x8000, "audiocpu", 0 )
ROM_LOAD( "890k01.f7", 0x00000, 0x08000, CRC(d44b3eb0) SHA1(26109fc56668b65f1a5aa6d8ec2c08fd70ca7c51) )
ROM_REGION( 0x40000, "k052109", 0 ) /* tiles */
diff --git a/src/mame/drivers/rockrage.c b/src/mame/drivers/rockrage.c
index 0ce316b0c58..49d255e190d 100644
--- a/src/mame/drivers/rockrage.c
+++ b/src/mame/drivers/rockrage.c
@@ -234,8 +234,6 @@ void rockrage_state::machine_start()
void rockrage_state::machine_reset()
{
m_vreg = 0;
- m_layer_colorbase[0] = 0x00;
- m_layer_colorbase[1] = 0x10;
}
static MACHINE_CONFIG_START( rockrage, rockrage_state )
diff --git a/src/mame/drivers/xmen.c b/src/mame/drivers/xmen.c
index 000a4fba7e4..f0cac836222 100644
--- a/src/mame/drivers/xmen.c
+++ b/src/mame/drivers/xmen.c
@@ -83,15 +83,9 @@ WRITE16_MEMBER(xmen_state::xmen_18fa00_w)
}
}
-void xmen_state::sound_reset_bank()
-{
- membank("bank4")->set_entry(m_sound_curbank & 0x07);
-}
-
WRITE8_MEMBER(xmen_state::sound_bankswitch_w)
{
- m_sound_curbank = data;
- sound_reset_bank();
+ m_z80bank->set_entry(data & 0x07);
}
@@ -118,7 +112,7 @@ ADDRESS_MAP_END
static ADDRESS_MAP_START( sound_map, AS_PROGRAM, 8, xmen_state )
AM_RANGE(0x0000, 0x7fff) AM_ROM
- AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("bank4")
+ AM_RANGE(0x8000, 0xbfff) AM_ROMBANK("z80bank")
AM_RANGE(0xc000, 0xdfff) AM_RAM
AM_RANGE(0xe000, 0xe22f) AM_DEVREADWRITE("k054539", k054539_device, read, write)
AM_RANGE(0xe800, 0xe801) AM_MIRROR(0x0400) AM_DEVREADWRITE("ymsnd", ym2151_device, read, write)
@@ -282,17 +276,13 @@ INPUT_PORTS_END
void xmen_state::machine_start()
{
- UINT8 *ROM = memregion("audiocpu")->base();
-
- membank("bank4")->configure_entries(0, 8, &ROM[0x10000], 0x4000);
- membank("bank4")->set_entry(0);
+ m_z80bank->configure_entries(0, 8, memregion("audiocpu")->base(), 0x4000);
+ m_z80bank->set_entry(0);
- save_item(NAME(m_sound_curbank));
save_item(NAME(m_sprite_colorbase));
save_item(NAME(m_layer_colorbase));
save_item(NAME(m_layerpri));
save_item(NAME(m_vblank_irq_mask));
- machine().save().register_postload(save_prepost_delegate(FUNC(xmen_state::sound_reset_bank), this));
}
void xmen_state::machine_reset()
@@ -306,7 +296,6 @@ void xmen_state::machine_reset()
}
m_sprite_colorbase = 0;
- m_sound_curbank = 0;
m_vblank_irq_mask = 0;
}
@@ -501,9 +490,8 @@ ROM_START( xmen )
ROM_LOAD16_BYTE( "065-a02.9d", 0x80000, 0x40000, CRC(b31dc44c) SHA1(4bdac05826b4d6d4fe46686ede5190e2f73eefc5) )
ROM_LOAD16_BYTE( "065-a03.9f", 0x80001, 0x40000, CRC(13842fe6) SHA1(b61f094eb94336edb8708d3437ead9b853b2d6e6) )
- ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k+128k for sound cpu */
+ ROM_REGION( 0x20000, "audiocpu", 0 )
ROM_LOAD( "065-a01.6f", 0x00000, 0x20000, CRC(147d3a4d) SHA1(a14409fe991e803b9e7812303e3a9ebd857d8b01) )
- ROM_RELOAD( 0x10000, 0x20000 )
ROM_REGION( 0x200000, "k052109", 0 ) /* tiles */
ROM_LOAD32_WORD( "065-a08.15l", 0x000000, 0x100000, CRC(6b649aca) SHA1(2595f314517738e8614facf578cc951a6c36a180) )
@@ -529,9 +517,8 @@ ROM_START( xmenj )
ROM_LOAD16_BYTE( "065-a02.9d", 0x80000, 0x40000, CRC(b31dc44c) SHA1(4bdac05826b4d6d4fe46686ede5190e2f73eefc5) )
ROM_LOAD16_BYTE( "065-a03.9f", 0x80001, 0x40000, CRC(13842fe6) SHA1(b61f094eb94336edb8708d3437ead9b853b2d6e6) )
- ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k+128k for sound cpu */
+ ROM_REGION( 0x20000, "audiocpu", 0 )
ROM_LOAD( "065-a01.6f", 0x00000, 0x20000, CRC(147d3a4d) SHA1(a14409fe991e803b9e7812303e3a9ebd857d8b01) )
- ROM_RELOAD( 0x10000, 0x20000 )
ROM_REGION( 0x200000, "k052109", 0 ) /* tiles */
ROM_LOAD32_WORD( "065-a08.15l", 0x000000, 0x100000, CRC(6b649aca) SHA1(2595f314517738e8614facf578cc951a6c36a180) )
@@ -557,9 +544,8 @@ ROM_START( xmene )
ROM_LOAD16_BYTE( "065-a02.9d", 0x80000, 0x40000, CRC(b31dc44c) SHA1(4bdac05826b4d6d4fe46686ede5190e2f73eefc5) )
ROM_LOAD16_BYTE( "065-a03.9f", 0x80001, 0x40000, CRC(13842fe6) SHA1(b61f094eb94336edb8708d3437ead9b853b2d6e6) )
- ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k+128k for sound cpu */
+ ROM_REGION( 0x20000, "audiocpu", 0 )
ROM_LOAD( "065-a01.6f", 0x00000, 0x20000, CRC(147d3a4d) SHA1(a14409fe991e803b9e7812303e3a9ebd857d8b01) )
- ROM_RELOAD( 0x10000, 0x20000 )
ROM_REGION( 0x200000, "k052109", 0 ) /* tiles */
ROM_LOAD32_WORD( "065-a08.15l", 0x000000, 0x100000, CRC(6b649aca) SHA1(2595f314517738e8614facf578cc951a6c36a180) )
@@ -585,9 +571,8 @@ ROM_START( xmena )
ROM_LOAD16_BYTE( "065-a02.9d", 0x80000, 0x40000, CRC(b31dc44c) SHA1(4bdac05826b4d6d4fe46686ede5190e2f73eefc5) )
ROM_LOAD16_BYTE( "065-a03.9f", 0x80001, 0x40000, CRC(13842fe6) SHA1(b61f094eb94336edb8708d3437ead9b853b2d6e6) )
- ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k+128k for sound cpu */
+ ROM_REGION( 0x20000, "audiocpu", 0 )
ROM_LOAD( "065-a01.6f", 0x00000, 0x20000, CRC(147d3a4d) SHA1(a14409fe991e803b9e7812303e3a9ebd857d8b01) )
- ROM_RELOAD( 0x10000, 0x20000 )
ROM_REGION( 0x200000, "k052109", 0 ) /* tiles */
ROM_LOAD32_WORD( "065-a08.15l", 0x000000, 0x100000, CRC(6b649aca) SHA1(2595f314517738e8614facf578cc951a6c36a180) )
@@ -613,9 +598,8 @@ ROM_START( xmenaa )
ROM_LOAD16_BYTE( "065-a02.9d", 0x80000, 0x40000, CRC(b31dc44c) SHA1(4bdac05826b4d6d4fe46686ede5190e2f73eefc5) )
ROM_LOAD16_BYTE( "065-a03.9f", 0x80001, 0x40000, CRC(13842fe6) SHA1(b61f094eb94336edb8708d3437ead9b853b2d6e6) )
- ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k+128k for sound cpu */
+ ROM_REGION( 0x20000, "audiocpu", 0 )
ROM_LOAD( "065-a01.6f", 0x00000, 0x20000, CRC(147d3a4d) SHA1(a14409fe991e803b9e7812303e3a9ebd857d8b01) )
- ROM_RELOAD( 0x10000, 0x20000 )
ROM_REGION( 0x200000, "k052109", 0 ) /* tiles */
ROM_LOAD32_WORD( "065-a08.15l", 0x000000, 0x100000, CRC(6b649aca) SHA1(2595f314517738e8614facf578cc951a6c36a180) )
@@ -641,9 +625,8 @@ ROM_START( xmen2pe )
ROM_LOAD16_BYTE( "065-a02.9d", 0x80000, 0x40000, CRC(b31dc44c) SHA1(4bdac05826b4d6d4fe46686ede5190e2f73eefc5) )
ROM_LOAD16_BYTE( "065-a03.9f", 0x80001, 0x40000, CRC(13842fe6) SHA1(b61f094eb94336edb8708d3437ead9b853b2d6e6) )
- ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k+128k for sound cpu */
+ ROM_REGION( 0x20000, "audiocpu", 0 )
ROM_LOAD( "065-a01.6f", 0x00000, 0x20000, CRC(147d3a4d) SHA1(a14409fe991e803b9e7812303e3a9ebd857d8b01) )
- ROM_RELOAD( 0x10000, 0x20000 )
ROM_REGION( 0x200000, "k052109", 0 ) /* tiles */
ROM_LOAD32_WORD( "065-a08.15l", 0x000000, 0x100000, CRC(6b649aca) SHA1(2595f314517738e8614facf578cc951a6c36a180) )
@@ -669,9 +652,8 @@ ROM_START( xmen2pu )
ROM_LOAD16_BYTE( "065-a02.9d", 0x80000, 0x40000, CRC(b31dc44c) SHA1(4bdac05826b4d6d4fe46686ede5190e2f73eefc5) )
ROM_LOAD16_BYTE( "065-a03.9f", 0x80001, 0x40000, CRC(13842fe6) SHA1(b61f094eb94336edb8708d3437ead9b853b2d6e6) )
- ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k+128k for sound cpu */
+ ROM_REGION( 0x20000, "audiocpu", 0 )
ROM_LOAD( "065-a01.6f", 0x00000, 0x20000, CRC(147d3a4d) SHA1(a14409fe991e803b9e7812303e3a9ebd857d8b01) )
- ROM_RELOAD( 0x10000, 0x20000 )
ROM_REGION( 0x200000, "k052109", 0 ) /* tiles */
ROM_LOAD32_WORD( "065-a08.15l", 0x000000, 0x100000, CRC(6b649aca) SHA1(2595f314517738e8614facf578cc951a6c36a180) )
@@ -697,9 +679,8 @@ ROM_START( xmen2pa )
ROM_LOAD16_BYTE( "065-a02.9d", 0x80000, 0x40000, CRC(b31dc44c) SHA1(4bdac05826b4d6d4fe46686ede5190e2f73eefc5) )
ROM_LOAD16_BYTE( "065-a03.9f", 0x80001, 0x40000, CRC(13842fe6) SHA1(b61f094eb94336edb8708d3437ead9b853b2d6e6) )
- ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k+128k for sound cpu */
+ ROM_REGION( 0x20000, "audiocpu", 0 )
ROM_LOAD( "065-a01.6f", 0x00000, 0x20000, CRC(147d3a4d) SHA1(a14409fe991e803b9e7812303e3a9ebd857d8b01) )
- ROM_RELOAD( 0x10000, 0x20000 )
ROM_REGION( 0x200000, "k052109", 0 ) /* tiles */
ROM_LOAD32_WORD( "065-a08.15l", 0x000000, 0x100000, CRC(6b649aca) SHA1(2595f314517738e8614facf578cc951a6c36a180) )
@@ -725,9 +706,8 @@ ROM_START( xmen2pj )
ROM_LOAD16_BYTE( "065-a02.9d", 0x80000, 0x40000, CRC(b31dc44c) SHA1(4bdac05826b4d6d4fe46686ede5190e2f73eefc5) )
ROM_LOAD16_BYTE( "065-a03.9f", 0x80001, 0x40000, CRC(13842fe6) SHA1(b61f094eb94336edb8708d3437ead9b853b2d6e6) )
- ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k+128k for sound cpu */
+ ROM_REGION( 0x20000, "audiocpu", 0 )
ROM_LOAD( "065-a01.6f", 0x00000, 0x20000, CRC(147d3a4d) SHA1(a14409fe991e803b9e7812303e3a9ebd857d8b01) )
- ROM_RELOAD( 0x10000, 0x20000 )
ROM_REGION( 0x200000, "k052109", 0 ) /* tiles */
ROM_LOAD32_WORD( "065-a08.15l", 0x000000, 0x100000, CRC(6b649aca) SHA1(2595f314517738e8614facf578cc951a6c36a180) )
@@ -807,9 +787,8 @@ ROM_START( xmen6p )
ROM_LOAD16_BYTE( "065-a02.17g", 0x80000, 0x40000, CRC(b31dc44c) SHA1(4bdac05826b4d6d4fe46686ede5190e2f73eefc5) )
ROM_LOAD16_BYTE( "065-a03.17j", 0x80001, 0x40000, CRC(13842fe6) SHA1(b61f094eb94336edb8708d3437ead9b853b2d6e6) )
- ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k+128k for sound cpu */
+ ROM_REGION( 0x20000, "audiocpu", 0 )
ROM_LOAD( "065-a01.7b", 0x00000, 0x20000, CRC(147d3a4d) SHA1(a14409fe991e803b9e7812303e3a9ebd857d8b01) )
- ROM_RELOAD( 0x10000, 0x20000 )
ROM_REGION( 0x200000, "k052109", 0 ) /* tiles */
ROM_LOAD32_WORD( "065-a08.1l", 0x000000, 0x100000, CRC(6b649aca) SHA1(2595f314517738e8614facf578cc951a6c36a180) )
@@ -835,9 +814,8 @@ ROM_START( xmen6pu )
ROM_LOAD16_BYTE( "065-a02.17g", 0x80000, 0x40000, CRC(b31dc44c) SHA1(4bdac05826b4d6d4fe46686ede5190e2f73eefc5) )
ROM_LOAD16_BYTE( "065-a03.17j", 0x80001, 0x40000, CRC(13842fe6) SHA1(b61f094eb94336edb8708d3437ead9b853b2d6e6) )
- ROM_REGION( 0x30000, "audiocpu", 0 ) /* 64k+128k for sound cpu */
+ ROM_REGION( 0x20000, "audiocpu", 0 )
ROM_LOAD( "065-a01.7b", 0x00000, 0x20000, CRC(147d3a4d) SHA1(a14409fe991e803b9e7812303e3a9ebd857d8b01) )
- ROM_RELOAD( 0x10000, 0x20000 )
ROM_REGION( 0x200000, "k052109", 0 ) /* tiles */
ROM_LOAD32_WORD( "065-a08.1l", 0x000000, 0x100000, CRC(6b649aca) SHA1(2595f314517738e8614facf578cc951a6c36a180) )
diff --git a/src/mame/includes/aliens.h b/src/mame/includes/aliens.h
index f4b32aa50ea..e39479cc67e 100644
--- a/src/mame/includes/aliens.h
+++ b/src/mame/includes/aliens.h
@@ -24,10 +24,6 @@ public:
m_k052109(*this, "k052109"),
m_k051960(*this, "k051960") { }
- /* video-related */
- int m_layer_colorbase[3];
- int m_sprite_colorbase;
-
/* devices */
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_audiocpu;
@@ -42,7 +38,6 @@ public:
DECLARE_WRITE8_MEMBER(aliens_snd_bankswitch_w);
virtual void machine_start();
virtual void machine_reset();
- virtual void video_start();
UINT32 screen_update_aliens(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(aliens_interrupt);
DECLARE_WRITE8_MEMBER(volume_callback);
diff --git a/src/mame/includes/battlnts.h b/src/mame/includes/battlnts.h
index 7caaedbcb47..8b65ea88388 100644
--- a/src/mame/includes/battlnts.h
+++ b/src/mame/includes/battlnts.h
@@ -23,7 +23,6 @@ public:
/* video-related */
int m_spritebank;
- int m_layer_colorbase[2];
/* devices */
required_device<cpu_device> m_maincpu;
diff --git a/src/mame/includes/bladestl.h b/src/mame/includes/bladestl.h
index 6988eb2b797..5eac667b587 100644
--- a/src/mame/includes/bladestl.h
+++ b/src/mame/includes/bladestl.h
@@ -45,7 +45,6 @@ public:
/* video-related */
int m_spritebank;
- int m_layer_colorbase[2];
/* misc */
int m_last_track[4];
diff --git a/src/mame/includes/crimfght.h b/src/mame/includes/crimfght.h
index 2e3acc50625..4299a72cfe7 100644
--- a/src/mame/includes/crimfght.h
+++ b/src/mame/includes/crimfght.h
@@ -26,10 +26,6 @@ public:
/* memory pointers */
std::vector<UINT8> m_paletteram;
- /* video-related */
- int m_layer_colorbase[3];
- int m_sprite_colorbase;
-
/* devices */
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_audiocpu;
diff --git a/src/mame/includes/gradius3.h b/src/mame/includes/gradius3.h
index a0e8bacc159..0aa94e18fed 100644
--- a/src/mame/includes/gradius3.h
+++ b/src/mame/includes/gradius3.h
@@ -16,6 +16,7 @@ public:
gradius3_state(const machine_config &mconfig, device_type type, const char *tag)
: driver_device(mconfig, type, tag),
m_gfxram(*this, "k052109"),
+ m_gfxrom(*this, "k051960"),
m_maincpu(*this, "maincpu"),
m_audiocpu(*this, "audiocpu"),
m_subcpu(*this, "sub"),
@@ -25,10 +26,7 @@ public:
/* memory pointers */
required_shared_ptr<UINT16> m_gfxram;
-
- /* video-related */
- int m_layer_colorbase[3];
- int m_sprite_colorbase;
+ required_region_ptr<UINT8> m_gfxrom;
/* misc */
int m_priority;
diff --git a/src/mame/includes/mainevt.h b/src/mame/includes/mainevt.h
index 245247fc9c1..f68af5e78b8 100644
--- a/src/mame/includes/mainevt.h
+++ b/src/mame/includes/mainevt.h
@@ -22,11 +22,8 @@ public:
m_upd7759(*this, "upd"),
m_k007232(*this, "k007232"),
m_k052109(*this, "k052109"),
- m_k051960(*this, "k051960") { }
-
- /* video-related */
- int m_layer_colorbase[3];
- int m_sprite_colorbase;
+ m_k051960(*this, "k051960"),
+ m_rombank(*this, "rombank") { }
/* misc */
int m_nmi_enable;
@@ -39,6 +36,9 @@ public:
required_device<k007232_device> m_k007232;
required_device<k052109_device> m_k052109;
required_device<k051960_device> m_k051960;
+
+ required_memory_bank m_rombank;
+
DECLARE_WRITE8_MEMBER(dv_nmienable_w);
DECLARE_WRITE8_MEMBER(mainevt_bankswitch_w);
DECLARE_WRITE8_MEMBER(mainevt_coin_w);
@@ -52,8 +52,6 @@ public:
DECLARE_WRITE8_MEMBER(dv_sh_bankswitch_w);
virtual void machine_start();
virtual void machine_reset();
- DECLARE_VIDEO_START(mainevt);
- DECLARE_VIDEO_START(dv);
UINT32 screen_update_mainevt(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
UINT32 screen_update_dv(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
INTERRUPT_GEN_MEMBER(mainevt_interrupt);
diff --git a/src/mame/includes/rockrage.h b/src/mame/includes/rockrage.h
index 3d16d50d50d..c2ed6095460 100644
--- a/src/mame/includes/rockrage.h
+++ b/src/mame/includes/rockrage.h
@@ -37,7 +37,6 @@ public:
required_memory_bank m_rombank;
/* video-related */
- int m_layer_colorbase[2];
int m_vreg;
DECLARE_WRITE8_MEMBER(rockrage_bankswitch_w);
diff --git a/src/mame/includes/rollerg.h b/src/mame/includes/rollerg.h
index eb982a3c5a5..88ddca6cc45 100644
--- a/src/mame/includes/rollerg.h
+++ b/src/mame/includes/rollerg.h
@@ -27,10 +27,6 @@ public:
m_k053252(*this, "k053252")
{ }
- /* video-related */
- int m_sprite_colorbase;
- int m_zoom_colorbase;
-
/* misc */
int m_readzoomroms;
@@ -48,7 +44,6 @@ public:
DECLARE_WRITE_LINE_MEMBER(rollerg_irq_ack_w);
virtual void machine_start();
virtual void machine_reset();
- virtual void video_start();
UINT32 screen_update_rollerg(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
K05324X_CB_MEMBER(sprite_callback);
K051316_CB_MEMBER(zoom_callback);
diff --git a/src/mame/includes/ultraman.h b/src/mame/includes/ultraman.h
index 0e1e9772d60..854f30d606e 100644
--- a/src/mame/includes/ultraman.h
+++ b/src/mame/includes/ultraman.h
@@ -22,9 +22,6 @@ public:
m_k051316_3(*this, "k051316_3"),
m_k051960(*this, "k051960") { }
- /* video-related */
- int m_sprite_colorbase;
- int m_zoom_colorbase[3];
int m_bank0;
int m_bank1;
int m_bank2;
@@ -41,7 +38,6 @@ public:
DECLARE_WRITE16_MEMBER(ultraman_gfxctrl_w);
virtual void machine_start();
virtual void machine_reset();
- virtual void video_start();
UINT32 screen_update_ultraman(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
K051316_CB_MEMBER(zoom_callback_1);
K051316_CB_MEMBER(zoom_callback_2);
diff --git a/src/mame/includes/xmen.h b/src/mame/includes/xmen.h
index f0ad2b713df..2f87182fbea 100644
--- a/src/mame/includes/xmen.h
+++ b/src/mame/includes/xmen.h
@@ -21,7 +21,8 @@ public:
m_k052109(*this, "k052109"),
m_k053246(*this, "k053246"),
m_k053251(*this, "k053251"),
- m_screen(*this, "screen") { }
+ m_screen(*this, "screen"),
+ m_z80bank(*this, "z80bank") { }
/* video-related */
int m_layer_colorbase[3];
@@ -38,7 +39,6 @@ public:
UINT16 * m_k053247_ram;
/* misc */
- UINT8 m_sound_curbank;
UINT8 m_vblank_irq_mask;
/* devices */
@@ -49,6 +49,8 @@ public:
required_device<k053247_device> m_k053246;
required_device<k053251_device> m_k053251;
required_device<screen_device> m_screen;
+
+ required_memory_bank m_z80bank;
DECLARE_WRITE16_MEMBER(eeprom_w);
DECLARE_READ16_MEMBER(sound_status_r);
DECLARE_WRITE16_MEMBER(sound_cmd_w);
@@ -64,7 +66,6 @@ public:
UINT32 screen_update_xmen6p_right(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void screen_eof_xmen6p(screen_device &screen, bool state);
TIMER_DEVICE_CALLBACK_MEMBER(xmen_scanline);
- void sound_reset_bank();
K052109_CB_MEMBER(tile_callback);
K053246_CB_MEMBER(sprite_callback);
};
diff --git a/src/mame/video/aliens.c b/src/mame/video/aliens.c
index e169a422406..39489d27faa 100644
--- a/src/mame/video/aliens.c
+++ b/src/mame/video/aliens.c
@@ -12,7 +12,7 @@
K052109_CB_MEMBER(aliens_state::tile_callback)
{
*code |= ((*color & 0x3f) << 8) | (bank << 14);
- *color = m_layer_colorbase[layer] + ((*color & 0xc0) >> 6);
+ *color = layer * 4 + ((*color & 0xc0) >> 6);
}
@@ -24,43 +24,29 @@ K052109_CB_MEMBER(aliens_state::tile_callback)
K051960_CB_MEMBER(aliens_state::sprite_callback)
{
+ enum { sprite_colorbase = 256 / 16 };
+
/* The PROM allows for mixed priorities, where sprites would have */
/* priority over text but not on one or both of the other two planes. */
switch (*color & 0x70)
{
case 0x10: *priority = 0x00; break; /* over ABF */
- case 0x00: *priority = 0xf0 ; break; /* over AB, not F */
- case 0x40: *priority = 0xf0|0xcc ; break; /* over A, not BF */
+ case 0x00: *priority = GFX_PMASK_4 ; break; /* over AB, not F */
+ case 0x40: *priority = GFX_PMASK_4|GFX_PMASK_2 ; break; /* over A, not BF */
case 0x20:
- case 0x60: *priority = 0xf0|0xcc|0xaa; break; /* over -, not ABF */
- case 0x50: *priority = 0xcc ; break; /* over AF, not B */
+ case 0x60: *priority = GFX_PMASK_4|GFX_PMASK_2|GFX_PMASK_1; break; /* over -, not ABF */
+ case 0x50: *priority = GFX_PMASK_2 ; break; /* over AF, not B */
case 0x30:
- case 0x70: *priority = 0xcc|0xaa; break; /* over F, not AB */
+ case 0x70: *priority = GFX_PMASK_2|GFX_PMASK_1; break; /* over F, not AB */
}
*code |= (*color & 0x80) << 6;
- *color = m_sprite_colorbase + (*color & 0x0f);
+ *color = sprite_colorbase + (*color & 0x0f);
*shadow = 0; /* shadows are not used by this game */
}
/***************************************************************************
- Start the video hardware emulation.
-
-***************************************************************************/
-
-void aliens_state::video_start()
-{
- m_layer_colorbase[0] = 0;
- m_layer_colorbase[1] = 4;
- m_layer_colorbase[2] = 8;
- m_sprite_colorbase = 16;
-}
-
-
-
-/***************************************************************************
-
Display refresh
***************************************************************************/
@@ -70,7 +56,8 @@ UINT32 aliens_state::screen_update_aliens(screen_device &screen, bitmap_ind16 &b
m_k052109->tilemap_update();
screen.priority().fill(0, cliprect);
- bitmap.fill(m_layer_colorbase[1] * 16, cliprect);
+ /* The background color is always from layer 1 */
+ m_k052109->tilemap_draw(screen, bitmap, cliprect, 1, TILEMAP_DRAW_OPAQUE, 0);
m_k052109->tilemap_draw(screen, bitmap, cliprect, 1, 0, 1);
m_k052109->tilemap_draw(screen, bitmap, cliprect, 2, 0, 2);
diff --git a/src/mame/video/battlnts.c b/src/mame/video/battlnts.c
index f50f77339d2..d88f16a9251 100644
--- a/src/mame/video/battlnts.c
+++ b/src/mame/video/battlnts.c
@@ -12,7 +12,7 @@
K007342_CALLBACK_MEMBER(battlnts_state::battlnts_tile_callback)
{
*code |= ((*color & 0x0f) << 9) | ((*color & 0x40) << 2);
- *color = m_layer_colorbase[layer];
+ *color = 0;
}
/***************************************************************************
diff --git a/src/mame/video/bladestl.c b/src/mame/video/bladestl.c
index 7e62058945a..58db646223a 100644
--- a/src/mame/video/bladestl.c
+++ b/src/mame/video/bladestl.c
@@ -32,7 +32,7 @@ PALETTE_INIT_MEMBER(bladestl_state, bladestl)
K007342_CALLBACK_MEMBER(bladestl_state::bladestl_tile_callback)
{
*code |= ((*color & 0x0f) << 8) | ((*color & 0x40) << 6);
- *color = m_layer_colorbase[layer];
+ *color = layer;
}
/***************************************************************************
diff --git a/src/mame/video/crimfght.c b/src/mame/video/crimfght.c
index 46806d7e076..abc6ecdb55e 100644
--- a/src/mame/video/crimfght.c
+++ b/src/mame/video/crimfght.c
@@ -13,7 +13,7 @@ K052109_CB_MEMBER(crimfght_state::tile_callback)
{
*flags = (*color & 0x20) ? TILE_FLIPX : 0;
*code |= ((*color & 0x1f) << 8) | (bank << 13);
- *color = m_layer_colorbase[layer] + ((*color & 0xc0) >> 6);
+ *color = layer * 4 + ((*color & 0xc0) >> 6);
}
/***************************************************************************
@@ -24,24 +24,24 @@ K052109_CB_MEMBER(crimfght_state::tile_callback)
K051960_CB_MEMBER(crimfght_state::sprite_callback)
{
- /* Weird priority scheme. Why use three bits when two would suffice? */
+ enum { sprite_colorbase = 256 / 16 };
+
/* The PROM allows for mixed priorities, where sprites would have */
/* priority over text but not on one or both of the other two planes. */
- /* Luckily, this isn't used by the game. */
switch (*color & 0x70)
{
- case 0x10: *priority = 0; break;
- case 0x00: *priority = 1; break;
- case 0x40: *priority = 2; break;
- case 0x20: *priority = 3; break;
- /* 0x60 == 0x20 */
- /* 0x50 priority over F and A, but not over B */
- /* 0x30 priority over F, but not over A and B */
- /* 0x70 == 0x30 */
+ case 0x10: *priority = 0x00; break; /* over ABF */
+ case 0x00: *priority = GFX_PMASK_4 ; break; /* over AB, not F */
+ case 0x40: *priority = GFX_PMASK_4|GFX_PMASK_2 ; break; /* over A, not BF */
+ case 0x20:
+ case 0x60: *priority = GFX_PMASK_4|GFX_PMASK_2|GFX_PMASK_1; break; /* over -, not ABF */
+ case 0x50: *priority = GFX_PMASK_2 ; break; /* over AF, not B */
+ case 0x30:
+ case 0x70: *priority = GFX_PMASK_2|GFX_PMASK_1; break; /* over F, not AB */
}
/* bit 7 is on in the "Game Over" sprites, meaning unknown */
/* in Aliens it is the top bit of the code, but that's not needed here */
- *color = m_sprite_colorbase + (*color & 0x0f);
+ *color = sprite_colorbase + (*color & 0x0f);
}
@@ -56,11 +56,6 @@ void crimfght_state::video_start()
m_paletteram.resize(0x400);
m_palette->basemem().set(m_paletteram, ENDIANNESS_BIG, 2);
- m_layer_colorbase[0] = 0;
- m_layer_colorbase[1] = 4;
- m_layer_colorbase[2] = 8;
- m_sprite_colorbase = 16;
-
save_item(NAME(m_paletteram));
}
@@ -76,11 +71,14 @@ UINT32 crimfght_state::screen_update_crimfght(screen_device &screen, bitmap_ind1
{
m_k052109->tilemap_update();
+ screen.priority().fill(0, cliprect);
+ /* The background color is always from layer 1 */
m_k052109->tilemap_draw(screen, bitmap, cliprect, 1, TILEMAP_DRAW_OPAQUE, 0);
- m_k051960->k051960_sprites_draw(bitmap, cliprect, screen.priority(), 2, 2);
- m_k052109->tilemap_draw(screen, bitmap, cliprect, 2, 0, 0);
- m_k051960->k051960_sprites_draw(bitmap, cliprect, screen.priority(), 1, 1);
- m_k052109->tilemap_draw(screen, bitmap, cliprect, 0, 0, 0);
- m_k051960->k051960_sprites_draw(bitmap, cliprect, screen.priority(), 0, 0);
+
+ m_k052109->tilemap_draw(screen, bitmap, cliprect, 1, 0, 1);
+ m_k052109->tilemap_draw(screen, bitmap, cliprect, 2, 0, 2);
+ m_k052109->tilemap_draw(screen, bitmap, cliprect, 0, 0, 4);
+
+ m_k051960->k051960_sprites_draw(bitmap, cliprect, screen.priority(), -1, -1);
return 0;
}
diff --git a/src/mame/video/gradius3.c b/src/mame/video/gradius3.c
index 36f3e334bc5..2002afb39bc 100644
--- a/src/mame/video/gradius3.c
+++ b/src/mame/video/gradius3.c
@@ -4,9 +4,6 @@
#include "includes/gradius3.h"
-#define TOTAL_CHARS 0x1000
-#define TOTAL_SPRITES 0x4000
-
/***************************************************************************
Callbacks for the K052109
@@ -15,9 +12,11 @@
K052109_CB_MEMBER(gradius3_state::tile_callback)
{
+ static const int layer_colorbase[] = { 0 / 16, 512 / 16, 768 / 16 };
+
/* (color & 0x02) is flip y handled internally by the 052109 */
*code |= ((*color & 0x01) << 8) | ((*color & 0x1c) << 7);
- *color = m_layer_colorbase[layer] + ((*color & 0xe0) >> 5);
+ *color = layer_colorbase[layer] + ((*color & 0xe0) >> 5);
}
/***************************************************************************
@@ -28,14 +27,19 @@ K052109_CB_MEMBER(gradius3_state::tile_callback)
K051960_CB_MEMBER(gradius3_state::sprite_callback)
{
- #define L0 0xaa
- #define L1 0xcc
- #define L2 0xf0
+ enum { sprite_colorbase = 256 / 16 };
+
+ #define L0 GFX_PMASK_1
+ #define L1 GFX_PMASK_2
+ #define L2 GFX_PMASK_4
static const int primask[2][4] =
{
{ L0|L2, L0, L0|L2, L0|L1|L2 },
{ L1|L2, L2, 0, L0|L1|L2 }
};
+ #undef L0
+ #undef L1
+ #undef L2
int pri = ((*color & 0x60) >> 5);
@@ -45,7 +49,7 @@ K051960_CB_MEMBER(gradius3_state::sprite_callback)
*priority = primask[1][pri];
*code |= (*color & 0x01) << 13;
- *color = m_sprite_colorbase + ((*color & 0x1e) >> 1);
+ *color = sprite_colorbase + ((*color & 0x1e) >> 1);
}
/***************************************************************************
@@ -61,11 +65,6 @@ void gradius3_state::gradius3_postload()
void gradius3_state::video_start()
{
- m_layer_colorbase[0] = 0;
- m_layer_colorbase[1] = 32;
- m_layer_colorbase[2] = 48;
- m_sprite_colorbase = 16;
-
machine().save().register_postload(save_prepost_delegate(FUNC(gradius3_state::gradius3_postload), this));
}
@@ -77,9 +76,7 @@ void gradius3_state::video_start()
READ16_MEMBER(gradius3_state::gradius3_gfxrom_r)
{
- UINT8 *gfxdata = memregion("k051960")->base();
-
- return (gfxdata[2 * offset + 1] << 8) | gfxdata[2 * offset];
+ return (m_gfxrom[2 * offset + 1] << 8) | m_gfxrom[2 * offset];
}
WRITE16_MEMBER(gradius3_state::gradius3_gfxram_w)
diff --git a/src/mame/video/mainevt.c b/src/mame/video/mainevt.c
index b8fc5bb2287..8f177009ca2 100644
--- a/src/mame/video/mainevt.c
+++ b/src/mame/video/mainevt.c
@@ -19,19 +19,23 @@
K052109_CB_MEMBER(mainevt_state::mainevt_tile_callback)
{
+ static const int layer_colorbase[] = { 0 / 16, 128 / 16, 64 / 16 };
+
*flags = (*color & 0x02) ? TILE_FLIPX : 0;
/* priority relative to HALF priority sprites */
*priority = (layer == 2) ? (*color & 0x20) >> 5 : 0;
*code |= ((*color & 0x01) << 8) | ((*color & 0x1c) << 7);
- *color = m_layer_colorbase[layer] + ((*color & 0xc0) >> 6);
+ *color = layer_colorbase[layer] + ((*color & 0xc0) >> 6);
}
K052109_CB_MEMBER(mainevt_state::dv_tile_callback)
{
+ static const int layer_colorbase[] = { 0 / 16, 0 / 16, 64 / 16 };
+
/* (color & 0x02) is flip y handled internally by the 052109 */
*code |= ((*color & 0x01) << 8) | ((*color & 0x3c) << 7);
- *color = m_layer_colorbase[layer] + ((*color & 0xc0) >> 6);
+ *color = layer_colorbase[layer] + ((*color & 0xc0) >> 6);
}
@@ -43,6 +47,8 @@ K052109_CB_MEMBER(mainevt_state::dv_tile_callback)
K051960_CB_MEMBER(mainevt_state::mainevt_sprite_callback)
{
+ enum { sprite_colorbase = 192 / 16 };
+
/* bit 5 = priority over layer B (has precedence) */
/* bit 6 = HALF priority over layer B (used for crowd when you get out of the ring) */
if (*color & 0x20)
@@ -53,33 +59,17 @@ K051960_CB_MEMBER(mainevt_state::mainevt_sprite_callback)
*priority = 0xff00 | 0xf0f0 | 0xcccc;
/* bit 7 is shadow, not used */
- *color = m_sprite_colorbase + (*color & 0x03);
+ *color = sprite_colorbase + (*color & 0x03);
}
K051960_CB_MEMBER(mainevt_state::dv_sprite_callback)
{
- /* TODO: the priority/shadow handling (bits 5-7) seems to be quite complex (see PROM) */
- *color = m_sprite_colorbase + (*color & 0x07);
-}
-
+ enum { sprite_colorbase = 128 / 16 };
-/*****************************************************************************/
-
-VIDEO_START_MEMBER(mainevt_state,mainevt)
-{
- m_layer_colorbase[0] = 0;
- m_layer_colorbase[1] = 8;
- m_layer_colorbase[2] = 4;
- m_sprite_colorbase = 12;
+ /* TODO: the priority/shadow handling (bits 5-7) seems to be quite complex (see PROM) */
+ *color = sprite_colorbase + (*color & 0x07);
}
-VIDEO_START_MEMBER(mainevt_state,dv)
-{
- m_layer_colorbase[0] = 0;
- m_layer_colorbase[1] = 0;
- m_layer_colorbase[2] = 4;
- m_sprite_colorbase = 8;
-}
/*****************************************************************************/
diff --git a/src/mame/video/rockrage.c b/src/mame/video/rockrage.c
index 394cb79da6b..8e32ecfa0b4 100644
--- a/src/mame/video/rockrage.c
+++ b/src/mame/video/rockrage.c
@@ -30,7 +30,7 @@ K007342_CALLBACK_MEMBER(rockrage_state::rockrage_tile_callback)
*code |= ((*color & 0x40) << 2) | ((bank & 0x01) << 9);
else
*code |= ((*color & 0x40) << 2) | ((bank & 0x03) << 10) | ((m_vreg & 0x04) << 7) | ((m_vreg & 0x08) << 9);
- *color = m_layer_colorbase[layer] + (*color & 0x0f);
+ *color = layer * 16 + (*color & 0x0f);
}
/***************************************************************************
diff --git a/src/mame/video/rollerg.c b/src/mame/video/rollerg.c
index 473ff87b3f3..016cf298c96 100644
--- a/src/mame/video/rollerg.c
+++ b/src/mame/video/rollerg.c
@@ -11,6 +11,7 @@
K05324X_CB_MEMBER(rollerg_state::sprite_callback)
{
+ enum { sprite_colorbase = 256 / 16 };
#if 0
if (machine().input().code_pressed(KEYCODE_Q) && (*color & 0x80)) *color = rand();
if (machine().input().code_pressed(KEYCODE_W) && (*color & 0x40)) *color = rand();
@@ -18,7 +19,7 @@ K05324X_CB_MEMBER(rollerg_state::sprite_callback)
if (machine().input().code_pressed(KEYCODE_R) && (*color & 0x10)) *color = rand();
#endif
*priority = (*color & 0x10) ? 0 : 0x02;
- *color = m_sprite_colorbase + (*color & 0x0f);
+ *color = sprite_colorbase + (*color & 0x0f);
}
@@ -32,20 +33,7 @@ K051316_CB_MEMBER(rollerg_state::zoom_callback)
{
*flags = TILE_FLIPYX((*color & 0xc0) >> 6);
*code |= ((*color & 0x0f) << 8);
- *color = m_zoom_colorbase + ((*color & 0x30) >> 4);
-}
-
-
-/***************************************************************************
-
- Start the video hardware emulation.
-
-***************************************************************************/
-
-void rollerg_state::video_start()
-{
- m_sprite_colorbase = 16;
- m_zoom_colorbase = 0;
+ *color = ((*color & 0x30) >> 4);
}
diff --git a/src/mame/video/spy.c b/src/mame/video/spy.c
index f657b716aa9..c12a886c079 100644
--- a/src/mame/video/spy.c
+++ b/src/mame/video/spy.c
@@ -10,10 +10,10 @@
***************************************************************************/
-static const int layer_colorbase[] = { 768 / 16, 0 / 16, 256 / 16 };
-
K052109_CB_MEMBER(spy_state::tile_callback)
{
+ static const int layer_colorbase[] = { 768 / 16, 0 / 16, 256 / 16 };
+
*flags = (*color & 0x20) ? TILE_FLIPX : 0;
*code |= ((*color & 0x03) << 8) | ((*color & 0x10) << 6) | ((*color & 0x0c) << 9) | (bank << 13);
*color = layer_colorbase[layer] + ((*color & 0xc0) >> 6);
@@ -53,7 +53,7 @@ UINT32 spy_state::screen_update_spy(screen_device &screen, bitmap_ind16 &bitmap,
screen.priority().fill(0, cliprect);
if (!m_video_enable)
- bitmap.fill(16 * layer_colorbase[0], cliprect);
+ bitmap.fill(768, cliprect); // ?
else
{
m_k052109->tilemap_draw(screen, bitmap, cliprect, 1, TILEMAP_DRAW_OPAQUE, 1);
diff --git a/src/mame/video/ultraman.c b/src/mame/video/ultraman.c
index 9e003fe8fe1..ed969c5e21a 100644
--- a/src/mame/video/ultraman.c
+++ b/src/mame/video/ultraman.c
@@ -11,8 +11,10 @@
K051960_CB_MEMBER(ultraman_state::sprite_callback)
{
- *priority = (*color & 0x80) >> 7;
- *color = m_sprite_colorbase + ((*color & 0x7e) >> 1);
+ enum { sprite_colorbase = 3072 / 16 };
+
+ *priority = (*color & 0x80) ? 0 : GFX_PMASK_1;
+ *color = sprite_colorbase + ((*color & 0x7e) >> 1);
*shadow = 0;
}
@@ -25,36 +27,25 @@ K051960_CB_MEMBER(ultraman_state::sprite_callback)
K051316_CB_MEMBER(ultraman_state::zoom_callback_1)
{
+ enum { zoom_colorbase_1 = 0 / 16 };
+
*code |= ((*color & 0x07) << 8) | (m_bank0 << 11);
- *color = m_zoom_colorbase[0] + ((*color & 0xf8) >> 3);
+ *color = zoom_colorbase_1 + ((*color & 0xf8) >> 3);
}
K051316_CB_MEMBER(ultraman_state::zoom_callback_2)
{
+ enum { zoom_colorbase_2 = 1024 / 16 };
+
*code |= ((*color & 0x07) << 8) | (m_bank1 << 11);
- *color = m_zoom_colorbase[1] + ((*color & 0xf8) >> 3);
+ *color = zoom_colorbase_2 + ((*color & 0xf8) >> 3);
}
K051316_CB_MEMBER(ultraman_state::zoom_callback_3)
{
+ enum { zoom_colorbase_3 = 2048 / 16 };
*code |= ((*color & 0x07) << 8) | (m_bank2 << 11);
- *color = m_zoom_colorbase[2] + ((*color & 0xf8) >> 3);
-}
-
-
-
-/***************************************************************************
-
- Start the video hardware emulation.
-
-***************************************************************************/
-
-void ultraman_state::video_start()
-{
- m_sprite_colorbase = 192;
- m_zoom_colorbase[0] = 0;
- m_zoom_colorbase[1] = 64;
- m_zoom_colorbase[2] = 128;
+ *color = zoom_colorbase_3 + ((*color & 0xf8) >> 3);
}
@@ -117,10 +108,11 @@ WRITE16_MEMBER(ultraman_state::ultraman_gfxctrl_w)
UINT32 ultraman_state::screen_update_ultraman(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
+ screen.priority().fill(0, cliprect);
+
m_k051316_3->zoom_draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0);
m_k051316_2->zoom_draw(screen, bitmap, cliprect, 0, 0);
- m_k051960->k051960_sprites_draw(bitmap, cliprect, screen.priority(), 0, 0);
- m_k051316_1->zoom_draw(screen, bitmap, cliprect, 0, 0);
- m_k051960->k051960_sprites_draw(bitmap, cliprect, screen.priority(), 1, 1);
+ m_k051316_1->zoom_draw(screen, bitmap, cliprect, 0, 1);
+ m_k051960->k051960_sprites_draw(bitmap, cliprect, screen.priority(), -1, -1);
return 0;
}