diff --git a/src/mame/drivers/dassault.c b/src/mame/drivers/dassault.c index 1d6c9f4b2d2..d868b6e15ae 100644 --- a/src/mame/drivers/dassault.c +++ b/src/mame/drivers/dassault.c @@ -450,34 +450,11 @@ WRITE8_MEMBER(dassault_state::sound_bankswitch_w) /**********************************************************************************/ -static int dassault_bank_callback( const int bank ) +int dassault_state::dassault_bank_callback( const int bank ) { return ((bank >> 4) & 0xf) << 12; } -static const deco16ic_interface dassault_deco16ic_tilegen1_intf = -{ - 0, 1, - 0x0f, 0x0f, /* trans masks (default values) */ - 0, 16, /* color base (default values) */ - 0x0f, 0x0f, /* color masks (default values) */ - dassault_bank_callback, - dassault_bank_callback, - 0,1, -}; - -static const deco16ic_interface dassault_deco16ic_tilegen2_intf = -{ - 0, 1, - 0x0f, 0x0f, /* trans masks (default values) */ - 0, 16, /* color base (default values) */ - 0x0f, 0x0f, /* color masks (default values) */ - dassault_bank_callback, - dassault_bank_callback, - 0,2, -}; - - static MACHINE_CONFIG_START( dassault, dassault_state ) /* basic machine hardware */ @@ -513,11 +490,37 @@ static MACHINE_CONFIG_START( dassault, dassault_state ) MCFG_DECOCOMN_ADD("deco_common") MCFG_DECOCOMN_PALETTE("palette") - MCFG_DECO16IC_ADD("tilegen1", dassault_deco16ic_tilegen1_intf) + MCFG_DEVICE_ADD("tilegen1", DECO16IC, 0) + MCFG_DECO16IC_SPLIT(0) + MCFG_DECO16IC_WIDTH12(1) + 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, dassault_bank_callback) + MCFG_DECO16IC_BANK2_CB(dassault_state, dassault_bank_callback) + MCFG_DECO16IC_PF12_8X8_BANK(0) + MCFG_DECO16IC_PF12_16X16_BANK(1) + MCFG_DECO16IC_GFXDECODE("gfxdecode") MCFG_DECO16IC_PALETTE("palette") - MCFG_DECO16IC_ADD("tilegen2", dassault_deco16ic_tilegen2_intf) + MCFG_DEVICE_ADD("tilegen2", DECO16IC, 0) + MCFG_DECO16IC_SPLIT(0) + MCFG_DECO16IC_WIDTH12(1) + 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, dassault_bank_callback) + MCFG_DECO16IC_BANK2_CB(dassault_state, dassault_bank_callback) + MCFG_DECO16IC_PF12_8X8_BANK(0) + MCFG_DECO16IC_PF12_16X16_BANK(2) + MCFG_DECO16IC_GFXDECODE("gfxdecode") MCFG_DECO16IC_PALETTE("palette") diff --git a/src/mame/includes/dassault.h b/src/mame/includes/dassault.h index 4d2d9c5897f..59bebc7c605 100644 --- a/src/mame/includes/dassault.h +++ b/src/mame/includes/dassault.h @@ -70,4 +70,5 @@ public: virtual void video_start(); UINT32 screen_update_dassault(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect); void mixdassaultlayer(bitmap_rgb32 &bitmap, bitmap_ind16* sprite_bitmap, const rectangle &cliprect, UINT16 pri, UINT16 primask, UINT16 penbase, UINT8 alpha); + int dassault_bank_callback( const int bank ); }; diff --git a/src/mame/video/deco16ic.h b/src/mame/video/deco16ic.h index 3ea075a862f..784b22a9c88 100644 --- a/src/mame/video/deco16ic.h +++ b/src/mame/video/deco16ic.h @@ -162,10 +162,6 @@ extern const device_type DECO16IC; DEVICE CONFIGURATION MACROS ***************************************************************************/ -#define MCFG_DECO16IC_ADD(_tag, _interface) \ - MCFG_DEVICE_ADD(_tag, DECO16IC, 0) \ - MCFG_DEVICE_CONFIG(_interface) - #define MCFG_DECO16IC_SET_SCREEN MCFG_VIDEO_SET_SCREEN #define MCFG_DECO16IC_BANK1_CB(_class, _method) \