From b5c404e9ef78fd2ebe28eeb56a1d97a888bb6f1b Mon Sep 17 00:00:00 2001 From: "Alex W. Jackson" Date: Sat, 7 Jun 2014 09:10:48 +0000 Subject: [PATCH] k051316: clean up/simplify inline configs, add tile bank dirty method for ultraman (nw) --- src/mame/drivers/88games.c | 1 - src/mame/drivers/bottom9.c | 1 - src/mame/drivers/chqflag.c | 3 +-- src/mame/drivers/overdriv.c | 3 --- src/mame/drivers/rollerg.c | 1 - src/mame/drivers/tail2nos.c | 1 - src/mame/drivers/ultraman.c | 4 ---- src/mame/drivers/wecleman.c | 2 -- src/mame/video/k051316.c | 11 +++++------ src/mame/video/k051316.h | 15 +++++---------- src/mame/video/overdriv.c | 2 +- src/mame/video/tail2nos.c | 2 +- src/mame/video/ultraman.c | 8 ++++---- 13 files changed, 17 insertions(+), 37 deletions(-) diff --git a/src/mame/drivers/88games.c b/src/mame/drivers/88games.c index aaf79d13888..586062120fd 100644 --- a/src/mame/drivers/88games.c +++ b/src/mame/drivers/88games.c @@ -361,7 +361,6 @@ static MACHINE_CONFIG_START( 88games, _88games_state ) MCFG_DEVICE_ADD("k051316", K051316, 0) MCFG_GFX_PALETTE("palette") - MCFG_K051316_BPP(4) MCFG_K051316_CB(_88games_state, zoom_callback) /* sound hardware */ diff --git a/src/mame/drivers/bottom9.c b/src/mame/drivers/bottom9.c index 7e6bdbc0a60..f933ea9ee02 100644 --- a/src/mame/drivers/bottom9.c +++ b/src/mame/drivers/bottom9.c @@ -342,7 +342,6 @@ static MACHINE_CONFIG_START( bottom9, bottom9_state ) MCFG_DEVICE_ADD("k051316", K051316, 0) MCFG_GFX_PALETTE("palette") - MCFG_K051316_BPP(4) MCFG_K051316_CB(bottom9_state, zoom_callback) /* sound hardware */ diff --git a/src/mame/drivers/chqflag.c b/src/mame/drivers/chqflag.c index a71844ee06e..454150b827a 100644 --- a/src/mame/drivers/chqflag.c +++ b/src/mame/drivers/chqflag.c @@ -336,14 +336,13 @@ static MACHINE_CONFIG_START( chqflag, chqflag_state ) MCFG_DEVICE_ADD("k051316_1", K051316, 0) MCFG_GFX_PALETTE("palette") - MCFG_K051316_BPP(4) MCFG_K051316_OFFSETS(7, 0) MCFG_K051316_CB(chqflag_state, zoom_callback_1) MCFG_DEVICE_ADD("k051316_2", K051316, 0) MCFG_GFX_PALETTE("palette") MCFG_K051316_BPP(8) - MCFG_K051316_SETUP_PENS(true, 0xc0) + MCFG_K051316_LAYER_MASK(0xc0) MCFG_K051316_WRAP(1) MCFG_K051316_CB(chqflag_state, zoom_callback_2) diff --git a/src/mame/drivers/overdriv.c b/src/mame/drivers/overdriv.c index 0f413344cab..da6cd2e1f48 100644 --- a/src/mame/drivers/overdriv.c +++ b/src/mame/drivers/overdriv.c @@ -335,15 +335,12 @@ static MACHINE_CONFIG_START( overdriv, overdriv_state ) MCFG_DEVICE_ADD("k051316_1", K051316, 0) MCFG_GFX_PALETTE("palette") - MCFG_K051316_BPP(4) MCFG_K051316_OFFSETS(14, -1) MCFG_K051316_WRAP(1) - MCFG_K051316_SETUP_PENS(true, 0) MCFG_K051316_CB(overdriv_state, zoom_callback_1) MCFG_DEVICE_ADD("k051316_2", K051316, 0) MCFG_GFX_PALETTE("palette") - MCFG_K051316_BPP(4) MCFG_K051316_OFFSETS(15, 1) MCFG_K051316_CB(overdriv_state, zoom_callback_2) diff --git a/src/mame/drivers/rollerg.c b/src/mame/drivers/rollerg.c index 181baeb603d..29e20e36718 100644 --- a/src/mame/drivers/rollerg.c +++ b/src/mame/drivers/rollerg.c @@ -271,7 +271,6 @@ static MACHINE_CONFIG_START( rollerg, rollerg_state ) MCFG_DEVICE_ADD("k051316", K051316, 0) MCFG_GFX_PALETTE("palette") - MCFG_K051316_BPP(4) MCFG_K051316_OFFSETS(22, 1) MCFG_K051316_CB(rollerg_state, zoom_callback) diff --git a/src/mame/drivers/tail2nos.c b/src/mame/drivers/tail2nos.c index 1e6bdd64f2c..1608be68148 100644 --- a/src/mame/drivers/tail2nos.c +++ b/src/mame/drivers/tail2nos.c @@ -228,7 +228,6 @@ static MACHINE_CONFIG_START( tail2nos, tail2nos_state ) MCFG_GFX_PALETTE("palette") MCFG_K051316_BPP(-4) MCFG_K051316_OFFSETS(-89, -14) - MCFG_K051316_SETUP_PENS(true, 0) MCFG_K051316_WRAP(1) MCFG_K051316_CB(tail2nos_state, zoom_callback) diff --git a/src/mame/drivers/ultraman.c b/src/mame/drivers/ultraman.c index 2918dd433df..e3d1dd62c33 100644 --- a/src/mame/drivers/ultraman.c +++ b/src/mame/drivers/ultraman.c @@ -213,20 +213,16 @@ static MACHINE_CONFIG_START( ultraman, ultraman_state ) MCFG_DEVICE_ADD("k051316_1", K051316, 0) MCFG_GFX_PALETTE("palette") - MCFG_K051316_BPP(4) MCFG_K051316_OFFSETS(8, 0) MCFG_K051316_CB(ultraman_state, zoom_callback_1) MCFG_DEVICE_ADD("k051316_2", K051316, 0) MCFG_GFX_PALETTE("palette") - MCFG_K051316_BPP(4) MCFG_K051316_OFFSETS(8, 0) MCFG_K051316_CB(ultraman_state, zoom_callback_2) MCFG_DEVICE_ADD("k051316_3", K051316, 0) MCFG_GFX_PALETTE("palette") - MCFG_K051316_BPP(4) - MCFG_K051316_SETUP_PENS(true, 0) MCFG_K051316_OFFSETS(8, 0) MCFG_K051316_CB(ultraman_state, zoom_callback_3) diff --git a/src/mame/drivers/wecleman.c b/src/mame/drivers/wecleman.c index 9045f33997c..00c6d11835b 100644 --- a/src/mame/drivers/wecleman.c +++ b/src/mame/drivers/wecleman.c @@ -1140,14 +1140,12 @@ static MACHINE_CONFIG_START( hotchase, wecleman_state ) MCFG_DEVICE_ADD("k051316_1", K051316, 0) MCFG_GFX_PALETTE("palette") - MCFG_K051316_BPP(4) MCFG_K051316_OFFSETS(-0xb0 / 2, -16) MCFG_K051316_WRAP(1) MCFG_K051316_CB(wecleman_state, hotchase_zoom_callback_1) MCFG_DEVICE_ADD("k051316_2", K051316, 0) MCFG_GFX_PALETTE("palette") - MCFG_K051316_BPP(4) MCFG_K051316_OFFSETS(-0xb0 / 2, -16) MCFG_K051316_CB(wecleman_state, hotchase_zoom_callback_2) diff --git a/src/mame/video/k051316.c b/src/mame/video/k051316.c index 56a58ce35e5..2c92bb940cb 100644 --- a/src/mame/video/k051316.c +++ b/src/mame/video/k051316.c @@ -109,9 +109,8 @@ k051316_device::k051316_device(const machine_config &mconfig, const char *tag, d m_dx(0), m_dy(0), m_wrap(0), - m_pen_is_mask(false), m_pixels_per_byte(2), // 4bpp layout is default - m_transparent_pen(0) + m_layermask(0) { } @@ -163,13 +162,13 @@ void k051316_device::device_start() m_tmap = &machine().tilemap().create(*this, tilemap_get_info_delegate(FUNC(k051316_device::get_tile_info),this), TILEMAP_SCAN_ROWS, 16, 16, 32, 32); m_ram.resize_and_clear(0x800); - if (!m_pen_is_mask) - m_tmap->set_transparent_pen(m_transparent_pen); - else + if (m_layermask) { m_tmap->map_pens_to_layer(0, 0, 0, TILEMAP_PIXEL_LAYER1); - m_tmap->map_pens_to_layer(0, m_transparent_pen, m_transparent_pen, TILEMAP_PIXEL_LAYER0); + m_tmap->map_pens_to_layer(0, m_layermask, m_layermask, TILEMAP_PIXEL_LAYER0); } + else + m_tmap->set_transparent_pen(0); // bind callbacks m_k051316_cb.bind_relative_to(*owner()); diff --git a/src/mame/video/k051316.h b/src/mame/video/k051316.h index e5fae6b6eb2..f39881dd521 100644 --- a/src/mame/video/k051316.h +++ b/src/mame/video/k051316.h @@ -15,8 +15,8 @@ typedef device_delegate k051316_cb_del #define MCFG_K051316_BPP(_bpp) \ k051316_device::set_bpp(*device, _bpp); -#define MCFG_K051316_SETUP_PENS(_mask, _pen) \ - k051316_device::set_pens(*device, _mask, _pen); +#define MCFG_K051316_LAYER_MASK(_mask) \ + k051316_device::set_layermask(*device, _mask); #define MCFG_K051316_WRAP(_wrap) \ k051316_device::set_wrap(*device, _wrap); @@ -41,12 +41,7 @@ public: static void set_k051316_callback(device_t &device, k051316_cb_delegate callback) { downcast(device).m_k051316_cb = callback; } static void set_wrap(device_t &device, int wrap) { downcast(device).m_wrap = wrap; } static void set_bpp(device_t &device, int bpp); - static void set_pens(device_t &device, bool mask, int transp) - { - k051316_device &dev = downcast(device); - dev.m_pen_is_mask = mask; - dev.m_transparent_pen = transp; - } + static void set_layermask(device_t &device, int mask) { downcast(device).m_layermask = mask; } static void set_offsets(device_t &device, int x_offset, int y_offset) { k051316_device &dev = downcast(device); @@ -74,6 +69,7 @@ public: void wraparound_enable(int status); void mark_gfx_dirty(offs_t byteoffset) { gfx(0)->mark_dirty(byteoffset * m_pixels_per_byte / (16 * 16)); } + void mark_tmap_dirty() { m_tmap->mark_all_dirty(); } protected: // device-level overrides @@ -91,9 +87,8 @@ private: int m_dx, m_dy; int m_wrap; - bool m_pen_is_mask; int m_pixels_per_byte; - int m_transparent_pen; + int m_layermask; k051316_cb_delegate m_k051316_cb; TILE_GET_INFO_MEMBER(get_tile_info); diff --git a/src/mame/video/overdriv.c b/src/mame/video/overdriv.c index 2aab988874f..cff9fb39955 100644 --- a/src/mame/video/overdriv.c +++ b/src/mame/video/overdriv.c @@ -57,7 +57,7 @@ UINT32 overdriv_state::screen_update_overdriv(screen_device &screen, bitmap_ind1 screen.priority().fill(0, cliprect); - m_k051316_1->zoom_draw(screen, bitmap, cliprect, 0, 0); + m_k051316_1->zoom_draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0); m_k051316_2->zoom_draw(screen, bitmap, cliprect, 0, 1); m_k053246->k053247_sprites_draw( bitmap,cliprect); diff --git a/src/mame/video/tail2nos.c b/src/mame/video/tail2nos.c index bd375f58865..6233698c795 100644 --- a/src/mame/video/tail2nos.c +++ b/src/mame/video/tail2nos.c @@ -155,7 +155,7 @@ UINT32 tail2nos_state::screen_update_tail2nos(screen_device &screen, bitmap_ind1 { if (m_video_enable) { - m_k051316->zoom_draw(screen, bitmap, cliprect, 0, 0); + m_k051316->zoom_draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0); draw_sprites(bitmap, cliprect); m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0); } diff --git a/src/mame/video/ultraman.c b/src/mame/video/ultraman.c index ba316e199f8..6b95161a8f6 100644 --- a/src/mame/video/ultraman.c +++ b/src/mame/video/ultraman.c @@ -83,7 +83,7 @@ WRITE16_MEMBER(ultraman_state::ultraman_gfxctrl_w) if (m_bank0 != ((data & 0x02) >> 1)) { m_bank0 = (data & 0x02) >> 1; - machine().tilemap().mark_all_dirty(); /* should mark only zoom0 */ + m_k051316_1->mark_tmap_dirty(); } m_k051316_2->wraparound_enable(data & 0x04); @@ -91,7 +91,7 @@ WRITE16_MEMBER(ultraman_state::ultraman_gfxctrl_w) if (m_bank1 != ((data & 0x08) >> 3)) { m_bank1 = (data & 0x08) >> 3; - machine().tilemap().mark_all_dirty(); /* should mark only zoom1 */ + m_k051316_2->mark_tmap_dirty(); } m_k051316_3->wraparound_enable(data & 0x10); @@ -99,7 +99,7 @@ WRITE16_MEMBER(ultraman_state::ultraman_gfxctrl_w) if (m_bank2 != ((data & 0x20) >> 5)) { m_bank2 = (data & 0x20) >> 5; - machine().tilemap().mark_all_dirty(); /* should mark only zoom2 */ + m_k051316_3->mark_tmap_dirty(); } coin_counter_w(machine(), 0, data & 0x40); @@ -117,7 +117,7 @@ WRITE16_MEMBER(ultraman_state::ultraman_gfxctrl_w) UINT32 ultraman_state::screen_update_ultraman(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - m_k051316_3->zoom_draw(screen, bitmap, cliprect, 0, 0); + 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);