dataeast/deckarn.cpp, dataeast/decmxc06.cpp: Use device_gfx_interface to decode graphics ROMs. (#11821)

Make ROM region names more descriptive in systems using these devices.
This commit is contained in:
cam900 2023-12-08 02:19:41 +09:00 committed by GitHub
parent ffc6d8c131
commit 55bc72ec97
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 468 additions and 411 deletions

View File

@ -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;
@ -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()
@ -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();
@ -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

File diff suppressed because it is too large Load Diff

View File

@ -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;
}
@ -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 */
@ -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;
}
@ -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;
}
@ -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;
}
@ -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)
@ -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)

View File

@ -1714,43 +1714,54 @@ static const gfx_layout tiles_r =
};
static GFXDECODE_START( gfx_cobracom )
GFXDECODE_ENTRY( "gfx1", 0, charlayout_32k, 0, 8 )
GFXDECODE_ENTRY( "gfx2", 0, tiles, 64, 4 )
GFXDECODE_ENTRY( "gfx4", 0, tiles, 128, 4 )
GFXDECODE_ENTRY( "gfx3", 0, tiles, 192, 4 )
GFXDECODE_ENTRY( "char", 0, charlayout_32k, 0, 8 )
GFXDECODE_ENTRY( "tiles2", 0, tiles, 128, 4 )
GFXDECODE_ENTRY( "tiles1", 0, tiles, 192, 4 )
GFXDECODE_END
static GFXDECODE_START( gfx_cobracom_spr )
GFXDECODE_ENTRY( "sprites", 0, tiles, 64, 4 )
GFXDECODE_END
static GFXDECODE_START( gfx_ghostb )
GFXDECODE_ENTRY( "gfx1", 0, chars_3bpp, 0, 4 )
GFXDECODE_ENTRY( "gfx2", 0, tiles, 256, 16 )
GFXDECODE_ENTRY( "gfx3", 0, tiles_r, 512, 16 )
GFXDECODE_ENTRY( "char", 0, chars_3bpp, 0, 4 )
GFXDECODE_ENTRY( "tiles1", 0, tiles_r, 512, 16 )
GFXDECODE_END
static GFXDECODE_START( gfx_srdarwin )
GFXDECODE_ENTRY( "gfx1", 0x00000, charlayout_16k,128, 4 ) /* Only 1 used so far :/ */
GFXDECODE_ENTRY( "gfx2", 0x00000, sr_sprites, 64, 8 )
GFXDECODE_ENTRY( "gfx3", 0x00000, srdarwin_tiles, 0, 8 )
GFXDECODE_ENTRY( "gfx3", 0x10000, srdarwin_tiles, 0, 8 )
GFXDECODE_ENTRY( "gfx3", 0x20000, srdarwin_tiles, 0, 8 )
GFXDECODE_ENTRY( "gfx3", 0x30000, srdarwin_tiles, 0, 8 )
GFXDECODE_ENTRY( "char", 0x00000, charlayout_16k, 128, 4 ) /* Only 1 used so far :/ */
GFXDECODE_ENTRY( "sprites", 0x00000, sr_sprites, 64, 8 )
GFXDECODE_ENTRY( "tiles1", 0x00000, srdarwin_tiles, 0, 8 )
GFXDECODE_ENTRY( "tiles1", 0x10000, srdarwin_tiles, 0, 8 )
GFXDECODE_ENTRY( "tiles1", 0x20000, srdarwin_tiles, 0, 8 )
GFXDECODE_ENTRY( "tiles1", 0x30000, srdarwin_tiles, 0, 8 )
GFXDECODE_END
static GFXDECODE_START( gfx_gondo )
GFXDECODE_ENTRY( "gfx1", 0, chars_3bpp, 0, 16 ) /* Chars */
GFXDECODE_ENTRY( "gfx2", 0, tiles, 256, 32 ) /* Sprites */
GFXDECODE_ENTRY( "gfx3", 0, tiles, 768, 16 ) /* Tiles */
GFXDECODE_ENTRY( "char", 0, chars_3bpp, 0, 16 ) /* Chars */
GFXDECODE_ENTRY( "tiles1", 0, tiles, 768, 16 ) /* Tiles */
GFXDECODE_END
static GFXDECODE_START( gfx_gondo_spr )
GFXDECODE_ENTRY( "sprites", 0, tiles, 256, 32 ) /* Sprites */
GFXDECODE_END
static GFXDECODE_START( gfx_oscar )
GFXDECODE_ENTRY( "gfx1", 0, oscar_charlayout, 256, 8 ) /* Chars */
GFXDECODE_ENTRY( "gfx2", 0, tiles, 0, 16 ) /* Sprites */
GFXDECODE_ENTRY( "gfx3", 0, tiles, 384, 8 ) /* Tiles */
GFXDECODE_ENTRY( "char", 0, oscar_charlayout, 256, 8 ) /* Chars */
GFXDECODE_ENTRY( "tiles1", 0, tiles, 384, 8 ) /* Tiles */
GFXDECODE_END
static GFXDECODE_START( gfx_oscar_spr )
GFXDECODE_ENTRY( "sprites", 0, tiles, 0, 16 ) /* Sprites */
GFXDECODE_END
static GFXDECODE_START( gfx_shackled )
GFXDECODE_ENTRY( "gfx1", 0, chars_3bpp, 0, 4 )
GFXDECODE_ENTRY( "gfx2", 0, tiles, 256, 16 )
GFXDECODE_ENTRY( "gfx3", 0, tiles, 768, 16 )
GFXDECODE_ENTRY( "char", 0, chars_3bpp, 0, 4 )
GFXDECODE_ENTRY( "tiles1", 0, tiles, 768, 16 )
GFXDECODE_END
static GFXDECODE_START( gfx_shackled_spr )
GFXDECODE_ENTRY( "sprites", 0, tiles, 256, 16 )
GFXDECODE_END
/******************************************************************************/
@ -1890,7 +1901,7 @@ void lastmisn_state::lastmisn(machine_config &config)
/* video hardware */
BUFFERED_SPRITERAM8(config, m_spriteram);
DECO_KARNOVSPRITES(config, m_spritegen_krn, 0);
DECO_KARNOVSPRITES(config, m_spritegen_krn, 0, m_palette, gfx_shackled_spr);
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
// m_screen->set_refresh_hz(58);
@ -1950,7 +1961,7 @@ void lastmisn_state::shackled(machine_config &config)
/* video hardware */
BUFFERED_SPRITERAM8(config, m_spriteram);
DECO_KARNOVSPRITES(config, m_spritegen_krn, 0);
DECO_KARNOVSPRITES(config, m_spritegen_krn, 0, m_palette, gfx_shackled_spr);
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
// m_screen->set_refresh_hz(58);
@ -2002,7 +2013,7 @@ void gondo_state::gondo(machine_config &config)
/* video hardware */
BUFFERED_SPRITERAM8(config, m_spriteram);
DECO_KARNOVSPRITES(config, m_spritegen_krn, 0);
DECO_KARNOVSPRITES(config, m_spritegen_krn, 0, m_palette, gfx_gondo_spr);
m_spritegen_krn->set_colpri_callback(FUNC(gondo_state::gondo_colpri_cb));
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
@ -2057,7 +2068,7 @@ void lastmisn_state::garyoret(machine_config &config)
/* video hardware */
BUFFERED_SPRITERAM8(config, m_spriteram);
DECO_KARNOVSPRITES(config, m_spritegen_krn, 0);
DECO_KARNOVSPRITES(config, m_spritegen_krn, 0, m_palette, gfx_gondo_spr);
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
// m_screen->set_refresh_hz(58);
@ -2114,10 +2125,10 @@ void lastmisn_state::ghostb(machine_config &config)
BUFFERED_SPRITERAM8(config, m_spriteram);
DECO_BAC06(config, m_tilegen[0], 0);
m_tilegen[0]->set_gfx_region_wide(2, 2, 0);
m_tilegen[0]->set_gfx_region_wide(1, 1, 0);
m_tilegen[0]->set_gfxdecode_tag(m_gfxdecode);
DECO_KARNOVSPRITES(config, m_spritegen_krn, 0);
DECO_KARNOVSPRITES(config, m_spritegen_krn, 0, m_palette, gfx_shackled_spr);
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
// m_screen->set_refresh_hz(58);
@ -2187,7 +2198,7 @@ void csilver_state::csilver(machine_config &config)
/* video hardware */
BUFFERED_SPRITERAM8(config, m_spriteram);
DECO_KARNOVSPRITES(config, m_spritegen_krn, 0);
DECO_KARNOVSPRITES(config, m_spritegen_krn, 0, m_palette, gfx_shackled_spr);
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
// m_screen->set_refresh_hz(58);
@ -2245,11 +2256,11 @@ void oscar_state::oscar(machine_config &config)
BUFFERED_SPRITERAM8(config, m_spriteram);
DECO_BAC06(config, m_tilegen[0], 0);
m_tilegen[0]->set_gfx_region_wide(2, 2, 0);
m_tilegen[0]->set_gfx_region_wide(1, 1, 0);
m_tilegen[0]->set_gfxdecode_tag(m_gfxdecode);
m_tilegen[0]->set_tile_callback(FUNC(oscar_state::oscar_tile_cb));
DECO_MXC06(config, m_spritegen_mxc, 0);
DECO_MXC06(config, m_spritegen_mxc, 0, m_palette, gfx_oscar_spr);
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
// m_screen->set_refresh_hz(58);
@ -2353,14 +2364,14 @@ void oscar_state::cobracom(machine_config &config)
BUFFERED_SPRITERAM8(config, m_spriteram);
DECO_BAC06(config, m_tilegen[0], 0);
m_tilegen[0]->set_gfx_region_wide(2, 2, 0);
m_tilegen[0]->set_gfx_region_wide(1, 1, 0);
m_tilegen[0]->set_gfxdecode_tag(m_gfxdecode);
DECO_BAC06(config, m_tilegen[1], 0);
m_tilegen[1]->set_gfx_region_wide(3, 3, 0);
m_tilegen[1]->set_gfx_region_wide(2, 2, 0);
m_tilegen[1]->set_gfxdecode_tag(m_gfxdecode);
DECO_MXC06(config, m_spritegen_mxc, 0);
DECO_MXC06(config, m_spritegen_mxc, 0, m_palette, gfx_cobracom_spr);
m_spritegen_mxc->set_colpri_callback(FUNC(oscar_state::cobracom_colpri_cb));
SCREEN(config, m_screen, SCREEN_TYPE_RASTER);
@ -2410,19 +2421,19 @@ ROM_START( lastmisn )
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
ROM_LOAD( "last_mission_dl00-e.18a", 0x0000, 0x1000, CRC(e97481c6) SHA1(5c6b0e3585712c03b1b657c814c502c396ffa333) BAD_DUMP ) /* not verified to be the same data as the "A" MCU dump */
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
ROM_REGION( 0x08000, "char", 0 ) /* characters */
ROM_LOAD( "last_mission_dl01-.2a", 0x00000, 0x2000, CRC(f3787a5d) SHA1(3701df42cb2aca951963703e72c6c7b272eed82b) )
ROM_CONTINUE( 0x06000, 0x2000 )
ROM_CONTINUE( 0x04000, 0x2000 )
ROM_CONTINUE( 0x02000, 0x2000 )
ROM_REGION( 0x80000, "gfx2", 0 ) /* sprites */
ROM_REGION( 0x80000, "sprites", 0 ) /* sprites */
ROM_LOAD( "last_mission_dl11-.13f", 0x00000, 0x08000, CRC(36579d3b) SHA1(8edf952dafcd5bc66e08074687f0bec809fd4c2f) )
ROM_LOAD( "last_mission_dl12-.9f", 0x20000, 0x08000, CRC(2ba6737e) SHA1(c5e4c27726bf14e9cd60d62e2f17ea5be8093c37) )
ROM_LOAD( "last_mission_dl13-.8f", 0x40000, 0x08000, CRC(39a7dc93) SHA1(3b7968fd06ac0379525c1d3e73f8bbe18ea36439) )
ROM_LOAD( "last_mission_dl10-.16f", 0x60000, 0x08000, CRC(fe275ea8) SHA1(2f089f96583235f1f5226ef2a64b430d84efbeee) )
ROM_REGION( 0x80000, "gfx3", 0 ) /* tiles */
ROM_REGION( 0x80000, "tiles1", 0 ) /* tiles */
ROM_LOAD( "last_mission_dl09-.12k", 0x00000, 0x10000, CRC(6a5a0c5d) SHA1(0106cf693c284be5faf96e56b651fab92a410915) )
ROM_LOAD( "last_mission_dl08-.14k", 0x20000, 0x10000, CRC(3b38cfce) SHA1(d6829bed6916fb301c08031bd466ee4dcc05b275) )
ROM_LOAD( "last_mission_dl07-.15k", 0x40000, 0x10000, CRC(1b60604d) SHA1(1ee15cfdac87f7eeb92050766293b894cfad1466) )
@ -2446,19 +2457,19 @@ ROM_START( lastmisnu6 )
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
ROM_LOAD( "last_mission_dl00-a.18a", 0x0000, 0x1000, CRC(e97481c6) SHA1(5c6b0e3585712c03b1b657c814c502c396ffa333) ) /* Hand written "A", some MCUs are known to be labeled DL00-7, it's not verified to be the same data */
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
ROM_REGION( 0x08000, "char", 0 ) /* characters */
ROM_LOAD( "last_mission_dl01-.2a", 0x00000, 0x2000, CRC(f3787a5d) SHA1(3701df42cb2aca951963703e72c6c7b272eed82b) )
ROM_CONTINUE( 0x06000, 0x2000 )
ROM_CONTINUE( 0x04000, 0x2000 )
ROM_CONTINUE( 0x02000, 0x2000 )
ROM_REGION( 0x80000, "gfx2", 0 ) /* sprites */
ROM_REGION( 0x80000, "sprites", 0 ) /* sprites */
ROM_LOAD( "last_mission_dl11-.13f", 0x00000, 0x08000, CRC(36579d3b) SHA1(8edf952dafcd5bc66e08074687f0bec809fd4c2f) )
ROM_LOAD( "last_mission_dl12-.9f", 0x20000, 0x08000, CRC(2ba6737e) SHA1(c5e4c27726bf14e9cd60d62e2f17ea5be8093c37) )
ROM_LOAD( "last_mission_dl13-.8f", 0x40000, 0x08000, CRC(39a7dc93) SHA1(3b7968fd06ac0379525c1d3e73f8bbe18ea36439) )
ROM_LOAD( "last_mission_dl10-.16f", 0x60000, 0x08000, CRC(fe275ea8) SHA1(2f089f96583235f1f5226ef2a64b430d84efbeee) )
ROM_REGION( 0x80000, "gfx3", 0 ) /* tiles */
ROM_REGION( 0x80000, "tiles1", 0 ) /* tiles */
ROM_LOAD( "last_mission_dl09-.12k", 0x00000, 0x10000, CRC(6a5a0c5d) SHA1(0106cf693c284be5faf96e56b651fab92a410915) )
ROM_LOAD( "last_mission_dl08-.14k", 0x20000, 0x10000, CRC(3b38cfce) SHA1(d6829bed6916fb301c08031bd466ee4dcc05b275) )
ROM_LOAD( "last_mission_dl07-.15k", 0x40000, 0x10000, CRC(1b60604d) SHA1(1ee15cfdac87f7eeb92050766293b894cfad1466) )
@ -2482,19 +2493,19 @@ ROM_START( lastmisnu5 )
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
ROM_LOAD( "last_mission_dl00-a.18a", 0x0000, 0x1000, CRC(e97481c6) SHA1(5c6b0e3585712c03b1b657c814c502c396ffa333) ) /* Hand written "A", some MCUs are known to be labeled DL00-7, it's not verified to be the same data */
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
ROM_REGION( 0x08000, "char", 0 ) /* characters */
ROM_LOAD( "last_mission_dl01-.2a", 0x00000, 0x2000, CRC(f3787a5d) SHA1(3701df42cb2aca951963703e72c6c7b272eed82b) )
ROM_CONTINUE( 0x06000, 0x2000 )
ROM_CONTINUE( 0x04000, 0x2000 )
ROM_CONTINUE( 0x02000, 0x2000 )
ROM_REGION( 0x80000, "gfx2", 0 ) /* sprites */
ROM_REGION( 0x80000, "sprites", 0 ) /* sprites */
ROM_LOAD( "last_mission_dl11-.13f", 0x00000, 0x08000, CRC(36579d3b) SHA1(8edf952dafcd5bc66e08074687f0bec809fd4c2f) )
ROM_LOAD( "last_mission_dl12-.9f", 0x20000, 0x08000, CRC(2ba6737e) SHA1(c5e4c27726bf14e9cd60d62e2f17ea5be8093c37) )
ROM_LOAD( "last_mission_dl13-.8f", 0x40000, 0x08000, CRC(39a7dc93) SHA1(3b7968fd06ac0379525c1d3e73f8bbe18ea36439) )
ROM_LOAD( "last_mission_dl10-.16f", 0x60000, 0x08000, CRC(fe275ea8) SHA1(2f089f96583235f1f5226ef2a64b430d84efbeee) )
ROM_REGION( 0x80000, "gfx3", 0 ) /* tiles */
ROM_REGION( 0x80000, "tiles1", 0 ) /* tiles */
ROM_LOAD( "last_mission_dl09-.12k", 0x00000, 0x10000, CRC(6a5a0c5d) SHA1(0106cf693c284be5faf96e56b651fab92a410915) )
ROM_LOAD( "last_mission_dl08-.14k", 0x20000, 0x10000, CRC(3b38cfce) SHA1(d6829bed6916fb301c08031bd466ee4dcc05b275) )
ROM_LOAD( "last_mission_dl07-.15k", 0x40000, 0x10000, CRC(1b60604d) SHA1(1ee15cfdac87f7eeb92050766293b894cfad1466) )
@ -2518,19 +2529,19 @@ ROM_START( lastmisnj )
ROM_REGION( 0x1000, "mcu", 0 ) // created from dump of the US version
ROM_LOAD( "last_mission_japan.18a", 0x0000, 0x1000, BAD_DUMP CRC(0d58c3a1) SHA1(184e75324b7ab2de8e6441f0c954046db80b2640) ) /* correct ROM label when real MCU is dumped */
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
ROM_REGION( 0x08000, "char", 0 ) /* characters */
ROM_LOAD( "last_mission_dl01-.2a", 0x00000, 0x2000, CRC(f3787a5d) SHA1(3701df42cb2aca951963703e72c6c7b272eed82b) )
ROM_CONTINUE( 0x06000, 0x2000 )
ROM_CONTINUE( 0x04000, 0x2000 )
ROM_CONTINUE( 0x02000, 0x2000 )
ROM_REGION( 0x80000, "gfx2", 0 ) /* sprites */
ROM_REGION( 0x80000, "sprites", 0 ) /* sprites */
ROM_LOAD( "last_mission_dl11-.13f", 0x00000, 0x08000, CRC(36579d3b) SHA1(8edf952dafcd5bc66e08074687f0bec809fd4c2f) )
ROM_LOAD( "last_mission_dl12-.9f", 0x20000, 0x08000, CRC(2ba6737e) SHA1(c5e4c27726bf14e9cd60d62e2f17ea5be8093c37) )
ROM_LOAD( "last_mission_dl13-.8f", 0x40000, 0x08000, CRC(39a7dc93) SHA1(3b7968fd06ac0379525c1d3e73f8bbe18ea36439) )
ROM_LOAD( "last_mission_dl10-.16f", 0x60000, 0x08000, CRC(fe275ea8) SHA1(2f089f96583235f1f5226ef2a64b430d84efbeee) )
ROM_REGION( 0x80000, "gfx3", 0 ) /* tiles */
ROM_REGION( 0x80000, "tiles1", 0 ) /* tiles */
ROM_LOAD( "last_mission_dl09-.12k", 0x00000, 0x10000, CRC(6a5a0c5d) SHA1(0106cf693c284be5faf96e56b651fab92a410915) )
ROM_LOAD( "last_mission_dl08-.14k", 0x20000, 0x10000, CRC(3b38cfce) SHA1(d6829bed6916fb301c08031bd466ee4dcc05b275) )
ROM_LOAD( "last_mission_dl07-.15k", 0x40000, 0x10000, CRC(1b60604d) SHA1(1ee15cfdac87f7eeb92050766293b894cfad1466) )
@ -2558,10 +2569,10 @@ ROM_START( shackled )
ROM_REGION( 0x1000, "mcu", 0 ) /* ID8751H (fake) MCU (based on 'breywood' with ID byte changed from 00 to 01) */
ROM_LOAD( "dk-e.18a", 0x0000, 0x1000, CRC(1af06149) SHA1(b9cb2a4986dbcfc78b0cbea2c1e2bdac1db479cd) BAD_DUMP ) /* Hand written "E" */
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
ROM_REGION( 0x08000, "char", 0 ) /* characters */
ROM_LOAD( "dk-00.2a", 0x00000, 0x08000, CRC(69b975aa) SHA1(38cb96768c79ff1aa1b4b190e08ec9155baf698a) )
ROM_REGION( 0x80000, "gfx2", 0 ) /* sprites */
ROM_REGION( 0x80000, "sprites", 0 ) /* sprites */
ROM_LOAD( "dk-12.15k", 0x00000, 0x10000, CRC(615c2371) SHA1(30b25dc27d34646d886a465c77622eaa894d83c3) )
ROM_LOAD( "dk-13.14k", 0x10000, 0x10000, CRC(479aa503) SHA1(1167f0d15439c95a1094f81855203e863ce0488d) )
ROM_LOAD( "dk-14.13k", 0x20000, 0x10000, CRC(cdc24246) SHA1(1a4189bc2b1fa99740dd7921608159936ba3bd07) )
@ -2571,7 +2582,7 @@ ROM_START( shackled )
ROM_LOAD( "dk-18.8k", 0x60000, 0x10000, CRC(4d466757) SHA1(701d79bebbba4f266e19080d16ff2f93ffa94287) )
ROM_LOAD( "dk-19.6k", 0x70000, 0x10000, CRC(1911e83e) SHA1(174e9db3f2211ecbbb93c6bda8f6185dbfdbc818) )
ROM_REGION( 0x80000, "gfx3", 0 ) /* tiles */
ROM_REGION( 0x80000, "tiles1", 0 ) /* tiles */
ROM_LOAD( "dk-11.12k", 0x00000, 0x10000, CRC(5cf5719f) SHA1(8c7582ac19010421ec748391a193aa18e51b981f) )
ROM_LOAD( "dk-10.14k", 0x20000, 0x10000, CRC(408e6d08) SHA1(28cb76792e5f84bd101a91cb82597a5939804f84) )
ROM_LOAD( "dk-09.15k", 0x40000, 0x10000, CRC(c1557fac) SHA1(7d39ec793113a48baf45c2ea07abb07e2e48985a) )
@ -2599,10 +2610,10 @@ ROM_START( breywood )
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
ROM_LOAD( "dj.18a", 0x0000, 0x1000, CRC(4cb20332) SHA1(e0bbba7be22e7bcff82fb0ae441410e559ec4566) )
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
ROM_REGION( 0x08000, "char", 0 ) /* characters */
ROM_LOAD( "dj-00.2a", 0x00000, 0x08000, CRC(815a891a) SHA1(e557d6a35821a8589d9e3df0f42131b58b08c8ca) )
ROM_REGION( 0x80000, "gfx2", 0 ) /* sprites */
ROM_REGION( 0x80000, "sprites", 0 ) /* sprites */
ROM_LOAD( "dj12.15k", 0x00000, 0x10000, CRC(2b7634f2) SHA1(56d963d4960d9b3e888c8107340763e176adfa9b) )
ROM_LOAD( "dj13.14k", 0x10000, 0x10000, CRC(4530a952) SHA1(99251a21347815cba465669e18df31262bcdaba1) )
ROM_LOAD( "dj14.13k", 0x20000, 0x10000, CRC(87c28833) SHA1(3f1a294065326389d304e540bc880844c6c7cb06) )
@ -2612,7 +2623,7 @@ ROM_START( breywood )
ROM_LOAD( "dj18.8k", 0x60000, 0x10000, CRC(12afe533) SHA1(6df3471c16a714d118717da549a7523aa388ddd3) )
ROM_LOAD( "dj19.6k", 0x70000, 0x10000, CRC(03373755) SHA1(d2541dd957803168f246d96b7cd74eae7fd43188) )
ROM_REGION( 0x80000, "gfx3", 0 ) /* tiles */
ROM_REGION( 0x80000, "tiles1", 0 ) /* tiles */
ROM_LOAD( "dj11.12k", 0x00000, 0x10000, CRC(067e2a43) SHA1(f1da7455aab21f94ed25a93b0ebfde69baa475d1) )
ROM_LOAD( "dj10.14k", 0x20000, 0x10000, CRC(c19733aa) SHA1(3dfcfd33c5c4f792bb941ac933301c03ddd72b03) )
ROM_LOAD( "dj09.15k", 0x40000, 0x10000, CRC(e37d5dbe) SHA1(ff79b4f6d8b0a3061e78d15480df0155650f347f) )
@ -2635,10 +2646,10 @@ ROM_START( gondo )
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
ROM_LOAD( "dt-e.b1", 0x0000, 0x1000, BAD_DUMP CRC(0d0532ec) SHA1(30894f69ff24c1be4b684e07729bbb3e0f353086) ) // hand-crafted from the US version
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
ROM_REGION( 0x08000, "char", 0 ) /* characters */
ROM_LOAD( "dt14-e.b18", 0x00000, 0x08000, CRC(00cbe9c8) SHA1(de7b640de8fd54ee79194945c96d5768d09f483b) ) // identical to Japanese version
ROM_REGION( 0x80000, "gfx2", 0 ) /* sprites */
ROM_REGION( 0x80000, "sprites", 0 ) /* sprites */
ROM_LOAD( "dt19.f13", 0x00000, 0x10000, CRC(da2abe4b) SHA1(d53e4769671f3fd437edcff7e7ea05156bbcb45d) ) // All sprite data matches the Japanese set
ROM_LOAD( "dt20-e.f15", 0x10000, 0x08000, CRC(0eef7f56) SHA1(05c23aa6a598478cd4822634cff96055c585e9d2) ) // Verified only DT17-E, DT18-E, DT20-E & DT22-E have the "-E" extention
ROM_LOAD( "dt16.f9", 0x20000, 0x10000, CRC(e9955d8f) SHA1(aeef5e18f9d36c1bab3000e95205ce1b18cfbf0b) ) // DT15, DT16, DT19 & DT21 do NOT have the "-E" extention
@ -2648,7 +2659,7 @@ ROM_START( gondo )
ROM_LOAD( "dt21.f16", 0x60000, 0x10000, CRC(1c5f682d) SHA1(4b7022cce930a9e9a0087c91e8344269fe7ed889) )
ROM_LOAD( "dt22-e.f18", 0x70000, 0x08000, CRC(c8ffb148) SHA1(ae1a8b3cd1f5e423dc1a3c7d05f9fe7c689432e3) )
ROM_REGION( 0x80000, "gfx3", 0 ) /* tiles */
ROM_REGION( 0x80000, "tiles1", 0 ) /* tiles */
ROM_LOAD( "dt08.h10", 0x00000, 0x08000, CRC(aec483f5) SHA1(1d6de823ab0eeb9c89e9c227428ff278663627f3) ) // Tiles data is the same for all 3 regions
ROM_CONTINUE( 0x10000, 0x08000 )
ROM_LOAD( "dt09.h12", 0x08000, 0x08000, CRC(446f0ce0) SHA1(072b88d6de5aa0ed6b1d60c266bcf170dea927d5) )
@ -2679,10 +2690,10 @@ ROM_START( gondou )
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
ROM_LOAD( "dt-a.b1", 0x0000, 0x1000, CRC(03abceeb) SHA1(a16b779d7cea1c1437f85fa6b6e08894a46a5674) )
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
ROM_REGION( 0x08000, "char", 0 ) /* characters */
ROM_LOAD( "dt14.b18", 0x00000, 0x08000, CRC(4bef16e1) SHA1(b8157a7a1b8f36cea1fd353267a4e03d920cb4aa) )
ROM_REGION( 0x80000, "gfx2", 0 ) /* sprites */
ROM_REGION( 0x80000, "sprites", 0 ) /* sprites */
ROM_LOAD( "dt19.f13", 0x00000, 0x10000, CRC(da2abe4b) SHA1(d53e4769671f3fd437edcff7e7ea05156bbcb45d) )
ROM_LOAD( "dt20.f15", 0x10000, 0x08000, CRC(42d01002) SHA1(5a289ffdc83c05f21908a5d0b6247da5b51c1ddd) ) // Unique data to the US set
ROM_LOAD( "dt16.f9", 0x20000, 0x10000, CRC(e9955d8f) SHA1(aeef5e18f9d36c1bab3000e95205ce1b18cfbf0b) )
@ -2692,7 +2703,7 @@ ROM_START( gondou )
ROM_LOAD( "dt21.f16", 0x60000, 0x10000, CRC(1c5f682d) SHA1(4b7022cce930a9e9a0087c91e8344269fe7ed889) )
ROM_LOAD( "dt22.f18", 0x70000, 0x08000, CRC(c1876a5f) SHA1(66122ce765723765e20036bd4d461a210c8b94d3) ) // Unique data to the US set
ROM_REGION( 0x80000, "gfx3", 0 ) /* tiles */
ROM_REGION( 0x80000, "tiles1", 0 ) /* tiles */
ROM_LOAD( "dt08.h10", 0x00000, 0x08000, CRC(aec483f5) SHA1(1d6de823ab0eeb9c89e9c227428ff278663627f3) ) // Tiles data is the same for all 3 regions
ROM_CONTINUE( 0x10000, 0x08000 )
ROM_LOAD( "dt09.h12", 0x08000, 0x08000, CRC(446f0ce0) SHA1(072b88d6de5aa0ed6b1d60c266bcf170dea927d5) )
@ -2723,10 +2734,10 @@ ROM_START( makyosen )
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
ROM_LOAD( "ds.b1", 0x0000, 0x1000, CRC(08f36e35) SHA1(e8913da71704a89fad41d5bfba45682119166681) )
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
ROM_REGION( 0x08000, "char", 0 ) /* characters */
ROM_LOAD( "ds14.b18", 0x00000, 0x08000, CRC(00cbe9c8) SHA1(de7b640de8fd54ee79194945c96d5768d09f483b) )
ROM_REGION( 0x80000, "gfx2", 0 ) /* sprites */
ROM_REGION( 0x80000, "sprites", 0 ) /* sprites */
ROM_LOAD( "ds19.f13", 0x00000, 0x10000, CRC(da2abe4b) SHA1(d53e4769671f3fd437edcff7e7ea05156bbcb45d) ) // == dt19.f13
ROM_LOAD( "ds20.f15", 0x10000, 0x08000, CRC(0eef7f56) SHA1(05c23aa6a598478cd4822634cff96055c585e9d2) ) // == dt20-e.f15
ROM_LOAD( "ds16.f9", 0x20000, 0x10000, CRC(e9955d8f) SHA1(aeef5e18f9d36c1bab3000e95205ce1b18cfbf0b) ) // == dt16.f9
@ -2736,7 +2747,7 @@ ROM_START( makyosen )
ROM_LOAD( "ds21.f16", 0x60000, 0x10000, CRC(1c5f682d) SHA1(4b7022cce930a9e9a0087c91e8344269fe7ed889) ) // == dt21.f16
ROM_LOAD( "ds22.f18", 0x70000, 0x08000, CRC(c8ffb148) SHA1(ae1a8b3cd1f5e423dc1a3c7d05f9fe7c689432e3) ) // == dt22-e.f18
ROM_REGION( 0x80000, "gfx3", 0 ) /* tiles */
ROM_REGION( 0x80000, "tiles1", 0 ) /* tiles */
ROM_LOAD( "ds08.h10", 0x00000, 0x08000, CRC(aec483f5) SHA1(1d6de823ab0eeb9c89e9c227428ff278663627f3) ) // Tiles data is the same for all 3 regions
ROM_CONTINUE( 0x10000, 0x08000 )
ROM_LOAD( "ds09.h12", 0x08000, 0x08000, CRC(446f0ce0) SHA1(072b88d6de5aa0ed6b1d60c266bcf170dea927d5) )
@ -2773,10 +2784,10 @@ ROM_START( garyoret )
ROM_REGION( 0x1000, "mcu", 0 ) /* ID8751H (fake) MCU based on 'gondo' one */
ROM_LOAD( "dv__.mcu", 0x0000, 0x1000, BAD_DUMP CRC(37cacec6) SHA1(d81fe36939ccac784a83a69dfc6898b22a4515ec) )
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
ROM_REGION( 0x08000, "char", 0 ) /* characters */
ROM_LOAD( "dv14", 0x00000, 0x08000, CRC(fb2bc581) SHA1(d597976c5ae586166c49051cc3de8cf0c2e5a5e1) ) /* Characters */
ROM_REGION( 0x80000, "gfx2", 0 ) /* sprites */
ROM_REGION( 0x80000, "sprites", 0 ) /* sprites */
ROM_LOAD( "dv22", 0x00000, 0x10000, CRC(cef0367e) SHA1(8beb3a6b91ec0a6ec052243c8f626a581d349f65) )
ROM_LOAD( "dv21", 0x10000, 0x08000, CRC(90042fb7) SHA1(f19bbf158c92030e8fddb5087b5b69b71956baf8) )
ROM_LOAD( "dv20", 0x20000, 0x10000, CRC(451a2d8c) SHA1(f4eea444b797d394edeb514ddc1c494fd7ccc2f2) )
@ -2786,7 +2797,7 @@ ROM_START( garyoret )
ROM_LOAD( "dv16", 0x60000, 0x10000, CRC(37e4971e) SHA1(9442c315b7cdbcc046d9e6838cb793c1857174ed) )
ROM_LOAD( "dv15", 0x70000, 0x08000, CRC(ca41b6ac) SHA1(d7a9ef6c89741c1e8e17a668a9d39ea089f5c73f) )
ROM_REGION( 0x80000, "gfx3", 0 ) /* tiles */
ROM_REGION( 0x80000, "tiles1", 0 ) /* tiles */
ROM_LOAD( "dv08", 0x00000, 0x08000, CRC(89c13e15) SHA1(6507e60de5cd78a5b46090e4825a44c2a23631d7) )
ROM_CONTINUE( 0x10000, 0x08000 )
ROM_LOAD( "dv09", 0x08000, 0x08000, CRC(6a345a23) SHA1(b86f81b9fe25acd833ca3e2cff6cfa853c02280a) )
@ -2822,10 +2833,10 @@ ROM_START( ghostb )
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
ROM_LOAD( "dz-1.1b", 0x0000, 0x1000, CRC(9f5f3cb5) SHA1(5ef2b8a5411dde28277d9364db014763019ecf15) )
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
ROM_REGION( 0x08000, "char", 0 ) /* characters */
ROM_LOAD( "dz00.16b", 0x00000, 0x08000, CRC(992b4f31) SHA1(a9f255286193ccc261a9b6983aabf3c76ebe5ce5) )
ROM_REGION( 0x80000, "gfx2", 0 ) /* sprites */
ROM_REGION( 0x80000, "sprites", 0 ) /* sprites */
ROM_LOAD( "dz15.14f", 0x00000, 0x10000, CRC(a01a5fd9) SHA1(c15e11fbc0ede9e4a232abe37e6d221d5789ce8e) )
ROM_LOAD( "dz16.15f", 0x10000, 0x10000, CRC(5a9a344a) SHA1(f4e8c2bae023ce996e99383873eba23ab6f972a8) )
ROM_LOAD( "dz12.9f", 0x20000, 0x10000, CRC(817fae99) SHA1(4179501aedbdf5bb0824bf1c13e033685e57a207) )
@ -2835,7 +2846,7 @@ ROM_START( ghostb )
ROM_LOAD( "dz17.17f", 0x60000, 0x10000, CRC(40361b8b) SHA1(6ee59129e236ead3d9b828fb9726311b7a4f2ff6) )
ROM_LOAD( "dz18.18f", 0x70000, 0x10000, CRC(8d219489) SHA1(0490ad84085d1a60ece1b8ab45f0c551d2ac219d) )
ROM_REGION( 0x40000, "gfx3", 0 ) /* tiles */
ROM_REGION( 0x40000, "tiles1", 0 ) /* tiles */
ROM_LOAD( "dz07.12f", 0x00000, 0x10000, CRC(e7455167) SHA1(a4582ced57862563ef626a25ced4072bc2c95750) )
ROM_LOAD( "dz08.14f", 0x10000, 0x10000, CRC(32f9ddfe) SHA1(2b8c228b0ca938ab7495d53e1a39275a8b872828) )
ROM_LOAD( "dz09.15f", 0x20000, 0x10000, CRC(bb6efc02) SHA1(ec501cd4a624d9c36a545dd100bc4f2f8b1e5cc0) )
@ -2860,10 +2871,10 @@ ROM_START( ghostb2a )
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
ROM_LOAD( "dz-1.1b", 0x0000, 0x1000, CRC(9f5f3cb5) SHA1(5ef2b8a5411dde28277d9364db014763019ecf15) )
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
ROM_REGION( 0x08000, "char", 0 ) /* characters */
ROM_LOAD( "dz00.16b", 0x00000, 0x08000, CRC(992b4f31) SHA1(a9f255286193ccc261a9b6983aabf3c76ebe5ce5) )
ROM_REGION( 0x80000, "gfx2", 0 ) /* sprites */
ROM_REGION( 0x80000, "sprites", 0 ) /* sprites */
ROM_LOAD( "dz15.14f", 0x00000, 0x10000, CRC(a01a5fd9) SHA1(c15e11fbc0ede9e4a232abe37e6d221d5789ce8e) )
ROM_LOAD( "dz16.15f", 0x10000, 0x10000, CRC(5a9a344a) SHA1(f4e8c2bae023ce996e99383873eba23ab6f972a8) )
ROM_LOAD( "dz12.9f", 0x20000, 0x10000, CRC(817fae99) SHA1(4179501aedbdf5bb0824bf1c13e033685e57a207) )
@ -2873,7 +2884,7 @@ ROM_START( ghostb2a )
ROM_LOAD( "dz17.17f", 0x60000, 0x10000, CRC(40361b8b) SHA1(6ee59129e236ead3d9b828fb9726311b7a4f2ff6) )
ROM_LOAD( "dz18.18f", 0x70000, 0x10000, CRC(8d219489) SHA1(0490ad84085d1a60ece1b8ab45f0c551d2ac219d) )
ROM_REGION( 0x40000, "gfx3", 0 ) /* tiles */
ROM_REGION( 0x40000, "tiles1", 0 ) /* tiles */
ROM_LOAD( "dz07.12f", 0x00000, 0x10000, CRC(e7455167) SHA1(a4582ced57862563ef626a25ced4072bc2c95750) )
ROM_LOAD( "dz08.14f", 0x10000, 0x10000, CRC(32f9ddfe) SHA1(2b8c228b0ca938ab7495d53e1a39275a8b872828) )
ROM_LOAD( "dz09.15f", 0x20000, 0x10000, CRC(bb6efc02) SHA1(ec501cd4a624d9c36a545dd100bc4f2f8b1e5cc0) )
@ -2898,10 +2909,10 @@ ROM_START( ghostb3 )
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
ROM_LOAD( "dz-1.1b", 0x0000, 0x1000, CRC(9f5f3cb5) SHA1(5ef2b8a5411dde28277d9364db014763019ecf15) )
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
ROM_REGION( 0x08000, "char", 0 ) /* characters */
ROM_LOAD( "dz00.16b", 0x00000, 0x08000, CRC(992b4f31) SHA1(a9f255286193ccc261a9b6983aabf3c76ebe5ce5) )
ROM_REGION( 0x80000, "gfx2", 0 ) /* sprites */
ROM_REGION( 0x80000, "sprites", 0 ) /* sprites */
ROM_LOAD( "dz15.14f", 0x00000, 0x10000, CRC(a01a5fd9) SHA1(c15e11fbc0ede9e4a232abe37e6d221d5789ce8e) )
ROM_LOAD( "dz16.15f", 0x10000, 0x10000, CRC(5a9a344a) SHA1(f4e8c2bae023ce996e99383873eba23ab6f972a8) )
ROM_LOAD( "dz12.9f", 0x20000, 0x10000, CRC(817fae99) SHA1(4179501aedbdf5bb0824bf1c13e033685e57a207) )
@ -2911,7 +2922,7 @@ ROM_START( ghostb3 )
ROM_LOAD( "dz17.17f", 0x60000, 0x10000, CRC(40361b8b) SHA1(6ee59129e236ead3d9b828fb9726311b7a4f2ff6) )
ROM_LOAD( "dz18.18f", 0x70000, 0x10000, CRC(8d219489) SHA1(0490ad84085d1a60ece1b8ab45f0c551d2ac219d) )
ROM_REGION( 0x40000, "gfx3", 0 ) /* tiles */
ROM_REGION( 0x40000, "tiles1", 0 ) /* tiles */
ROM_LOAD( "dz07.12f", 0x00000, 0x10000, CRC(e7455167) SHA1(a4582ced57862563ef626a25ced4072bc2c95750) )
ROM_LOAD( "dz08.14f", 0x10000, 0x10000, CRC(32f9ddfe) SHA1(2b8c228b0ca938ab7495d53e1a39275a8b872828) )
ROM_LOAD( "dz09.15f", 0x20000, 0x10000, CRC(bb6efc02) SHA1(ec501cd4a624d9c36a545dd100bc4f2f8b1e5cc0) )
@ -2938,10 +2949,10 @@ ROM_START( ghostb3a )
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
ROM_LOAD( "dz-1.1b", 0x0000, 0x1000, CRC(9f5f3cb5) SHA1(5ef2b8a5411dde28277d9364db014763019ecf15) )
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
ROM_REGION( 0x08000, "char", 0 ) /* characters */
ROM_LOAD( "dz00.16b", 0x00000, 0x08000, CRC(992b4f31) SHA1(a9f255286193ccc261a9b6983aabf3c76ebe5ce5) )
ROM_REGION( 0x80000, "gfx2", 0 ) /* sprites */
ROM_REGION( 0x80000, "sprites", 0 ) /* sprites */
ROM_LOAD( "dz15.14f", 0x00000, 0x10000, CRC(a01a5fd9) SHA1(c15e11fbc0ede9e4a232abe37e6d221d5789ce8e) )
ROM_LOAD( "dz16.15f", 0x10000, 0x10000, CRC(5a9a344a) SHA1(f4e8c2bae023ce996e99383873eba23ab6f972a8) )
ROM_LOAD( "dz12.9f", 0x20000, 0x10000, CRC(817fae99) SHA1(4179501aedbdf5bb0824bf1c13e033685e57a207) )
@ -2951,7 +2962,7 @@ ROM_START( ghostb3a )
ROM_LOAD( "dz17.17f", 0x60000, 0x10000, CRC(40361b8b) SHA1(6ee59129e236ead3d9b828fb9726311b7a4f2ff6) )
ROM_LOAD( "dz18.18f", 0x70000, 0x10000, CRC(8d219489) SHA1(0490ad84085d1a60ece1b8ab45f0c551d2ac219d) )
ROM_REGION( 0x40000, "gfx3", 0 ) /* tiles */
ROM_REGION( 0x40000, "tiles1", 0 ) /* tiles */
ROM_LOAD( "dz07.12f", 0x00000, 0x10000, CRC(e7455167) SHA1(a4582ced57862563ef626a25ced4072bc2c95750) )
ROM_LOAD( "dz08.14f", 0x10000, 0x10000, CRC(32f9ddfe) SHA1(2b8c228b0ca938ab7495d53e1a39275a8b872828) )
ROM_LOAD( "dz09.15f", 0x20000, 0x10000, CRC(bb6efc02) SHA1(ec501cd4a624d9c36a545dd100bc4f2f8b1e5cc0) )
@ -3060,10 +3071,10 @@ ROM_START( meikyuh )
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
ROM_LOAD( "dw.1b", 0x0000, 0x1000, CRC(28e9ced9) SHA1(a3d6dfa1e44fa93c0f30fa0a88b6dd3d6e5c4dda) )
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
ROM_REGION( 0x08000, "char", 0 ) /* characters */
ROM_LOAD( "dw00.16b", 0x00000, 0x8000, CRC(3d25f15c) SHA1(590518460d069bc235b5efebec81731d7a2375de) )
ROM_REGION( 0x80000, "gfx2", 0 ) /* sprites */
ROM_REGION( 0x80000, "sprites", 0 ) /* sprites */
ROM_LOAD( "dw14.14f", 0x00000, 0x10000, CRC(9b0dbfa9) SHA1(c9db6e70b217a34fbc2bf17da3f5ec6f0130514a) )
ROM_LOAD( "dw15.15f", 0x10000, 0x10000, CRC(95683fda) SHA1(aa91ad1cd685790e29e16d64bd75a5b4367cf87b) )
ROM_LOAD( "dw11.9f", 0x20000, 0x10000, CRC(1b1fcca7) SHA1(17e510c1b3efa0f6da49461c286b89295db6b9a6) )
@ -3073,7 +3084,7 @@ ROM_START( meikyuh )
ROM_LOAD( "dw16.17f", 0x60000, 0x10000, CRC(e5bcf927) SHA1(b96bd4c124c9745fae1c1f35bdbbdec9f97ab4a5) )
ROM_LOAD( "dw17.18f", 0x70000, 0x10000, CRC(9e10f723) SHA1(159c5e3d821a10b64cd6d538d19063d0f5b057c0) )
ROM_REGION( 0x40000, "gfx3", 0 ) /* tiles */
ROM_REGION( 0x40000, "tiles1", 0 ) /* tiles */
ROM_LOAD( "dw06.12f", 0x00000, 0x10000, CRC(b65e029d) SHA1(f8791d57f688f16e0f076361603510e7133f4e36) )
ROM_LOAD( "dw07.14f", 0x10000, 0x10000, CRC(668d995d) SHA1(dc6221de6103168c8e19f2c6eb159b8989ca2208) )
ROM_LOAD( "dw08.15f", 0x20000, 0x10000, CRC(bb2cf4a0) SHA1(78806adb6a9ad9fc0707ead567a3220eb2bdb32f) )
@ -3152,10 +3163,10 @@ ROM_START( meikyuhbl )
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
ROM_LOAD( "dw.1b", 0x0000, 0x1000, CRC(28e9ced9) SHA1(a3d6dfa1e44fa93c0f30fa0a88b6dd3d6e5c4dda) )
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
ROM_REGION( 0x08000, "char", 0 ) /* characters */
ROM_LOAD( "27256.16b", 0x00000, 0x8000, CRC(3d25f15c) SHA1(590518460d069bc235b5efebec81731d7a2375de) )
ROM_REGION( 0x80000, "gfx2", 0 ) /* sprites */
ROM_REGION( 0x80000, "sprites", 0 ) /* sprites */
ROM_LOAD( "92.6m", 0x00000, 0x10000, CRC(9b0dbfa9) SHA1(c9db6e70b217a34fbc2bf17da3f5ec6f0130514a) )
ROM_LOAD( "93.6o", 0x10000, 0x10000, CRC(95683fda) SHA1(aa91ad1cd685790e29e16d64bd75a5b4367cf87b) )
ROM_LOAD( "89.6i", 0x20000, 0x10000, CRC(1b1fcca7) SHA1(17e510c1b3efa0f6da49461c286b89295db6b9a6) )
@ -3165,7 +3176,7 @@ ROM_START( meikyuhbl )
ROM_LOAD( "94.6p", 0x60000, 0x10000, CRC(e5bcf927) SHA1(b96bd4c124c9745fae1c1f35bdbbdec9f97ab4a5) )
ROM_LOAD( "95.6r", 0x70000, 0x10000, CRC(9e10f723) SHA1(159c5e3d821a10b64cd6d538d19063d0f5b057c0) )
ROM_REGION( 0x40000, "gfx3", 0 ) /* tiles */
ROM_REGION( 0x40000, "tiles1", 0 ) /* tiles */
ROM_LOAD( "27512.12f", 0x00000, 0x10000, CRC(b65e029d) SHA1(f8791d57f688f16e0f076361603510e7133f4e36) )
ROM_LOAD( "27512.14f", 0x10000, 0x10000, CRC(668d995d) SHA1(dc6221de6103168c8e19f2c6eb159b8989ca2208) )
ROM_LOAD( "27512.15f", 0x20000, 0x10000, CRC(bb2cf4a0) SHA1(78806adb6a9ad9fc0707ead567a3220eb2bdb32f) )
@ -3246,10 +3257,10 @@ ROM_START( csilver )
// 017F: B4 4C 0D : cjne a,#$4C,$018F (ID code 0x4c = World version)
ROM_LOAD( "dx-8.19a", 0x0000, 0x1000, CRC(c0266263) SHA1(27ac6fa4af7195f04249c04dec168ab82158704e) )
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
ROM_REGION( 0x08000, "char", 0 ) /* characters */
ROM_LOAD( "dx00.3d", 0x00000, 0x08000, CRC(f01ef985) SHA1(d5b823bd7c0efcf3137f8643c5d99a260bed5675) )
ROM_REGION( 0x80000, "gfx2", 0 ) /* sprites (3bpp) */
ROM_REGION( 0x80000, "sprites", 0 ) /* sprites (3bpp) */
ROM_LOAD( "dx14.15k", 0x00000, 0x10000, CRC(80f07915) SHA1(ea100f12ef3a68110af911fa9beeb73b388f069d) )
/* 0x10000-0x1ffff empty */
ROM_LOAD( "dx13.13k", 0x20000, 0x10000, CRC(d32c02e7) SHA1(d0518ec31e9e3f7b4e76fba5d7c05c33c61a9c72) )
@ -3258,7 +3269,7 @@ ROM_START( csilver )
/* 0x50000-0x5ffff empty */
/* 0x60000-0x7ffff empty (no 4th plane) */
ROM_REGION( 0x80000, "gfx3", 0 ) /* tiles (3bpp) */
ROM_REGION( 0x80000, "tiles1", 0 ) /* tiles (3bpp) */
ROM_LOAD( "dx06.5f", 0x00000, 0x10000, CRC(b6fb208c) SHA1(027d33f0b5feb6f0433134213cfcef96790eaace) )
ROM_LOAD( "dx07.7f", 0x10000, 0x10000, CRC(ee3e1817) SHA1(013496976a9ffacf1587b3a6fc0f548becb1ab0e) )
ROM_LOAD( "dx08.8f", 0x20000, 0x10000, CRC(705900fe) SHA1(53b9d09f9780a3bf3545bc27a2855ebee3884124) )
@ -3287,10 +3298,10 @@ ROM_START( csilverj )
// hand modified version of csilver ROM
ROM_LOAD( "id8751h_japan.mcu", 0x0000, 0x1000, BAD_DUMP CRC(6e801217) SHA1(2d8f7ae533dd8146acf8461d61ddd839544adf55) )
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
ROM_REGION( 0x08000, "char", 0 ) /* characters */
ROM_LOAD( "dx00.3d", 0x00000, 0x08000, CRC(f01ef985) SHA1(d5b823bd7c0efcf3137f8643c5d99a260bed5675) ) // dx00.a1
ROM_REGION( 0x80000, "gfx2", 0 ) /* sprites (3bpp) */
ROM_REGION( 0x80000, "sprites", 0 ) /* sprites (3bpp) */
ROM_LOAD( "dx14.15k", 0x00000, 0x10000, CRC(80f07915) SHA1(ea100f12ef3a68110af911fa9beeb73b388f069d) ) // dx14.b5
/* 0x10000-0x1ffff empty */
ROM_LOAD( "dx13.13k", 0x20000, 0x10000, CRC(d32c02e7) SHA1(d0518ec31e9e3f7b4e76fba5d7c05c33c61a9c72) ) // dx13.b4
@ -3299,7 +3310,7 @@ ROM_START( csilverj )
/* 0x50000-0x5ffff empty */
/* 0x60000-0x7ffff empty (no 4th plane) */
ROM_REGION( 0x80000, "gfx3", 0 ) /* tiles (3bpp) */
ROM_REGION( 0x80000, "tiles1", 0 ) /* tiles (3bpp) */
ROM_LOAD( "dx06.5f", 0x00000, 0x10000, CRC(b6fb208c) SHA1(027d33f0b5feb6f0433134213cfcef96790eaace) ) // dx06.a7
ROM_LOAD( "dx07.7f", 0x10000, 0x10000, CRC(ee3e1817) SHA1(013496976a9ffacf1587b3a6fc0f548becb1ab0e) ) // dx07.a8
ROM_LOAD( "dx08.8f", 0x20000, 0x10000, CRC(705900fe) SHA1(53b9d09f9780a3bf3545bc27a2855ebee3884124) ) // dx08.a9
@ -3327,10 +3338,10 @@ ROM_START( csilverja ) // DE-0250-3 + DE-0251-2
// hand modified version of csilver ROM
ROM_LOAD( "id8751h_japan.mcu", 0x0000, 0x1000, BAD_DUMP CRC(6e801217) SHA1(2d8f7ae533dd8146acf8461d61ddd839544adf55) )
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
ROM_REGION( 0x08000, "char", 0 ) /* characters */
ROM_LOAD( "dx00.3d", 0x00000, 0x08000, CRC(f01ef985) SHA1(d5b823bd7c0efcf3137f8643c5d99a260bed5675) )
ROM_REGION( 0x80000, "gfx2", 0 ) /* sprites (3bpp) */
ROM_REGION( 0x80000, "sprites", 0 ) /* sprites (3bpp) */
ROM_LOAD( "dx14.15k", 0x00000, 0x10000, CRC(80f07915) SHA1(ea100f12ef3a68110af911fa9beeb73b388f069d) )
/* 0x10000-0x1ffff empty */
ROM_LOAD( "dx13.13k", 0x20000, 0x10000, CRC(d32c02e7) SHA1(d0518ec31e9e3f7b4e76fba5d7c05c33c61a9c72) )
@ -3339,7 +3350,7 @@ ROM_START( csilverja ) // DE-0250-3 + DE-0251-2
/* 0x50000-0x5ffff empty */
/* 0x60000-0x7ffff empty (no 4th plane) */
ROM_REGION( 0x80000, "gfx3", 0 ) /* tiles (3bpp) */
ROM_REGION( 0x80000, "tiles1", 0 ) /* tiles (3bpp) */
ROM_LOAD( "dx06.5f", 0x00000, 0x10000, CRC(b6fb208c) SHA1(027d33f0b5feb6f0433134213cfcef96790eaace) )
ROM_LOAD( "dx07.7f", 0x10000, 0x10000, CRC(ee3e1817) SHA1(013496976a9ffacf1587b3a6fc0f548becb1ab0e) )
ROM_LOAD( "dx08.8f", 0x20000, 0x10000, CRC(705900fe) SHA1(53b9d09f9780a3bf3545bc27a2855ebee3884124) )
@ -3362,16 +3373,16 @@ ROM_START( oscar )
ROM_REGION( 2*0x10000, "audiocpu", 0 ) /* 64K for sound CPU + 64k for decrypted opcodes */
ROM_LOAD( "ed12", 0x8000, 0x8000, CRC(432031c5) SHA1(af2deea48b98eb0f9e85a4fb1486021f999f9abd) )
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
ROM_REGION( 0x08000, "char", 0 ) /* characters */
ROM_LOAD( "ed08", 0x00000, 0x04000, CRC(308ac264) SHA1(fd1c4ec4e4f99c33e93cd15e178c4714251a9b7e) )
ROM_REGION( 0x80000, "gfx2", 0 ) /* sprites */
ROM_REGION( 0x80000, "sprites", 0 ) /* sprites */
ROM_LOAD( "ed04", 0x00000, 0x10000, CRC(416a791b) SHA1(e6541b713225289a43962363029eb0e22a1ecb4a) )
ROM_LOAD( "ed05", 0x20000, 0x10000, CRC(fcdba431) SHA1(0be2194519c36ddf136610f60890506eda1faf0b) )
ROM_LOAD( "ed06", 0x40000, 0x10000, CRC(7d50bebc) SHA1(06375f3273c48c7c7d81f1c15cbc5d3f3e05b8ed) )
ROM_LOAD( "ed07", 0x60000, 0x10000, CRC(8fdf0fa5) SHA1(2b4d1ca1436864e89b13b3fa151a4a3708592e0a) )
ROM_REGION( 0x80000, "gfx3", 0 ) /* tiles */
ROM_REGION( 0x80000, "tiles1", 0 ) /* tiles */
ROM_LOAD( "ed01", 0x00000, 0x10000, CRC(d3a58e9e) SHA1(35eda2aa630fc2c11a1aff2b00bcfabe2f3d4249) )
ROM_LOAD( "ed03", 0x20000, 0x10000, CRC(4fc4fb0f) SHA1(0906762a3adbffe765e072255262fedaa78bdb2a) )
ROM_LOAD( "ed00", 0x40000, 0x10000, CRC(ac201f2d) SHA1(77f13eb6a1a44444ca9b25363031451b0d68c988) )
@ -3389,16 +3400,16 @@ ROM_START( oscarbl ) // very similar to the original, main difference it's it u
ROM_REGION( 2*0x10000, "audiocpu", 0 )
ROM_LOAD( "at27c512.1", 0x08000, 0x10000, CRC(302ff92c) SHA1(222cc1e4673a5439da1cdd07cc65dc23f522da1c) ) // data in the first half, opcodes in the second
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
ROM_REGION( 0x08000, "char", 0 ) /* characters */
ROM_LOAD( "ed08", 0x00000, 0x04000, BAD_DUMP CRC(308ac264) SHA1(fd1c4ec4e4f99c33e93cd15e178c4714251a9b7e) ) // not included in this set, probably same
ROM_REGION( 0x80000, "gfx2", 0 ) /* sprites */
ROM_REGION( 0x80000, "sprites", 0 ) /* sprites */
ROM_LOAD( "at27c512.6", 0x00000, 0x10000, CRC(967315b5) SHA1(b7a081241477ab8e62fe3df1b7025b50ceaba180) )
ROM_LOAD( "at27c512.7", 0x20000, 0x10000, CRC(fcdba431) SHA1(0be2194519c36ddf136610f60890506eda1faf0b) )
ROM_LOAD( "at27c512.8", 0x40000, 0x10000, CRC(7d50bebc) SHA1(06375f3273c48c7c7d81f1c15cbc5d3f3e05b8ed) )
ROM_LOAD( "at27c512.9", 0x60000, 0x10000, CRC(8fdf0fa5) SHA1(2b4d1ca1436864e89b13b3fa151a4a3708592e0a) )
ROM_REGION( 0x80000, "gfx3", 0 ) /* tiles */
ROM_REGION( 0x80000, "tiles1", 0 ) /* tiles */
ROM_LOAD( "at27c512.10", 0x00000, 0x10000, CRC(98cb4ffc) SHA1(75465a1e7c113db766e14d22b31bf999c520a8bf) )
ROM_LOAD( "at27c512.11", 0x20000, 0x10000, CRC(bff7fddc) SHA1(129e99fa99920e647a53b9af64c9c288c1e8ad57) )
ROM_LOAD( "at27c512.12", 0x40000, 0x10000, CRC(eff3b56c) SHA1(427d3aa053fa81ef004019eb8bb0aa97787f283e) )
@ -3416,16 +3427,16 @@ ROM_START( oscaru )
ROM_REGION( 2*0x10000, "audiocpu", 0 ) /* 64K for sound CPU + 64k for decrypted opcodes */
ROM_LOAD( "ed12", 0x8000, 0x8000, CRC(432031c5) SHA1(af2deea48b98eb0f9e85a4fb1486021f999f9abd) )
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
ROM_REGION( 0x08000, "char", 0 ) /* characters */
ROM_LOAD( "ed08", 0x00000, 0x04000, CRC(308ac264) SHA1(fd1c4ec4e4f99c33e93cd15e178c4714251a9b7e) )
ROM_REGION( 0x80000, "gfx2", 0 ) /* sprites */
ROM_REGION( 0x80000, "sprites", 0 ) /* sprites */
ROM_LOAD( "ed04", 0x00000, 0x10000, CRC(416a791b) SHA1(e6541b713225289a43962363029eb0e22a1ecb4a) )
ROM_LOAD( "ed05", 0x20000, 0x10000, CRC(fcdba431) SHA1(0be2194519c36ddf136610f60890506eda1faf0b) )
ROM_LOAD( "ed06", 0x40000, 0x10000, CRC(7d50bebc) SHA1(06375f3273c48c7c7d81f1c15cbc5d3f3e05b8ed) )
ROM_LOAD( "ed07", 0x60000, 0x10000, CRC(8fdf0fa5) SHA1(2b4d1ca1436864e89b13b3fa151a4a3708592e0a) )
ROM_REGION( 0x80000, "gfx3", 0 ) /* tiles */
ROM_REGION( 0x80000, "tiles1", 0 ) /* tiles */
ROM_LOAD( "ed01", 0x00000, 0x10000, CRC(d3a58e9e) SHA1(35eda2aa630fc2c11a1aff2b00bcfabe2f3d4249) )
ROM_LOAD( "ed03", 0x20000, 0x10000, CRC(4fc4fb0f) SHA1(0906762a3adbffe765e072255262fedaa78bdb2a) )
ROM_LOAD( "ed00", 0x40000, 0x10000, CRC(ac201f2d) SHA1(77f13eb6a1a44444ca9b25363031451b0d68c988) )
@ -3446,16 +3457,16 @@ ROM_START( oscarj1 )
ROM_REGION( 2*0x10000, "audiocpu", 0 ) /* 64K for sound CPU + 64k for decrypted opcodes */
ROM_LOAD( "ed12", 0x8000, 0x8000, CRC(432031c5) SHA1(af2deea48b98eb0f9e85a4fb1486021f999f9abd) )
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
ROM_REGION( 0x08000, "char", 0 ) /* characters */
ROM_LOAD( "ed08", 0x00000, 0x04000, CRC(308ac264) SHA1(fd1c4ec4e4f99c33e93cd15e178c4714251a9b7e) )
ROM_REGION( 0x80000, "gfx2", 0 ) /* sprites */
ROM_REGION( 0x80000, "sprites", 0 ) /* sprites */
ROM_LOAD( "ed04", 0x00000, 0x10000, CRC(416a791b) SHA1(e6541b713225289a43962363029eb0e22a1ecb4a) )
ROM_LOAD( "ed05", 0x20000, 0x10000, CRC(fcdba431) SHA1(0be2194519c36ddf136610f60890506eda1faf0b) )
ROM_LOAD( "ed06", 0x40000, 0x10000, CRC(7d50bebc) SHA1(06375f3273c48c7c7d81f1c15cbc5d3f3e05b8ed) )
ROM_LOAD( "ed07", 0x60000, 0x10000, CRC(8fdf0fa5) SHA1(2b4d1ca1436864e89b13b3fa151a4a3708592e0a) )
ROM_REGION( 0x80000, "gfx3", 0 ) /* tiles */
ROM_REGION( 0x80000, "tiles1", 0 ) /* tiles */
ROM_LOAD( "ed01", 0x00000, 0x10000, CRC(d3a58e9e) SHA1(35eda2aa630fc2c11a1aff2b00bcfabe2f3d4249) )
ROM_LOAD( "ed03", 0x20000, 0x10000, CRC(4fc4fb0f) SHA1(0906762a3adbffe765e072255262fedaa78bdb2a) )
ROM_LOAD( "ed00", 0x40000, 0x10000, CRC(ac201f2d) SHA1(77f13eb6a1a44444ca9b25363031451b0d68c988) )
@ -3553,16 +3564,16 @@ ROM_START( oscarj2 )
ROM_REGION( 2*0x10000, "audiocpu", 0 ) /* 64K for sound CPU + 64k for decrypted opcodes */
ROM_LOAD( "du12.k5", 0x8000, 0x8000, CRC(432031c5) SHA1(af2deea48b98eb0f9e85a4fb1486021f999f9abd) )
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
ROM_REGION( 0x08000, "char", 0 ) /* characters */
ROM_LOAD( "du08.e5", 0x00000, 0x04000, CRC(308ac264) SHA1(fd1c4ec4e4f99c33e93cd15e178c4714251a9b7e) )
ROM_REGION( 0x80000, "gfx2", 0 ) /* sprites */
ROM_REGION( 0x80000, "sprites", 0 ) /* sprites */
ROM_LOAD( "du04.a11", 0x00000, 0x10000, CRC(416a791b) SHA1(e6541b713225289a43962363029eb0e22a1ecb4a) )
ROM_LOAD( "du05.a14", 0x20000, 0x10000, CRC(fcdba431) SHA1(0be2194519c36ddf136610f60890506eda1faf0b) )
ROM_LOAD( "du06.a16", 0x40000, 0x10000, CRC(7d50bebc) SHA1(06375f3273c48c7c7d81f1c15cbc5d3f3e05b8ed) )
ROM_LOAD( "du07.a20", 0x60000, 0x10000, CRC(8fdf0fa5) SHA1(2b4d1ca1436864e89b13b3fa151a4a3708592e0a) )
ROM_REGION( 0x80000, "gfx3", 0 ) /* tiles */
ROM_REGION( 0x80000, "tiles1", 0 ) /* tiles */
ROM_LOAD( "du01.a3", 0x00000, 0x10000, CRC(d3a58e9e) SHA1(35eda2aa630fc2c11a1aff2b00bcfabe2f3d4249) )
ROM_LOAD( "du03.a6", 0x20000, 0x10000, CRC(4fc4fb0f) SHA1(0906762a3adbffe765e072255262fedaa78bdb2a) )
ROM_LOAD( "du00.a1", 0x40000, 0x10000, CRC(ac201f2d) SHA1(77f13eb6a1a44444ca9b25363031451b0d68c988) )
@ -3585,10 +3596,10 @@ ROM_START( srdarwin )
// 0160: B4 6B 0D : cjne a,#$6B,$0170 (ID code 0x6b = World version)
ROM_LOAD( "dy-e.d11", 0x0000, 0x1000, CRC(11cd6ca4) SHA1(ec70f84228e37f9fc1bda85fa52a009f61c500b2) )
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
ROM_REGION( 0x08000, "char", 0 ) /* characters */
ROM_LOAD( "dy_05.b6", 0x00000, 0x4000, CRC(8780e8a3) SHA1(03ea91fdc5aba8e139201604fb3bf9b69f71f056) )
ROM_REGION( 0x30000, "gfx2", 0 ) /* sprites */
ROM_REGION( 0x30000, "sprites", 0 ) /* sprites */
ROM_LOAD( "dy_07.h16", 0x00000, 0x8000, CRC(97eaba60) SHA1(e3252b67bad7babcf4ece39f46ae4aeb950eb92b) )
ROM_LOAD( "dy_06.h14", 0x08000, 0x8000, CRC(c279541b) SHA1(eb3737413499d07b6c2af99a95b27b2590e670c5) )
ROM_LOAD( "dy_09.k13", 0x10000, 0x8000, CRC(d30d1745) SHA1(647b6121ab6fa812368da45e1295cc41f73be89d) )
@ -3596,7 +3607,7 @@ ROM_START( srdarwin )
ROM_LOAD( "dy_11.k16", 0x20000, 0x8000, CRC(fd9ccc5b) SHA1(b38c44c01acdc455d4192e4c8be1d68d9eb0c7b6) )
ROM_LOAD( "dy_10.k14", 0x28000, 0x8000, CRC(88770ab8) SHA1(0a4a807a8d3b0653864bd984872d5567836f8cf8) )
ROM_REGION( 0x40000, "gfx3", 0 ) /* tiles */
ROM_REGION( 0x40000, "tiles1", 0 ) /* tiles */
ROM_LOAD( "dy_03.b4", 0x00000, 0x4000, CRC(44f2a4f9) SHA1(97368dd112451cd630f2fa5ba54679e84e7d4d97) )
ROM_CONTINUE( 0x10000, 0x4000 )
ROM_CONTINUE( 0x20000, 0x4000 )
@ -3622,10 +3633,10 @@ ROM_START( srdarwinj )
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
ROM_LOAD( "dy.d11", 0x0000, 0x1000, BAD_DUMP CRC(4ac2ca9d) SHA1(6e07788df9fcf4248a9d3e87b8c5f54776bd269e) ) // hand-modified copy of world version to correct region + coinage
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
ROM_REGION( 0x08000, "char", 0 ) /* characters */
ROM_LOAD( "dy_05.b6", 0x00000, 0x4000, CRC(8780e8a3) SHA1(03ea91fdc5aba8e139201604fb3bf9b69f71f056) )
ROM_REGION( 0x30000, "gfx2", 0 ) /* sprites */
ROM_REGION( 0x30000, "sprites", 0 ) /* sprites */
ROM_LOAD( "dy_07.h16", 0x00000, 0x8000, CRC(97eaba60) SHA1(e3252b67bad7babcf4ece39f46ae4aeb950eb92b) )
ROM_LOAD( "dy_06.h14", 0x08000, 0x8000, CRC(c279541b) SHA1(eb3737413499d07b6c2af99a95b27b2590e670c5) )
ROM_LOAD( "dy_09.k13", 0x10000, 0x8000, CRC(d30d1745) SHA1(647b6121ab6fa812368da45e1295cc41f73be89d) )
@ -3633,7 +3644,7 @@ ROM_START( srdarwinj )
ROM_LOAD( "dy_11.k16", 0x20000, 0x8000, CRC(fd9ccc5b) SHA1(b38c44c01acdc455d4192e4c8be1d68d9eb0c7b6) )
ROM_LOAD( "dy_10.k14", 0x28000, 0x8000, CRC(88770ab8) SHA1(0a4a807a8d3b0653864bd984872d5567836f8cf8) )
ROM_REGION( 0x40000, "gfx3", 0 ) /* tiles */
ROM_REGION( 0x40000, "tiles1", 0 ) /* tiles */
ROM_LOAD( "dy_03.b4", 0x00000, 0x4000, CRC(44f2a4f9) SHA1(97368dd112451cd630f2fa5ba54679e84e7d4d97) )
ROM_CONTINUE( 0x10000, 0x4000 )
ROM_CONTINUE( 0x20000, 0x4000 )
@ -3656,22 +3667,22 @@ ROM_START( cobracom )
ROM_REGION( 0x10000, "audiocpu", 0 )
ROM_LOAD( "el10-4.1f", 0x8000, 0x8000, CRC(edfad118) SHA1(10de8805472346fead62460a3fdc09ae26a4e0d5) )
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
ROM_REGION( 0x08000, "char", 0 ) /* characters */
ROM_LOAD( "el14.14j", 0x00000, 0x08000, CRC(47246177) SHA1(51b025740dc03b04009ac97d8d110ab521894386) )
ROM_REGION( 0x80000, "gfx2", 0 ) /* sprites */
ROM_REGION( 0x80000, "sprites", 0 ) /* sprites */
ROM_LOAD( "el00-4.2a", 0x00000, 0x10000, CRC(122da2a8) SHA1(ce72f16abf7e5449c7d044d4b827e8735c3be0ff) )
ROM_LOAD( "el01-4.3a", 0x20000, 0x10000, CRC(27bf705b) SHA1(196c35aaf3816d3eef4c2af6d146a90a48365d33) )
ROM_LOAD( "el02-4.5a", 0x40000, 0x10000, CRC(c86fede6) SHA1(97584fa19591651fcfb39d1b2b6306165e93554c) )
ROM_LOAD( "el03-4.6a", 0x60000, 0x10000, CRC(1d8a855b) SHA1(429261c200dddc62a330be8aea150b2037133188) )
ROM_REGION( 0x80000, "gfx3", 0 ) /* tiles 1 */
ROM_REGION( 0x80000, "tiles1", 0 ) /* tiles 1 */
ROM_LOAD( "el05.15a", 0x00000, 0x10000, CRC(1c4f6033) SHA1(4a7dece911166d1ff5f41df6ec5140596206d8d4) )
ROM_LOAD( "el06.16a", 0x20000, 0x10000, CRC(d24ba794) SHA1(b34b7bbaab4ebdd81c87d363f087cc92e27e8d1c) )
ROM_LOAD( "el04.13a", 0x40000, 0x10000, CRC(d80a49ce) SHA1(1a92413b5ab53f80e44a954433e69ec5fe2c0aa6) )
ROM_LOAD( "el07.18a", 0x60000, 0x10000, CRC(6d771fc3) SHA1(f29979f3aa07bdb544fb0c1d773c5558b4533390) )
ROM_REGION( 0x80000, "gfx4", 0 ) /* tiles 2 */
ROM_REGION( 0x80000, "tiles2", 0 ) /* tiles 2 */
ROM_LOAD( "el08.7d", 0x00000, 0x08000, CRC(cb0dcf4c) SHA1(e14853f83ee9ba5cbf2eb1e085fee4e65af3cc25) )
ROM_CONTINUE( 0x40000, 0x08000 )
ROM_LOAD( "el09.9d", 0x20000, 0x08000, CRC(1fae5be7) SHA1(be6e090b0b82648b385d9b6d11775f3ff40f0af3) )
@ -3693,22 +3704,22 @@ ROM_START( cobracoma )
ROM_REGION( 0x10000, "audiocpu", 0 )
ROM_LOAD( "el10-4.1f", 0x8000, 0x8000, CRC(edfad118) SHA1(10de8805472346fead62460a3fdc09ae26a4e0d5) )
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
ROM_REGION( 0x08000, "char", 0 ) /* characters */
ROM_LOAD( "el14.14j", 0x00000, 0x08000, CRC(47246177) SHA1(51b025740dc03b04009ac97d8d110ab521894386) )
ROM_REGION( 0x80000, "gfx2", 0 ) /* sprites */
ROM_REGION( 0x80000, "sprites", 0 ) /* sprites */
ROM_LOAD( "el00-4.2a", 0x00000, 0x10000, CRC(122da2a8) SHA1(ce72f16abf7e5449c7d044d4b827e8735c3be0ff) )
ROM_LOAD( "el01-4.3a", 0x20000, 0x10000, CRC(27bf705b) SHA1(196c35aaf3816d3eef4c2af6d146a90a48365d33) )
ROM_LOAD( "el02-4.5a", 0x40000, 0x10000, CRC(c86fede6) SHA1(97584fa19591651fcfb39d1b2b6306165e93554c) )
ROM_LOAD( "el03-4.6a", 0x60000, 0x10000, CRC(1d8a855b) SHA1(429261c200dddc62a330be8aea150b2037133188) )
ROM_REGION( 0x80000, "gfx3", 0 ) /* tiles 1 */
ROM_REGION( 0x80000, "tiles1", 0 ) /* tiles 1 */
ROM_LOAD( "el05.15a", 0x00000, 0x10000, CRC(1c4f6033) SHA1(4a7dece911166d1ff5f41df6ec5140596206d8d4) )
ROM_LOAD( "el06.16a", 0x20000, 0x10000, CRC(d24ba794) SHA1(b34b7bbaab4ebdd81c87d363f087cc92e27e8d1c) )
ROM_LOAD( "el04.13a", 0x40000, 0x10000, CRC(d80a49ce) SHA1(1a92413b5ab53f80e44a954433e69ec5fe2c0aa6) )
ROM_LOAD( "el07.18a", 0x60000, 0x10000, CRC(6d771fc3) SHA1(f29979f3aa07bdb544fb0c1d773c5558b4533390) )
ROM_REGION( 0x80000, "gfx4", 0 ) /* tiles 2 */
ROM_REGION( 0x80000, "tiles2", 0 ) /* tiles 2 */
ROM_LOAD( "el08.7d", 0x00000, 0x08000, CRC(cb0dcf4c) SHA1(e14853f83ee9ba5cbf2eb1e085fee4e65af3cc25) )
ROM_CONTINUE( 0x40000, 0x08000 )
ROM_LOAD( "el09.9d", 0x20000, 0x08000, CRC(1fae5be7) SHA1(be6e090b0b82648b385d9b6d11775f3ff40f0af3) )
@ -3730,22 +3741,22 @@ ROM_START( cobracomb )
ROM_REGION( 0x10000, "audiocpu", 0 )
ROM_LOAD( "el10.1f", 0x8000, 0x8000, CRC(62ca5e89) SHA1(b04acaccc58846e0d277868a873a440b7f8071b0) )
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
ROM_REGION( 0x08000, "char", 0 ) /* characters */
ROM_LOAD( "el14.14j", 0x00000, 0x08000, CRC(47246177) SHA1(51b025740dc03b04009ac97d8d110ab521894386) )
ROM_REGION( 0x80000, "gfx2", 0 ) /* sprites */
ROM_REGION( 0x80000, "sprites", 0 ) /* sprites */
ROM_LOAD( "el00.2a", 0x00000, 0x10000, CRC(d96b6797) SHA1(01c4a9f2bebb13cba14636690cd5356db73f045e) )
ROM_LOAD( "el01.3a", 0x20000, 0x10000, CRC(3fef9c02) SHA1(e4b731faf6a2f4e5fed8ba9bd07e0f203981ffec) )
ROM_LOAD( "el02.5a", 0x40000, 0x10000, CRC(bfae6c34) SHA1(9503a120e11e9466cd9a2931fd44a631d72ca5f0) )
ROM_LOAD( "el03.6a", 0x60000, 0x10000, CRC(d56790f8) SHA1(1cc7cb9f7102158de14a737e9317a54f01790ba8) )
ROM_REGION( 0x80000, "gfx3", 0 ) /* tiles 1 */
ROM_REGION( 0x80000, "tiles1", 0 ) /* tiles 1 */
ROM_LOAD( "el05.15a", 0x00000, 0x10000, CRC(1c4f6033) SHA1(4a7dece911166d1ff5f41df6ec5140596206d8d4) )
ROM_LOAD( "el06.16a", 0x20000, 0x10000, CRC(d24ba794) SHA1(b34b7bbaab4ebdd81c87d363f087cc92e27e8d1c) )
ROM_LOAD( "el04.13a", 0x40000, 0x10000, CRC(d80a49ce) SHA1(1a92413b5ab53f80e44a954433e69ec5fe2c0aa6) )
ROM_LOAD( "el07.18a", 0x60000, 0x10000, CRC(6d771fc3) SHA1(f29979f3aa07bdb544fb0c1d773c5558b4533390) )
ROM_REGION( 0x80000, "gfx4", 0 ) /* tiles 2 */
ROM_REGION( 0x80000, "tiles2", 0 ) /* tiles 2 */
ROM_LOAD( "el08.7d", 0x00000, 0x08000, CRC(cb0dcf4c) SHA1(e14853f83ee9ba5cbf2eb1e085fee4e65af3cc25) )
ROM_CONTINUE( 0x40000, 0x08000 )
ROM_LOAD( "el09.9d", 0x20000, 0x08000, CRC(1fae5be7) SHA1(be6e090b0b82648b385d9b6d11775f3ff40f0af3) )
@ -3767,22 +3778,22 @@ ROM_START( cobracomj )
ROM_REGION( 0x10000, "audiocpu", 0 )
ROM_LOAD( "eh10.1f", 0x8000, 0x8000, CRC(62ca5e89) SHA1(b04acaccc58846e0d277868a873a440b7f8071b0) )
ROM_REGION( 0x08000, "gfx1", 0 ) /* characters */
ROM_REGION( 0x08000, "char", 0 ) /* characters */
ROM_LOAD( "eh14.14j", 0x00000, 0x08000, CRC(47246177) SHA1(51b025740dc03b04009ac97d8d110ab521894386) )
ROM_REGION( 0x80000, "gfx2", 0 ) /* sprites */
ROM_REGION( 0x80000, "sprites", 0 ) /* sprites */
ROM_LOAD( "eh00.2a", 0x00000, 0x10000, CRC(d96b6797) SHA1(01c4a9f2bebb13cba14636690cd5356db73f045e) )
ROM_LOAD( "eh01.3a", 0x20000, 0x10000, CRC(3fef9c02) SHA1(e4b731faf6a2f4e5fed8ba9bd07e0f203981ffec) )
ROM_LOAD( "eh02.5a", 0x40000, 0x10000, CRC(bfae6c34) SHA1(9503a120e11e9466cd9a2931fd44a631d72ca5f0) )
ROM_LOAD( "eh03.6a", 0x60000, 0x10000, CRC(d56790f8) SHA1(1cc7cb9f7102158de14a737e9317a54f01790ba8) )
ROM_REGION( 0x80000, "gfx3", 0 ) /* tiles 1 */
ROM_REGION( 0x80000, "tiles1", 0 ) /* tiles 1 */
ROM_LOAD( "eh05.15a", 0x00000, 0x10000, CRC(1c4f6033) SHA1(4a7dece911166d1ff5f41df6ec5140596206d8d4) )
ROM_LOAD( "eh06.16a", 0x20000, 0x10000, CRC(d24ba794) SHA1(b34b7bbaab4ebdd81c87d363f087cc92e27e8d1c) )
ROM_LOAD( "eh04.13a", 0x40000, 0x10000, CRC(d80a49ce) SHA1(1a92413b5ab53f80e44a954433e69ec5fe2c0aa6) )
ROM_LOAD( "eh07.18a", 0x60000, 0x10000, CRC(6d771fc3) SHA1(f29979f3aa07bdb544fb0c1d773c5558b4533390) )
ROM_REGION( 0x80000, "gfx4", 0 ) /* tiles 2 */
ROM_REGION( 0x80000, "tiles2", 0 ) /* tiles 2 */
ROM_LOAD( "eh08.7d", 0x00000, 0x08000, CRC(cb0dcf4c) SHA1(e14853f83ee9ba5cbf2eb1e085fee4e65af3cc25) )
ROM_CONTINUE( 0x40000, 0x08000 )
ROM_LOAD( "eh09.9d", 0x20000, 0x08000, CRC(1fae5be7) SHA1(be6e090b0b82648b385d9b6d11775f3ff40f0af3) )
@ -3807,22 +3818,22 @@ ROM_START( cobracomjb )
ROM_REGION( 0x10000, "audiocpu", 0 )
ROM_LOAD( "cobra5.bin", 0x8000, 0x8000, CRC(62ca5e89) SHA1(b04acaccc58846e0d277868a873a440b7f8071b0) )
ROM_REGION( 0x08000, "gfx1", 0 ) // characters
ROM_REGION( 0x08000, "char", 0 ) // characters
ROM_LOAD( "cobra1.bin", 0x00000, 0x08000, CRC(47246177) SHA1(51b025740dc03b04009ac97d8d110ab521894386) )
ROM_REGION( 0x80000, "gfx2", 0 ) // sprites
ROM_REGION( 0x80000, "sprites", 0 ) // sprites
ROM_LOAD( "cob17.bin", 0x00000, 0x10000, CRC(d96b6797) SHA1(01c4a9f2bebb13cba14636690cd5356db73f045e) )
ROM_LOAD( "cob16.bin", 0x20000, 0x10000, CRC(3fef9c02) SHA1(e4b731faf6a2f4e5fed8ba9bd07e0f203981ffec) )
ROM_LOAD( "cob15.bin", 0x40000, 0x10000, CRC(bfae6c34) SHA1(9503a120e11e9466cd9a2931fd44a631d72ca5f0) )
ROM_LOAD( "cob14.bin", 0x60000, 0x10000, CRC(d56790f8) SHA1(1cc7cb9f7102158de14a737e9317a54f01790ba8) )
ROM_REGION( 0x80000, "gfx3", 0 ) // tiles 1
ROM_REGION( 0x80000, "tiles1", 0 ) // tiles 1
ROM_LOAD( "cob13.bin", 0x00000, 0x10000, CRC(1c4f6033) SHA1(4a7dece911166d1ff5f41df6ec5140596206d8d4) )
ROM_LOAD( "cob12.bin", 0x20000, 0x10000, CRC(d24ba794) SHA1(b34b7bbaab4ebdd81c87d363f087cc92e27e8d1c) )
ROM_LOAD( "cob11.bin", 0x40000, 0x10000, CRC(d80a49ce) SHA1(1a92413b5ab53f80e44a954433e69ec5fe2c0aa6) )
ROM_LOAD( "cob10.bin", 0x60000, 0x10000, CRC(6d771fc3) SHA1(f29979f3aa07bdb544fb0c1d773c5558b4533390) )
ROM_REGION( 0x80000, "gfx4", 0 ) // tiles 2
ROM_REGION( 0x80000, "tiles2", 0 ) // tiles 2
ROM_LOAD( "cobra6.bin", 0x00000, 0x08000, CRC(c991298f) SHA1(3f79773a8def6b79b77c2ca6b8e8dbde5bdcd127) )
ROM_LOAD( "cobra8.bin", 0x20000, 0x08000, CRC(6bcc5982) SHA1(5bafa9a7a115d2b67f4fd582dc79f7e2848e5010) )
ROM_LOAD( "cobra7.bin", 0x40000, 0x08000, CRC(f5e267e5) SHA1(4abda964b8ebceeaba7717d4df23a85862934490) )

View File

@ -226,7 +226,7 @@ uint32_t oscar_state::screen_update_cobracom(screen_device &screen, bitmap_ind16
m_tilegen[0]->deco_bac06_pf_draw(screen,bitmap,cliprect,TILEMAP_DRAW_OPAQUE, 1);
m_tilegen[1]->deco_bac06_pf_draw(screen,bitmap,cliprect,0, 2);
m_spritegen_mxc->draw_sprites(screen, bitmap, cliprect, m_gfxdecode->gfx(1), m_buffered_spriteram16.get(), 0x800/2);
m_spritegen_mxc->draw_sprites(screen, bitmap, cliprect, m_buffered_spriteram16.get(), 0x800/2);
m_fix_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0;
}
@ -261,7 +261,7 @@ VIDEO_START_MEMBER(oscar_state,cobracom)
uint32_t lastmisn_state::screen_update_ghostb(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
m_tilegen[0]->deco_bac06_pf_draw(screen,bitmap,cliprect,TILEMAP_DRAW_OPAQUE, 0);
m_spritegen_krn->draw_sprites(screen, bitmap, cliprect, m_gfxdecode->gfx(1), m_buffered_spriteram16.get(), 0x400);
m_spritegen_krn->draw_sprites(screen, bitmap, cliprect, m_buffered_spriteram16.get(), 0x400);
m_fix_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0;
}
@ -307,7 +307,7 @@ uint32_t oscar_state::screen_update_oscar(screen_device &screen, bitmap_ind16 &b
m_fix_tilemap->set_flip(flip ? (TILEMAP_FLIPY | TILEMAP_FLIPX) : 0);
m_tilegen[0]->deco_bac06_pf_draw(screen,bitmap,cliprect,TILEMAP_DRAW_LAYER1, 0);
m_spritegen_mxc->draw_sprites(screen, bitmap, cliprect, m_gfxdecode->gfx(1), m_buffered_spriteram16.get(), 0x800/2);
m_spritegen_mxc->draw_sprites(screen, bitmap, cliprect, m_buffered_spriteram16.get(), 0x800/2);
m_tilegen[0]->deco_bac06_pf_draw(screen,bitmap,cliprect,TILEMAP_DRAW_LAYER0, 0);
m_fix_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0;
@ -345,7 +345,7 @@ uint32_t lastmisn_state::screen_update_lastmisn(screen_device &screen, bitmap_in
m_bg_tilemap->set_scrolly(0, ((m_scroll[2] << 8)+ m_scroll[3]));
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
m_spritegen_krn->draw_sprites(screen, bitmap, cliprect, m_gfxdecode->gfx(1), m_buffered_spriteram16.get(), 0x400);
m_spritegen_krn->draw_sprites(screen, bitmap, cliprect, m_buffered_spriteram16.get(), 0x400);
m_fix_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0;
}
@ -358,7 +358,7 @@ uint32_t lastmisn_state::screen_update_shackled(screen_device &screen, bitmap_in
m_bg_tilemap->draw(screen, bitmap, cliprect, TILEMAP_DRAW_LAYER1 | 0, 0);
m_bg_tilemap->draw(screen, bitmap, cliprect, TILEMAP_DRAW_LAYER1 | 1, 0);
m_bg_tilemap->draw(screen, bitmap, cliprect, TILEMAP_DRAW_LAYER0 | 0, 0);
m_spritegen_krn->draw_sprites(screen, bitmap, cliprect, m_gfxdecode->gfx(1), m_buffered_spriteram16.get(), 0x400);
m_spritegen_krn->draw_sprites(screen, bitmap, cliprect, m_buffered_spriteram16.get(), 0x400);
m_bg_tilemap->draw(screen, bitmap, cliprect, TILEMAP_DRAW_LAYER0 | 1, 0);
m_fix_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0;
@ -381,7 +381,7 @@ TILE_GET_INFO_MEMBER(lastmisn_state::get_lastmisn_tile_info)
else
tileinfo.category = 0;
tileinfo.set(2,
tileinfo.set(1,
tile & 0xfff,
color,
0);
@ -492,7 +492,7 @@ uint32_t gondo_state::screen_update_gondo(screen_device &screen, bitmap_ind16 &b
m_bg_tilemap->draw(screen, bitmap, cliprect, TILEMAP_DRAW_LAYER1, 1);
m_bg_tilemap->draw(screen, bitmap, cliprect, TILEMAP_DRAW_LAYER0, 2);
m_spritegen_krn->draw_sprites(screen, bitmap, cliprect, m_gfxdecode->gfx(1), m_buffered_spriteram16.get(), 0x400);
m_spritegen_krn->draw_sprites(screen, bitmap, cliprect, m_buffered_spriteram16.get(), 0x400);
m_fix_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0;
}
@ -503,7 +503,7 @@ uint32_t lastmisn_state::screen_update_garyoret(screen_device &screen, bitmap_in
m_bg_tilemap->set_scrolly(0, ((m_scroll[2] << 8) + m_scroll[3]));
m_bg_tilemap->draw(screen, bitmap, cliprect, 0, 0);
m_spritegen_krn->draw_sprites(screen, bitmap, cliprect, m_gfxdecode->gfx(1), m_buffered_spriteram16.get(), 0x400);
m_spritegen_krn->draw_sprites(screen, bitmap, cliprect, m_buffered_spriteram16.get(), 0x400);
m_bg_tilemap->draw(screen, bitmap, cliprect, 1, 0);
m_fix_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0;
@ -532,7 +532,7 @@ TILE_GET_INFO_MEMBER(lastmisn_state::get_gondo_tile_info)
else
tileinfo.category = 0;
tileinfo.set(2,
tileinfo.set(1,
tile&0xfff,
color,
0);

View File

@ -10,7 +10,9 @@ DEFINE_DEVICE_TYPE(DECO_KARNOVSPRITES, deco_karnovsprites_device, "deco_karnovsp
deco_karnovsprites_device::deco_karnovsprites_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock)
: device_t(mconfig, DECO_KARNOVSPRITES, tag, owner, clock)
, device_gfx_interface(mconfig, *this)
, m_colpri_cb(*this)
, m_flip_screen(false)
{
}
@ -26,18 +28,15 @@ void deco_karnovsprites_device::device_reset()
{
}
void deco_karnovsprites_device::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, gfx_element *gfx, u16* spriteram, int size)
void deco_karnovsprites_device::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, const u16 *spriteram, int size)
{
const bool priority = !m_colpri_cb.isnull();
int start, end, inc;
if (priority) { start = size - 4; end = -4; inc = -4; }
else { start = 0; end = size; inc = +4; }
const int start = priority ? (size - 4) : 0;
const int end = priority ? -4 : size;
const int inc = priority ? -4 : 4;
for (int offs = start; offs != end; offs += inc)
{
int sprite2;
u32 pri_mask = 0;
const u16 data0 = spriteram[offs];
if (!(data0 & 0x8000))
continue;
@ -45,6 +44,7 @@ void deco_karnovsprites_device::draw_sprites(screen_device &screen, bitmap_ind16
int y = data0 & 0x1ff;
const u16 data3 = spriteram[offs + 3];
u32 colour = data3 >> 12;
u32 pri_mask = 0;
if (priority)
m_colpri_cb(colour, pri_mask);
@ -53,9 +53,9 @@ void deco_karnovsprites_device::draw_sprites(screen_device &screen, bitmap_ind16
const u16 data1 = spriteram[offs + 1];
/* the 8-bit implementation had this.
illustrated by enemy projectile explosions in Shackled being left on screen. */
if ((data1 & 0x1) == 0) continue;
/* the 8-bit implementation had this. illustrated by enemy projectile explosions in Shackled being left on screen. */
if ((data1 & 0x1) == 0)
continue;
const bool extra = (data1 & 0x10) ? 1 : 0;
int fy = data1 & 0x2;
@ -82,6 +82,7 @@ void deco_karnovsprites_device::draw_sprites(screen_device &screen, bitmap_ind16
}
/* Y Flip determines order of multi-sprite */
int sprite2;
if (extra && fy)
{
sprite2 = sprite;
@ -92,25 +93,25 @@ void deco_karnovsprites_device::draw_sprites(screen_device &screen, bitmap_ind16
if (priority)
{
gfx->prio_transpen(bitmap,cliprect,
gfx(0)->prio_transpen(bitmap,cliprect,
sprite,
colour,fx,fy,x,y,screen.priority(),pri_mask,0);
/* 1 more sprite drawn underneath */
if (extra)
gfx->prio_transpen(bitmap,cliprect,
gfx(0)->prio_transpen(bitmap,cliprect,
sprite2,
colour,fx,fy,x,y+16,screen.priority(),pri_mask,0);
}
else
{
gfx->transpen(bitmap,cliprect,
gfx(0)->transpen(bitmap,cliprect,
sprite,
colour,fx,fy,x,y,0);
/* 1 more sprite drawn underneath */
if (extra)
gfx->transpen(bitmap,cliprect,
gfx(0)->transpen(bitmap,cliprect,
sprite2,
colour,fx,fy,x,y+16,0);
}

View File

@ -7,24 +7,31 @@
#include "screen.h"
class deco_karnovsprites_device : public device_t
class deco_karnovsprites_device : public device_t, public device_gfx_interface
{
public:
typedef device_delegate<void (u32 &colour, u32 &pri_mask)> colpri_cb_delegate;
deco_karnovsprites_device(const machine_config &mconfig, const char *tag, device_t *owner, u32 clock);
void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, gfx_element *gfx, u16* spriteram, int size);
void set_flip_screen(bool flip) { m_flip_screen = flip; }
template <typename T> deco_karnovsprites_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&palette_tag, const gfx_decode_entry *gfxinfo)
: deco_karnovsprites_device(mconfig, tag, owner, clock)
{
set_info(gfxinfo);
set_palette(std::forward<T>(palette_tag));
}
template <typename... T> void set_colpri_callback(T &&... args) { m_colpri_cb.set(std::forward<T>(args)...); }
void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, const u16 *spriteram, int size);
void set_flip_screen(bool flip) { m_flip_screen = flip; }
protected:
virtual void device_start() override;
virtual void device_reset() override;
private:
colpri_cb_delegate m_colpri_cb;
bool m_flip_screen = false;
bool m_flip_screen;
};
DECLARE_DEVICE_TYPE(DECO_KARNOVSPRITES, deco_karnovsprites_device)

View File

@ -48,12 +48,13 @@ DEFINE_DEVICE_TYPE(DECO_MXC06, deco_mxc06_device, "deco_mxc06", "DECO MXC06 Spri
deco_mxc06_device::deco_mxc06_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock)
: device_t(mconfig, DECO_MXC06, tag, owner, clock)
, device_video_interface(mconfig, *this)
, device_gfx_interface(mconfig, *this)
, m_colpri_cb(*this)
{
}
/* this implementation was originally from Mad Motor */
void deco_mxc06_device::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, gfx_element *gfx, u16* spriteram, int size)
void deco_mxc06_device::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, u16* spriteram, int size)
{
const bool priority = !m_colpri_cb.isnull();
struct sprite_t *sprite_ptr = m_spritelist.get();
@ -143,7 +144,7 @@ void deco_mxc06_device::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap
sprite_ptr->code[y] = code - y * incy;
sprite_ptr->x[y] = sx + (mult * x);
sprite_ptr->y[y] = sy + (mult * y);
gfx->transpen(bitmap, cliprect,
gfx(0)->transpen(bitmap, cliprect,
sprite_ptr->code[y],
sprite_ptr->colour,
sprite_ptr->flipx, sprite_ptr->flipy,
@ -164,7 +165,7 @@ void deco_mxc06_device::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap
for (int y = 0; y < sprite_ptr->height; y++)
{
gfx->prio_transpen(bitmap, cliprect,
gfx(0)->prio_transpen(bitmap, cliprect,
sprite_ptr->code[y],
sprite_ptr->colour,
sprite_ptr->flipx, sprite_ptr->flipy,
@ -176,7 +177,7 @@ void deco_mxc06_device::draw_sprites(screen_device &screen, bitmap_ind16 &bitmap
/* this is used by the automat bootleg, it seems to have greatly simplified sprites compared to the real chip */
/* spriteram is twice the size tho! */
void deco_mxc06_device::draw_sprites_bootleg(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, gfx_element *gfx, u16* spriteram, int size)
void deco_mxc06_device::draw_sprites_bootleg(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, u16* spriteram, int size)
{
const bool priority = !m_colpri_cb.isnull();
struct sprite_t *sprite_ptr = m_spritelist.get();
@ -213,7 +214,7 @@ void deco_mxc06_device::draw_sprites_bootleg(screen_device &screen, bitmap_ind16
}
else
{
gfx->transpen(bitmap,cliprect,
gfx(0)->transpen(bitmap,cliprect,
sprite_ptr->code[0],
sprite_ptr->colour,
sprite_ptr->flipx,sprite_ptr->flipy,
@ -227,7 +228,7 @@ void deco_mxc06_device::draw_sprites_bootleg(screen_device &screen, bitmap_ind16
{
sprite_ptr--;
gfx->prio_transpen(bitmap, cliprect,
gfx(0)->prio_transpen(bitmap, cliprect,
sprite_ptr->code[0],
sprite_ptr->colour,
sprite_ptr->flipx, sprite_ptr->flipy,

View File

@ -7,18 +7,24 @@
#include "screen.h"
class deco_mxc06_device : public device_t, public device_video_interface
class deco_mxc06_device : public device_t, public device_video_interface, public device_gfx_interface
{
public:
typedef device_delegate<void (u32 &colour, u32 &pri_mask)> colpri_cb_delegate;
deco_mxc06_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock);
template <typename T> deco_mxc06_device(const machine_config &mconfig, const char *tag, device_t *owner, uint32_t clock, T &&palette_tag, const gfx_decode_entry *gfxinfo)
: deco_mxc06_device(mconfig, tag, owner, clock)
{
set_info(gfxinfo);
set_palette(std::forward<T>(palette_tag));
}
// configuration
template <typename... T> void set_colpri_callback(T &&... args) { m_colpri_cb.set(std::forward<T>(args)...); }
void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, gfx_element *gfx, u16* spriteram, int size);
void draw_sprites_bootleg(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, gfx_element *gfx, u16* spriteram, int size);
void draw_sprites(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, u16* spriteram, int size);
void draw_sprites_bootleg(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, u16* spriteram, int size);
void set_flip_screen(bool flip) { m_flip_screen = flip; }
protected:

View File

@ -606,7 +606,7 @@ uint32_t karnov_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap
m_bg_tilemap->set_scrollx(m_scroll[0]);
m_bg_tilemap->set_scrolly(m_scroll[1]);
m_bg_tilemap->draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0);
m_spritegen->draw_sprites(screen, bitmap, cliprect, m_gfxdecode->gfx(2), m_spriteram->buffer(), 0x800);
m_spritegen->draw_sprites(screen, bitmap, cliprect, m_spriteram->buffer(), 0x800);
m_fix_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0;
@ -700,9 +700,12 @@ static const gfx_layout tiles =
};
static GFXDECODE_START( gfx_karnov )
GFXDECODE_ENTRY( "gfx1", 0, chars, 0, 4 ) /* colors 0-31 */
GFXDECODE_ENTRY( "gfx2", 0, tiles, 512, 16 ) /* colors 512-767 */
GFXDECODE_ENTRY( "gfx3", 0, tiles, 256, 16 ) /* colors 256-511 */
GFXDECODE_ENTRY( "char", 0, chars, 0, 4 ) /* colors 0-31 */
GFXDECODE_ENTRY( "tiles", 0, tiles, 512, 16 ) /* colors 512-767 */
GFXDECODE_END
static GFXDECODE_START( gfx_karnov_spr )
GFXDECODE_ENTRY( "sprites", 0, tiles, 256, 16 ) /* colors 256-511 */
GFXDECODE_END
@ -771,7 +774,7 @@ void karnov_state::karnov(machine_config &config)
m_palette->set_prom_region("proms");
m_palette->set_init("palette", FUNC(deco_rmc3_device::palette_init_proms));
DECO_KARNOVSPRITES(config, m_spritegen, 0);
DECO_KARNOVSPRITES(config, m_spritegen, 0, m_palette, gfx_karnov_spr);
MCFG_VIDEO_START_OVERRIDE(karnov_state,karnov)
@ -854,16 +857,16 @@ ROM_START( karnov ) /* DE-0248-3 main board, DE-259-0 sub/rom board */
ROM_REGION( 0x1000, "mcu", 0 ) // i8751 MCU (Note: Dump taken from a Rev 5 board)
ROM_LOAD( "dn-5.k14", 0x0000, 0x1000, CRC(d056de4e) SHA1(621587ed949ff46e5ccb0d0603612655a38b69a3) )
ROM_REGION( 0x08000, "gfx1", 0 )
ROM_REGION( 0x08000, "char", 0 )
ROM_LOAD( "dn00-.c5", 0x00000, 0x08000, CRC(0ed77c6d) SHA1(4ec86ac56c01c158a580dc13dea3e5cbdf90d0e9) ) /* Characters */
ROM_REGION( 0x40000, "gfx2", 0 )
ROM_REGION( 0x40000, "tiles", 0 )
ROM_LOAD( "dn04-.d18", 0x00000, 0x10000, CRC(a9121653) SHA1(04a67ba6fcf551719734ba2b86ee49c37ee1b842) ) /* Backgrounds */
ROM_LOAD( "dn01-.c15", 0x10000, 0x10000, CRC(18697c9e) SHA1(b454af7922c4b1a651d303a3d8d89e5cc102f9ca) )
ROM_LOAD( "dn03-.d15", 0x20000, 0x10000, CRC(90d9dd9c) SHA1(00a3bed276927f099d57e90f28fd77bd41a3c360) )
ROM_LOAD( "dn02-.c18", 0x30000, 0x10000, CRC(1e04d7b9) SHA1(a2c6fde42569a52cc6d9a86715dea4a8bea80092) )
ROM_REGION( 0x60000, "gfx3", 0 )
ROM_REGION( 0x60000, "sprites", 0 )
ROM_LOAD( "dn12-.f8", 0x00000, 0x10000, CRC(9806772c) SHA1(01f17fa033262a3e64e0675cc4e20b3c3f4b254d) ) /* Sprites - 2 sets of 4, interleaved here */
ROM_LOAD( "dn14-5.f11", 0x10000, 0x08000, CRC(ac9e6732) SHA1(6f61344eb8a13349471145dee252a01aadb8cdf0) )
ROM_LOAD( "dn13-.f9", 0x18000, 0x10000, CRC(a03308f9) SHA1(1d450725a5c488332c83d8f64a73a750ce7fe4c7) )
@ -893,16 +896,16 @@ ROM_START( karnova ) /* DE-0248-3 main board, DE-259-0 sub/rom board */
ROM_REGION( 0x1000, "mcu", 0 ) // i8751 MCU
ROM_LOAD( "dn-5.k14", 0x0000, 0x1000, CRC(d056de4e) SHA1(621587ed949ff46e5ccb0d0603612655a38b69a3) )
ROM_REGION( 0x08000, "gfx1", 0 )
ROM_REGION( 0x08000, "char", 0 )
ROM_LOAD( "dn00-.c5", 0x00000, 0x08000, CRC(0ed77c6d) SHA1(4ec86ac56c01c158a580dc13dea3e5cbdf90d0e9) ) /* Characters */
ROM_REGION( 0x40000, "gfx2", 0 )
ROM_REGION( 0x40000, "tiles", 0 )
ROM_LOAD( "dn04-.d18", 0x00000, 0x10000, CRC(a9121653) SHA1(04a67ba6fcf551719734ba2b86ee49c37ee1b842) ) /* Backgrounds */
ROM_LOAD( "dn01-.c15", 0x10000, 0x10000, CRC(18697c9e) SHA1(b454af7922c4b1a651d303a3d8d89e5cc102f9ca) )
ROM_LOAD( "dn03-.d15", 0x20000, 0x10000, CRC(90d9dd9c) SHA1(00a3bed276927f099d57e90f28fd77bd41a3c360) )
ROM_LOAD( "dn02-.c18", 0x30000, 0x10000, CRC(1e04d7b9) SHA1(a2c6fde42569a52cc6d9a86715dea4a8bea80092) )
ROM_REGION( 0x60000, "gfx3", 0 )
ROM_REGION( 0x60000, "sprites", 0 )
ROM_LOAD( "dn12-.f8", 0x00000, 0x10000, CRC(9806772c) SHA1(01f17fa033262a3e64e0675cc4e20b3c3f4b254d) ) /* Sprites - 2 sets of 4, interleaved here */
ROM_LOAD( "dn14-5.f11", 0x10000, 0x08000, CRC(ac9e6732) SHA1(6f61344eb8a13349471145dee252a01aadb8cdf0) )
ROM_LOAD( "dn13-.f9", 0x18000, 0x10000, CRC(a03308f9) SHA1(1d450725a5c488332c83d8f64a73a750ce7fe4c7) )
@ -932,16 +935,16 @@ ROM_START( karnovj ) /* DE-0248-3 main board, DE-259-0 sub/rom board */
ROM_REGION( 0x1000, "mcu", 0 ) // i8751 MCU (BAD_DUMP because it was created from the US version)
ROM_LOAD( "karnovj_i8751.k14", 0x0000, 0x1000, BAD_DUMP CRC(5a8c4d28) SHA1(58cc912d91e569503d5a20fa3180fbdca595e39f) )
ROM_REGION( 0x08000, "gfx1", 0 )
ROM_REGION( 0x08000, "char", 0 )
ROM_LOAD( "dn00-.c5", 0x00000, 0x08000, CRC(0ed77c6d) SHA1(4ec86ac56c01c158a580dc13dea3e5cbdf90d0e9) ) /* Characters */
ROM_REGION( 0x40000, "gfx2", 0 )
ROM_REGION( 0x40000, "tiles", 0 )
ROM_LOAD( "dn04-.d18", 0x00000, 0x10000, CRC(a9121653) SHA1(04a67ba6fcf551719734ba2b86ee49c37ee1b842) ) /* Backgrounds */
ROM_LOAD( "dn01-.c15", 0x10000, 0x10000, CRC(18697c9e) SHA1(b454af7922c4b1a651d303a3d8d89e5cc102f9ca) )
ROM_LOAD( "dn03-.d15", 0x20000, 0x10000, CRC(90d9dd9c) SHA1(00a3bed276927f099d57e90f28fd77bd41a3c360) )
ROM_LOAD( "dn02-.c18", 0x30000, 0x10000, CRC(1e04d7b9) SHA1(a2c6fde42569a52cc6d9a86715dea4a8bea80092) )
ROM_REGION( 0x60000, "gfx3", 0 )
ROM_REGION( 0x60000, "sprites", 0 )
ROM_LOAD( "dn12-.f8", 0x00000, 0x10000, CRC(9806772c) SHA1(01f17fa033262a3e64e0675cc4e20b3c3f4b254d) ) /* Sprites - 2 sets of 4, interleaved here */
ROM_LOAD( "kar14.f11", 0x10000, 0x08000, CRC(c6b39595) SHA1(3bc2d0a613cc1b5d255cccc3b26e21ea1c23e75b) )
ROM_LOAD( "dn13-.f9", 0x18000, 0x10000, CRC(a03308f9) SHA1(1d450725a5c488332c83d8f64a73a750ce7fe4c7) )
@ -973,10 +976,10 @@ ROM_START( karnovjbl )
ROM_REGION( 0x1000, "mcu", 0 ) /* NEC D8748HD MCU */
ROM_LOAD( "mcu.bin", 0x0000, 0x1000, NO_DUMP ) // labeled 19 on PCB (yes, they labeled two chips as 19)
ROM_REGION( 0x08000, "gfx1", 0 )
ROM_REGION( 0x08000, "char", 0 )
ROM_LOAD( "8.bin", 0x00000, 0x08000, CRC(0ed77c6d) SHA1(4ec86ac56c01c158a580dc13dea3e5cbdf90d0e9) ) /* Characters */
ROM_REGION( 0x40000, "gfx2", 0 )
ROM_REGION( 0x40000, "tiles", 0 )
ROM_LOAD( "11.bin", 0x00000, 0x08000, CRC(fd18a75c) SHA1(21f753bd7062c00afde48a1585c9aeba247b68b8) ) /* Backgrounds */
ROM_LOAD( "12.bin", 0x08000, 0x08000, CRC(a47791d7) SHA1(c242afc80bb885b5d612cc4e7780a8a0ed1f0879) )
ROM_LOAD( "13.bin", 0x10000, 0x08000, CRC(e8baf220) SHA1(34ad6453757f87defde5d2f1946fda920a10b1f6) )
@ -986,7 +989,7 @@ ROM_START( karnovjbl )
ROM_LOAD( "15.bin", 0x30000, 0x08000, CRC(04551cc8) SHA1(d0b89b55b8e139e11b79efd26edeffd8022ee385) )
ROM_LOAD( "16.bin", 0x38000, 0x08000, CRC(12bc9e09) SHA1(d2f527138d475fc7d798aaf48e08b133be090543) )
ROM_REGION( 0x60000, "gfx3", 0 )
ROM_REGION( 0x60000, "sprites", 0 )
ROM_LOAD( "17.bin", 0x00000, 0x10000, CRC(9806772c) SHA1(01f17fa033262a3e64e0675cc4e20b3c3f4b254d) ) /* Sprites - 2 sets of 4, interleaved here */
ROM_LOAD( "19.bin", 0x10000, 0x08000, CRC(c6b39595) SHA1(3bc2d0a613cc1b5d255cccc3b26e21ea1c23e75b) )
ROM_LOAD( "18.bin", 0x18000, 0x10000, CRC(a03308f9) SHA1(1d450725a5c488332c83d8f64a73a750ce7fe4c7) )
@ -1016,16 +1019,16 @@ ROM_START( wndrplnt )
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
ROM_LOAD( "ea.k14", 0x0000, 0x1000, CRC(b481f6a9) SHA1(e2c4376662fc7b209cd6a2f4e9a85807c8af2548) )
ROM_REGION( 0x08000, "gfx1", 0 )
ROM_REGION( 0x08000, "char", 0 )
ROM_LOAD( "ea00.c5", 0x00000, 0x08000, CRC(9f3cac4c) SHA1(af8a275ff531029dbada3c820c9f660fef383100) ) /* Characters */
ROM_REGION( 0x40000, "gfx2", 0 )
ROM_REGION( 0x40000, "tiles", 0 )
ROM_LOAD( "ea04.d18", 0x00000, 0x10000, CRC(7d701344) SHA1(4efaa73a4b2534078ee25111a2f5143c7c7e846f) ) /* Backgrounds */
ROM_LOAD( "ea01.c18", 0x10000, 0x10000, CRC(18df55fb) SHA1(406ea47365ff8372bb2588c97c438ea02aa17538) )
ROM_LOAD( "ea03.d15", 0x20000, 0x10000, CRC(922ef050) SHA1(e33aea6df2e1a14bd371ed0a2b172f58edcc0e8e) )
ROM_LOAD( "ea02.c18", 0x30000, 0x10000, CRC(700fde70) SHA1(9b5b59aaffac091622329dc6ebedb24806b69964) )
ROM_REGION( 0x80000, "gfx3", 0 )
ROM_REGION( 0x80000, "sprites", 0 )
ROM_LOAD( "ea12.f8", 0x00000, 0x10000, CRC(a6d4e99d) SHA1(a85dbb23d05d1e386d8a66f505fa9dfcc554327b) ) /* Sprites - 2 sets of 4, interleaved here */
ROM_LOAD( "ea14.f9", 0x10000, 0x10000, CRC(915ffdc9) SHA1(b65cdc8ee953494f2b69e06cd6c97ee142d83c3e) )
ROM_LOAD( "ea13.f13", 0x20000, 0x10000, CRC(cd839f3a) SHA1(7eae3a1e080b7db22968d556e80b620cb07976b0) )
@ -1055,16 +1058,16 @@ ROM_START( chelnov ) /* DE-0248-1 main board, DE-259-0 sub/rom board */
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
ROM_LOAD( "ee-e.k14", 0x0000, 0x1000, CRC(b7045395) SHA1(a873de0978cbd169b481ee4c4512e47e7745df77) )
ROM_REGION( 0x08000, "gfx1", 0 )
ROM_REGION( 0x08000, "char", 0 )
ROM_LOAD( "ee00-e.c5", 0x00000, 0x08000, CRC(e06e5c6b) SHA1(70166257da5be428cb8404d8e1063c59c7722365) ) /* Characters */
ROM_REGION( 0x40000, "gfx2", 0 )
ROM_REGION( 0x40000, "tiles", 0 )
ROM_LOAD( "ee04-.d18", 0x00000, 0x10000, CRC(96884f95) SHA1(9d88d203028288cb26e111880d090bf40ef9385b) ) /* Backgrounds */
ROM_LOAD( "ee01-.c15", 0x10000, 0x10000, CRC(f4b54057) SHA1(72cd0b098a465232c2148fe6b4224c42dd42e6bc) )
ROM_LOAD( "ee03-.d15", 0x20000, 0x10000, CRC(7178e182) SHA1(e8f03bda417e8f2f0508df40057d39ce6ee74f16) )
ROM_LOAD( "ee02-.c18", 0x30000, 0x10000, CRC(9d7c45ae) SHA1(014dfafa6898e5fd0d124391e698b4f76d38fa94) )
ROM_REGION( 0x40000, "gfx3", 0 )
ROM_REGION( 0x40000, "sprites", 0 )
ROM_LOAD( "ee12-.f8", 0x00000, 0x10000, CRC(9b1c53a5) SHA1(b0fdc89dc7fd0931fa4bca3bbc20fc88f637ec74) ) /* Sprites */
ROM_LOAD( "ee13-.f9", 0x10000, 0x10000, CRC(72b8ae3e) SHA1(535dfd70e6d13296342d96917a57d46bdb28a59e) )
ROM_LOAD( "ee14-.f13", 0x20000, 0x10000, CRC(d8f4bbde) SHA1(1f2d336dd97c9cc39e124c18cae634afb0ef3316) )
@ -1090,16 +1093,16 @@ ROM_START( chelnovu ) /* DE-0248-1 main board, DE-259-0 sub/rom board */
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
ROM_LOAD( "ee-a.k14", 0x0000, 0x1000, CRC(95ea1e7b) SHA1(6d9e3107a2b90734c826c6915c1a3443a7eddfdb) )
ROM_REGION( 0x08000, "gfx1", 0 )
ROM_REGION( 0x08000, "char", 0 )
ROM_LOAD( "ee00-e.c5", 0x00000, 0x08000, CRC(e06e5c6b) SHA1(70166257da5be428cb8404d8e1063c59c7722365) ) /* Characters */
ROM_REGION( 0x40000, "gfx2", 0 )
ROM_REGION( 0x40000, "tiles", 0 )
ROM_LOAD( "ee04-.d18", 0x00000, 0x10000, CRC(96884f95) SHA1(9d88d203028288cb26e111880d090bf40ef9385b) ) /* Backgrounds */
ROM_LOAD( "ee01-.c15", 0x10000, 0x10000, CRC(f4b54057) SHA1(72cd0b098a465232c2148fe6b4224c42dd42e6bc) )
ROM_LOAD( "ee03-.d15", 0x20000, 0x10000, CRC(7178e182) SHA1(e8f03bda417e8f2f0508df40057d39ce6ee74f16) )
ROM_LOAD( "ee02-.c18", 0x30000, 0x10000, CRC(9d7c45ae) SHA1(014dfafa6898e5fd0d124391e698b4f76d38fa94) )
ROM_REGION( 0x40000, "gfx3", 0 )
ROM_REGION( 0x40000, "sprites", 0 )
ROM_LOAD( "ee12-.f8", 0x00000, 0x10000, CRC(9b1c53a5) SHA1(b0fdc89dc7fd0931fa4bca3bbc20fc88f637ec74) ) /* Sprites */
ROM_LOAD( "ee13-.f9", 0x10000, 0x10000, CRC(72b8ae3e) SHA1(535dfd70e6d13296342d96917a57d46bdb28a59e) )
ROM_LOAD( "ee14-.f13", 0x20000, 0x10000, CRC(d8f4bbde) SHA1(1f2d336dd97c9cc39e124c18cae634afb0ef3316) )
@ -1125,16 +1128,16 @@ ROM_START( chelnovj ) /* DE-0248-1 main board, DE-259-0 sub/rom board */
ROM_REGION( 0x1000, "mcu", 0 ) /* i8751 microcontroller */
ROM_LOAD( "ee.k14", 0x0000, 0x1000, CRC(b3dc380c) SHA1(81cc4ded918da9f232481f4e67cf71de814efc48) )
ROM_REGION( 0x08000, "gfx1", 0 )
ROM_REGION( 0x08000, "char", 0 )
ROM_LOAD( "ee00.c5", 0x00000, 0x08000, CRC(1abf2c6d) SHA1(86d625ae94cd9ea69e4e613895410640efb175b3) ) /* Characters */
ROM_REGION( 0x40000, "gfx2", 0 )
ROM_REGION( 0x40000, "tiles", 0 )
ROM_LOAD( "ee04-.d18", 0x00000, 0x10000, CRC(96884f95) SHA1(9d88d203028288cb26e111880d090bf40ef9385b) ) /* Backgrounds */
ROM_LOAD( "ee01-.c15", 0x10000, 0x10000, CRC(f4b54057) SHA1(72cd0b098a465232c2148fe6b4224c42dd42e6bc) )
ROM_LOAD( "ee03-.d15", 0x20000, 0x10000, CRC(7178e182) SHA1(e8f03bda417e8f2f0508df40057d39ce6ee74f16) )
ROM_LOAD( "ee02-.c18", 0x30000, 0x10000, CRC(9d7c45ae) SHA1(014dfafa6898e5fd0d124391e698b4f76d38fa94) )
ROM_REGION( 0x40000, "gfx3", 0 )
ROM_REGION( 0x40000, "sprites", 0 )
ROM_LOAD( "ee12-.f8", 0x00000, 0x10000, CRC(9b1c53a5) SHA1(b0fdc89dc7fd0931fa4bca3bbc20fc88f637ec74) ) /* Sprites */
ROM_LOAD( "ee13-.f9", 0x10000, 0x10000, CRC(72b8ae3e) SHA1(535dfd70e6d13296342d96917a57d46bdb28a59e) )
ROM_LOAD( "ee14-.f13", 0x20000, 0x10000, CRC(d8f4bbde) SHA1(1f2d336dd97c9cc39e124c18cae634afb0ef3316) )
@ -1162,10 +1165,10 @@ ROM_START( chelnovjbl ) // code is the same as the regular chelnovj set
ROM_REGION( 0x2000, "mcu", 0 ) /* SCM8031HCCN40 */ // unique to the bootlegs (rewritten or adjusted to be 8031 compatible)
ROM_LOAD( "17o.bin", 0x0000, 0x2000, CRC(9af64150) SHA1(0f478d9f79baebd2ad90615c98c6bc2d73c0056a) )
ROM_REGION( 0x08000, "gfx1", 0 )
ROM_REGION( 0x08000, "char", 0 )
ROM_LOAD( "a-c5.bin", 0x00000, 0x08000, CRC(1abf2c6d) SHA1(86d625ae94cd9ea69e4e613895410640efb175b3) ) /* Characters */
ROM_REGION( 0x40000, "gfx2", 0 ) /* Backgrounds */ // same content split into more roms
ROM_REGION( 0x40000, "tiles", 0 ) /* Backgrounds */ // same content split into more roms
ROM_LOAD( "8.bin", 0x00000, 0x08000, CRC(a78b174a) SHA1(e0d82b600a154b81d7e1a787f0e20eb1a341894f) )
ROM_LOAD( "9.bin", 0x08000, 0x08000, CRC(97d2c146) SHA1(075bb9afc4f0623cd413883ec2bca574d7ff88d4) )
ROM_LOAD( "2.bin", 0x10000, 0x08000, CRC(8c45e7de) SHA1(d843b7dcc64ed3a5b8717af172a1f22c4c599480) )
@ -1175,7 +1178,7 @@ ROM_START( chelnovjbl ) // code is the same as the regular chelnovj set
ROM_LOAD( "4.bin", 0x30000, 0x08000, CRC(276a46de) SHA1(5b8932dec0e10be128f5ed41798a8928c0aa506b) )
ROM_LOAD( "5.bin", 0x38000, 0x08000, CRC(99cee6cd) SHA1(b2cd0a1aef04fd63ad27ac8a61d17a6bb4c8b600) )
ROM_REGION( 0x40000, "gfx3", 0 ) /* Sprites */
ROM_REGION( 0x40000, "sprites", 0 ) /* Sprites */
// ROM_LOAD( "17.bin", 0x00000, 0x10000, CRC(47c857f8) SHA1(59f50365cee266c0e4075c989dc7fde50e43667a) ) // probably bad, 1 byte difference: byte 0x55CC == 0x30 vs 0xF0 in ee12-.f8
ROM_LOAD( "ee12-.f8", 0x00000, 0x10000, CRC(9b1c53a5) SHA1(b0fdc89dc7fd0931fa4bca3bbc20fc88f637ec74) )
ROM_LOAD( "ee13-.f9", 0x10000, 0x10000, CRC(72b8ae3e) SHA1(535dfd70e6d13296342d96917a57d46bdb28a59e) )
@ -1214,10 +1217,10 @@ ROM_START( chelnovjbla )
ROM_REGION( 0x2000, "mcu", 0 ) /* MAB8031AH */ // unique to the bootlegs (rewritten or adjusted to be 8031 compatible)
ROM_LOAD( "17o.bin", 0x0000, 0x2000, CRC(9af64150) SHA1(0f478d9f79baebd2ad90615c98c6bc2d73c0056a) )
ROM_REGION( 0x08000, "gfx1", 0 )
ROM_REGION( 0x08000, "char", 0 )
ROM_LOAD( "a-c5.bin", 0x00000, 0x08000, CRC(1abf2c6d) SHA1(86d625ae94cd9ea69e4e613895410640efb175b3) ) /* Characters */
ROM_REGION( 0x40000, "gfx2", 0 ) /* Backgrounds */ // same content split into more roms
ROM_REGION( 0x40000, "tiles", 0 ) /* Backgrounds */ // same content split into more roms
ROM_LOAD( "8.bin", 0x00000, 0x08000, CRC(a78b174a) SHA1(e0d82b600a154b81d7e1a787f0e20eb1a341894f) )
ROM_LOAD( "9.bin", 0x08000, 0x08000, CRC(97d2c146) SHA1(075bb9afc4f0623cd413883ec2bca574d7ff88d4) )
ROM_LOAD( "2.bin", 0x10000, 0x08000, CRC(8c45e7de) SHA1(d843b7dcc64ed3a5b8717af172a1f22c4c599480) )
@ -1227,7 +1230,7 @@ ROM_START( chelnovjbla )
ROM_LOAD( "4.bin", 0x30000, 0x08000, CRC(276a46de) SHA1(5b8932dec0e10be128f5ed41798a8928c0aa506b) )
ROM_LOAD( "5.bin", 0x38000, 0x08000, CRC(99cee6cd) SHA1(b2cd0a1aef04fd63ad27ac8a61d17a6bb4c8b600) )
ROM_REGION( 0x40000, "gfx3", 0 )
ROM_REGION( 0x40000, "sprites", 0 )
ROM_LOAD( "ee12-.f8", 0x00000, 0x10000, CRC(9b1c53a5) SHA1(b0fdc89dc7fd0931fa4bca3bbc20fc88f637ec74) ) /* Sprites */
ROM_LOAD( "ee13-.f9", 0x10000, 0x10000, CRC(72b8ae3e) SHA1(535dfd70e6d13296342d96917a57d46bdb28a59e) )
ROM_LOAD( "ee14-.f13", 0x20000, 0x10000, CRC(d8f4bbde) SHA1(1f2d336dd97c9cc39e124c18cae634afb0ef3316) )

View File

@ -215,10 +215,13 @@ static const gfx_layout tilelayout =
};
static GFXDECODE_START( gfx_madmotor )
GFXDECODE_ENTRY( "gfx1", 0, charlayout, 0, 16 ) /* Characters 8x8 */
GFXDECODE_ENTRY( "gfx2", 0, tilelayout, 512, 16 ) /* Tiles 16x16 */
GFXDECODE_ENTRY( "gfx3", 0, tilelayout, 768, 16 ) /* Tiles 16x16 */
GFXDECODE_ENTRY( "gfx4", 0, tilelayout, 256, 16 ) /* Sprites 16x16 */
GFXDECODE_ENTRY( "char", 0, charlayout, 0, 16 ) /* Characters 8x8 */
GFXDECODE_ENTRY( "tiles1", 0, tilelayout, 512, 16 ) /* Tiles 16x16 */
GFXDECODE_ENTRY( "tiles2", 0, tilelayout, 768, 16 ) /* Tiles 16x16 */
GFXDECODE_END
static GFXDECODE_START( gfx_madmotor_spr )
GFXDECODE_ENTRY( "sprites", 0, tilelayout, 256, 16 ) /* Sprites 16x16 */
GFXDECODE_END
/******************************************************************************/
@ -233,7 +236,7 @@ uint32_t madmotor_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
m_tilegen[2]->deco_bac06_pf_draw(screen,bitmap,cliprect,TILEMAP_DRAW_OPAQUE, 0);
m_tilegen[1]->deco_bac06_pf_draw(screen,bitmap,cliprect,0, 0);
m_spritegen->draw_sprites(screen, bitmap, cliprect, m_gfxdecode->gfx(3), m_spriteram, 0x800/2);
m_spritegen->draw_sprites(screen, bitmap, cliprect, m_spriteram, 0x800/2);
m_tilegen[0]->deco_bac06_pf_draw(screen,bitmap,cliprect,0, 0);
return 0;
}
@ -276,7 +279,7 @@ void madmotor_state::madmotor(machine_config &config)
m_tilegen[2]->set_gfx_region_wide(0, 2, 1);
m_tilegen[2]->set_gfxdecode_tag(m_gfxdecode);
DECO_MXC06(config, m_spritegen, 0);
DECO_MXC06(config, m_spritegen, 0, "palette", gfx_madmotor_spr);
/* sound hardware */
SPEAKER(config, "mono").front_center();
@ -308,21 +311,21 @@ ROM_START( madmotor )
ROM_REGION( 0x10000, "audiocpu", 0 ) /* Sound CPU */
ROM_LOAD( "14.l7", 0x00000, 0x10000, CRC(1c28a7e5) SHA1(ed30d0a5a8a079677bd34b6d98ab1b15b934b30f) )
ROM_REGION( 0x020000, "gfx1", 0 )
ROM_REGION( 0x020000, "char", 0 )
ROM_LOAD16_BYTE( "04.a9", 0x000000, 0x10000, CRC(833ca3ab) SHA1(7a3e7ebecc1596d2e487595369ad9ba54ced5bfb) ) /* chars */
ROM_LOAD16_BYTE( "05.a11", 0x000001, 0x10000, CRC(a691fbfe) SHA1(c726a4c15d599feb6883d9b643453e7028fa16d6) )
ROM_REGION( 0x040000, "gfx2", 0 )
ROM_REGION( 0x040000, "tiles1", 0 )
ROM_LOAD16_BYTE( "10.a19", 0x000000, 0x20000, CRC(9dbf482b) SHA1(086e9170d577e502604c180f174fbce53a1e20e5) ) /* tiles */
ROM_LOAD16_BYTE( "11.a21", 0x000001, 0x20000, CRC(593c48a9) SHA1(1158888f6b836253b8ae9db9b8e352f289b2e815) )
ROM_REGION( 0x080000, "gfx3", 0 )
ROM_REGION( 0x080000, "tiles2", 0 )
ROM_LOAD16_BYTE( "06.a13", 0x000000, 0x20000, CRC(448850e5) SHA1(6a44a42738cf6a55b4bec807e0a3939a42b36793) ) /* tiles */
ROM_LOAD16_BYTE( "07.a14", 0x040000, 0x20000, CRC(ede4d141) SHA1(7b847372bac043aa397aa5c274f90b9193de9176) )
ROM_LOAD16_BYTE( "08.a16", 0x000001, 0x20000, CRC(c380e5e5) SHA1(ec87a94e7948b84c96b1577f5a8caebc56e38a94) )
ROM_LOAD16_BYTE( "09.a18", 0x040001, 0x20000, CRC(1ee3326a) SHA1(bd03e5c4a2e7689260e6cc67288e71ef13f05a4b) )
ROM_REGION( 0x100000, "gfx4", 0 )
ROM_REGION( 0x100000, "sprites", 0 )
ROM_LOAD16_BYTE( "15.h11", 0x000000, 0x20000, CRC(90ae9f74) SHA1(806f96fd08fca1beeeaefe3c0fac1991410aa9c4) ) /* sprites */
ROM_LOAD16_BYTE( "16.h13", 0x040000, 0x20000, CRC(e96ac815) SHA1(a2b22a29ad0a4f144bb09299c454dc7a842a5318) )
ROM_LOAD16_BYTE( "17.h14", 0x000001, 0x20000, CRC(abad9a1b) SHA1(3cec6b4ef925205efe4a8fb28e08eb58e3ba4019) )

View File

@ -172,7 +172,7 @@ uint32_t stadhero_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
m_pf1_tilemap->set_flip(flip ? (TILEMAP_FLIPY | TILEMAP_FLIPX) : 0);
m_tilegen->deco_bac06_pf_draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0);
m_spritegen->draw_sprites(screen, bitmap, cliprect, m_gfxdecode->gfx(2), m_spriteram, 0x800 / 2);
m_spritegen->draw_sprites(screen, bitmap, cliprect, m_spriteram, 0x800 / 2);
m_pf1_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0;
}
@ -360,6 +360,9 @@ static const gfx_layout spritelayout =
static GFXDECODE_START( gfx_stadhero )
GFXDECODE_ENTRY( "chars", 0, charlayout, 0, 16 ) // 8x8
GFXDECODE_ENTRY( "tiles", 0, tile_3bpp, 512, 16 ) // 16x16
GFXDECODE_END
static GFXDECODE_START( gfx_stadhero_spr )
GFXDECODE_ENTRY( "sprites", 0, spritelayout, 256, 16 ) // 16x16
GFXDECODE_END
@ -391,7 +394,7 @@ void stadhero_state::stadhero(machine_config &config)
m_tilegen->set_gfx_region_wide(1, 1, 2);
m_tilegen->set_gfxdecode_tag(m_gfxdecode);
DECO_MXC06(config, m_spritegen, 0);
DECO_MXC06(config, m_spritegen, 0, "palette", gfx_stadhero_spr);
// sound hardware
SPEAKER(config, "mono").front_center();

View File

@ -158,7 +158,7 @@ TILE_GET_INFO_MEMBER(thedeep_state::get_tile_info)
{
uint8_t code = m_textram[ tile_index * 2 + 0 ];
uint8_t color = m_textram[ tile_index * 2 + 1 ];
tileinfo.set(2,
tileinfo.set(1,
code + (color << 8),
(color & 0xf0) >> 4,
0);
@ -208,7 +208,7 @@ uint32_t thedeep_state::screen_update(screen_device &screen, bitmap_ind16 &bitma
bitmap.fill(m_palette->black_pen(), cliprect);
m_tilegen->deco_bac06_pf_draw(screen, bitmap, cliprect, TILEMAP_DRAW_OPAQUE, 0);
m_spritegen->draw_sprites(screen, bitmap, cliprect, m_gfxdecode->gfx(0), reinterpret_cast<uint16_t *>(m_spriteram.target()), 0x400 / 2);
m_spritegen->draw_sprites(screen, bitmap, cliprect, reinterpret_cast<uint16_t *>(m_spriteram.target()), 0x400 / 2);
m_text_tilemap->draw(screen, bitmap, cliprect, 0, 0);
return 0;
}
@ -478,11 +478,14 @@ static const gfx_layout layout_16x16x4 =
};
static GFXDECODE_START( gfx_thedeep )
GFXDECODE_ENTRY( "sprites", 0, layout_16x16x4, 0x080, 8 )
GFXDECODE_ENTRY( "bg_gfx", 0, layout_16x16x4, 0x100, 16 )
GFXDECODE_ENTRY( "text", 0, layout_8x8x2, 0x000, 16 )
GFXDECODE_END
static GFXDECODE_START( gfx_thedeep_spr )
GFXDECODE_ENTRY( "sprites", 0, layout_16x16x4, 0x080, 8 )
GFXDECODE_END
/***************************************************************************
@ -539,10 +542,10 @@ void thedeep_state::thedeep(machine_config &config)
GFXDECODE(config, m_gfxdecode, m_palette, gfx_thedeep);
PALETTE(config, m_palette, FUNC(thedeep_state::palette), 512);
DECO_MXC06(config, m_spritegen, 0);
DECO_MXC06(config, m_spritegen, 0, m_palette, gfx_thedeep_spr);
DECO_BAC06(config, m_tilegen, 0);
m_tilegen->set_gfx_region_wide(1, 1, 0);
m_tilegen->set_gfx_region_wide(0, 0, 0);
m_tilegen->set_gfxdecode_tag(m_gfxdecode);
m_tilegen->set_thedeep_kludge(); // TODO: this game wants TILE_FLIPX always set. Investigate why.

View File

@ -187,7 +187,7 @@ uint32_t vaportra_state::screen_update(screen_device &screen, bitmap_ind16 &bitm
m_deco_tilegen[1]->tilemap_2_draw(screen, bitmap, cliprect, 0, 4);
}
m_spritegen->draw_sprites(screen, bitmap, cliprect, m_gfxdecode->gfx(4), m_spriteram->buffer(), 0x800 / 2);
m_spritegen->draw_sprites(screen, bitmap, cliprect, m_spriteram->buffer(), 0x800 / 2);
m_deco_tilegen[0]->tilemap_1_draw(screen, bitmap, cliprect, 0, 0);
return 0;
}
@ -350,11 +350,14 @@ static const gfx_layout tilelayout =
};
static GFXDECODE_START( gfx_vaportra )
GFXDECODE_ENTRY( "tiles1", 0x000000, charlayout, 0x000, 0x500 ) // Characters 8x8
GFXDECODE_ENTRY( "tiles1", 0x000000, tilelayout, 0x000, 0x500 ) // Tiles 16x16
GFXDECODE_ENTRY( "tiles2", 0x000000, charlayout, 0x000, 0x500 ) // Characters 8x8
GFXDECODE_ENTRY( "tiles2", 0x000000, tilelayout, 0x000, 0x500 ) // Tiles 16x16 // ok
GFXDECODE_ENTRY( "sprites", 0x000000, tilelayout, 0x100, 16 ) // 16x16
GFXDECODE_ENTRY( "tiles1", 0, charlayout, 0x000, 0x500 ) // Characters 8x8
GFXDECODE_ENTRY( "tiles1", 0, tilelayout, 0x000, 0x500 ) // Tiles 16x16
GFXDECODE_ENTRY( "tiles2", 0, charlayout, 0x000, 0x500 ) // Characters 8x8
GFXDECODE_ENTRY( "tiles2", 0, tilelayout, 0x000, 0x500 ) // Tiles 16x16 // ok
GFXDECODE_END
static GFXDECODE_START( gfx_vaportra_spr )
GFXDECODE_ENTRY( "sprites", 0, tilelayout, 0x100, 16 ) // 16x16
GFXDECODE_END
/******************************************************************************/
@ -427,7 +430,7 @@ void vaportra_state::vaportra(machine_config &config)
m_deco_tilegen[1]->set_pf12_16x16_bank(3);
m_deco_tilegen[1]->set_gfxdecode_tag(m_gfxdecode);
DECO_MXC06(config, m_spritegen, 0);
DECO_MXC06(config, m_spritegen, 0, m_palette, gfx_vaportra_spr);
m_spritegen->set_colpri_callback(FUNC(vaportra_state::colpri_cb));
// sound hardware