mirror of
https://github.com/holub/mame
synced 2025-05-16 02:42:05 +03:00
Merge pull request #4827 from cam900/deco16ic_args
deco16ic.cpp : Simplify handlers, Reduce some unnecessary lines
This commit is contained in:
commit
652b654206
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
@ -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));
|
||||
|
@ -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);
|
||||
|
@ -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));
|
||||
|
@ -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
|
||||
|
@ -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));
|
||||
|
@ -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
|
||||
|
@ -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));
|
||||
|
||||
|
@ -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));
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
|
||||
|
@ -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);
|
||||
|
||||
|
@ -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));
|
||||
|
||||
|
@ -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));
|
||||
|
@ -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));
|
||||
|
@ -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));
|
||||
|
@ -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));
|
||||
|
@ -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));
|
||||
|
@ -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));
|
||||
|
@ -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));
|
||||
|
Loading…
Reference in New Issue
Block a user