Merge pull request #4827 from cam900/deco16ic_args

deco16ic.cpp : Simplify handlers, Reduce some unnecessary lines
This commit is contained in:
R. Belmont 2019-03-31 10:35:25 -04:00 committed by GitHub
commit 652b654206
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
19 changed files with 53 additions and 77 deletions

View File

@ -59,7 +59,7 @@ template<int Chip>
WRITE16_MEMBER(cninja_state::cninja_pf_control_w)
{
m_screen->update_partial(m_screen->vpos());
m_deco_tilegen[Chip]->pf_control_w(space, offset, data, mem_mask);
m_deco_tilegen[Chip]->pf_control_w(offset, data, mem_mask);
}

View File

@ -138,8 +138,7 @@ private:
uint32_t dblewing_state::screen_update_dblewing(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
address_space &space = generic_space();
uint16_t flip = m_deco_tilegen->pf_control_r(space, 0, 0xffff);
uint16_t flip = m_deco_tilegen->pf_control_r(0);
flip_screen_set(BIT(flip, 7));
m_sprgen->set_flip_screen(BIT(flip, 7));

View File

@ -83,8 +83,7 @@ private:
uint32_t dreambal_state::screen_update_dreambal(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
address_space &space = generic_space();
uint16_t flip = m_deco_tilegen->pf_control_r(space, 0, 0xffff);
uint16_t flip = m_deco_tilegen->pf_control_r(0);
flip_screen_set(BIT(flip, 7));
m_deco_tilegen->pf_update(nullptr, nullptr);

View File

@ -106,8 +106,7 @@ void miragemj_state::video_start()
uint32_t miragemj_state::screen_update_mirage(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
address_space &space = machine().dummy_space();
uint16_t flip = m_deco_tilegen->pf_control_r(space, 0, 0xffff);
uint16_t flip = m_deco_tilegen->pf_control_r(0);
flip_screen_set(BIT(flip, 7));
m_sprgen->set_flip_screen(BIT(flip, 7));

View File

@ -182,8 +182,7 @@ void boogwing_state::mix_boogwing(screen_device &screen, bitmap_rgb32 &bitmap, c
uint32_t boogwing_state::screen_update_boogwing(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
address_space &space = machine().dummy_space();
uint16_t flip = m_deco_tilegen[0]->pf_control_r(space, 0, 0xffff);
uint16_t flip = m_deco_tilegen[0]->pf_control_r(0);
uint16_t priority = m_priority;
// sprites are flipped relative to tilemaps

View File

@ -61,8 +61,7 @@ WRITE16_MEMBER(cbuster_state::palette_ext_w)
uint32_t cbuster_state::screen_update_twocrude(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
address_space &space = machine().dummy_space();
uint16_t flip = m_deco_tilegen[0]->pf_control_r(space, 0, 0xffff);
uint16_t flip = m_deco_tilegen[0]->pf_control_r(0);
flip_screen_set(!BIT(flip, 7));
m_sprgen->set_flip_screen(!BIT(flip, 7));

View File

@ -128,8 +128,7 @@ void cninja_state::cninjabl_draw_sprites( screen_device &screen, bitmap_ind16 &b
uint32_t cninja_state::screen_update_cninja(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
address_space &space = machine().dummy_space();
uint16_t flip = m_deco_tilegen[0]->pf_control_r(space, 0, 0xffff);
uint16_t flip = m_deco_tilegen[0]->pf_control_r(0);
flip_screen_set(BIT(flip, 7));
m_sprgen[0]->set_flip_screen(BIT(flip, 7));
@ -161,8 +160,7 @@ uint32_t cninja_state::screen_update_cninjabl2(screen_device &screen, bitmap_ind
uint32_t cninja_state::screen_update_cninjabl(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
address_space &space = machine().dummy_space();
uint16_t flip = m_deco_tilegen[0]->pf_control_r(space, 0, 0xffff);
uint16_t flip = m_deco_tilegen[0]->pf_control_r(0);
/* force layers to be enabled */
m_deco_tilegen[1]->set_enable(0, 1 );
@ -186,8 +184,7 @@ uint32_t cninja_state::screen_update_cninjabl(screen_device &screen, bitmap_ind1
uint32_t cninja_state::screen_update_edrandy(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
address_space &space = machine().dummy_space();
uint16_t flip = m_deco_tilegen[0]->pf_control_r(space, 0, 0xffff);
uint16_t flip = m_deco_tilegen[0]->pf_control_r(0);
flip_screen_set(BIT(flip, 7));
m_sprgen[0]->set_flip_screen(BIT(flip, 7));
@ -206,8 +203,7 @@ uint32_t cninja_state::screen_update_edrandy(screen_device &screen, bitmap_ind16
uint32_t cninja_state::screen_update_robocop2(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
address_space &space = machine().dummy_space();
uint16_t flip = m_deco_tilegen[0]->pf_control_r(space, 0, 0xffff);
uint16_t flip = m_deco_tilegen[0]->pf_control_r(0);
uint16_t priority = m_priority;
/* One of the tilemap chips can switch between 2 tilemaps at 4bpp, or 1 at 8bpp */
@ -264,8 +260,7 @@ VIDEO_START_MEMBER(cninja_state,mutantf)
uint32_t cninja_state::screen_update_mutantf(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
address_space &space = machine().dummy_space();
uint16_t flip = m_deco_tilegen[0]->pf_control_r(space, 0, 0xffff);
uint16_t flip = m_deco_tilegen[0]->pf_control_r(0);
uint16_t priority = m_priority;
// sprites are flipped relative to tilemaps

View File

@ -56,8 +56,7 @@ WRITE16_MEMBER(darkseal_state::palette_ext_w)
uint32_t darkseal_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
address_space &space = machine().dummy_space();
uint16_t flip = m_deco_tilegen[1]->pf_control_r(space, 0, 0xffff);
uint16_t flip = m_deco_tilegen[1]->pf_control_r(0);
flip_screen_set(!BIT(flip, 7));
m_sprgen->set_flip_screen(!BIT(flip, 7));

View File

@ -83,8 +83,7 @@ void dassault_state::mixdassaultlayer(bitmap_rgb32 &bitmap, bitmap_ind16* sprite
/* are the priorities 100% correct? they're the same as they were before conversion to DECO52 sprite device, but if (for example) you walk to the side of the crates in the first part of the game you appear over them... */
uint32_t dassault_state::screen_update_dassault(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
address_space &space = machine().dummy_space();
uint16_t flip = m_deco_tilegen[0]->pf_control_r(space, 0, 0xffff);
uint16_t flip = m_deco_tilegen[0]->pf_control_r(0);
uint16_t priority = m_priority;
flip_screen_set(BIT(flip, 7));

View File

@ -602,7 +602,7 @@ void deco16ic_device::set_enable( int tmap, int enable )
/******************************************************************************/
WRITE16_MEMBER( deco16ic_device::pf1_data_w )
void deco16ic_device::pf1_data_w(offs_t offset, u16 data, u16 mem_mask)
{
COMBINE_DATA(&m_pf1_data[offset]);
@ -611,7 +611,7 @@ WRITE16_MEMBER( deco16ic_device::pf1_data_w )
m_pf1_tilemap_16x16->mark_tile_dirty(offset);
}
WRITE16_MEMBER( deco16ic_device::pf2_data_w )
void deco16ic_device::pf2_data_w(offs_t offset, u16 data, u16 mem_mask)
{
COMBINE_DATA(&m_pf2_data[offset]);
@ -620,17 +620,17 @@ WRITE16_MEMBER( deco16ic_device::pf2_data_w )
m_pf2_tilemap_16x16->mark_tile_dirty(offset);
}
READ16_MEMBER( deco16ic_device::pf1_data_r )
u16 deco16ic_device::pf1_data_r(offs_t offset)
{
return m_pf1_data[offset];
}
READ16_MEMBER( deco16ic_device::pf2_data_r )
u16 deco16ic_device::pf2_data_r(offs_t offset)
{
return m_pf2_data[offset];
}
WRITE16_MEMBER( deco16ic_device::pf_control_w )
void deco16ic_device::pf_control_w(offs_t offset, u16 data, u16 mem_mask)
{
// update until current scanline (inclusive if we're in hblank)
int ydelta = (screen().hpos() > screen().visible_area().right()) ? 0 : 1;
@ -639,40 +639,40 @@ WRITE16_MEMBER( deco16ic_device::pf_control_w )
COMBINE_DATA(&m_pf12_control[offset]);
}
READ16_MEMBER( deco16ic_device::pf_control_r )
u16 deco16ic_device::pf_control_r(offs_t offset)
{
return m_pf12_control[offset];
}
READ32_MEMBER( deco16ic_device::pf_control_dword_r )
u32 deco16ic_device::pf_control_dword_r(offs_t offset)
{
return pf_control_r(space, offset, 0xffff)^0xffff0000;
return pf_control_r(offset) ^ 0xffff0000;
}
WRITE32_MEMBER( deco16ic_device::pf_control_dword_w )
void deco16ic_device::pf_control_dword_w(offs_t offset, u32 data, u32 mem_mask)
{
pf_control_w(space, offset, data & 0xffff, mem_mask & 0xffff);
pf_control_w(offset, data & 0xffff, mem_mask & 0xffff);
}
READ32_MEMBER( deco16ic_device::pf1_data_dword_r )
u32 deco16ic_device::pf1_data_dword_r(offs_t offset)
{
return pf1_data_r(space, offset, 0xffff)^0xffff0000;
return pf1_data_r(offset) ^ 0xffff0000;
}
WRITE32_MEMBER( deco16ic_device::pf1_data_dword_w )
void deco16ic_device::pf1_data_dword_w(offs_t offset, u32 data, u32 mem_mask)
{
pf1_data_w(space, offset, data & 0xffff, mem_mask & 0xffff);
pf1_data_w(offset, data & 0xffff, mem_mask & 0xffff);
}
READ32_MEMBER( deco16ic_device::pf2_data_dword_r )
u32 deco16ic_device::pf2_data_dword_r(offs_t offset)
{
return pf2_data_r(space, offset, 0xffff)^0xffff0000;
return pf2_data_r(offset) ^ 0xffff0000;
}
WRITE32_MEMBER( deco16ic_device::pf2_data_dword_w )
void deco16ic_device::pf2_data_dword_w(offs_t offset, u32 data, u32 mem_mask)
{
pf2_data_w(space, offset, data & 0xffff, mem_mask & 0xffff);
pf2_data_w(offset, data & 0xffff, mem_mask & 0xffff);
}

View File

@ -49,25 +49,23 @@ public:
void set_pf12_16x16_bank(int bank) { m_pf12_16x16_gfx_bank = bank; }
DECLARE_WRITE16_MEMBER( pf1_data_w );
DECLARE_WRITE16_MEMBER( pf2_data_w );
void pf1_data_w(offs_t offset, u16 data, u16 mem_mask = ~0);
void pf2_data_w(offs_t offset, u16 data, u16 mem_mask = ~0);
DECLARE_READ16_MEMBER( pf1_data_r );
DECLARE_READ16_MEMBER( pf2_data_r );
u16 pf1_data_r(offs_t offset);
u16 pf2_data_r(offs_t offset);
DECLARE_WRITE16_MEMBER( pf_control_w );
void pf_control_w(offs_t offset, u16 data, u16 mem_mask = ~0);
u16 pf_control_r(offs_t offset);
DECLARE_READ16_MEMBER( pf_control_r );
void pf1_data_dword_w(offs_t offset, u32 data, u32 mem_mask = ~0);
void pf2_data_dword_w(offs_t offset, u32 data, u32 mem_mask = ~0);
DECLARE_WRITE32_MEMBER( pf1_data_dword_w );
DECLARE_WRITE32_MEMBER( pf2_data_dword_w );
u32 pf1_data_dword_r(offs_t offset);
u32 pf2_data_dword_r(offs_t offset);
DECLARE_READ32_MEMBER( pf1_data_dword_r );
DECLARE_READ32_MEMBER( pf2_data_dword_r );
DECLARE_WRITE32_MEMBER( pf_control_dword_w );
DECLARE_READ32_MEMBER( pf_control_dword_r );
void pf_control_dword_w(offs_t offset, u32 data, u32 mem_mask = ~0);
u32 pf_control_dword_r(offs_t offset);
void print_debug_info(bitmap_ind16 &bitmap);

View File

@ -130,8 +130,7 @@ void dragngun_state::video_start()
uint32_t captaven_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
address_space &space = machine().dummy_space();
uint16_t flip = m_deco_tilegen[0]->pf_control_r(space, 0, 0xffff);
uint16_t flip = m_deco_tilegen[0]->pf_control_r(0);
flip_screen_set(BIT(flip, 7));
m_sprgen[0]->set_flip_screen(BIT(flip, 7));

View File

@ -5,8 +5,7 @@
uint32_t dietgo_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
address_space &space = machine().dummy_space();
uint16_t flip = m_deco_tilegen->pf_control_r(space, 0, 0xffff);
uint16_t flip = m_deco_tilegen->pf_control_r(0);
flip_screen_set(BIT(flip, 7));
m_sprgen->set_flip_screen(BIT(flip, 7));

View File

@ -13,8 +13,7 @@
uint32_t funkyjet_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
address_space &space = machine().dummy_space();
uint16_t flip = m_deco_tilegen->pf_control_r(space, 0, 0xffff);
uint16_t flip = m_deco_tilegen->pf_control_r(0);
flip_screen_set(BIT(flip, 7));
m_sprgen->set_flip_screen(BIT(flip, 7));

View File

@ -8,8 +8,7 @@
uint32_t pktgaldx_state::screen_update_pktgaldx(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
address_space &space = machine().dummy_space();
uint16_t flip = m_deco_tilegen->pf_control_r(space, 0, 0xffff);
uint16_t flip = m_deco_tilegen->pf_control_r(0);
// sprites are flipped relative to tilemaps
flip_screen_set(BIT(flip, 7));

View File

@ -22,8 +22,7 @@ WRITE16_MEMBER(rohga_state::rohga_buffer_spriteram16_w)
uint32_t rohga_state::screen_update_rohga(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
address_space &space = machine().dummy_space();
uint16_t flip = m_deco_tilegen[0]->pf_control_r(space, 0, 0xffff);
uint16_t flip = m_deco_tilegen[0]->pf_control_r(0);
uint16_t priority = m_decocomn->priority_r();
// sprites are flipped relative to tilemaps
@ -128,8 +127,7 @@ void rohga_state::mixwizdfirelayer(bitmap_rgb32 &bitmap, const rectangle &clipre
uint32_t rohga_state::screen_update_wizdfire(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
address_space &space = machine().dummy_space();
uint16_t flip = m_deco_tilegen[0]->pf_control_r(space, 0, 0xffff);
uint16_t flip = m_deco_tilegen[0]->pf_control_r(0);
uint16_t priority = m_decocomn->priority_r();
// sprites are flipped relative to tilemaps
@ -331,8 +329,7 @@ void rohga_state::mixnitroballlayer(screen_device &screen, bitmap_rgb32 &bitmap,
uint32_t rohga_state::screen_update_nitrobal(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
{
address_space &space = machine().dummy_space();
uint16_t flip = m_deco_tilegen[0]->pf_control_r(space, 0, 0xffff);
uint16_t flip = m_deco_tilegen[0]->pf_control_r(0);
uint16_t priority = m_decocomn->priority_r();
flip_screen_set(BIT(flip, 7));

View File

@ -37,8 +37,7 @@ uint32_t sshangha_state::screen_update(screen_device &screen, bitmap_rgb32 &bitm
const bool combine_tilemaps = (m_video_control&4) ? false : true;
// sprites are flipped relative to tilemaps
address_space &space = machine().dummy_space();
uint16_t flip = m_tilegen->pf_control_r(space, 0, 0xffff);
uint16_t flip = m_tilegen->pf_control_r(0);
flip_screen_set(BIT(flip, 7));
m_sprgen1->set_flip_screen(!BIT(flip, 7));
m_sprgen2->set_flip_screen(!BIT(flip, 7));

View File

@ -17,8 +17,7 @@
uint32_t supbtime_state::screen_update_common(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect, bool use_offsets)
{
address_space &space = machine().dummy_space();
uint16_t flip = m_deco_tilegen->pf_control_r(space, 0, 0xffff);
uint16_t flip = m_deco_tilegen->pf_control_r(0);
flip_screen_set(BIT(flip, 7));
m_sprgen->set_flip_screen(BIT(flip, 7));

View File

@ -53,8 +53,7 @@ WRITE16_MEMBER(vaportra_state::palette_ext_w)
uint32_t vaportra_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
address_space &space = machine().dummy_space();
uint16_t flip = m_deco_tilegen[0]->pf_control_r(space, 0, 0xffff);
uint16_t flip = m_deco_tilegen[0]->pf_control_r(0);
int pri = m_priority[0] & 0x03;
flip_screen_set(!BIT(flip, 7));