Skip to content

Commit

Permalink
dataeast/deckarn.cpp, dataeast/decmxc06.cpp: Use device_gfx_interface…
Browse files Browse the repository at this point in the history
… to decode graphics ROMs. (#11821)

Make ROM region names more descriptive in systems using these devices.
  • Loading branch information
cam900 committed Dec 7, 2023
1 parent ffc6d8c commit 55bc72e
Show file tree
Hide file tree
Showing 14 changed files with 468 additions and 411 deletions.
19 changes: 13 additions & 6 deletions src/mame/dataeast/actfancr.cpp
Expand Up @@ -113,7 +113,7 @@ uint32_t actfancr_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
m_spritegen->set_flip_screen(flip);

m_tilegen[0]->deco_bac06_pf_draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0);
m_spritegen->draw_sprites(screen, bitmap, cliprect, m_gfxdecode->gfx(1), m_spriteram16.target(), 0x800/2);
m_spritegen->draw_sprites(screen, bitmap, cliprect, m_spriteram16.target(), 0x800/2);
m_tilegen[1]->deco_bac06_pf_draw(screen, bitmap, cliprect, 0, 0);

return 0;
Expand Down Expand Up @@ -329,16 +329,22 @@ static const gfx_layout layout_16x16x4 =

static GFXDECODE_START( gfx_actfan )
GFXDECODE_ENTRY( "chars", 0, layout_8x8x4, 0, 16 )
GFXDECODE_ENTRY( "sprites", 0, layout_16x16x4, 512, 16 )
GFXDECODE_ENTRY( "tiles", 0, layout_16x16x4, 256, 16 )
GFXDECODE_END

static GFXDECODE_START( gfx_actfan_spr )
GFXDECODE_ENTRY( "sprites", 0, layout_16x16x4, 512, 16 )
GFXDECODE_END

static GFXDECODE_START( gfx_triothep )
GFXDECODE_ENTRY( "chars", 0, layout_8x8x4, 0, 16 )
GFXDECODE_ENTRY( "sprites", 0, layout_16x16x4, 256, 16 )
GFXDECODE_ENTRY( "tiles", 0, layout_16x16x4, 512, 16 )
GFXDECODE_END

static GFXDECODE_START( gfx_triothep_spr )
GFXDECODE_ENTRY( "sprites", 0, layout_16x16x4, 256, 16 )
GFXDECODE_END

/******************************************************************************/

void triothep_state::machine_start()
Expand Down Expand Up @@ -377,14 +383,14 @@ void actfancr_state::actfancr(machine_config &config)
PALETTE(config, "palette").set_format(palette_device::xBGR_444, 768);

DECO_BAC06(config, m_tilegen[0], 0);
m_tilegen[0]->set_gfx_region_wide(2, 2, 2);
m_tilegen[0]->set_gfx_region_wide(1, 1, 2);
m_tilegen[0]->set_gfxdecode_tag(m_gfxdecode);

DECO_BAC06(config, m_tilegen[1], 0);
m_tilegen[1]->set_gfx_region_wide(0, 0, 0);
m_tilegen[1]->set_gfxdecode_tag(m_gfxdecode);

DECO_MXC06(config, m_spritegen, 0);
DECO_MXC06(config, m_spritegen, 0, "palette", gfx_actfan_spr);

// sound hardware
SPEAKER(config, "mono").front_center();
Expand Down Expand Up @@ -419,8 +425,9 @@ void triothep_state::triothep(machine_config &config)

// video hardware
m_gfxdecode->set_info(gfx_triothep);
m_spritegen->set_info(gfx_triothep_spr);

m_tilegen[0]->set_gfx_region_wide(2, 2, 0);
m_tilegen[0]->set_gfx_region_wide(1, 1, 0);

// sound hardware
subdevice<ym2203_device>("ym1")->set_clock(XTAL(12'000'000) / 8); // verified on PCB
Expand Down
351 changes: 180 additions & 171 deletions src/mame/dataeast/dec0.cpp

Large diffs are not rendered by default.

14 changes: 7 additions & 7 deletions src/mame/dataeast/dec0_v.cpp
Expand Up @@ -45,7 +45,7 @@ uint32_t dec0_state::screen_update_hbarrel(screen_device &screen, bitmap_ind16 &
m_tilegen[2]->deco_bac06_pf_draw(screen,bitmap,cliprect,TILEMAP_DRAW_OPAQUE, 1);
m_tilegen[1]->deco_bac06_pf_draw(screen,bitmap,cliprect,0, 2);
m_tilegen[0]->deco_bac06_pf_draw(screen,bitmap,cliprect,0, 4);
m_spritegen->draw_sprites(screen, bitmap, cliprect, m_gfxdecode->gfx(3), m_buffered_spriteram, 0x800/2);
m_spritegen->draw_sprites(screen, bitmap, cliprect, m_buffered_spriteram, 0x800/2);
return 0;
}

Expand Down Expand Up @@ -73,7 +73,7 @@ uint32_t dec0_state::screen_update_baddudes(screen_device &screen, bitmap_ind16
if (m_pri & 2)
m_tilegen[bg]->deco_bac06_pf_draw(screen,bitmap,cliprect,TILEMAP_DRAW_LAYER0, 0); // upper 8 pens of upper 8 priority marked tiles /* Foreground pens only */

m_spritegen->draw_sprites(screen, bitmap, cliprect, m_gfxdecode->gfx(3), m_buffered_spriteram, 0x800/2);
m_spritegen->draw_sprites(screen, bitmap, cliprect, m_buffered_spriteram, 0x800/2);

if (m_pri & 4)
m_tilegen[fg]->deco_bac06_pf_draw(screen,bitmap,cliprect,TILEMAP_DRAW_LAYER0, 0); // upper 8 pens of upper 8 priority marked tiles /* Foreground pens only */
Expand Down Expand Up @@ -124,7 +124,7 @@ uint32_t dec0_state::screen_update_robocop(screen_device &screen, bitmap_ind16 &
const u8 bg = (m_pri & 0x01) ? 1 : 2;
m_tilegen[bg]->deco_bac06_pf_draw(screen,bitmap,cliprect,TILEMAP_DRAW_OPAQUE, 1);
m_tilegen[fg]->deco_bac06_pf_draw(screen,bitmap,cliprect,0, 2);
m_spritegen->draw_sprites(screen, bitmap, cliprect, m_gfxdecode->gfx(3), m_buffered_spriteram, 0x800/2);
m_spritegen->draw_sprites(screen, bitmap, cliprect, m_buffered_spriteram, 0x800/2);
m_tilegen[0]->deco_bac06_pf_draw(screen,bitmap,cliprect,0, 0);
return 0;
}
Expand Down Expand Up @@ -172,7 +172,7 @@ uint32_t dec0_automat_state::screen_update_automat(screen_device &screen, bitmap
const u8 bg = (m_pri & 0x01) ? 1 : 2;
m_tilegen[bg]->deco_bac06_pf_draw(screen,bitmap,cliprect,TILEMAP_DRAW_OPAQUE, 1);
m_tilegen[fg]->deco_bac06_pf_draw(screen,bitmap,cliprect,0, 2);
m_spritegen->draw_sprites_bootleg(screen, bitmap, cliprect, m_gfxdecode->gfx(3), m_buffered_spriteram, 0x800/2); // TODO : RAM size
m_spritegen->draw_sprites_bootleg(screen, bitmap, cliprect, m_buffered_spriteram, 0x800/2); // TODO : RAM size
m_tilegen[0]->deco_bac06_pf_draw(screen,bitmap,cliprect,0, 0);
return 0;
}
Expand All @@ -190,7 +190,7 @@ uint32_t dec0_state::screen_update_birdtry(screen_device &screen, bitmap_ind16 &
the palette does show through. */
bitmap.fill(m_palette->pen(768), cliprect);
m_tilegen[1]->deco_bac06_pf_draw(screen,bitmap,cliprect,0, 0);
m_spritegen->draw_sprites(screen, bitmap, cliprect, m_gfxdecode->gfx(3), m_buffered_spriteram, 0x800/2);
m_spritegen->draw_sprites(screen, bitmap, cliprect, m_buffered_spriteram, 0x800/2);
m_tilegen[0]->deco_bac06_pf_draw(screen,bitmap,cliprect,0, 0);
return 0;
}
Expand All @@ -208,7 +208,7 @@ uint32_t slyspy_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap
m_tilegen[2]->deco_bac06_pf_draw(screen,bitmap,cliprect,TILEMAP_DRAW_OPAQUE, 0);
m_tilegen[1]->deco_bac06_pf_draw(screen,bitmap,cliprect,TILEMAP_DRAW_LAYER0 | TILEMAP_DRAW_LAYER1, 0);

m_spritegen->draw_sprites(screen, bitmap, cliprect, m_gfxdecode->gfx(3), m_buffered_spriteram, 0x800/2);
m_spritegen->draw_sprites(screen, bitmap, cliprect, m_buffered_spriteram, 0x800/2);

/* Redraw top 8 pens of top 8 palettes over sprites */
if (m_pri & 0x80)
Expand Down Expand Up @@ -257,7 +257,7 @@ uint32_t dec0_automat_state::screen_update_secretab(screen_device &screen, bitma
m_tilegen[2]->deco_bac06_pf_draw(screen,bitmap,cliprect,TILEMAP_DRAW_OPAQUE, 0);
m_tilegen[1]->deco_bac06_pf_draw(screen,bitmap,cliprect,TILEMAP_DRAW_LAYER0 | TILEMAP_DRAW_LAYER1, 0);

m_spritegen->draw_sprites_bootleg(screen, bitmap, cliprect, m_gfxdecode->gfx(3), m_buffered_spriteram, 0x800/2); // TODO : RAM size
m_spritegen->draw_sprites_bootleg(screen, bitmap, cliprect, m_buffered_spriteram, 0x800/2); // TODO : RAM size

/* Redraw top 8 pens of top 8 palettes over sprites */
if (m_pri & 0x80)
Expand Down

0 comments on commit 55bc72e

Please sign in to comment.