more legionna function movement (nw)

This commit is contained in:
David Haywood 2014-09-23 19:49:19 +00:00
parent 062528e4a5
commit 65ccfef3e6
5 changed files with 68 additions and 274 deletions

View File

@ -140,7 +140,11 @@ static ADDRESS_MAP_START( legionna_map, AS_PROGRAM, 16, legionna_state )
AM_RANGE(0x100000, 0x1003ff) AM_RAM
AM_RANGE(0x100600, 0x10063f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
AM_RANGE(0x100700, 0x10071f) AM_READWRITE(sound_comms_r,sound_comms_w)
AM_RANGE(0x100400, 0x1007ff) AM_DEVREADWRITE("seibucop", seibu_cop_legacy_device, legionna_mcu_r, legionna_mcu_w) AM_SHARE("cop_mcu_ram") /* COP mcu */
AM_RANGE(0x100740, 0x100741) AM_READ_PORT("DSW1")
AM_RANGE(0x100744, 0x100745) AM_READ_PORT("PLAYERS12")
AM_RANGE(0x100748, 0x100749) AM_READ_PORT("PLAYERS34")
AM_RANGE(0x10074c, 0x10074d) AM_READ_PORT("SYSTEM")
AM_RANGE(0x100400, 0x1007ff) AM_DEVREADWRITE("seibucop", seibu_cop_legacy_device, generic_cop_r, generic_cop_w) AM_SHARE("cop_mcu_ram") /* COP mcu */
AM_RANGE(0x101000, 0x1017ff) AM_RAM // _WRITE(legionna_background_w) AM_SHARE("back_data")
AM_RANGE(0x101800, 0x101fff) AM_RAM // _WRITE(legionna_foreground_w) AM_SHARE("fore_data")
AM_RANGE(0x102000, 0x1027ff) AM_RAM // _WRITE(legionna_midground_w) AM_SHARE("mid_data")
@ -156,9 +160,14 @@ static ADDRESS_MAP_START( heatbrl_map, AS_PROGRAM, 16, legionna_state )
AM_IMPORT_FROM( legionna_cop_mem )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x1003ff) AM_RAM
AM_RANGE(0x100470, 0x100471) AM_WRITE(heatbrl_setgfxbank)
AM_RANGE(0x100640, 0x10068f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
AM_RANGE(0x100740, 0x100741) AM_READ_PORT("DSW1")
AM_RANGE(0x100744, 0x100745) AM_READ_PORT("PLAYERS12")
AM_RANGE(0x100748, 0x100749) AM_READ_PORT("PLAYERS34")
AM_RANGE(0x10074c, 0x10074d) AM_READ_PORT("SYSTEM")
AM_RANGE(0x1007c0, 0x1007df) AM_READWRITE(sound_comms_r,sound_comms_w)
AM_RANGE(0x100400, 0x1007ff) AM_DEVREADWRITE("seibucop", seibu_cop_legacy_device, heatbrl_mcu_r, heatbrl_mcu_w) AM_SHARE("cop_mcu_ram") /* COP mcu */
AM_RANGE(0x100400, 0x1007ff) AM_DEVREADWRITE("seibucop", seibu_cop_legacy_device, generic_cop_r, generic_cop_w) AM_SHARE("cop_mcu_ram") /* COP mcu */
AM_RANGE(0x100800, 0x100fff) AM_RAM // _WRITE(legionna_background_w) AM_SHARE("back_data")
AM_RANGE(0x101000, 0x1017ff) AM_RAM // _WRITE(legionna_foreground_w) AM_SHARE("fore_data")
AM_RANGE(0x101800, 0x101fff) AM_RAM // _WRITE(legionna_midground_w) AM_SHARE("mid_data")
@ -172,9 +181,14 @@ static ADDRESS_MAP_START( godzilla_map, AS_PROGRAM, 16, legionna_state )
AM_IMPORT_FROM( legionna_cop_mem )
AM_RANGE(0x000000, 0x07ffff) AM_ROM
AM_RANGE(0x100000, 0x1003ff) AM_RAM
AM_RANGE(0x100470, 0x100471) AM_WRITE(denjinmk_setgfxbank)
AM_RANGE(0x100600, 0x10063f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
AM_RANGE(0x100700, 0x10071f) AM_READWRITE(sound_comms_r,sound_comms_w)
AM_RANGE(0x100400, 0x1007ff) AM_DEVREADWRITE("seibucop", seibu_cop_legacy_device, godzilla_mcu_r, godzilla_mcu_w) AM_SHARE("cop_mcu_ram") /* COP mcu */
AM_RANGE(0x100740, 0x100741) AM_READ_PORT("DSW1")
AM_RANGE(0x100744, 0x100745) AM_READ_PORT("PLAYERS12")
AM_RANGE(0x100748, 0x100749) AM_READ_PORT("PLAYERS34")
AM_RANGE(0x10074c, 0x10074d) AM_READ_PORT("SYSTEM")
AM_RANGE(0x100400, 0x1007ff) AM_DEVREADWRITE("seibucop", seibu_cop_legacy_device, generic_cop_r, generic_cop_w) AM_SHARE("cop_mcu_ram") /* COP mcu */
AM_RANGE(0x100800, 0x100fff) AM_RAM
AM_RANGE(0x101000, 0x1017ff) AM_RAM // _WRITE(legionna_background_w) AM_SHARE("back_data")
AM_RANGE(0x101800, 0x101fff) AM_RAM // _WRITE(legionna_foreground_w) AM_SHARE("fore_data")
@ -202,9 +216,15 @@ static ADDRESS_MAP_START( denjinmk_map, AS_PROGRAM, 16, legionna_state )
AM_IMPORT_FROM( legionna_cop_mem )
AM_RANGE(0x000000, 0x0fffff) AM_ROM
AM_RANGE(0x100000, 0x1003ff) AM_RAM
AM_RANGE(0x100470, 0x100471) AM_WRITE(denjinmk_setgfxbank)
AM_RANGE(0x100600, 0x10063f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
AM_RANGE(0x100700, 0x10071f) AM_READWRITE(sound_comms_r,sound_comms_w)
AM_RANGE(0x100400, 0x1007ff) AM_DEVREADWRITE("seibucop", seibu_cop_legacy_device, denjinmk_mcu_r, denjinmk_mcu_w) AM_SHARE("cop_mcu_ram") /* COP mcu */
AM_RANGE(0x100740, 0x100741) AM_READ_PORT("DSW1")
AM_RANGE(0x100744, 0x100745) AM_READ_PORT("PLAYERS12")
AM_RANGE(0x100748, 0x100749) AM_READ_PORT("PLAYERS34")
AM_RANGE(0x10074c, 0x10074d) AM_READ_PORT("SYSTEM")
AM_RANGE(0x10075c, 0x10075d) AM_READ_PORT("DSW2")
AM_RANGE(0x100400, 0x1007ff) AM_DEVREADWRITE("seibucop", seibu_cop_legacy_device, generic_cop_r, generic_cop_w) AM_SHARE("cop_mcu_ram") /* COP mcu */
AM_RANGE(0x100800, 0x100fff) AM_RAM
AM_RANGE(0x101000, 0x1017ff) AM_RAM // _WRITE(legionna_background_w) AM_SHARE("back_data")
AM_RANGE(0x101800, 0x101fff) AM_RAM // _WRITE(legionna_foreground_w) AM_SHARE("fore_data")
@ -224,7 +244,12 @@ static ADDRESS_MAP_START( grainbow_map, AS_PROGRAM, 16, legionna_state )
AM_RANGE(0x100000, 0x1003ff) AM_RAM
AM_RANGE(0x100600, 0x10063f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
AM_RANGE(0x100700, 0x10071f) AM_READWRITE(sound_comms_r,sound_comms_w)
AM_RANGE(0x100400, 0x1007ff) AM_DEVREADWRITE("seibucop", seibu_cop_legacy_device, grainbow_mcu_r, grainbow_mcu_w) AM_SHARE("cop_mcu_ram") /* COP mcu */
AM_RANGE(0x100740, 0x100741) AM_READ_PORT("DSW1")
AM_RANGE(0x100744, 0x100745) AM_READ_PORT("PLAYERS12")
AM_RANGE(0x100748, 0x100749) AM_READ_PORT("PLAYERS34")
AM_RANGE(0x10074c, 0x10074d) AM_READ_PORT("SYSTEM")
AM_RANGE(0x10075c, 0x10075d) AM_READ_PORT("DSW2")
AM_RANGE(0x100400, 0x1007ff) AM_DEVREADWRITE("seibucop", seibu_cop_legacy_device, generic_cop_r, generic_cop_w) AM_SHARE("cop_mcu_ram") /* COP mcu */
AM_RANGE(0x100800, 0x100fff) AM_RAM // _WRITE(legionna_background_w) AM_SHARE("back_data")
AM_RANGE(0x101000, 0x1017ff) AM_RAM // _WRITE(legionna_foreground_w) AM_SHARE("fore_data")
AM_RANGE(0x101800, 0x101fff) AM_RAM // _WRITE(legionna_midground_w) AM_SHARE("mid_data")
@ -243,7 +268,12 @@ static ADDRESS_MAP_START( cupsoc_mem, AS_PROGRAM, 16, legionna_state )
AM_RANGE(0x100000, 0x1003ff) AM_RAM
AM_RANGE(0x100600, 0x10063f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
AM_RANGE(0x100700, 0x10071f) AM_READWRITE(sound_comms_r,sound_comms_w)
AM_RANGE(0x100400, 0x1007ff) AM_DEVREADWRITE("seibucop", seibu_cop_legacy_device, cupsoc_mcu_r,cupsoc_mcu_w) AM_SHARE("cop_mcu_ram")
AM_RANGE(0x100740, 0x100741) AM_READ_PORT("DSW1")
AM_RANGE(0x100744, 0x100745) AM_READ_PORT("PLAYERS12")
AM_RANGE(0x100748, 0x100749) AM_READ_PORT("PLAYERS34")
AM_RANGE(0x10074c, 0x10074d) AM_READ_PORT("SYSTEM")
AM_RANGE(0x10075c, 0x10075d) AM_READ_PORT("DSW2")
AM_RANGE(0x100400, 0x1007ff) AM_DEVREADWRITE("seibucop", seibu_cop_legacy_device, generic_cop_r,generic_cop_w) AM_SHARE("cop_mcu_ram")
AM_RANGE(0x100800, 0x100fff) AM_RAM // _WRITE(legionna_background_w) AM_SHARE("back_data")
AM_RANGE(0x101000, 0x1017ff) AM_RAM // _WRITE(legionna_foreground_w) AM_SHARE("fore_data")
AM_RANGE(0x101800, 0x101fff) AM_RAM // _WRITE(legionna_midground_w) AM_SHARE("mid_data")
@ -265,8 +295,13 @@ static ADDRESS_MAP_START( cupsocs_mem, AS_PROGRAM, 16, legionna_state )
AM_RANGE(0x100000, 0x1003ff) AM_RAM
AM_RANGE(0x100600, 0x10060f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)//?
AM_RANGE(0x100640, 0x10067f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
AM_RANGE(0x100700, 0x100701) AM_READ_PORT("DSW1")
AM_RANGE(0x100704, 0x100705) AM_READ_PORT("PLAYERS12")
AM_RANGE(0x100708, 0x100709) AM_READ_PORT("PLAYERS34")
AM_RANGE(0x10070c, 0x10070d) AM_READ_PORT("SYSTEM")
AM_RANGE(0x10071c, 0x10071d) AM_READ_PORT("DSW2")
AM_RANGE(0x100740, 0x10075f) AM_READWRITE(sound_comms_r,sound_comms_w)
AM_RANGE(0x100400, 0x1007ff) AM_DEVREADWRITE("seibucop", seibu_cop_legacy_device, cupsocs_mcu_r,cupsocs_mcu_w) AM_SHARE("cop_mcu_ram")
AM_RANGE(0x100400, 0x1007ff) AM_DEVREADWRITE("seibucop", seibu_cop_legacy_device, generic_cop_r,generic_cop_w) AM_SHARE("cop_mcu_ram")
AM_RANGE(0x100800, 0x100fff) AM_RAM // _WRITE(legionna_background_w) AM_SHARE("back_data")
AM_RANGE(0x101000, 0x1017ff) AM_RAM // _WRITE(legionna_foreground_w) AM_SHARE("fore_data")
AM_RANGE(0x101800, 0x101fff) AM_RAM // _WRITE(legionna_midground_w) AM_SHARE("mid_data")
@ -288,6 +323,10 @@ static ADDRESS_MAP_START( cupsocbl_mem, AS_PROGRAM, 16, legionna_state )
//AM_RANGE(0x100000, 0x1003ff) AM_RAM
AM_RANGE(0x100600, 0x10060f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)//?
AM_RANGE(0x100640, 0x10067f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
AM_RANGE(0x100700, 0x100701) AM_READ_PORT("DSW1")
AM_RANGE(0x100704, 0x100705) AM_READ_PORT("PLAYERS12")
AM_RANGE(0x100708, 0x100709) AM_READ_PORT("PLAYERS34")
AM_RANGE(0x10070c, 0x10070d) AM_READ_PORT("SYSTEM")
AM_RANGE(0x100000, 0x1007ff) AM_DEVREADWRITE("seibucop", seibu_cop_legacy_device, copdxbl_0_r,copdxbl_0_w) AM_SHARE("cop_mcu_ram")
AM_RANGE(0x100800, 0x100fff) AM_RAM // _WRITE(legionna_background_w) AM_SHARE("back_data")
AM_RANGE(0x101000, 0x1017ff) AM_RAM // _WRITE(legionna_foreground_w) AM_SHARE("fore_data")
@ -410,7 +449,7 @@ static INPUT_PORTS_START( legionna )
PORT_DIPSETTING( 0x0000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x8000, DEF_STR( On ) )
PORT_START("UNK")
PORT_START("PLAYERS34")
PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
INPUT_PORTS_END
@ -600,6 +639,9 @@ static INPUT_PORTS_START( godzilla )
PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Free_Play ) )
PORT_DIPSETTING( 0x8000, DEF_STR( Off ) )
PORT_DIPSETTING( 0x0000, DEF_STR( On ) )
PORT_START("PLAYERS34")
PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
INPUT_PORTS_END
static INPUT_PORTS_START( grainbow )

View File

@ -54,6 +54,9 @@ public:
DECLARE_WRITE8_MEMBER(okim_rombank_w);
DECLARE_READ16_MEMBER(sound_comms_r);
DECLARE_WRITE16_MEMBER(sound_comms_w);
DECLARE_WRITE16_MEMBER(denjinmk_setgfxbank);
DECLARE_WRITE16_MEMBER(heatbrl_setgfxbank);
DECLARE_DRIVER_INIT(legiongfx);
DECLARE_DRIVER_INIT(cupsoc_debug);
DECLARE_DRIVER_INIT(cupsoc);
@ -87,6 +90,4 @@ public:
};
/*----------- defined in video/legionna.c -----------*/
void heatbrl_setgfxbank(running_machine &machine, UINT16 data);
void denjinmk_setgfxbank(running_machine &machine, UINT16 data);

View File

@ -2138,6 +2138,7 @@ READ16_MEMBER( seibu_cop_legacy_device::generic_cop_r )
WRITE16_MEMBER( seibu_cop_legacy_device::generic_cop_w )
{
COMBINE_DATA(&m_cop_mcu_ram[offset]);
switch (offset)
{
@ -2853,237 +2854,3 @@ WRITE16_MEMBER( seibu_cop_legacy_device::generic_cop_w )
}
}
}
/**********************************************************************************************
Heated Barrel
**********************************************************************************************/
READ16_MEMBER( seibu_cop_legacy_device::heatbrl_mcu_r )
{
if(offset >= 0x340/2 && offset <= 0x34f/2)
{
static const char *const portnames[] = { "DSW1", "PLAYERS12", "PLAYERS34", "SYSTEM" };
return space.machine().root_device().ioport(portnames[(offset >> 1) & 3])->read();
}
return generic_cop_r(space, offset, mem_mask);
}
WRITE16_MEMBER( seibu_cop_legacy_device::heatbrl_mcu_w )
{
COMBINE_DATA(&m_cop_mcu_ram[offset]);
/* external pin register, used for banking */
if(offset == 0x070/2)
{
heatbrl_setgfxbank(space.machine(), m_cop_mcu_ram[offset]);
return;
}
if(offset == 0x200/2) //irq ack / sprite buffering?
return;
generic_cop_w(space, offset, data, mem_mask);
}
/**********************************************************************************************
Seibu Cup Soccer
**********************************************************************************************/
READ16_MEMBER( seibu_cop_legacy_device::cupsoc_mcu_r )
{
if(offset >= 0x340/2 && offset <= 0x34f/2)
{
static const char *const portnames[] = { "DSW1", "PLAYERS12", "PLAYERS34", "SYSTEM" };
return space.machine().root_device().ioport(portnames[(offset >> 1) & 3])->read();
}
if(offset == 0x35c/2)
{
return space.machine().root_device().ioport("DSW2")->read();
}
return generic_cop_r(space, offset, mem_mask);
}
WRITE16_MEMBER( seibu_cop_legacy_device::cupsoc_mcu_w )
{
COMBINE_DATA(&m_cop_mcu_ram[offset]);
if(offset == 0x280/2) //irq ack / sprite buffering?
return;
generic_cop_w(space, offset, data, mem_mask);
}
READ16_MEMBER( seibu_cop_legacy_device::cupsocs_mcu_r )
{
if(offset >= 0x300/2 && offset <= 0x30f/2)
{
static const char *const portnames[] = { "DSW1", "PLAYERS12", "PLAYERS34", "SYSTEM" };
return space.machine().root_device().ioport(portnames[(offset >> 1) & 3])->read();
}
if(offset == 0x31c/2)
{
return space.machine().root_device().ioport("DSW2")->read();
}
return generic_cop_r(space, offset, mem_mask);
}
WRITE16_MEMBER( seibu_cop_legacy_device::cupsocs_mcu_w )
{
COMBINE_DATA(&m_cop_mcu_ram[offset]);
if(offset == 0x280/2) //irq ack / sprite buffering?
return;
generic_cop_w(space, offset, data, mem_mask);
}
/**********************************************************************************************
Godzilla
**********************************************************************************************/
READ16_MEMBER( seibu_cop_legacy_device::godzilla_mcu_r )
{
if(offset >= 0x340/2 && offset <= 0x34f/2)
{
static const char *const portnames[] = { "DSW1", "PLAYERS12", "PLAYERS34", "SYSTEM" };
return space.machine().root_device().ioport(portnames[(offset >> 1) & 3])->read();
}
return generic_cop_r(space, offset, mem_mask);
}
WRITE16_MEMBER( seibu_cop_legacy_device::godzilla_mcu_w )
{
COMBINE_DATA(&m_cop_mcu_ram[offset]);
if(offset == 0x070/2)
{
denjinmk_setgfxbank(space.machine(), m_cop_mcu_ram[offset]);
return;
}
if(offset == 0x280/2) //irq ack / sprite buffering?
return;
generic_cop_w(space, offset, data, mem_mask);
}
/**********************************************************************************************
Denjin Makai
**********************************************************************************************/
READ16_MEMBER( seibu_cop_legacy_device::denjinmk_mcu_r )
{
if(offset >= 0x340/2 && offset <= 0x34f/2)
{
static const char *const portnames[] = { "DSW1", "PLAYERS12", "PLAYERS34", "SYSTEM" };
return space.machine().root_device().ioport(portnames[(offset >> 1) & 3])->read();
}
if(offset == 0x35c/2)
{
return space.machine().root_device().ioport("DSW2")->read();
}
return generic_cop_r(space, offset, mem_mask);
}
WRITE16_MEMBER( seibu_cop_legacy_device::denjinmk_mcu_w )
{
COMBINE_DATA(&m_cop_mcu_ram[offset]);
if(offset == 0x280/2) //irq ack / sprite buffering?
return;
if(offset == 0x070/2)
{
denjinmk_setgfxbank(space.machine(), m_cop_mcu_ram[offset]);
return;
}
generic_cop_w(space, offset, data, mem_mask);
}
/**********************************************************************************************
SD Gundam Sangokushi Rainbow Tairiku Senki
**********************************************************************************************/
READ16_MEMBER( seibu_cop_legacy_device::grainbow_mcu_r )
{
if(offset >= 0x340/2 && offset <= 0x34f/2)
{
static const char *const portnames[] = { "DSW1", "PLAYERS12", "PLAYERS34", "SYSTEM" };
return space.machine().root_device().ioport(portnames[(offset >> 1) & 3])->read();
}
if(offset == 0x35c/2)
{
return space.machine().root_device().ioport("DSW2")->read();
}
return generic_cop_r(space, offset, mem_mask);
}
WRITE16_MEMBER( seibu_cop_legacy_device::grainbow_mcu_w )
{
COMBINE_DATA(&m_cop_mcu_ram[offset]);
if(offset == 0x280/2) //irq ack / sprite buffering?
return;
generic_cop_w(space, offset, data, mem_mask);
}
/**********************************************************************************************
Legionnaire
**********************************************************************************************/
READ16_MEMBER( seibu_cop_legacy_device::legionna_mcu_r )
{
if(offset >= 0x340/2 && offset <= 0x34f/2)
{
static const char *const portnames[] = { "DSW1", "PLAYERS12", "UNK", "SYSTEM" };
return space.machine().root_device().ioport(portnames[(offset >> 1) & 3])->read();
}
return generic_cop_r(space, offset, mem_mask);
}
WRITE16_MEMBER( seibu_cop_legacy_device::legionna_mcu_w )
{
COMBINE_DATA(&m_cop_mcu_ram[offset]);
if(offset == 0x070/2) //external pin: puts bit 13 high, delay, reads 0x748, writes bit 13 low
return;
if(offset == 0x280/2) //irq ack / sprite buffering?
return;
generic_cop_w(space, offset, data, mem_mask);
}

View File

@ -29,21 +29,8 @@ seibu_cop_legacy_device(const machine_config &mconfig, const char *tag, device_t
DECLARE_READ16_MEMBER( copdxbl_0_r );
DECLARE_WRITE16_MEMBER( copdxbl_0_w );
DECLARE_READ16_MEMBER( heatbrl_mcu_r );
DECLARE_WRITE16_MEMBER( heatbrl_mcu_w );
DECLARE_READ16_MEMBER( cupsoc_mcu_r );
DECLARE_WRITE16_MEMBER( cupsoc_mcu_w );
DECLARE_READ16_MEMBER( cupsocs_mcu_r );
DECLARE_WRITE16_MEMBER( cupsocs_mcu_w );
DECLARE_READ16_MEMBER( godzilla_mcu_r );
DECLARE_WRITE16_MEMBER( godzilla_mcu_w );
DECLARE_READ16_MEMBER( denjinmk_mcu_r );
DECLARE_WRITE16_MEMBER( denjinmk_mcu_w );
DECLARE_READ16_MEMBER( grainbow_mcu_r );
DECLARE_WRITE16_MEMBER( grainbow_mcu_w );
DECLARE_READ16_MEMBER( legionna_mcu_r );
DECLARE_WRITE16_MEMBER( legionna_mcu_w );
DECLARE_READ16_MEMBER( generic_cop_r );
DECLARE_WRITE16_MEMBER( generic_cop_w );
protected:
// device-level overrides
virtual void device_config_complete();
@ -76,8 +63,7 @@ private:
void copd2_set_tabledata(UINT16 data);
void cop_take_hit_box_params(UINT8 offs);
UINT8 cop_calculate_collsion_detection();
DECLARE_READ16_MEMBER( generic_cop_r );
DECLARE_WRITE16_MEMBER( generic_cop_w );
required_device<raiden2cop_device> m_raiden2cop;

View File

@ -43,24 +43,22 @@ WRITE16_MEMBER(legionna_state::tile_scroll_w)
tm->set_scrollx(0, data);
}
void heatbrl_setgfxbank(running_machine &machine, UINT16 data)
WRITE16_MEMBER(legionna_state::heatbrl_setgfxbank)
{
legionna_state *state = machine.driver_data<legionna_state>();
state->m_back_gfx_bank = (data &0x4000) >> 2;
m_back_gfx_bank = (data &0x4000) >> 2;
}
/*xxx- --- ---- ---- banking*/
void denjinmk_setgfxbank(running_machine &machine, UINT16 data)
WRITE16_MEMBER(legionna_state::denjinmk_setgfxbank)
{
legionna_state *state = machine.driver_data<legionna_state>();
state->m_fore_gfx_bank = (data &0x2000) >> 1;//???
state->m_back_gfx_bank = (data &0x4000) >> 2;
state->m_mid_gfx_bank = (data &0x8000) >> 3;//???
m_fore_gfx_bank = (data &0x2000) >> 1;//???
m_back_gfx_bank = (data &0x4000) >> 2;
m_mid_gfx_bank = (data &0x8000) >> 3;//???
state->m_background_layer->mark_all_dirty();
state->m_foreground_layer->mark_all_dirty();
state->m_midground_layer->mark_all_dirty();
state->m_text_layer->mark_all_dirty();
m_background_layer->mark_all_dirty();
m_foreground_layer->mark_all_dirty();
m_midground_layer->mark_all_dirty();
m_text_layer->mark_all_dirty();
}
WRITE16_MEMBER(legionna_state::videowrite_cb_w)