summaryrefslogtreecommitdiffstatshomepage
path: root/src/mame/drivers/dassault.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mame/drivers/dassault.cpp')
-rw-r--r--src/mame/drivers/dassault.cpp81
1 files changed, 39 insertions, 42 deletions
diff --git a/src/mame/drivers/dassault.cpp b/src/mame/drivers/dassault.cpp
index 84e418e4425..eebab1d122b 100644
--- a/src/mame/drivers/dassault.cpp
+++ b/src/mame/drivers/dassault.cpp
@@ -557,48 +557,45 @@ MACHINE_CONFIG_START(dassault_state::dassault)
MCFG_DEVICE_ADD("spriteram1", BUFFERED_SPRITERAM16)
MCFG_DEVICE_ADD("spriteram2", BUFFERED_SPRITERAM16)
- MCFG_DEVICE_ADD("tilegen1", DECO16IC, 0)
- MCFG_DECO16IC_SPLIT(0)
- MCFG_DECO16IC_PF1_SIZE(DECO_64x32)
- MCFG_DECO16IC_PF2_SIZE(DECO_64x32)
- MCFG_DECO16IC_PF1_TRANS_MASK(0x0f)
- MCFG_DECO16IC_PF2_TRANS_MASK(0x0f)
- MCFG_DECO16IC_PF1_COL_BANK(0)
- MCFG_DECO16IC_PF2_COL_BANK(16)
- MCFG_DECO16IC_PF1_COL_MASK(0x0f)
- MCFG_DECO16IC_PF2_COL_MASK(0x0f)
- MCFG_DECO16IC_BANK1_CB(dassault_state, bank_callback)
- MCFG_DECO16IC_BANK2_CB(dassault_state, bank_callback)
- MCFG_DECO16IC_PF12_8X8_BANK(0)
- MCFG_DECO16IC_PF12_16X16_BANK(1)
-
- MCFG_DECO16IC_GFXDECODE("gfxdecode")
-
- MCFG_DEVICE_ADD("tilegen2", DECO16IC, 0)
- MCFG_DECO16IC_SPLIT(0)
- MCFG_DECO16IC_PF1_SIZE(DECO_64x32)
- MCFG_DECO16IC_PF2_SIZE(DECO_64x32)
- MCFG_DECO16IC_PF1_TRANS_MASK(0x0f)
- MCFG_DECO16IC_PF2_TRANS_MASK(0x0f)
- MCFG_DECO16IC_PF1_COL_BANK(0)
- MCFG_DECO16IC_PF2_COL_BANK(16)
- MCFG_DECO16IC_PF1_COL_MASK(0x0f)
- MCFG_DECO16IC_PF2_COL_MASK(0x0f)
- MCFG_DECO16IC_BANK1_CB(dassault_state, bank_callback)
- MCFG_DECO16IC_BANK2_CB(dassault_state, bank_callback)
- MCFG_DECO16IC_PF12_8X8_BANK(0)
- MCFG_DECO16IC_PF12_16X16_BANK(2)
-
- MCFG_DECO16IC_GFXDECODE("gfxdecode")
-
- MCFG_DEVICE_ADD("spritegen1", DECO_SPRITE, 0)
- MCFG_DECO_SPRITE_GFX_REGION(3)
- MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
-
- MCFG_DEVICE_ADD("spritegen2", DECO_SPRITE, 0)
- MCFG_DECO_SPRITE_GFX_REGION(4)
- MCFG_DECO_SPRITE_GFXDECODE("gfxdecode")
-
+ DECO16IC(config, m_deco_tilegen[0], 0);
+ m_deco_tilegen[0]->set_split(0);
+ m_deco_tilegen[0]->set_pf1_size(DECO_64x32);
+ m_deco_tilegen[0]->set_pf2_size(DECO_64x32);
+ m_deco_tilegen[0]->set_pf1_trans_mask(0x0f);
+ m_deco_tilegen[0]->set_pf2_trans_mask(0x0f);
+ m_deco_tilegen[0]->set_pf1_col_bank(0);
+ m_deco_tilegen[0]->set_pf2_col_bank(16);
+ m_deco_tilegen[0]->set_pf1_col_mask(0x0f);
+ m_deco_tilegen[0]->set_pf2_col_mask(0x0f);
+ m_deco_tilegen[0]->set_bank1_callback(FUNC(dassault_state::bank_callback), this);
+ m_deco_tilegen[0]->set_bank2_callback(FUNC(dassault_state::bank_callback), this);
+ m_deco_tilegen[0]->set_pf12_8x8_bank(0);
+ m_deco_tilegen[0]->set_pf12_16x16_bank(1);
+ m_deco_tilegen[0]->set_gfxdecode_tag("gfxdecode");
+
+ DECO16IC(config, m_deco_tilegen[1], 0);
+ m_deco_tilegen[1]->set_split(0);
+ m_deco_tilegen[1]->set_pf1_size(DECO_64x32);
+ m_deco_tilegen[1]->set_pf2_size(DECO_64x32);
+ m_deco_tilegen[1]->set_pf1_trans_mask(0x0f);
+ m_deco_tilegen[1]->set_pf2_trans_mask(0x0f);
+ m_deco_tilegen[1]->set_pf1_col_bank(0);
+ m_deco_tilegen[1]->set_pf2_col_bank(16);
+ m_deco_tilegen[1]->set_pf1_col_mask(0x0f);
+ m_deco_tilegen[1]->set_pf2_col_mask(0x0f);
+ m_deco_tilegen[1]->set_bank1_callback(FUNC(dassault_state::bank_callback), this);
+ m_deco_tilegen[1]->set_bank2_callback(FUNC(dassault_state::bank_callback), this);
+ m_deco_tilegen[1]->set_pf12_8x8_bank(0);
+ m_deco_tilegen[1]->set_pf12_16x16_bank(2);
+ m_deco_tilegen[1]->set_gfxdecode_tag("gfxdecode");
+
+ DECO_SPRITE(config, m_sprgen[0], 0);
+ m_sprgen[0]->set_gfx_region(3);
+ m_sprgen[0]->set_gfxdecode_tag("gfxdecode");
+
+ DECO_SPRITE(config, m_sprgen[1], 0);
+ m_sprgen[1]->set_gfx_region(4);
+ m_sprgen[1]->set_gfxdecode_tag("gfxdecode");
/* sound hardware */
SPEAKER(config, "lspeaker").front_left();