diff options
Diffstat (limited to 'src/mame/drivers/namconb1.cpp')
-rw-r--r-- | src/mame/drivers/namconb1.cpp | 55 |
1 files changed, 44 insertions, 11 deletions
diff --git a/src/mame/drivers/namconb1.cpp b/src/mame/drivers/namconb1.cpp index 077b2be5e2f..0c67eb74324 100644 --- a/src/mame/drivers/namconb1.cpp +++ b/src/mame/drivers/namconb1.cpp @@ -272,7 +272,6 @@ GFX: Custom 145 ( 80 pin PQFP) */ #include "emu.h" #include "includes/namconb1.h" -#include "machine/namcoic.h" #include "cpu/m68000/m68000.h" #include "machine/namcomcu.h" @@ -700,10 +699,10 @@ void namconb1_state::namconb1_am(address_map &map) map(0x208000, 0x2fffff).ram(); map(0x400000, 0x40001f).rw(FUNC(namconb1_state::namconb1_cpureg_r), FUNC(namconb1_state::namconb1_cpureg_w)); map(0x580000, 0x5807ff).rw(m_eeprom, FUNC(eeprom_parallel_28xx_device::read), FUNC(eeprom_parallel_28xx_device::write)); - map(0x600000, 0x61ffff).rw(FUNC(namconb1_state::c355_obj_ram_r), FUNC(namconb1_state::c355_obj_ram_w)).share("objram"); - map(0x620000, 0x620007).rw(FUNC(namconb1_state::c355_obj_position_r), FUNC(namconb1_state::c355_obj_position_w)); - map(0x640000, 0x64ffff).rw(FUNC(namconb1_state::c123_tilemap_videoram_r), FUNC(namconb1_state::c123_tilemap_videoram_w)); - map(0x660000, 0x66003f).rw(FUNC(namconb1_state::c123_tilemap_control_r), FUNC(namconb1_state::c123_tilemap_control_w)); + map(0x600000, 0x61ffff).rw(m_c355spr, FUNC(namco_c355spr_device::spriteram_r), FUNC(namco_c355spr_device::spriteram_w)).share("objram"); + map(0x620000, 0x620007).rw(m_c355spr, FUNC(namco_c355spr_device::position_r), FUNC(namco_c355spr_device::position_w)); + map(0x640000, 0x64ffff).rw(m_c123tmap, FUNC(namco_c123tmap_device::videoram_r), FUNC(namco_c123tmap_device::videoram_w)); + map(0x660000, 0x66003f).rw(m_c123tmap, FUNC(namco_c123tmap_device::control_r), FUNC(namco_c123tmap_device::control_w)); map(0x680000, 0x68000f).ram().share("spritebank32"); map(0x6e0000, 0x6e001f).r(FUNC(namconb1_state::custom_key_r)).nopw(); map(0x700000, 0x707fff).rw(m_c116, FUNC(namco_c116_device::read), FUNC(namco_c116_device::write)); @@ -717,13 +716,13 @@ void namconb1_state::namconb2_am(address_map &map) map(0x200000, 0x207fff).rw(FUNC(namconb1_state::share_r), FUNC(namconb1_state::share_w)); map(0x208000, 0x2fffff).ram(); map(0x400000, 0x4fffff).rom().region("data", 0); - map(0x600000, 0x61ffff).rw(FUNC(namconb1_state::c355_obj_ram_r), FUNC(namconb1_state::c355_obj_ram_w)).share("objram"); - map(0x620000, 0x620007).rw(FUNC(namconb1_state::c355_obj_position_r), FUNC(namconb1_state::c355_obj_position_w)); + map(0x600000, 0x61ffff).rw(m_c355spr, FUNC(namco_c355spr_device::spriteram_r), FUNC(namco_c355spr_device::spriteram_w)).share("objram"); + map(0x620000, 0x620007).rw(m_c355spr, FUNC(namco_c355spr_device::position_r), FUNC(namco_c355spr_device::position_w)); map(0x640000, 0x64000f).ram(); /* unknown xy offset */ - map(0x680000, 0x68ffff).rw(FUNC(namconb1_state::c123_tilemap_videoram_r), FUNC(namconb1_state::c123_tilemap_videoram_w)); - map(0x6c0000, 0x6c003f).rw(FUNC(namconb1_state::c123_tilemap_control_r), FUNC(namconb1_state::c123_tilemap_control_w)); - map(0x700000, 0x71ffff).rw(FUNC(namconb1_state::c169_roz_videoram_r), FUNC(namconb1_state::c169_roz_videoram_w)).share("rozvideoram"); - map(0x740000, 0x74001f).rw(FUNC(namconb1_state::c169_roz_control_r), FUNC(namconb1_state::c169_roz_control_w)); + map(0x680000, 0x68ffff).rw(m_c123tmap, FUNC(namco_c123tmap_device::videoram_r), FUNC(namco_c123tmap_device::videoram_w)); + map(0x6c0000, 0x6c003f).rw(m_c123tmap, FUNC(namco_c123tmap_device::control_r), FUNC(namco_c123tmap_device::control_w)); + map(0x700000, 0x71ffff).rw(m_c169roz, FUNC(namco_c169roz_device::videoram_r), FUNC(namco_c169roz_device::videoram_w)); + map(0x740000, 0x74001f).rw(m_c169roz, FUNC(namco_c169roz_device::control_r), FUNC(namco_c169roz_device::control_w)); map(0x800000, 0x807fff).rw(m_c116, FUNC(namco_c116_device::read), FUNC(namco_c116_device::write)); map(0x900008, 0x90000f).ram().share("spritebank32"); map(0x940000, 0x94000f).ram().share("tilebank32"); @@ -1096,6 +1095,20 @@ MACHINE_CONFIG_START(namconb1_state::namconb1) MCFG_PALETTE_ADD("palette", 0x2000) MCFG_PALETTE_ENABLE_SHADOWS() + NAMCO_C355SPR(config, m_c355spr, 0); + m_c355spr->set_palette_tag("palette"); + m_c355spr->set_gfxdecode_tag("gfxdecode"); + m_c355spr->set_is_namcofl(false); + m_c355spr->set_tile_callback(namco_c355spr_device::c355_obj_code2tile_delegate(&namconb1_state::NB1objcode2tile, this)); + m_c355spr->set_palxor(0x0); + m_c355spr->set_gfxregion(NAMCONB1_SPRITEGFX); + + NAMCO_C123TMAP(config, m_c123tmap, 0); + m_c123tmap->set_gfxdecode_tag("gfxdecode"); + m_c123tmap->set_tile_callback(namco_c123tmap_device::c123_tilemap_delegate(&namconb1_state::NB1TilemapCB, this)); + m_c123tmap->set_maskregion_tag(NAMCONB1_TILEMASKREGION); + m_c123tmap->set_gfxregion(NAMCONB1_TILEGFX); + NAMCO_C116(config, m_c116, 0); m_c116->set_palette(m_palette); @@ -1119,17 +1132,37 @@ MACHINE_CONFIG_START(namconb1_state::namconb2) MCFG_SCREEN_UPDATE_DRIVER(namconb1_state, screen_update_namconb2) MCFG_DEVICE_REPLACE("gfxdecode", GFXDECODE, "palette", gfx_namconb2) + + NAMCO_C169ROZ(config, m_c169roz, 0); + m_c169roz->set_gfxdecode_tag("gfxdecode"); + m_c169roz->set_is_namcofl(false); + m_c169roz->set_ram_words(0x20000/2); + m_c169roz->set_maskregion_tag(NAMCONB1_ROTMASKREGION); + m_c169roz->set_gfxregion(NAMCONB1_ROTGFX); + MACHINE_CONFIG_END MACHINE_CONFIG_START(namconb1_state::machbrkr) namconb2(config); + m_c123tmap->set_tile_callback(namco_c123tmap_device::c123_tilemap_delegate(&namconb1_state::NB2TilemapCB_machbrkr, this)); + + m_c169roz->set_tile_callback(namco_c169roz_device::c169_tilemap_delegate(&namconb1_state::NB2RozCB_machbrkr, this)); + + m_c355spr->set_tile_callback(namco_c355spr_device::c355_obj_code2tile_delegate(&namconb1_state::NB2objcode2tile_machbrkr, this)); + MCFG_VIDEO_START_OVERRIDE(namconb1_state,machbrkr) MACHINE_CONFIG_END MACHINE_CONFIG_START(namconb1_state::outfxies) namconb2(config); + m_c123tmap->set_tile_callback(namco_c123tmap_device::c123_tilemap_delegate(&namconb1_state::NB2TilemapCB_outfxies, this)); + + m_c169roz->set_tile_callback(namco_c169roz_device::c169_tilemap_delegate(&namconb1_state::NB2RozCB_outfxies, this)); + + m_c355spr->set_tile_callback(namco_c355spr_device::c355_obj_code2tile_delegate(&namconb1_state::NB2objcode2tile_outfxies, this)); + MCFG_VIDEO_START_OVERRIDE(namconb1_state,outfxies) MACHINE_CONFIG_END |