From a47d15f0b721fdef2dcc7467c8d2a29aa2f448b6 Mon Sep 17 00:00:00 2001 From: cam900 Date: Fri, 10 May 2019 18:38:10 +0900 Subject: kaneko_tmap.cpp : Updates Internalize gfxdecode, Initialize values, Reduce unnecessary lines, Fix spacings --- src/mame/drivers/expro02.cpp | 30 ++---- src/mame/drivers/jchan.cpp | 28 +---- src/mame/drivers/kaneko16.cpp | 235 +++++++++++++++++------------------------ src/mame/drivers/sandscrp.cpp | 34 ++---- src/mame/includes/kaneko16.h | 3 - src/mame/video/kaneko_tmap.cpp | 83 +++++++++------ src/mame/video/kaneko_tmap.h | 9 +- 7 files changed, 174 insertions(+), 248 deletions(-) diff --git a/src/mame/drivers/expro02.cpp b/src/mame/drivers/expro02.cpp index a8c68c79d8f..6e154be21d5 100644 --- a/src/mame/drivers/expro02.cpp +++ b/src/mame/drivers/expro02.cpp @@ -914,11 +914,6 @@ static const gfx_layout layout_16x16x4 = static GFXDECODE_START( gfx_expro02 ) GFXDECODE_ENTRY( "gfx1", 0, layout_16x16x4, 0x100, 0x40 ) // [0] Sprites - GFXDECODE_ENTRY( "gfx2", 0, layout_16x16x4, 0x400, 0x40 ) // [0] View2 tiles -GFXDECODE_END - -static GFXDECODE_START( gfx_expro02_noview2 ) - GFXDECODE_ENTRY( "gfx1", 0, layout_16x16x4, 0x100, 0x40 ) // [0] Sprites GFXDECODE_END /************************************* @@ -949,9 +944,9 @@ void expro02_state::expro02(machine_config &config) PALETTE(config, m_palette, FUNC(expro02_state::expro02_palette)).set_format(palette_device::GRBx_555, 2048 + 32768); KANEKO_TMAP(config, m_view2); - m_view2->set_gfx_region(1); + m_view2->set_colbase(0x400); m_view2->set_offset(0x5b, 0x8, 256, 224); - m_view2->set_gfxdecode_tag("gfxdecode"); + m_view2->set_palette(m_palette); m_view2->set_tile_callback(kaneko_view2_tilemap_device::view2_cb_delegate(FUNC(expro02_state::tile_callback), this)); KANEKO_VU002_SPRITE(config, m_kaneko_spr); @@ -994,8 +989,6 @@ void expro02_state::comad_noview2(machine_config &config) comad(config); config.device_remove("view2"); - - subdevice("gfxdecode")->set_info(gfx_expro02_noview2); } @@ -1087,7 +1080,7 @@ ROM_START( galsnew ) /* EXPRO-02 PCB */ ROM_LOAD( "pm018e.u94", 0x100000, 0x080000, CRC(f542d708) SHA1(f515cca9e96401303ed45b4372f6079f29b7a999) ) ROM_LOAD( "pm019u_u93-01.u93", 0x180000, 0x010000, CRC(3cb79005) SHA1(05a0b993b9071467265067c3762644f46343d8de) ) // ?? seems to be an extra / replacement enemy?, not sure where it maps, or when it's used, it might load over another rom - ROM_REGION( 0x200000, "gfx2", ROMREGION_ERASEFF ) /* sprites */ + ROM_REGION( 0x200000, "view2", ROMREGION_ERASEFF ) /* sprites */ ROM_REGION( 0x200000, "gfx3", 0 ) /* sprites - encrypted */ ROM_LOAD( "pm013e.u89", 0x000000, 0x080000, CRC(10f27b05) SHA1(0f8ade713f6b430b5a23370a17326d53229951de) ) @@ -1126,7 +1119,7 @@ ROM_START( galsnewa ) /* EXPRO-02 PCB */ ROM_LOAD( "pm018e.u94", 0x100000, 0x080000, CRC(f542d708) SHA1(f515cca9e96401303ed45b4372f6079f29b7a999) ) /* U93 is an empty socket and not used with this set */ - ROM_REGION( 0x200000, "gfx2", ROMREGION_ERASEFF ) /* sprites */ + ROM_REGION( 0x200000, "view2", ROMREGION_ERASEFF ) /* sprites */ ROM_REGION( 0x200000, "gfx3", 0 ) /* tiles - encrypted */ ROM_LOAD( "pm013e.u89", 0x000000, 0x080000, CRC(10f27b05) SHA1(0f8ade713f6b430b5a23370a17326d53229951de) ) @@ -1164,7 +1157,7 @@ ROM_START( galsnewj ) /* EXPRO-02 PCB */ ROM_LOAD( "pm018e.u94", 0x100000, 0x080000, CRC(f542d708) SHA1(f515cca9e96401303ed45b4372f6079f29b7a999) ) /* U93 is an empty socket and not used with this set */ - ROM_REGION( 0x200000, "gfx2", ROMREGION_ERASEFF ) /* sprites */ + ROM_REGION( 0x200000, "view2", ROMREGION_ERASEFF ) /* sprites */ ROM_REGION( 0x200000, "gfx3", 0 ) /* tiles - encrypted */ ROM_LOAD( "pm013e.u89", 0x000000, 0x080000, CRC(10f27b05) SHA1(0f8ade713f6b430b5a23370a17326d53229951de) ) @@ -1201,7 +1194,7 @@ ROM_START( galsnewk ) /* EXPRO-02 PCB, Korean title is "Ddang Dda Meok Gi" */ ROM_LOAD( "pm018e.u94", 0x100000, 0x080000, CRC(f542d708) SHA1(f515cca9e96401303ed45b4372f6079f29b7a999) ) ROM_LOAD( "pm19k.u93", 0x180000, 0x010000, CRC(c17d2989) SHA1(895f44a58dcf0065d42125d439dcc10f41563a94) ) // ?? seems to be an extra / replacement enemy?, not sure where it maps, or when it's used, it might load over another rom - ROM_REGION( 0x200000, "gfx2", ROMREGION_ERASEFF ) /* sprites */ + ROM_REGION( 0x200000, "view2", ROMREGION_ERASEFF ) /* sprites */ ROM_REGION( 0x200000, "gfx3", 0 ) /* sprites - encrypted */ ROM_LOAD( "pm013e.u89", 0x000000, 0x080000, CRC(10f27b05) SHA1(0f8ade713f6b430b5a23370a17326d53229951de) ) @@ -1302,7 +1295,7 @@ ROM_START( fantasia ) /* PCB silkscreened COMAD INDUSTRY CO.,LTD940429 MADE IN K ROM_LOAD( "2.music1", 0x00000, 0x80000, CRC(22955efb) SHA1(791c18d1aa0c10810da05c199108f51f99fe1d49) ) ROM_LOAD( "1.music2", 0x80000, 0x80000, CRC(4cd4d6c3) SHA1(a617472a810aef6d82f5fe75ef2980c03c21c2fa) ) - ROM_REGION( 0x200000, "gfx2", ROMREGION_ERASEFF ) /* sprites */ + ROM_REGION( 0x200000, "view2", ROMREGION_ERASEFF ) /* sprites */ ROM_REGION( 0x200000, "gfx3", 0 ) /* tiles - encrypted */ ROM_LOAD16_BYTE( "15.obj3", 0x000001, 0x80000, CRC(46666768) SHA1(7281c4b45f6f9f6ad89fa2bb3f67f30433c0c513) ) @@ -1334,7 +1327,7 @@ ROM_START( fantasiaa ) /* PCB silkscreened COMAD INDUSTRY CO.,LTD 940307 MADE IN ROM_LOAD( "music1_1.ub6", 0x00000, 0x80000, CRC(af0be817) SHA1(5c8897dcd9957add19ff9553c01ce03fec68b354) ) /* This sound sample is different, Earlier ver or BAD??? */ ROM_LOAD( "music2_2.uc6", 0x80000, 0x80000, CRC(4cd4d6c3) SHA1(a617472a810aef6d82f5fe75ef2980c03c21c2fa) ) /* same data, different PCB location */ - ROM_REGION( 0x200000, "gfx2", ROMREGION_ERASEFF ) /* sprites */ + ROM_REGION( 0x200000, "view2", ROMREGION_ERASEFF ) /* sprites */ ROM_REGION( 0x200000, "gfx3", 0 ) /* tiles - encrypted */ ROM_LOAD16_BYTE( "g-scr2_15.ul16b", 0x000001, 0x80000, CRC(46666768) SHA1(7281c4b45f6f9f6ad89fa2bb3f67f30433c0c513) ) /* same data, different PCB location */ @@ -1365,7 +1358,7 @@ ROM_START( fantasiab ) ROM_LOAD( "2.music1", 0x00000, 0x80000, CRC(22955efb) SHA1(791c18d1aa0c10810da05c199108f51f99fe1d49) ) ROM_LOAD( "1.music2", 0x80000, 0x80000, CRC(4cd4d6c3) SHA1(a617472a810aef6d82f5fe75ef2980c03c21c2fa) ) - ROM_REGION( 0x200000, "gfx2", ROMREGION_ERASEFF ) /* sprites */ + ROM_REGION( 0x200000, "view2", ROMREGION_ERASEFF ) /* sprites */ ROM_REGION( 0x200000, "gfx3", 0 ) /* tiles - encrypted */ ROM_LOAD16_BYTE( "15.obj3", 0x000001, 0x80000, CRC(46666768) SHA1(7281c4b45f6f9f6ad89fa2bb3f67f30433c0c513) ) @@ -1845,7 +1838,7 @@ ROM_END void expro02_state::init_expro02() { uint32_t *src = (uint32_t *)memregion("gfx3" )->base(); - uint32_t *dst = (uint32_t *)memregion("gfx2" )->base(); + uint32_t *dst = (uint32_t *)memregion("view2" )->base(); // the VIEW2 tiledata is scrambled if (src) @@ -1869,8 +1862,7 @@ void expro02_state::init_expro02() // reverse the initial bitswap offset = bitswap<24>(offset, 23, 22, 21, 20, 19, 18, 9, 10, 17, 4, 11, 12, 3, 15, 16, 14, 13, 8, 7, 6, 5, 2, 1, 0); - // swap nibbles to use the same gfxdecode - dst[x] = (src[offset] << 4 & 0xF0F0F0F0) | (src[offset] >> 4 & 0x0F0F0F0F); + dst[x] = src[offset]; } } } diff --git a/src/mame/drivers/jchan.cpp b/src/mame/drivers/jchan.cpp index fa66c64728c..e62c6dcf292 100644 --- a/src/mame/drivers/jchan.cpp +++ b/src/mame/drivers/jchan.cpp @@ -499,24 +499,6 @@ void jchan_state::jchan_sub(address_map &map) } -static const gfx_layout tilelayout = -{ - 16,16, - RGN_FRAC(1,1), - 4, - { 0,1,2,3 }, - { 4, 0, 12, 8, 20, 16, 28, 24, 8*32+4, 8*32+0, 8*32+12, 8*32+8, 8*32+20, 8*32+16, 8*32+28, 8*32+24 }, - { 0*32, 1*32, 2*32, 3*32, 4*32, 5*32, 6*32, 7*32, 16*32,17*32, 18*32, 19*32, 20*32, 21*32, 22*32, 23*32 }, - 32*32 -}; - -// we don't decode the sprites, they are non-tile based and RLE encoded!, see sknsspr.cpp */ - -static GFXDECODE_START( gfx_jchan ) - GFXDECODE_ENTRY( "gfx3", 0, tilelayout, 0, 0x4000/16 ) -GFXDECODE_END - - /* input ports */ /* BUTTON1 : weak punch - BUTTON2 : strong punch - BUTTON3 : weak kick - BUTTON 4 : strong kick */ @@ -614,8 +596,6 @@ void jchan_state::jchan(machine_config &config) WATCHDOG_TIMER(config, "watchdog"); - GFXDECODE(config, "gfxdecode", m_palette, gfx_jchan); - screen_device &screen(SCREEN(config, "screen", SCREEN_TYPE_RASTER)); screen.set_refresh_hz(60); screen.set_vblank_time(ATTOSECONDS_IN_USEC(0)); @@ -627,9 +607,9 @@ void jchan_state::jchan(machine_config &config) PALETTE(config, m_palette).set_format(palette_device::xGRB_555, 0x10000); KANEKO_TMAP(config, m_view2); - m_view2->set_gfx_region(0); + m_view2->set_colbase(0); m_view2->set_offset(33, 11, 320, 240); - m_view2->set_gfxdecode_tag("gfxdecode"); + m_view2->set_palette(m_palette); for (auto &spritegen : m_spritegen) SKNS_SPRITE(config, spritegen, 0); @@ -675,7 +655,7 @@ ROM_START( jchan ) ROM_LOAD( "jc-106-00.171", 0x000000, 0x200000, CRC(bc65661b) SHA1(da28b8fcd7c7a0de427a54be2cf41a1d6a295164) ) // SPB0 ROM_LOAD( "jc-107-00.172", 0x200000, 0x200000, CRC(92a86e8b) SHA1(c37eddbc9d84239deb543504e27b5bdaf2528f79) ) // SPB1 - ROM_REGION( 0x100000, "gfx3", 0 ) /* BG GFX */ + ROM_REGION( 0x100000, "view2", 0 ) /* BG GFX */ ROM_LOAD( "jc-200.00", 0x000000, 0x100000, CRC(1f30c24e) SHA1(0c413fc67c3ec020e6786e7157d82aa242c8d2ad) ) ROM_REGION( 0x1000000, "ymz", 0 ) /* Audio */ @@ -715,7 +695,7 @@ ROM_START( jchan2 ) /* Some kind of semi-sequel? Mask ROMs dumped and confirmed ROM_LOAD( "jc-106-00.171", 0x000000, 0x200000, CRC(bc65661b) SHA1(da28b8fcd7c7a0de427a54be2cf41a1d6a295164) ) // SPB0 ROM_LOAD( "jc-107-00.172", 0x200000, 0x200000, CRC(92a86e8b) SHA1(c37eddbc9d84239deb543504e27b5bdaf2528f79) ) // SPB1 - ROM_REGION( 0x100000, "gfx3", 0 ) /* BG GFX */ + ROM_REGION( 0x100000, "view2", 0 ) /* BG GFX */ ROM_LOAD( "jc-200.00", 0x000000, 0x100000, CRC(1f30c24e) SHA1(0c413fc67c3ec020e6786e7157d82aa242c8d2ad) ) ROM_REGION( 0x1000000, "ymz", 0 ) /* Audio */ diff --git a/src/mame/drivers/kaneko16.cpp b/src/mame/drivers/kaneko16.cpp index ab9a59a63b6..fa3af69b665 100644 --- a/src/mame/drivers/kaneko16.cpp +++ b/src/mame/drivers/kaneko16.cpp @@ -1652,8 +1652,8 @@ INPUT_PORTS_END /* - 16x16x4 made of 4 8x8x4 blocks arrenged like: 01 - (nibbles are swapped for tiles, not for sprites) 23 + 16x16x4 made of 4 8x8x4 blocks arrenged like: 01 + 23 */ static const gfx_layout layout_16x16x4 = { @@ -1681,23 +1681,15 @@ static const gfx_layout layout_16x16x8 = 16*16*8 }; -static GFXDECODE_START( gfx_1x4bit_1x4bit ) - GFXDECODE_ENTRY( "gfx1", 0, layout_16x16x4, 0, 0x40 ) // [0] Sprites - GFXDECODE_ENTRY( "gfx2", 0, layout_16x16x4, 0x40 * 16, 0x40 ) // [1] Layers -GFXDECODE_END -static GFXDECODE_START( gfx_1x4bit_2x4bit ) +static GFXDECODE_START( gfx_4bit ) GFXDECODE_ENTRY( "gfx1", 0, layout_16x16x4, 0, 0x40 ) // [0] Sprites - GFXDECODE_ENTRY( "gfx2", 0, layout_16x16x4, 0x40 * 16, 0x40 ) // [1] Layers - GFXDECODE_ENTRY( "gfx3", 0, layout_16x16x4, 0x40 * 16, 0x40 ) // [2] Layers GFXDECODE_END -static GFXDECODE_START( gfx_1x8bit_2x4bit ) + +static GFXDECODE_START( gfx_8bit ) GFXDECODE_ENTRY( "gfx1", 0, layout_16x16x8, 0x40 * 256, 0x40 ) // [0] Sprites - GFXDECODE_ENTRY( "gfx2", 0, layout_16x16x4, 0, 0x40 ) // [1] Layers - GFXDECODE_ENTRY( "gfx3", 0, layout_16x16x4, 0, 0x40 ) // [2] Layers GFXDECODE_END - /*************************************************************************** @@ -1754,15 +1746,15 @@ void kaneko16_berlwall_state::berlwall(machine_config &config) m_screen->set_visarea(0, 256-1, 16, 240-1); m_screen->set_screen_update(FUNC(kaneko16_berlwall_state::screen_update)); - GFXDECODE(config, m_gfxdecode, m_palette, gfx_1x4bit_1x4bit); + GFXDECODE(config, m_gfxdecode, m_palette, gfx_4bit); PALETTE(config, m_palette).set_format(palette_device::xGRB_555, 2048); PALETTE(config, m_bgpalette, palette_device::GRB_555); // 32768 static colors for the bg KANEKO_TMAP(config, m_view2[0]); - m_view2[0]->set_gfx_region(1); + m_view2[0]->set_colbase(0x40 * 16); m_view2[0]->set_offset(0x5b, -0x8, 256, 240+16); - m_view2[0]->set_gfxdecode_tag("gfxdecode"); + m_view2[0]->set_palette(m_palette); KANEKO_VU002_SPRITE(config, m_kaneko_spr); m_kaneko_spr->set_offsets(0, -1*64); @@ -1816,18 +1808,18 @@ void kaneko16_state::bakubrkr(machine_config &config) m_screen->set_screen_update(FUNC(kaneko16_state::screen_update)); m_screen->set_palette(m_palette); - GFXDECODE(config, m_gfxdecode, m_palette, gfx_1x4bit_2x4bit); + GFXDECODE(config, m_gfxdecode, m_palette, gfx_4bit); PALETTE(config, m_palette).set_format(palette_device::xGRB_555, 2048); KANEKO_TMAP(config, m_view2[0]); - m_view2[0]->set_gfx_region(1); + m_view2[0]->set_colbase(0x40 * 16); m_view2[0]->set_offset(0x5b, -0x8, 256, 240); - m_view2[0]->set_gfxdecode_tag("gfxdecode"); + m_view2[0]->set_palette(m_palette); KANEKO_TMAP(config, m_view2[1]); - m_view2[1]->set_gfx_region(2); + m_view2[1]->set_colbase(0x40 * 16); m_view2[1]->set_offset(0x5b, -0x8, 256, 240); - m_view2[1]->set_gfxdecode_tag("gfxdecode"); + m_view2[1]->set_palette(m_palette); KANEKO_VU002_SPRITE(config, m_kaneko_spr); m_kaneko_spr->set_priorities(8,8,8,8); // above all @@ -1885,13 +1877,13 @@ void kaneko16_state::blazeon(machine_config &config) m_screen->set_screen_update(FUNC(kaneko16_state::screen_update)); m_screen->set_palette(m_palette); - GFXDECODE(config, m_gfxdecode, m_palette, gfx_1x4bit_1x4bit); + GFXDECODE(config, m_gfxdecode, m_palette, gfx_4bit); PALETTE(config, m_palette).set_format(palette_device::xGRB_555, 2048); KANEKO_TMAP(config, m_view2[0], 0); - m_view2[0]->set_gfx_region(1); + m_view2[0]->set_colbase(0x40 * 16); m_view2[0]->set_offset(0x33, 0x8, 320, 240); - m_view2[0]->set_gfxdecode_tag("gfxdecode"); + m_view2[0]->set_palette(m_palette); KANEKO_VU002_SPRITE(config, m_kaneko_spr); m_kaneko_spr->set_priorities(1 /* "above tile[0], below the others" */ ,2 /* "above tile[0-1], below the others" */ ,8 /* above all */,8 /* above all */); @@ -1938,13 +1930,13 @@ void kaneko16_state::wingforc(machine_config &config) m_screen->set_screen_update(FUNC(kaneko16_state::screen_update)); m_screen->set_palette(m_palette); - GFXDECODE(config, m_gfxdecode, m_palette, gfx_1x4bit_1x4bit); + GFXDECODE(config, m_gfxdecode, m_palette, gfx_4bit); PALETTE(config, m_palette).set_format(palette_device::xGRB_555, 2048); KANEKO_TMAP(config, m_view2[0]); - m_view2[0]->set_gfx_region(1); + m_view2[0]->set_colbase(0x40 * 16); m_view2[0]->set_offset(0x33, 0x8+1, 320, 240); - m_view2[0]->set_gfxdecode_tag("gfxdecode"); + m_view2[0]->set_palette(m_palette); KANEKO_VU002_SPRITE(config, m_kaneko_spr); m_kaneko_spr->set_priorities(1 /* "above tile[0], below the others" */ ,2 /* "above tile[0-1], below the others" */ ,8 /* above all */,8 /* above all */); @@ -2016,18 +2008,18 @@ void kaneko16_gtmr_state::gtmr(machine_config &config) m_screen->set_screen_update(FUNC(kaneko16_gtmr_state::screen_update)); m_screen->set_palette(m_palette); - GFXDECODE(config, m_gfxdecode, m_palette, gfx_1x8bit_2x4bit); + GFXDECODE(config, m_gfxdecode, m_palette, gfx_8bit); PALETTE(config, m_palette).set_format(palette_device::xGRB_555, 32768); KANEKO_TMAP(config, m_view2[0]); - m_view2[0]->set_gfx_region(1); + m_view2[0]->set_colbase(0); m_view2[0]->set_offset(0x33, 0x00, 320, 240); - m_view2[0]->set_gfxdecode_tag("gfxdecode"); + m_view2[0]->set_palette(m_palette); KANEKO_TMAP(config, m_view2[1]); - m_view2[1]->set_gfx_region(2); + m_view2[1]->set_colbase(0); m_view2[1]->set_offset(0x33, 0x00, 320, 240); - m_view2[1]->set_gfxdecode_tag("gfxdecode"); + m_view2[1]->set_palette(m_palette); KANEKO_KC002_SPRITE(config, m_kaneko_spr); m_kaneko_spr->set_gfxdecode_tag("gfxdecode"); @@ -2127,18 +2119,18 @@ void kaneko16_state::mgcrystl(machine_config &config) m_screen->set_screen_update(FUNC(kaneko16_state::screen_update)); m_screen->set_palette(m_palette); - GFXDECODE(config, m_gfxdecode, m_palette, gfx_1x4bit_2x4bit); + GFXDECODE(config, m_gfxdecode, m_palette, gfx_4bit); PALETTE(config, m_palette).set_format(palette_device::xGRB_555, 2048); KANEKO_TMAP(config, m_view2[0]); - m_view2[0]->set_gfx_region(1); + m_view2[0]->set_colbase(0x40 * 16); m_view2[0]->set_offset(0x5b, -0x8, 256, 240); - m_view2[0]->set_gfxdecode_tag("gfxdecode"); + m_view2[0]->set_palette(m_palette); KANEKO_TMAP(config, m_view2[1]); - m_view2[1]->set_gfx_region(2); + m_view2[1]->set_colbase(0x40 * 16); m_view2[1]->set_offset(0x5b, -0x8, 256, 240); - m_view2[1]->set_gfxdecode_tag("gfxdecode"); + m_view2[1]->set_palette(m_palette); KANEKO_VU002_SPRITE(config, m_kaneko_spr); m_kaneko_spr->set_priorities(2 /* below all */ ,3 /* above tile[0], below the other */ ,5 /* above all */ ,7 /* above all */); @@ -2243,13 +2235,13 @@ void kaneko16_shogwarr_state::shogwarr(machine_config &config) m_screen->set_palette(m_palette); m_screen->set_video_attributes(VIDEO_UPDATE_AFTER_VBLANK); - GFXDECODE(config, m_gfxdecode, m_palette, gfx_1x4bit_1x4bit); + GFXDECODE(config, m_gfxdecode, m_palette, gfx_4bit); PALETTE(config, m_palette).set_format(palette_device::xGRB_555, 2048); KANEKO_TMAP(config, m_view2[0]); - m_view2[0]->set_gfx_region(1); + m_view2[0]->set_colbase(0x40 * 16); m_view2[0]->set_offset(0x33, -0x8, 320, 240); - m_view2[0]->set_gfxdecode_tag("gfxdecode"); + m_view2[0]->set_palette(m_palette); KANEKO_VU002_SPRITE(config, m_kaneko_spr); m_kaneko_spr->set_priorities(1 /* below all */ ,3 /* above tile[0], below the others */ ,5 /* above all */ ,7 /* above all */); @@ -2309,28 +2301,6 @@ void kaneko16_shogwarr_state::brapboys(machine_config &config) ***************************************************************************/ -/* - Sprites and tiles are stored in the ROMs using the same layout. But tiles - have the even and odd pixels swapped. So we use this function to untangle - them and have one single gfxlayout for both tiles and sprites. -*/ -void kaneko16_state::unscramble_tiles(const char *region) -{ - memory_region *tile_region = memregion(region); - if (tile_region == nullptr) - { - return; - } - - u8 *ram = tile_region->base(); - int size = tile_region->bytes(); - - for (int i = 0; i < size; i ++) - { - ram[i] = ((ram[i] & 0xF0) >> 4) + ((ram[i] & 0x0F) << 4); - } -} - void kaneko16_state::common_oki_bank_install(int bankno, size_t fixedsize, size_t bankedsize) { assert((m_okibank[bankno].found()) && (m_okiregion[bankno].found())); @@ -2376,16 +2346,9 @@ void kaneko16_gtmr_state::common_oki_bank_install(int bankno, size_t fixedsize, } } -void kaneko16_state::init_kaneko16() -{ - unscramble_tiles("gfx2"); - unscramble_tiles("gfx3"); -} - void kaneko16_state::init_bakubrkr() { common_oki_bank_install(0, 0x20000, 0x20000); - init_kaneko16(); } /* @@ -2442,7 +2405,6 @@ void kaneko16_berlwall_state::patch_protection(u32 bra_offset,u16 bra_value,u16 void kaneko16_berlwall_state::init_berlwall_common() { - unscramble_tiles("gfx2"); } void kaneko16_berlwall_state::init_berlwall() @@ -2467,7 +2429,6 @@ void kaneko16_gtmr_state::init_gtmr() { common_oki_bank_install(0, 0x30000, 0x10000); common_oki_bank_install(1, 0x00000, 0x40000); - init_kaneko16(); } @@ -2540,10 +2501,10 @@ ROM_START( explbrkr ) /* MASTER UP= 92/10/08 20:10:16 */ ROM_RELOAD( 0x180000, 0x080000 ) ROM_LOAD( "ts002e.u36", 0x200000, 0x040000, CRC(611271e6) SHA1(811c21822b074fbb4bb809fed29d48bbd51d57a0) ) - ROM_REGION( 0x100000, "gfx2", 0 ) /* Tiles */ + ROM_REGION( 0x100000, "view2_0", 0 ) /* Tiles */ ROM_LOAD( "ts010.u4", 0x000000, 0x100000, CRC(df935324) SHA1(73b7aff8800a4e88a47ad426190b73dabdfbf142) ) - ROM_REGION( 0x100000, "gfx3", 0 ) /* Tiles */ + ROM_REGION( 0x100000, "view2_1", 0 ) /* Tiles */ ROM_LOAD( "ts020.u33", 0x000000, 0x100000, CRC(eb58c35d) SHA1(762c5219de6f729a0fc1df90fce09cdf711c2a1e) ) /* $00000-$20000 stays the same in all sound banks, */ @@ -2565,10 +2526,10 @@ ROM_START( explbrkrk ) /* MASTER UP= 92/10/08 21:35:56 - No "For use in Korea.." ROM_RELOAD( 0x180000, 0x080000 ) ROM_LOAD( "ts002e.u36", 0x200000, 0x040000, CRC(611271e6) SHA1(811c21822b074fbb4bb809fed29d48bbd51d57a0) ) - ROM_REGION( 0x100000, "gfx2", 0 ) /* Tiles */ + ROM_REGION( 0x100000, "view2_0", 0 ) /* Tiles */ ROM_LOAD( "ts010.u4", 0x000000, 0x100000, CRC(df935324) SHA1(73b7aff8800a4e88a47ad426190b73dabdfbf142) ) - ROM_REGION( 0x100000, "gfx3", 0 ) /* Tiles */ + ROM_REGION( 0x100000, "view2_1", 0 ) /* Tiles */ ROM_LOAD( "ts020.u33", 0x000000, 0x100000, CRC(eb58c35d) SHA1(762c5219de6f729a0fc1df90fce09cdf711c2a1e) ) /* $00000-$20000 stays the same in all sound banks, */ @@ -2589,10 +2550,10 @@ ROM_START( bakubrkr ) /* MASTER UP= 92/10/08 20:56:03 */ ROM_RELOAD( 0x180000, 0x080000 ) ROM_LOAD( "ts002j.u36", 0x200000, 0x040000, CRC(611271e6) SHA1(811c21822b074fbb4bb809fed29d48bbd51d57a0) ) - ROM_REGION( 0x100000, "gfx2", 0 ) /* Tiles */ + ROM_REGION( 0x100000, "view2_0", 0 ) /* Tiles */ ROM_LOAD( "ts010.u4", 0x000000, 0x100000, CRC(df935324) SHA1(73b7aff8800a4e88a47ad426190b73dabdfbf142) ) - ROM_REGION( 0x100000, "gfx3", 0 ) /* Tiles */ + ROM_REGION( 0x100000, "view2_1", 0 ) /* Tiles */ ROM_LOAD( "ts020.u33", 0x000000, 0x100000, CRC(eb58c35d) SHA1(762c5219de6f729a0fc1df90fce09cdf711c2a1e) ) /* $00000-$20000 stays the same in all sound banks, */ @@ -2645,7 +2606,7 @@ ROM_START( berlwall ) ROM_LOAD( "bw001.u84", 0x000000, 0x080000, CRC(bc927260) SHA1(44273a8b6a041504d54da4a7897adf23e3e9db10) ) ROM_LOAD( "bw002.u83", 0x080000, 0x080000, CRC(223f5465) SHA1(6ed077514ab4370a215a4a60c3aecc8b72ed1c97) ) - ROM_REGION( 0x080000, "gfx2", 0 ) /* Tiles (Scrambled) */ + ROM_REGION( 0x080000, "view2_0", 0 ) /* Tiles */ ROM_LOAD( "bw003.u77", 0x000000, 0x080000, CRC(fbb4b72d) SHA1(07a0590f18b3bba1843ef6a89a5c214e8e605cc3) ) ROM_REGION( 0x400000, "gfx3", 0 ) /* High Color Background */ @@ -2677,7 +2638,7 @@ ROM_START( berlwallt ) ROM_LOAD( "bw002.u83", 0x080000, 0x080000, CRC(223f5465) SHA1(6ed077514ab4370a215a4a60c3aecc8b72ed1c97) ) ROM_LOAD( "bw300.u82", 0x100000, 0x020000, CRC(b258737a) SHA1(b5c8fe44a8dcfc19bccba896bdb73030c5843544) ) // Masked players, Japanese text - ROM_REGION( 0x080000, "gfx2", 0 ) /* Tiles (Scrambled) */ + ROM_REGION( 0x080000, "view2_0", 0 ) /* Tiles */ ROM_LOAD( "bw003.u77", 0x000000, 0x080000, CRC(fbb4b72d) SHA1(07a0590f18b3bba1843ef6a89a5c214e8e605cc3) ) ROM_REGION( 0x400000, "gfx3", 0 ) /* High Color Background */ @@ -2711,7 +2672,7 @@ ROM_START( berlwallk ) ROM_LOAD( "bw002.u83", 0x080000, 0x080000, CRC(223f5465) SHA1(6ed077514ab4370a215a4a60c3aecc8b72ed1c97) ) ROM_LOAD( "bw300k.u82", 0x100000, 0x020000, CRC(b8de79d7) SHA1(c9a78aa213105f3657349995aca2866bc6d80093) ) - ROM_REGION( 0x080000, "gfx2", 0 ) /* Tiles (Scrambled) */ + ROM_REGION( 0x080000, "view2_0", 0 ) /* Tiles */ ROM_LOAD( "bw003.u77", 0x000000, 0x080000, CRC(fbb4b72d) SHA1(07a0590f18b3bba1843ef6a89a5c214e8e605cc3) ) ROM_REGION( 0x400000, "gfx3", 0 ) /* High Color Background */ @@ -2742,7 +2703,7 @@ ROM_START( packbang ) /* same PCB as Berlin Wall - BW-002 */ ROM_LOAD( "bb.u84", 0x000000, 0x080000, CRC(97837aaa) SHA1(303780621afea01f9e4d1386229c7421307562ec) ) ROM_LOAD( "pb_spr_ext_9_20_ver.u83", 0x080000, 0x040000, CRC(666a1217) SHA1(0d7b08d63b229d70b7e9e77a36516a695533c4cb) ) /* hand written label plus checksum BA63 */ - ROM_REGION( 0x080000, "gfx2", 0 ) /* Tiles (Scrambled) */ + ROM_REGION( 0x080000, "view2_0", 0 ) /* Tiles */ ROM_LOAD( "bbbox1.u77", 0x000000, 0x080000, CRC(b2ffd081) SHA1(e4b8b60ed0c5f2e0709477cc840864e1c0a351ea) ) // 1ST AND 2ND HALF IDENTICAL ROM_REGION( 0x400000, "gfx3", 0 ) /* High Color Background */ @@ -2798,7 +2759,7 @@ ROM_START( blazeon ) ROM_LOAD( "bz_sp2.u21", 0x100000, 0x100000, CRC(56ead2bd) SHA1(463723f3c533603ce3a95310e9ce12b4e582b52d) ) ROM_LOAD( "bz_sp2.u86", 0x100000, 0x100000, CRC(56ead2bd) SHA1(463723f3c533603ce3a95310e9ce12b4e582b52d) ) - ROM_REGION( 0x100000, "gfx2", 0 ) /* Tiles (Scrambled) */ + ROM_REGION( 0x100000, "view2_0", 0 ) /* Tiles */ ROM_LOAD( "bz_bg.u2", 0x000000, 0x100000, CRC(fc67f19f) SHA1(f5d9e037a736b0932efbfb48587de08bec93df5d) ) ROM_END @@ -2816,7 +2777,7 @@ ROM_START( blazeonj ) ROM_LOAD( "bz_sp2.u21", 0x100000, 0x100000, CRC(56ead2bd) SHA1(463723f3c533603ce3a95310e9ce12b4e582b52d) ) ROM_LOAD( "bz_sp2.u86", 0x100000, 0x100000, CRC(56ead2bd) SHA1(463723f3c533603ce3a95310e9ce12b4e582b52d) ) - ROM_REGION( 0x100000, "gfx2", 0 ) /* Tiles (Scrambled) */ + ROM_REGION( 0x100000, "view2_0", 0 ) /* Tiles */ ROM_LOAD( "bz_bg.u2", 0x000000, 0x100000, CRC(fc67f19f) SHA1(f5d9e037a736b0932efbfb48587de08bec93df5d) ) ROM_END @@ -2902,7 +2863,7 @@ ROM_START( wingforc ) ROM_LOAD( "sp3m.u20", 0x180000, 0x80000, CRC(889ddf72) SHA1(1eaeb4580133d38185ff52fbdc445744c207a202) ) ROM_LOAD( "sp3m.u68", 0x180000, 0x80000, CRC(889ddf72) SHA1(1eaeb4580133d38185ff52fbdc445744c207a202) ) - ROM_REGION( 0x200000, "gfx2", 0 ) /* Tiles (Scrambled) */ + ROM_REGION( 0x200000, "view2_0", 0 ) /* Tiles */ ROM_LOAD16_BYTE( "bg0am.u2", 0x000000, 0x80000, CRC(f4276860) SHA1(8c0848d43ec07f88734993a996a62919979c75ea) ) ROM_LOAD16_BYTE( "bg0bm.u2", 0x000001, 0x80000, CRC(9df92283) SHA1(53bcac1d63b7bb84b664507906ee768a83be28c9) ) ROM_LOAD16_BYTE( "bg1am.u3", 0x100000, 0x80000, CRC(a44fdebb) SHA1(676ade63d22818c7a7adf39d42aad41fa93319d2) ) @@ -3022,10 +2983,10 @@ ROM_START( bloodwar ) ROM_LOAD16_BYTE( "of-214e-0220.26", 0x1c00000, 0x100000, CRC(43c622de) SHA1(73efe57233f056127e2d34590c624f39d1c0ab79) ) ROM_LOAD16_BYTE( "of-2140-0221.27", 0x1c00001, 0x100000, CRC(d10bf03c) SHA1(a81d6b7df7382fc8d50614c1332611e0c202b805) ) - ROM_REGION( 0x100000, "gfx2", 0 ) /* Tiles (scrambled) */ + ROM_REGION( 0x100000, "view2_0", 0 ) /* Tiles */ ROM_LOAD( "of-300-0225.51", 0x000000, 0x100000, CRC(fbc3c08a) SHA1(0ba52b381e7a10fb1513244b394438b440950af3) ) - ROM_REGION( 0x100000, "gfx3", 0 ) /* Tiles (scrambled) */ + ROM_REGION( 0x100000, "view2_1", 0 ) /* Tiles */ ROM_LOAD( "of-301-0226.55", 0x000000, 0x100000, CRC(fcf215de) SHA1(83015f10e62b917efd6e3edfbd45fb8f9b35db2b) ) ROM_REGION( 0x100000, "oki1", 0 ) /* Samples */ @@ -3066,10 +3027,10 @@ ROM_START( oedfight ) ROM_LOAD16_BYTE( "of-214e-0220.26", 0x1c00000, 0x100000, CRC(43c622de) SHA1(73efe57233f056127e2d34590c624f39d1c0ab79) ) ROM_LOAD16_BYTE( "of-2140-0221.27", 0x1c00001, 0x100000, CRC(d10bf03c) SHA1(a81d6b7df7382fc8d50614c1332611e0c202b805) ) - ROM_REGION( 0x100000, "gfx2", 0 ) /* Tiles (scrambled) */ + ROM_REGION( 0x100000, "view2_0", 0 ) /* Tiles */ ROM_LOAD( "of-300-0225.51", 0x000000, 0x100000, CRC(fbc3c08a) SHA1(0ba52b381e7a10fb1513244b394438b440950af3) ) - ROM_REGION( 0x100000, "gfx3", 0 ) /* Tiles (scrambled) */ + ROM_REGION( 0x100000, "view2_1", 0 ) /* Tiles */ ROM_LOAD( "of-301-0226.55", 0x000000, 0x100000, CRC(fcf215de) SHA1(83015f10e62b917efd6e3edfbd45fb8f9b35db2b) ) ROM_REGION( 0x100000, "oki1", 0 ) /* Samples */ @@ -3206,11 +3167,11 @@ ROM_START( gtmr ) ROM_LOAD16_BYTE( "mms1x2.u30.bin", 0x800001, 0x020000, CRC(b42b426f) SHA1(6aee5759b5f0786c5ee074d9df3d2716919ea621) ) ROM_LOAD16_BYTE( "mms0x2.u29.bin", 0x800000, 0x020000, CRC(bd22b7d2) SHA1(ef82d00d72439590c71aed33ecfabc6ee71a6ff9) ) - ROM_REGION( 0x200000, "gfx2", 0 ) /* Tiles (scrambled) */ + ROM_REGION( 0x200000, "view2_0", 0 ) /* Tiles */ ROM_LOAD( "mm-300-406-a0.bin", 0x000000, 0x200000, CRC(b15f6b7f) SHA1(5e84919d788add53fc87f4d85f437df413b1dbc5) ) - ROM_REGION( 0x200000, "gfx3", 0 ) /* Tiles (scrambled) */ - ROM_COPY("gfx2",0x000000,0,0x200000) // it isn't on the board twice. + ROM_REGION( 0x200000, "view2_1", 0 ) /* Tiles */ + ROM_COPY("view2_0",0x000000,0,0x200000) // it isn't on the board twice. ROM_REGION( 0x100000, "oki1", 0 ) /* Samples */ ROM_LOAD( "mm-100-401-e0.bin", 0x000000, 0x100000, CRC(b9cbfbee) SHA1(051d48a68477ef9c29bd5cc0bb7955d513a0ab94) ) // 16 x $10000 @@ -3235,11 +3196,11 @@ ROM_START( gtmra ) ROM_LOAD16_BYTE( "mms1x2.u30.bin", 0x800001, 0x020000, CRC(b42b426f) SHA1(6aee5759b5f0786c5ee074d9df3d2716919ea621) ) ROM_LOAD16_BYTE( "mms0x2.u29.bin", 0x800000, 0x020000, CRC(bd22b7d2) SHA1(ef82d00d72439590c71aed33ecfabc6ee71a6ff9) ) - ROM_REGION( 0x200000, "gfx2", 0 ) /* Tiles (scrambled) */ + ROM_REGION( 0x200000, "view2_0", 0 ) /* Tiles */ ROM_LOAD( "mm-300-406-a0.bin", 0x000000, 0x200000, CRC(b15f6b7f) SHA1(5e84919d788add53fc87f4d85f437df413b1dbc5) ) - ROM_REGION( 0x200000, "gfx3", 0 ) /* Tiles (scrambled) */ - ROM_COPY("gfx2",0x000000,0,0x200000) // it isn't on the board twice. + ROM_REGION( 0x200000, "view2_1", 0 ) /* Tiles */ + ROM_COPY("view2_0",0x000000,0,0x200000) // it isn't on the board twice. ROM_REGION( 0x100000, "oki1", 0 ) /* Samples */ ROM_LOAD( "mm-100-401-e0.bin", 0x000000, 0x100000, CRC(b9cbfbee) SHA1(051d48a68477ef9c29bd5cc0bb7955d513a0ab94) ) // 16 x $10000 @@ -3264,11 +3225,11 @@ ROM_START( gtmrb ) ROM_LOAD16_BYTE( "mms1x1.u30", 0x800001, 0x020000, CRC(9463825c) SHA1(696bbfc816b564b3cff1487e1b848d375951f923) ) ROM_LOAD16_BYTE( "mms0x1.u29", 0x800000, 0x020000, CRC(bd22b7d2) SHA1(ef82d00d72439590c71aed33ecfabc6ee71a6ff9) ) // == mms0x2 - ROM_REGION( 0x200000, "gfx2", 0 ) /* Tiles (scrambled) */ + ROM_REGION( 0x200000, "view2_0", 0 ) /* Tiles */ ROM_LOAD( "mm-300-406-a0.bin", 0x000000, 0x200000, CRC(b15f6b7f) SHA1(5e84919d788add53fc87f4d85f437df413b1dbc5) ) - ROM_REGION( 0x200000, "gfx3", 0 ) /* Tiles (scrambled) */ - ROM_COPY("gfx2",0x000000,0,0x200000) // it isn't on the board twice. + ROM_REGION( 0x200000, "view2_1", 0 ) /* Tiles */ + ROM_COPY("view2_0",0x000000,0,0x200000) // it isn't on the board twice. ROM_REGION( 0x100000, "oki1", 0 ) /* Samples */ ROM_LOAD( "mm-100-401-e0.bin", 0x000000, 0x100000, CRC(b9cbfbee) SHA1(051d48a68477ef9c29bd5cc0bb7955d513a0ab94) ) // 16 x $10000 @@ -3296,12 +3257,12 @@ ROM_START( gtmro ) ROM_LOAD16_BYTE( "mm203-e.bin", 0x600000, 0x100000, CRC(b9001f28) SHA1(b112c17b960a535a543565ca2e22734c7c510f18) ) ROM_LOAD16_BYTE( "mm203-o.bin", 0x600001, 0x100000, CRC(2ed6227d) SHA1(d9abbb739ef15437194c90cd01d5d82dbd4b7859) ) - ROM_REGION( 0x200000, "gfx2", 0 ) /* Tiles (scrambled) */ + ROM_REGION( 0x200000, "view2_0", 0 ) /* Tiles */ ROM_LOAD16_BYTE( "mm300-e.u53", 0x000000, 0x100000, CRC(f9ee708d) SHA1(4c11a9574ea815a87d7e4af04db4368b14bf7530) ) ROM_LOAD16_BYTE( "mm300-o.u54", 0x000001, 0x100000, CRC(76299353) SHA1(01997905ba019d770ac1998633f4ebf6f91a3945) ) - ROM_REGION( 0x200000, "gfx3", 0 ) /* Tiles (scrambled) */ - ROM_COPY("gfx2",0x000000,0,0x200000) // it isn't on the board twice. + ROM_REGION( 0x200000, "view2_1", 0 ) /* Tiles */ + ROM_COPY("view2_0",0x000000,0,0x200000) // it isn't on the board twice. ROM_REGION( 0x100000, "oki1", 0 ) /* Samples */ ROM_LOAD( "mm-100-401-e0.bin", 0x000000, 0x100000, CRC(b9cbfbee) SHA1(051d48a68477ef9c29bd5cc0bb7955d513a0ab94) ) // 16 x $10000 @@ -3338,11 +3299,11 @@ ROM_START( gtmre ) ROM_LOAD( "gmmu30.bin", 0x600000, 0x080000, CRC(e9747c8c) SHA1(2507102ec34755c6f110eadb3444e6d3a3474051) ) /* codes 6800-6fff are explicitly skipped */ - ROM_REGION( 0x200000, "gfx2", 0 ) /* Tiles (scrambled) */ + ROM_REGION( 0x200000, "view2_0", 0 ) /* Tiles */ ROM_LOAD( "gmmu52.bin", 0x000000, 0x200000, CRC(b15f6b7f) SHA1(5e84919d788add53fc87f4d85f437df413b1dbc5) ) - ROM_REGION( 0x200000, "gfx3", 0 ) /* Tiles (scrambled) */ - ROM_COPY("gfx2",0x000000,0,0x200000) // it isn't on the board twice. + ROM_REGION( 0x200000, "view2_1", 0 ) /* Tiles */ + ROM_COPY("view2_0",0x000000,0,0x200000) // it isn't on the board twice. ROM_REGION( 0x100000, "oki1", 0 ) /* Samples */ ROM_LOAD( "gmmu23.bin", 0x000000, 0x100000, CRC(b9cbfbee) SHA1(051d48a68477ef9c29bd5cc0bb7955d513a0ab94) ) // 16 x $10000 @@ -3375,11 +3336,11 @@ ROM_START( gtmrusa ) ROM_LOAD( "mm-203-405-s3.bin", 0x600000, 0x080000, CRC(e9747c8c) SHA1(2507102ec34755c6f110eadb3444e6d3a3474051) ) /* codes 6800-6fff are explicitly skipped */ - ROM_REGION( 0x200000, "gfx2", 0 ) /* Tiles (scrambled) */ + ROM_REGION( 0x200000, "view2_0", 0 ) /* Tiles */ ROM_LOAD( "mm-300-406-a0.bin", 0x000000, 0x200000, CRC(b15f6b7f) SHA1(5e84919d788add53fc87f4d85f437df413b1dbc5) ) - ROM_REGION( 0x200000, "gfx3", 0 ) /* Tiles (scrambled) */ - ROM_COPY("gfx2",0x000000,0,0x200000) // it isn't on the board twice. + ROM_REGION( 0x200000, "view2_1", 0 ) /* Tiles */ + ROM_COPY("view2_0",0x000000,0,0x200000) // it isn't on the board twice. ROM_REGION( 0x100000, "oki1", 0 ) /* Samples */ ROM_LOAD( "mm-100-401-a0.bin", 0x000000, 0x100000, CRC(b9cbfbee) SHA1(051d48a68477ef9c29bd5cc0bb7955d513a0ab94) ) // 16 x $10000 @@ -3561,14 +3522,14 @@ ROM_START( gtmr2 ) ROM_LOAD16_BYTE( "m2s0x1a.u32", 0x700000, 0x080000, CRC(a485eec6) SHA1(f8aff62daed95a63544106472a9ef34902feaaa2) ) ROM_LOAD16_BYTE( "m2s1x1a.u33", 0x700001, 0x080000, CRC(c5b71bb2) SHA1(874e2a2e19cd8f916afa6fcf54169a8db035fe64) ) - ROM_REGION( 0x440000, "gfx2", 0 ) /* Tiles (scrambled) */ + ROM_REGION( 0x440000, "view2_0", 0 ) /* Tiles */ ROM_LOAD( "m2-300-0.u89", 0x000000, 0x200000, CRC(4dc42fbb) SHA1(f14c287bc60f561eb9a57db4e3390aae9a81c392) ) ROM_LOAD( "m2-301-0.u90", 0x200000, 0x200000, CRC(f4e894f2) SHA1(1f983a1d93845fe298afba60d4dacdd1a10cab7f) ) ROM_LOAD16_BYTE( "m2b0x0.u93", 0x400000, 0x020000, CRC(e023d51b) SHA1(3c9f591f3ca2ee8e1100b83ae8eb593e11e6eac7) ) ROM_LOAD16_BYTE( "m2b1x0.u94", 0x400001, 0x020000, CRC(03c48bdb) SHA1(f5ba45d026530d46f760cf06d02a1ffcca89aa3c) ) - ROM_REGION( 0x440000, "gfx3", 0 ) /* Tiles (scrambled) */ - ROM_COPY("gfx2",0x000000,0,0x440000) // it isn't on the board twice. + ROM_REGION( 0x440000, "view2_1", 0 ) /* Tiles */ + ROM_COPY("view2_0",0x000000,0,0x440000) // it isn't on the board twice. ROM_REGION( 0x100000, "oki1", 0 ) /* Samples */ ROM_LOAD( "m2-100-0.u48", 0x000000, 0x100000, CRC(5250fa45) SHA1(b1ad4660906997faea0aa89866de01a0e9f2b61d) ) @@ -3592,14 +3553,14 @@ ROM_START( gtmr2a ) ROM_LOAD16_BYTE( "m2s0x1.u32", 0x700000, 0x080000, CRC(4069d6c7) SHA1(2ed1cbb7ebde8347e0359cd56ee3a0d4d42d551f) ) ROM_LOAD16_BYTE( "m2s1x1.u33", 0x700001, 0x080000, CRC(c53fe269) SHA1(e6c485bbaea4b67f074b89e047f686f107805713) ) - ROM_REGION( 0x440000, "gfx2", 0 ) /* Tiles (scrambled) */ + ROM_REGION( 0x440000, "view2_0", 0 ) /* Tiles */ ROM_LOAD( "m2-300-0.u89", 0x000000, 0x200000, CRC(4dc42fbb) SHA1(f14c287bc60f561eb9a57db4e3390aae9a81c392) ) ROM_LOAD( "m2-301-0.u90", 0x200000, 0x200000, CRC(f4e894f2) SHA1(1f983a1d93845fe298afba60d4dacdd1a10cab7f) ) ROM_LOAD16_BYTE( "m2b0x0.u93", 0x400000, 0x020000, CRC(e023d51b) SHA1(3c9f591f3ca2ee8e1100b83ae8eb593e11e6eac7) ) ROM_LOAD16_BYTE( "m2b1x0.u94", 0x400001, 0x020000, CRC(03c48bdb) SHA1(f5ba45d026530d46f760cf06d02a1ffcca89aa3c) ) - ROM_REGION( 0x440000, "gfx3", 0 ) /* Tiles (scrambled) */ - ROM_COPY("gfx2",0x000000,0,0x440000) // it isn't on the board twice. + ROM_REGION( 0x440000, "view2_1", 0 ) /* Tiles */ + ROM_COPY("view2_0",0x000000,0,0x440000) // it isn't on the board twice. ROM_REGION( 0x100000, "oki1", 0 ) /* Samples */ ROM_LOAD( "m2-100-0.u48", 0x000000, 0x100000, CRC(5250fa45) SHA1(b1ad4660906997faea0aa89866de01a0e9f2b61d) ) @@ -3623,14 +3584,14 @@ ROM_START( gtmr2u ) ROM_LOAD16_BYTE( "m2s0a1.u32", 0x700000, 0x080000, CRC(98977171) SHA1(5b69462e07778b5bd1f5119cae6b63ede38cd642) ) ROM_LOAD16_BYTE( "m2s1a1.u33", 0x700001, 0x080000, CRC(c69a732e) SHA1(810b333f442c0714f4cb8b4a73136d0b44443277) ) - ROM_REGION( 0x440000, "gfx2", 0 ) /* Tiles (scrambled) */ + ROM_REGION( 0x440000, "view2_0", 0 ) /* Tiles */ ROM_LOAD( "m2-300-0.u89", 0x000000, 0x200000, CRC(4dc42fbb) SHA1(f14c287bc60f561eb9a57db4e3390aae9a81c392) ) ROM_LOAD( "m2-301-0.u90", 0x200000, 0x200000, CRC(f4e894f2) SHA1(1f983a1d93845fe298afba60d4dacdd1a10cab7f) ) ROM_LOAD16_BYTE( "m2b0x0.u93", 0x400000, 0x020000, CRC(e023d51b) SHA1(3c9f591f3ca2ee8e1100b83ae8eb593e11e6eac7) ) ROM_LOAD16_BYTE( "m2b1x0.u94", 0x400001, 0x020000, CRC(03c48bdb) SHA1(f5ba45d026530d46f760cf06d02a1ffcca89aa3c) ) - ROM_REGION( 0x440000, "gfx3", 0 ) /* Tiles (scrambled) */ - ROM_COPY("gfx2",0x000000,0,0x440000) // it isn't on the board twice. + ROM_REGION( 0x440000, "view2_1", 0 ) /* Tiles */ + ROM_COPY("view2_0",0x000000,0,0x440000) // it isn't on the board twice. ROM_REGION( 0x100000, "oki1", 0 ) /* Samples */ ROM_LOAD( "m2-100-0.u48", 0x000000, 0x100000, CRC(5250fa45) SHA1(b1ad4660906997faea0aa89866de01a0e9f2b61d) ) @@ -3704,10 +3665,10 @@ ROM_START( mgcrystl ) /* Master Up: 92/01/10 14:21:30 */ ROM_RELOAD( 0x240000, 0x020000 ) ROM_RELOAD( 0x260000, 0x020000 ) - ROM_REGION( 0x100000, "gfx2", 0 ) /* Tiles (Scrambled) */ + ROM_REGION( 0x100000, "view2_0", 0 ) /* Tiles */ ROM_LOAD( "mc010.u04", 0x000000, 0x100000, CRC(85072772) SHA1(25e903cc2c893d61db791d1fe60a1205a4395667) ) - ROM_REGION( 0x100000, "gfx3", 0 ) /* Tiles (Scrambled) */ + ROM_REGION( 0x100000, "view2_1", 0 ) /* Tiles */ ROM_LOAD( "mc020.u34", 0x000000, 0x100000, CRC(1ea92ff1) SHA1(66ec53e664b2a5a751a280a538aaeceafc187ceb) ) ROM_REGION( 0x040000, "oki1", 0 ) /* Samples */ @@ -3728,10 +3689,10 @@ ROM_START( mgcrystlo ) /* Master Up: 91/12/10 01:56:06 */ ROM_RELOAD( 0x240000, 0x020000 ) ROM_RELOAD( 0x260000, 0x020000 ) - ROM_REGION( 0x100000, "gfx2", 0 ) /* Tiles (Scrambled) */ + ROM_REGION( 0x100000, "view2_0", 0 ) /* Tiles */ ROM_LOAD( "mc010.u04", 0x000000, 0x100000, CRC(85072772) SHA1(25e903cc2c893d61db791d1fe60a1205a4395667) ) - ROM_REGION( 0x100000, "gfx3", 0 ) /* Tiles (Scrambled) */ + ROM_REGION( 0x100000, "view2_1", 0 ) /* Tiles */ ROM_LOAD( "mc020.u34", 0x000000, 0x100000, CRC(1ea92ff1) SHA1(66ec53e664b2a5a751a280a538aaeceafc187ceb) ) ROM_REGION( 0x040000, "oki1", 0 ) /* Samples */ @@ -3753,10 +3714,10 @@ ROM_START( mgcrystlj ) /* Master Up: 92/01/13 14:44:20 */ ROM_RELOAD( 0x240000, 0x020000 ) ROM_RELOAD( 0x260000, 0x020000 ) - ROM_REGION( 0x100000, "gfx2", 0 ) /* Tiles (Scrambled) */ + ROM_REGION( 0x100000, "view2_0", 0 ) /* Tiles */ ROM_LOAD( "kaneko__mc-010_0003.u04", 0x000000, 0x100000, CRC(85072772) SHA1(25e903cc2c893d61db791d1fe60a1205a4395667) ) // Mask rom - ROM_REGION( 0x100000, "gfx3", 0 ) /* Tiles (Scrambled) */ + ROM_REGION( 0x100000, "view2_1", 0 ) /* Tiles */ ROM_LOAD( "kaneko__mc-020_0004.u34", 0x000000, 0x100000, CRC(1ea92ff1) SHA1(66ec53e664b2a5a751a280a538aaeceafc187ceb) ) // Mask rom ROM_REGION( 0x040000, "oki1", 0 ) /* Samples */ @@ -3811,7 +3772,7 @@ ROM_START( shogwarr ) ROM_LOAD( "fb-22b.u6", 0x500000, 0x100000, CRC(96ac9e54) SHA1(2b066375963dc57fe2ce89d65f6c0a9d183a838d) ) ROM_LOAD( "fb023.u7", 0x600000, 0x100000, CRC(132794bd) SHA1(bcc73c3183c59a4b66f79d04774773b8a9239501) ) - ROM_REGION( 0x400000, "gfx2", 0 ) /* Tiles (scrambled) */ + ROM_REGION( 0x400000, "view2_0", 0 ) /* Tiles */ ROM_LOAD( "fb010.u65", 0x000000, 0x100000, CRC(296ffd92) SHA1(183a28e4594c428deb4726ed22d5166592b94b60) ) // 42 pin mask rom ROM_LOAD( "fb011.u66", 0x100000, 0x080000, CRC(500a0367) SHA1(6dc5190f81b21f59ee56a3b2332c8d86d6599782) ) // 40 pin mask rom (verified correct) @@ -3843,7 +3804,7 @@ ROM_START( shogwarrk ) ROM_LOAD( "fb023.u7", 0x600000, 0x100000, CRC(132794bd) SHA1(bcc73c3183c59a4b66f79d04774773b8a9239501) ) ROM_LOAD( "fb-024.u8", 0x700000, 0x080000, CRC(4bf3282d) SHA1(6058e46f20fe4faf32cddb6f2bb0fbf70f256a54) ) // extra censored gfx - ROM_REGION( 0x400000, "gfx2", 0 ) /* Tiles (scrambled) */ + ROM_REGION( 0x400000, "view2_0", 0 ) /* Tiles */ ROM_LOAD( "fb010.u65", 0x000000, 0x100000, CRC(296ffd92) SHA1(183a28e4594c428deb4726ed22d5166592b94b60) ) // 42 pin mask rom ROM_LOAD( "fb011.u66", 0x100000, 0x080000, CRC(500a0367) SHA1(6dc5190f81b21f59ee56a3b2332c8d86d6599782) ) // 40 pin mask rom (verified correct) @@ -3918,7 +3879,7 @@ ROM_START( shogwarru ) ROM_LOAD( "fb-22b.u6", 0x500000, 0x100000, CRC(96ac9e54) SHA1(2b066375963dc57fe2ce89d65f6c0a9d183a838d) ) ROM_LOAD( "fb023.u7", 0x600000, 0x100000, CRC(132794bd) SHA1(bcc73c3183c59a4b66f79d04774773b8a9239501) ) - ROM_REGION( 0x400000, "gfx2", 0 ) /* Tiles (scrambled) */ + ROM_REGION( 0x400000, "view2_0", 0 ) /* Tiles */ ROM_LOAD( "fb010.u65", 0x000000, 0x100000, CRC(296ffd92) SHA1(183a28e4594c428deb4726ed22d5166592b94b60) ) // 42 pin mask rom ROM_LOAD( "fb011.u66", 0x100000, 0x080000, CRC(500a0367) SHA1(6dc5190f81b21f59ee56a3b2332c8d86d6599782) ) // 40 pin mask rom (verified correct) @@ -3986,7 +3947,7 @@ ROM_START( fjbuster ) // Fujiyama Buster - Japan version of Shogun Warriors ROM_LOAD( "fb-22b.u6", 0x500000, 0x100000, CRC(96ac9e54) SHA1(2b066375963dc57fe2ce89d65f6c0a9d183a838d) ) ROM_LOAD( "fb023.u7", 0x600000, 0x100000, CRC(132794bd) SHA1(bcc73c3183c59a4b66f79d04774773b8a9239501) ) - ROM_REGION( 0x400000, "gfx2", 0 ) /* Tiles (scrambled) */ + ROM_REGION( 0x400000, "view2_0", 0 ) /* Tiles */ ROM_LOAD( "fb010.u65", 0x000000, 0x100000, CRC(296ffd92) SHA1(183a28e4594c428deb4726ed22d5166592b94b60) ) // 42 pin mask rom ROM_LOAD( "fb011.u66", 0x100000, 0x080000, CRC(500a0367) SHA1(6dc5190f81b21f59ee56a3b2332c8d86d6599782) ) // 40 pin mask rom (verified correct) @@ -4132,7 +4093,7 @@ ROM_START( brapboys ) /* World 'normal version', no rom sub board, serial RB92E0 ROM_RELOAD( 0x480000, 0x080000 ) ROM_LOAD( "rb-025.01.u80", 0x500000, 0x040000, CRC(36cd6b90) SHA1(45c50f2652726ded67c9c24185a71a6367e09270) ) // eprom labeled RB-025/U80-01 (green label), contains title logo for this version - ROM_REGION( 0x400000, "gfx2", 0 ) /* Tiles (scrambled) */ + ROM_REGION( 0x400000, "view2_0", 0 ) /* Tiles */ ROM_LOAD( "rb-010.u65", 0x000000, 0x100000, CRC(ffd73f87) SHA1(1a661f71976be61c22d9b962850e738ba17f1d45) ) ROM_LOAD( "rb-011.u66", 0x100000, 0x100000, CRC(d9325f78) SHA1(346832608664aa8f3ac9260a549903386b4125a8) ) ROM_LOAD( "rb-012.u67", 0x200000, 0x100000, CRC(bfdbe0d1) SHA1(3abc5398ee8ee1871b4d081f9b748539d69bcdba) ) @@ -4165,7 +4126,7 @@ ROM_START( brapboysp ) /* World 'special version' with EXROM sub board; serial R ROM_LOAD( "rb-025.a0.u80a", 0x500000, 0x080000, CRC(aa795ba5) SHA1(c5256dcceded2e76f548b60c18e51d0dd0209d81) ) // eprom labeled RB-025/U80aA0 (blue label), really at location next to capacitor C4 on Z01DK-EXROM daughterboard ROM_LOAD( "rb-026.10.u80b", 0x580000, 0x080000, CRC(bb7604d4) SHA1(57d51ce4ea2000f9a50bae326cfcb66ec494249f) ) // eprom labeled RB-026/U80b10 (red label), really at location next to capacitor C5 on Z01DK-EXROM daughterboard - ROM_REGION( 0x400000, "gfx2", 0 ) /* Tiles (scrambled) */ + ROM_REGION( 0x400000, "view2_0", 0 ) /* Tiles */ ROM_LOAD( "rb-010.u65", 0x000000, 0x100000, CRC(ffd73f87) SHA1(1a661f71976be61c22d9b962850e738ba17f1d45) ) ROM_LOAD( "rb-011.u66", 0x100000, 0x100000, CRC(d9325f78) SHA1(346832608664aa8f3ac9260a549903386b4125a8) ) ROM_LOAD( "rb-012.u67", 0x200000, 0x100000, CRC(bfdbe0d1) SHA1(3abc5398ee8ee1871b4d081f9b748539d69bcdba) ) @@ -4200,7 +4161,7 @@ ROM_START( brapboyspj ) /* Japanese 'special version' with EXROM sub board; seri ROM_LOAD( "rb-025.a0.u80a", 0x500000, 0x080000, CRC(aa795ba5) SHA1(c5256dcceded2e76f548b60c18e51d0dd0209d81) ) // eprom labeled RB-025/U80aA0 (blue label), really at location next to capacitor C4 on Z01DK-EXROM daughterboard ROM_LOAD( "rb-026.10.u80b", 0x580000, 0x080000, CRC(bb7604d4) SHA1(57d51ce4ea2000f9a50bae326cfcb66ec494249f) ) // eprom labeled RB-026/U80b10 (red label), really at location next to capacitor C5 on Z01DK-EXROM daughterboard - ROM_REGION( 0x400000, "gfx2", 0 ) /* Tiles (scrambled) */ + ROM_REGION( 0x400000, "view2_0", 0 ) /* Tiles */ ROM_LOAD( "rb-010.u65", 0x000000, 0x100000, CRC(ffd73f87) SHA1(1a661f71976be61c22d9b962850e738ba17f1d45) ) ROM_LOAD( "rb-011.u66", 0x100000, 0x100000, CRC(d9325f78) SHA1(346832608664aa8f3ac9260a549903386b4125a8) ) ROM_LOAD( "rb-012.u67", 0x200000, 0x100000, CRC(bfdbe0d1) SHA1(3abc5398ee8ee1871b4d081f9b748539d69bcdba) ) @@ -4233,7 +4194,7 @@ ROM_START( brapboyspu ) /* US 'special version' with EXROM sub board; Serial RB9 ROM_LOAD( "rb-025.10.u80a", 0x500000, 0x080000, CRC(140fe400) SHA1(a764767aacec2f895f93256ab82125962c272951) ) // eprom labeled RB-025/U80a10 (red label), really at location next to capacitor C4 on Z01DK-EXROM daughterboard ROM_LOAD( "rb-026.10.u80b", 0x580000, 0x080000, CRC(bb7604d4) SHA1(57d51ce4ea2000f9a50bae326cfcb66ec494249f) ) // eprom labeled RB-026/U80b10 (red label), really at location next to capacitor C5 on Z01DK-EXROM daughterboard - ROM_REGION( 0x400000, "gfx2", 0 ) /* Tiles (scrambled) */ + ROM_REGION( 0x400000, "view2_0", 0 ) /* Tiles */ ROM_LOAD( "rb-010.u65", 0x000000, 0x100000, CRC(ffd73f87) SHA1(1a661f71976be61c22d9b962850e738ba17f1d45) ) // rb-010 0009 w17 mask rom ROM_LOAD( "rb-011.u66", 0x100000, 0x100000, CRC(d9325f78) SHA1(346832608664aa8f3ac9260a549903386b4125a8) ) // rb-011 0010 w18 mask rom ROM_LOAD( "rb-012.u67", 0x200000, 0x100000, CRC(bfdbe0d1) SHA1(3abc5398ee8ee1871b4d081f9b748539d69bcdba) ) // rb-012 0011 w21 mask rom @@ -4313,10 +4274,10 @@ ROM_START( bonkadv ) ROM_LOAD16_BYTE( "pc600106.42", 0x400000, 0x080000, CRC(25877026) SHA1(96814d97e9f9284f98c35edfe5e76677ac50dd97) ) ROM_LOAD16_BYTE( "pc700107.43", 0x400001, 0x080000, CRC(bfe21c44) SHA1(9900a6fe4182b720a90d64d368bd0fd08bf936a8) ) - ROM_REGION( 0x200000, "gfx2", 0 ) /* Tiles (scrambled) */ + ROM_REGION( 0x200000, "view2_0", 0 ) /* Tiles */ ROM_LOAD( "pc400104.51", 0x000000, 0x100000, CRC(3b176f84) SHA1(0ad6fd5f03d275165490881173bafcb0a94762eb) ) - ROM_REGION( 0x200000, "gfx3", 0 ) /* Tiles (scrambled) */ + ROM_REGION( 0x200000, "view2_1", 0 ) /* Tiles */ ROM_LOAD( "pc500105.55", 0x000000, 0x100000, CRC(bebb3edc) SHA1(e0fed4307316deaeb811ec29f5022adeaf577a95) ) ROM_REGION( 0x100000, "oki1", 0 ) /* Samples */ @@ -4335,7 +4296,6 @@ void kaneko16_shogwarr_state::init_shogwarr() // default sample banks common_oki_bank_install(0, 0x30000, 0x10000); common_oki_bank_install(1, 0x00000, 0x40000); - init_kaneko16(); } @@ -4344,7 +4304,6 @@ void kaneko16_shogwarr_state::init_brapboys() // default sample banks common_oki_bank_install(0, 0x30000, 0x10000); common_oki_bank_install(1, 0x20000, 0x20000); - init_kaneko16(); } @@ -4361,11 +4320,11 @@ GAME( 1991, berlwallt, berlwall, berlwall, berlwallt, kaneko16_berlwall_state, GAME( 1991, berlwallk, berlwall, berlwall, berlwallk, kaneko16_berlwall_state, init_berlwallk, ROT0, "Kaneko (Inter license)", "The Berlin Wall (Korea)", MACHINE_SUPPORTS_SAVE ) GAME( 1994, packbang, 0, berlwall, packbang, kaneko16_berlwall_state, init_berlwall_common, ROT90, "Kaneko", "Pack'n Bang Bang (prototype)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_GRAPHICS ) // priorities between stages? -GAME( 1991, mgcrystl, 0, mgcrystl, mgcrystl, kaneko16_state, init_kaneko16, ROT0, "Kaneko", "Magical Crystals (World, 92/01/10)", MACHINE_SUPPORTS_SAVE ) -GAME( 1991, mgcrystlo, mgcrystl, mgcrystl, mgcrystl, kaneko16_state, init_kaneko16, ROT0, "Kaneko", "Magical Crystals (World, 91/12/10)", MACHINE_SUPPORTS_SAVE ) -GAME( 1991, mgcrystlj, mgcrystl, mgcrystl, mgcrystl, kaneko16_state, init_kaneko16, ROT0, "Kaneko (Atlus license)", "Magical Crystals (Japan, 92/01/13)", MACHINE_SUPPORTS_SAVE ) -GAME( 1992, blazeon, 0, blazeon, blazeon, kaneko16_state, init_kaneko16, ROT0, "A.I (Atlus license)", "Blaze On (World)", MACHINE_SUPPORTS_SAVE ) -GAME( 1992, blazeonj, blazeon, blazeon, blazeon, kaneko16_state, init_kaneko16, ROT0, "A.I (Atlus license)", "Blaze On (Japan)", MACHINE_SUPPORTS_SAVE ) +GAME( 1991, mgcrystl, 0, mgcrystl, mgcrystl, kaneko16_state, empty_init, ROT0, "Kaneko", "Magical Crystals (World, 92/01/10)", MACHINE_SUPPORTS_SAVE ) +GAME( 1991, mgcrystlo, mgcrystl, mgcrystl, mgcrystl, kaneko16_state, empty_init, ROT0, "Kaneko", "Magical Crystals (World, 91/12/10)", MACHINE_SUPPORTS_SAVE ) +GAME( 1991, mgcrystlj, mgcrystl, mgcrystl, mgcrystl, kaneko16_state, empty_init, ROT0, "Kaneko (Atlus license)", "Magical Crystals (Japan, 92/01/13)", MACHINE_SUPPORTS_SAVE ) +GAME( 1992, blazeon, 0, blazeon, blazeon, kaneko16_state, empty_init, ROT0, "A.I (Atlus license)", "Blaze On (World)", MACHINE_SUPPORTS_SAVE ) +GAME( 1992, blazeonj, blazeon, blazeon, blazeon, kaneko16_state, empty_init, ROT0, "A.I (Atlus license)", "Blaze On (Japan)", MACHINE_SUPPORTS_SAVE ) GAME( 1992, explbrkr, 0, bakubrkr, bakubrkr, kaneko16_state, init_bakubrkr, ROT90, "Kaneko", "Explosive Breaker (World)", MACHINE_SUPPORTS_SAVE ) GAME( 1992, explbrkrk, explbrkr, bakubrkr, bakubrkr, kaneko16_state, init_bakubrkr, ROT90, "Kaneko", "Explosive Breaker (Korea)", MACHINE_SUPPORTS_SAVE ) GAME( 1992, bakubrkr, explbrkr, bakubrkr, bakubrkr, kaneko16_state, init_bakubrkr, ROT90, "Kaneko", "Bakuretsu Breaker (Japan)", MACHINE_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/sandscrp.cpp b/src/mame/drivers/sandscrp.cpp index 3fed14051c9..bd2a6a9dfcf 100644 --- a/src/mame/drivers/sandscrp.cpp +++ b/src/mame/drivers/sandscrp.cpp @@ -415,19 +415,6 @@ static INPUT_PORTS_START( sandscrp ) INPUT_PORTS_END -/* 16x16x4 tiles (made of four 8x8 tiles) */ -static const gfx_layout layout_16x16x4_2 = -{ - 16,16, - RGN_FRAC(1,1), - 4, - { STEP4(0,1) }, - { STEP4(8*8*4*0 + 3*4, -4), STEP4(8*8*4*0 + 7*4, -4), - STEP4(8*8*4*1 + 3*4, -4), STEP4(8*8*4*1 + 7*4, -4) }, - { STEP8(8*8*4*0, 8*4), STEP8(8*8*4*2, 8*4) }, - 16*16*4 -}; - static const gfx_layout layout_16x16x4 = { 16,16, @@ -442,7 +429,6 @@ static const gfx_layout layout_16x16x4 = static GFXDECODE_START( gfx_sandscrp ) GFXDECODE_ENTRY( "gfx1", 0, layout_16x16x4, 0x000, 0x10 ) // [0] Sprites - GFXDECODE_ENTRY( "gfx2", 0, layout_16x16x4_2, 0x400, 0x40 ) // [1] Layers GFXDECODE_END @@ -478,9 +464,9 @@ void sandscrp_state::sandscrp(machine_config &config) PALETTE(config, "palette").set_format(palette_device::xGRB_555, 2048); KANEKO_TMAP(config, m_view2); - m_view2->set_gfx_region(1); + m_view2->set_colbase(0x400); m_view2->set_offset(0x5b, 0, 256, 224); - m_view2->set_gfxdecode_tag("gfxdecode"); + m_view2->set_palette("palette"); KANEKO_HIT(config, "calc1_mcu").set_type(0); @@ -524,9 +510,9 @@ ROM_START( sandscrp ) /* Z03VA-003 PCB */ ROM_LOAD( "5.ic16", 0x000000, 0x080000, CRC(9bb675f6) SHA1(c3f6768cfd99a0e19ca2224fff9aa4e27ec0da24) ) ROM_LOAD( "6.ic17", 0x080000, 0x080000, CRC(7df2f219) SHA1(e2a59e201bfededa92d6c86f8dc1b212527ef66f) ) - ROM_REGION( 0x100000, "gfx2", 0 ) /* Layers */ - ROM_LOAD16_BYTE( "4.ic32", 0x000000, 0x080000, CRC(b9222ff2) SHA1(a445da3f7f5dea5ff64bb0b048f624f947875a39) ) - ROM_LOAD16_BYTE( "3.ic33", 0x000001, 0x080000, CRC(adf20fa0) SHA1(67a7a2be774c86916cbb97e4c9b16c2e48125780) ) + ROM_REGION( 0x100000, "view2", 0 ) /* Layers */ + ROM_LOAD16_BYTE( "3.ic33", 0x000000, 0x080000, CRC(adf20fa0) SHA1(67a7a2be774c86916cbb97e4c9b16c2e48125780) ) + ROM_LOAD16_BYTE( "4.ic32", 0x000001, 0x080000, CRC(b9222ff2) SHA1(a445da3f7f5dea5ff64bb0b048f624f947875a39) ) ROM_REGION( 0x040000, "oki", 0 ) /* Samples */ ROM_LOAD( "7.ic55", 0x000000, 0x040000, CRC(9870ab12) SHA1(5ea3412cbc57bfaa32a1e2552b2eb46f4ceb5fa8) ) @@ -544,9 +530,9 @@ ROM_START( sandscrpa ) /* Z03VA-003 PCB, earlier program version */ ROM_LOAD( "5.ic16", 0x000000, 0x080000, CRC(9bb675f6) SHA1(c3f6768cfd99a0e19ca2224fff9aa4e27ec0da24) ) ROM_LOAD( "6.ic17", 0x080000, 0x080000, CRC(7df2f219) SHA1(e2a59e201bfededa92d6c86f8dc1b212527ef66f) ) - ROM_REGION( 0x100000, "gfx2", 0 ) /* Layers */ - ROM_LOAD16_BYTE( "4.ic32", 0x000000, 0x080000, CRC(b9222ff2) SHA1(a445da3f7f5dea5ff64bb0b048f624f947875a39) ) - ROM_LOAD16_BYTE( "3.ic33", 0x000001, 0x080000, CRC(adf20fa0) SHA1(67a7a2be774c86916cbb97e4c9b16c2e48125780) ) + ROM_REGION( 0x100000, "view2", 0 ) /* Layers */ + ROM_LOAD16_BYTE( "3.ic33", 0x000000, 0x080000, CRC(adf20fa0) SHA1(67a7a2be774c86916cbb97e4c9b16c2e48125780) ) + ROM_LOAD16_BYTE( "4.ic32", 0x000001, 0x080000, CRC(b9222ff2) SHA1(a445da3f7f5dea5ff64bb0b048f624f947875a39) ) ROM_REGION( 0x040000, "oki", 0 ) /* Samples */ ROM_LOAD( "7.ic55", 0x000000, 0x040000, CRC(9870ab12) SHA1(5ea3412cbc57bfaa32a1e2552b2eb46f4ceb5fa8) ) @@ -565,8 +551,8 @@ ROM_START( sandscrpb ) /* Different rev PCB */ ROM_REGION( 0x100000, "gfx1", 0 ) /* Sprites */ ROM_LOAD( "ss502.ic16", 0x000000, 0x100000, CRC(d8012ebb) SHA1(975bbb3b57a09e41d2257d4fa3a64097144de554) ) - ROM_REGION( 0x100000, "gfx2", 0 ) /* Layers */ - ROM_LOAD16_WORD_SWAP( "ss501.ic30", 0x000000, 0x100000, CRC(0cf9f99d) SHA1(47f7f120d2bc075bedaff0a44306a8f46a1d848c) ) + ROM_REGION( 0x100000, "view2", 0 ) /* Layers */ + ROM_LOAD( "ss501.ic30", 0x000000, 0x100000, CRC(0cf9f99d) SHA1(47f7f120d2bc075bedaff0a44306a8f46a1d848c) ) ROM_REGION( 0x040000, "oki", 0 ) /* Samples */ ROM_LOAD( "7.ic55", 0x000000, 0x040000, CRC(9870ab12) SHA1(5ea3412cbc57bfaa32a1e2552b2eb46f4ceb5fa8) ) diff --git a/src/mame/includes/kaneko16.h b/src/mame/includes/kaneko16.h index f54b6118282..fbc53af3c79 100644 --- a/src/mame/includes/kaneko16.h +++ b/src/mame/includes/kaneko16.h @@ -64,7 +64,6 @@ public: { } - void init_kaneko16(); void init_bakubrkr(); void bakubrkr(machine_config &config); @@ -131,8 +130,6 @@ protected: template void fill_bitmap(_BitmapClass &bitmap, const rectangle &cliprect); - void unscramble_tiles(const char *region); - void gtmr_oki1_map(address_map &map); void gtmr_oki2_map(address_map &map); diff --git a/src/mame/video/kaneko_tmap.cpp b/src/mame/video/kaneko_tmap.cpp index 7a31338355a..1f9e17b4be0 100644 --- a/src/mame/video/kaneko_tmap.cpp +++ b/src/mame/video/kaneko_tmap.cpp @@ -106,41 +106,60 @@ DEFINE_DEVICE_TYPE(KANEKO_TMAP, kaneko_view2_tilemap_device, "kaneko_view2", "Ka kaneko_view2_tilemap_device::kaneko_view2_tilemap_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock) : device_t(mconfig, KANEKO_TMAP, tag, owner, clock) + , device_gfx_interface(mconfig, *this, nullptr) , m_vram(*this, "vram_%u", 0U) , m_vscroll(*this, "scroll_%u", 0U) - , m_gfxdecode(*this, finder_base::DUMMY_TAG) + , m_gfxrom(*this, DEVICE_SELF) + , m_colbase(0) + , m_dx(0) + , m_dy(0) + , m_xdim(0) + , m_ydim(0) + , m_invert_flip(0) + , m_regs(nullptr) { - m_invert_flip = 0; } template TILE_GET_INFO_MEMBER(kaneko_view2_tilemap_device::get_tile_info) { - u16 attr = m_vram[Layer][ 2 * tile_index + 0]; - u32 code = m_vram[Layer][ 2 * tile_index + 1]; + const u16 attr = m_vram[Layer][2 * tile_index + 0]; + u32 code = m_vram[Layer][2 * tile_index + 1]; if (!m_view2_cb.isnull()) m_view2_cb(Layer, &code); - SET_TILE_INFO_MEMBER(m_tilebase, code, (attr >> 2) & 0x3f, TILE_FLIPXY(attr & 3)); - tileinfo.category = (attr >> 8) & 7; + SET_TILE_INFO_MEMBER(0, code, (attr >> 2) & 0x3f, TILE_FLIPXY(attr & 3)); + tileinfo.category = (attr >> 8) & 7; } void kaneko_view2_tilemap_device::device_start() { - if(!m_gfxdecode->started()) - throw device_missing_dependencies(); + /* 16x16x4 tiles (made of four 8x8 tiles) */ + gfx_layout layout = + { + 16,16, + 0, + 4, + { STEP4(0,1) }, + { 4, 0, 12, 8, 20, 16, 28, 24, 8*32+4, 8*32+0, 8*32+12, 8*32+8, 8*32+20, 8*32+16, 8*32+28, 8*32+24 }, + { STEP8(0,32), STEP8(16*32,32) }, + 16*16*4 + }; + layout.total = m_gfxrom->bytes() / ((16*16*4) / 8); m_view2_cb.bind_relative_to(*owner()); m_regs = make_unique_clear(0x20/2); + set_gfx(0, std::make_unique(&palette(), layout, m_gfxrom->base(), 0, 0x40, m_colbase)); + m_tmap[0] = &machine().tilemap().create( - *m_gfxdecode, + *this, tilemap_get_info_delegate(FUNC(kaneko_view2_tilemap_device::get_tile_info<0>),this), TILEMAP_SCAN_ROWS, 16,16, 0x20,0x20); m_tmap[1] = &machine().tilemap().create( - *m_gfxdecode, + *this, tilemap_get_info_delegate(FUNC(kaneko_view2_tilemap_device::get_tile_info<1>),this), TILEMAP_SCAN_ROWS, 16,16, 0x20,0x20); @@ -151,11 +170,11 @@ void kaneko_view2_tilemap_device::device_start() m_tmap[0]->set_scroll_rows(0x200); // Line Scroll m_tmap[1]->set_scroll_rows(0x200); - m_tmap[0]->set_scrolldx(-m_dx, m_xdim + m_dx -1 ); - m_tmap[1]->set_scrolldx(-(m_dx+2), m_xdim + (m_dx + 2) - 1 ); + m_tmap[0]->set_scrolldx(-m_dx, m_xdim + m_dx - 1 ); + m_tmap[1]->set_scrolldx(-(m_dx+2), m_xdim + (m_dx + 2) - 1); - m_tmap[0]->set_scrolldy(-m_dy, m_ydim + m_dy -1 ); - m_tmap[1]->set_scrolldy(-m_dy, m_ydim + m_dy -1 ); + m_tmap[0]->set_scrolldy(-m_dy, m_ydim + m_dy - 1); + m_tmap[1]->set_scrolldy(-m_dy, m_ydim + m_dy - 1); save_pointer(NAME(m_regs), 0x20/2); } @@ -177,12 +196,7 @@ void kaneko_view2_tilemap_device::prepare(bitmap_rgb32 &bitmap, const rectangle template void kaneko_view2_tilemap_device::prepare_common(_BitmapClass &bitmap, const rectangle &cliprect) { - int layers_flip_0; - u16 layer0_scrollx, layer0_scrolly; - u16 layer1_scrollx, layer1_scrolly; - int i; - - layers_flip_0 = m_regs[ 4 ]; + const u16 layers_flip_0 = m_regs[4]; /* Enable layers */ m_tmap[0]->enable(~layers_flip_0 & 0x1000); @@ -191,32 +205,31 @@ void kaneko_view2_tilemap_device::prepare_common(_BitmapClass &bitmap, const rec /* Flip layers */ if (!m_invert_flip) { - m_tmap[0]->set_flip( ((layers_flip_0 & 0x0100) ? TILEMAP_FLIPY : 0) | - ((layers_flip_0 & 0x0200) ? TILEMAP_FLIPX : 0) ); - m_tmap[1]->set_flip( ((layers_flip_0 & 0x0100) ? TILEMAP_FLIPY : 0) | - ((layers_flip_0 & 0x0200) ? TILEMAP_FLIPX : 0) ); + m_tmap[0]->set_flip(((layers_flip_0 & 0x0100) ? TILEMAP_FLIPY : 0) | + ((layers_flip_0 & 0x0200) ? TILEMAP_FLIPX : 0)); + m_tmap[1]->set_flip(((layers_flip_0 & 0x0100) ? TILEMAP_FLIPY : 0) | + ((layers_flip_0 & 0x0200) ? TILEMAP_FLIPX : 0)); } else { - m_tmap[0]->set_flip( ((layers_flip_0 & 0x0100) ? 0 : TILEMAP_FLIPY) | - ((layers_flip_0 & 0x0200) ? 0 : TILEMAP_FLIPX) ); - m_tmap[1]->set_flip( ((layers_flip_0 & 0x0100) ? 0 : TILEMAP_FLIPY) | - ((layers_flip_0 & 0x0200) ? 0 : TILEMAP_FLIPX) ); + m_tmap[0]->set_flip(((layers_flip_0 & 0x0100) ? 0 : TILEMAP_FLIPY) | + ((layers_flip_0 & 0x0200) ? 0 : TILEMAP_FLIPX)); + m_tmap[1]->set_flip(((layers_flip_0 & 0x0100) ? 0 : TILEMAP_FLIPY) | + ((layers_flip_0 & 0x0200) ? 0 : TILEMAP_FLIPX)); } /* Scroll layers */ - layer0_scrollx = m_regs[ 2 ]; - layer0_scrolly = m_regs[ 3 ] >> 6; - layer1_scrollx = m_regs[ 0 ]; - layer1_scrolly = m_regs[ 1 ] >> 6; + const u16 layer0_scrollx = m_regs[2]; + const u16 layer0_scrolly = m_regs[3] >> 6; + const u16 layer1_scrollx = m_regs[0]; + const u16 layer1_scrolly = m_regs[1] >> 6; m_tmap[0]->set_scrolly(0, layer0_scrolly); m_tmap[1]->set_scrolly(0, layer1_scrolly); - for (i = 0; i < 0x200; i++) + for (int i = 0; i < 0x200; i++) { - u16 scroll; - scroll = (layers_flip_0 & 0x0800) ? m_vscroll[0][i] : 0; + u16 scroll = (layers_flip_0 & 0x0800) ? m_vscroll[0][i] : 0; m_tmap[0]->set_scrollx(i,(layer0_scrollx + scroll) >> 6 ); scroll = (layers_flip_0 & 0x0008) ? m_vscroll[1][i] : 0; m_tmap[1]->set_scrollx(i,(layer1_scrollx + scroll) >> 6 ); diff --git a/src/mame/video/kaneko_tmap.h b/src/mame/video/kaneko_tmap.h index 23e306c0758..a57d5fd0ee2 100644 --- a/src/mame/video/kaneko_tmap.h +++ b/src/mame/video/kaneko_tmap.h @@ -5,7 +5,7 @@ #pragma once -class kaneko_view2_tilemap_device : public device_t +class kaneko_view2_tilemap_device : public device_t, public device_gfx_interface { public: kaneko_view2_tilemap_device(const machine_config &mconfig, const char *tag, device_t *owner) @@ -16,8 +16,7 @@ public: kaneko_view2_tilemap_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock); // configuration - template void set_gfxdecode_tag(T &&tag) { m_gfxdecode.set_tag(std::forward(tag)); } - void set_gfx_region(int region) { m_tilebase = region; } + void set_colbase(u16 base) { m_colbase = base; } void set_offset(int dx, int dy, int xdim, int ydim) { m_dx = dx; @@ -76,10 +75,10 @@ private: template TILE_GET_INFO_MEMBER(get_tile_info); required_shared_ptr_array m_vram; required_shared_ptr_array m_vscroll; - required_device m_gfxdecode; // set when creating device - int m_tilebase; + required_memory_region m_gfxrom; + u16 m_colbase; int m_dx, m_dy, m_xdim, m_ydim; int m_invert_flip; -- cgit v1.2.3