From 6e3fef765dc4849d8d63cf4cf9d1ba004d9461dd Mon Sep 17 00:00:00 2001 From: "Alex W. Jackson" Date: Thu, 13 Aug 2015 14:21:40 -0400 Subject: [PATCH] More konami cleanups (nw) --- src/mame/drivers/battlnts.c | 3 -- src/mame/drivers/bladestl.c | 3 -- src/mame/drivers/gradius3.c | 70 ++++++++++++++++++------------------ src/mame/drivers/mainevt.c | 70 +++++++++++++++--------------------- src/mame/drivers/rockrage.c | 2 -- src/mame/drivers/xmen.c | 52 ++++++++------------------- src/mame/includes/aliens.h | 5 --- src/mame/includes/battlnts.h | 1 - src/mame/includes/bladestl.h | 1 - src/mame/includes/crimfght.h | 4 --- src/mame/includes/gradius3.h | 6 ++-- src/mame/includes/mainevt.h | 12 +++---- src/mame/includes/rockrage.h | 1 - src/mame/includes/rollerg.h | 5 --- src/mame/includes/ultraman.h | 4 --- src/mame/includes/xmen.h | 7 ++-- src/mame/video/aliens.c | 35 ++++++------------ src/mame/video/battlnts.c | 2 +- src/mame/video/bladestl.c | 2 +- src/mame/video/crimfght.c | 42 +++++++++++----------- src/mame/video/gradius3.c | 29 +++++++-------- src/mame/video/mainevt.c | 34 +++++++----------- src/mame/video/rockrage.c | 2 +- src/mame/video/rollerg.c | 18 ++-------- src/mame/video/spy.c | 6 ++-- src/mame/video/ultraman.c | 40 +++++++++------------ 26 files changed, 170 insertions(+), 286 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( 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( 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( 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( 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_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_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( 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_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(); + m_z80bank->configure_entries(0, 8, memregion("audiocpu")->base(), 0x4000); + m_z80bank->set_entry(0); - membank("bank4")->configure_entries(0, 8, &ROM[0x10000], 0x4000); - membank("bank4")->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 m_maincpu; required_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 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 m_paletteram; - /* video-related */ - int m_layer_colorbase[3]; - int m_sprite_colorbase; - /* devices */ required_device m_maincpu; required_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 m_gfxram; - - /* video-related */ - int m_layer_colorbase[3]; - int m_sprite_colorbase; + required_region_ptr 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 m_k007232; required_device m_k052109; required_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 m_k053246; required_device m_k053251; required_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,41 +24,27 @@ 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,34 +59,18 @@ 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) { + enum { sprite_colorbase = 128 / 16 }; + /* TODO: the priority/shadow handling (bits 5-7) seems to be quite complex (see PROM) */ - *color = m_sprite_colorbase + (*color & 0x07); + *color = sprite_colorbase + (*color & 0x07); } -/*****************************************************************************/ - -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; -} - -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; -} - /*****************************************************************************/ UINT32 mainevt_state::screen_update_mainevt(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) 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; }