sidearms.c: added save state support (nw)

This commit is contained in:
Ivan Vangelista 2015-03-09 19:09:42 +01:00
parent 8be8760ea2
commit ad1ba6b1a2
3 changed files with 79 additions and 70 deletions

View File

@ -46,7 +46,7 @@ void sidearms_state::machine_start()
membank("bank1")->configure_entries(0, 16, memregion("maincpu")->base() + 0x8000, 0x4000);
}
WRITE8_MEMBER(sidearms_state::sidearms_bankswitch_w)
WRITE8_MEMBER(sidearms_state::bankswitch_w)
{
membank("bank1")->set_entry(data & 0x07);
}
@ -71,17 +71,17 @@ static ADDRESS_MAP_START( sidearms_map, AS_PROGRAM, 8, sidearms_state )
AM_RANGE(0xc000, 0xc3ff) AM_RAM_DEVWRITE("palette", palette_device, write) AM_SHARE("palette")
AM_RANGE(0xc400, 0xc7ff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
AM_RANGE(0xc800, 0xc800) AM_READ_PORT("SYSTEM") AM_WRITE(soundlatch_byte_w)
AM_RANGE(0xc801, 0xc801) AM_READ_PORT("P1") AM_WRITE(sidearms_bankswitch_w)
AM_RANGE(0xc801, 0xc801) AM_READ_PORT("P1") AM_WRITE(bankswitch_w)
AM_RANGE(0xc802, 0xc802) AM_READ_PORT("P2") AM_WRITE(watchdog_reset_w)
AM_RANGE(0xc803, 0xc803) AM_READ_PORT("DSW0")
AM_RANGE(0xc804, 0xc804) AM_READ_PORT("DSW1") AM_WRITE(sidearms_c804_w)
AM_RANGE(0xc805, 0xc805) AM_READ_PORT("DSW2") AM_WRITE(sidearms_star_scrollx_w)
AM_RANGE(0xc806, 0xc806) AM_WRITE(sidearms_star_scrolly_w)
AM_RANGE(0xc804, 0xc804) AM_READ_PORT("DSW1") AM_WRITE(c804_w)
AM_RANGE(0xc805, 0xc805) AM_READ_PORT("DSW2") AM_WRITE(star_scrollx_w)
AM_RANGE(0xc806, 0xc806) AM_WRITE(star_scrolly_w)
AM_RANGE(0xc808, 0xc809) AM_WRITEONLY AM_SHARE("bg_scrollx")
AM_RANGE(0xc80a, 0xc80b) AM_WRITEONLY AM_SHARE("bg_scrolly")
AM_RANGE(0xc80c, 0xc80c) AM_WRITE(sidearms_gfxctrl_w) /* background and sprite enable */
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(sidearms_videoram_w) AM_SHARE("videoram")
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(sidearms_colorram_w) AM_SHARE("colorram")
AM_RANGE(0xc80c, 0xc80c) AM_WRITE(gfxctrl_w) /* background and sprite enable */
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(colorram_w) AM_SHARE("colorram")
AM_RANGE(0xe000, 0xefff) AM_RAM
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
@ -95,16 +95,16 @@ static ADDRESS_MAP_START( turtship_map, AS_PROGRAM, 8, sidearms_state )
AM_RANGE(0xe400, 0xe7ff) AM_RAM_DEVWRITE("palette", palette_device, write_ext) AM_SHARE("palette_ext")
AM_RANGE(0xe800, 0xe807) AM_READ(turtship_ports_r)
AM_RANGE(0xe800, 0xe800) AM_WRITE(soundlatch_byte_w)
AM_RANGE(0xe801, 0xe801) AM_WRITE(sidearms_bankswitch_w)
AM_RANGE(0xe801, 0xe801) AM_WRITE(bankswitch_w)
AM_RANGE(0xe802, 0xe802) AM_WRITE(watchdog_reset_w)
AM_RANGE(0xe804, 0xe804) AM_WRITE(sidearms_c804_w)
AM_RANGE(0xe805, 0xe805) AM_WRITE(sidearms_star_scrollx_w)
AM_RANGE(0xe806, 0xe806) AM_WRITE(sidearms_star_scrolly_w)
AM_RANGE(0xe804, 0xe804) AM_WRITE(c804_w)
AM_RANGE(0xe805, 0xe805) AM_WRITE(star_scrollx_w)
AM_RANGE(0xe806, 0xe806) AM_WRITE(star_scrolly_w)
AM_RANGE(0xe808, 0xe809) AM_WRITEONLY AM_SHARE("bg_scrollx")
AM_RANGE(0xe80a, 0xe80b) AM_WRITEONLY AM_SHARE("bg_scrolly")
AM_RANGE(0xe80c, 0xe80c) AM_WRITE(sidearms_gfxctrl_w) /* background and sprite enable */
AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(sidearms_videoram_w) AM_SHARE("videoram")
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(sidearms_colorram_w) AM_SHARE("colorram")
AM_RANGE(0xe80c, 0xe80c) AM_WRITE(gfxctrl_w) /* background and sprite enable */
AM_RANGE(0xf000, 0xf7ff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
AM_RANGE(0xf800, 0xffff) AM_RAM_WRITE(colorram_w) AM_SHARE("colorram")
ADDRESS_MAP_END
static ADDRESS_MAP_START( sidearms_sound_map, AS_PROGRAM, 8, sidearms_state )
@ -139,17 +139,17 @@ static ADDRESS_MAP_START( whizz_map, AS_PROGRAM, 8, sidearms_state )
AM_RANGE(0xc801, 0xc801) AM_READ_PORT("DSW1") AM_WRITE(whizz_bankswitch_w)
AM_RANGE(0xc802, 0xc802) AM_READ_PORT("DSW2") AM_WRITE(watchdog_reset_w)
AM_RANGE(0xc803, 0xc803) AM_READ_PORT("IN0") AM_WRITENOP
AM_RANGE(0xc804, 0xc804) AM_READ_PORT("IN1") AM_WRITE(sidearms_c804_w)
AM_RANGE(0xc804, 0xc804) AM_READ_PORT("IN1") AM_WRITE(c804_w)
AM_RANGE(0xc805, 0xc805) AM_READ_PORT("IN2") AM_WRITENOP
AM_RANGE(0xc806, 0xc806) AM_READ_PORT("IN3")
AM_RANGE(0xc807, 0xc807) AM_READ_PORT("IN4")
AM_RANGE(0xc808, 0xc809) AM_WRITEONLY AM_SHARE("bg_scrollx")
AM_RANGE(0xc80a, 0xc80b) AM_WRITEONLY AM_SHARE("bg_scrolly")
AM_RANGE(0xe805, 0xe805) AM_WRITE(sidearms_star_scrollx_w)
AM_RANGE(0xe806, 0xe806) AM_WRITE(sidearms_star_scrolly_w)
AM_RANGE(0xc80c, 0xc80c) AM_WRITE(sidearms_gfxctrl_w)
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(sidearms_videoram_w) AM_SHARE("videoram")
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(sidearms_colorram_w) AM_SHARE("colorram")
AM_RANGE(0xe805, 0xe805) AM_WRITE(star_scrollx_w)
AM_RANGE(0xe806, 0xe806) AM_WRITE(star_scrolly_w)
AM_RANGE(0xc80c, 0xc80c) AM_WRITE(gfxctrl_w)
AM_RANGE(0xd000, 0xd7ff) AM_RAM_WRITE(videoram_w) AM_SHARE("videoram")
AM_RANGE(0xd800, 0xdfff) AM_RAM_WRITE(colorram_w) AM_SHARE("colorram")
AM_RANGE(0xe000, 0xefff) AM_RAM
AM_RANGE(0xf000, 0xffff) AM_RAM AM_SHARE("spriteram")
ADDRESS_MAP_END
@ -580,11 +580,6 @@ static GFXDECODE_START( turtship )
GFXDECODE_ENTRY( "gfx3", 0, spritelayout, 512, 16 ) /* colors 512-767 */
GFXDECODE_END
/* handler called by the 2203 emulator when the internal timers cause an IRQ */
WRITE_LINE_MEMBER( sidearms_state::irqhandler )
{
m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE);
}
static MACHINE_CONFIG_START( sidearms, sidearms_state )
@ -604,7 +599,7 @@ static MACHINE_CONFIG_START( sidearms, sidearms_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(sidearms_state, screen_update_sidearms)
MCFG_SCREEN_UPDATE_DRIVER(sidearms_state, screen_update)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
MCFG_SCREEN_PALETTE("palette")
@ -617,7 +612,7 @@ static MACHINE_CONFIG_START( sidearms, sidearms_state )
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("ym1", YM2203, 4000000)
MCFG_YM2203_IRQ_HANDLER(WRITELINE(sidearms_state, irqhandler))
MCFG_YM2203_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "mono", 0.15)
MCFG_SOUND_ROUTE(1, "mono", 0.15)
MCFG_SOUND_ROUTE(2, "mono", 0.15)
@ -650,7 +645,7 @@ static MACHINE_CONFIG_START( turtship, sidearms_state )
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
MCFG_SCREEN_UPDATE_DRIVER(sidearms_state, screen_update_sidearms)
MCFG_SCREEN_UPDATE_DRIVER(sidearms_state, screen_update)
MCFG_SCREEN_PALETTE("palette")
MCFG_GFXDECODE_ADD("gfxdecode", "palette", turtship)
@ -662,7 +657,7 @@ static MACHINE_CONFIG_START( turtship, sidearms_state )
MCFG_SPEAKER_STANDARD_MONO("mono")
MCFG_SOUND_ADD("ym1", YM2203, 4000000)
MCFG_YM2203_IRQ_HANDLER(WRITELINE(sidearms_state, irqhandler))
MCFG_YM2203_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
MCFG_SOUND_ROUTE(0, "mono", 0.15)
MCFG_SOUND_ROUTE(1, "mono", 0.15)
MCFG_SOUND_ROUTE(2, "mono", 0.15)
@ -697,7 +692,7 @@ static MACHINE_CONFIG_START( whizz, sidearms_state )
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500) /* not accurate */)
MCFG_SCREEN_SIZE(64*8, 32*8)
MCFG_SCREEN_VISIBLE_AREA(8*8, (64-8)*8-1, 2*8, 30*8-1 )
MCFG_SCREEN_UPDATE_DRIVER(sidearms_state, screen_update_sidearms)
MCFG_SCREEN_UPDATE_DRIVER(sidearms_state, screen_update)
MCFG_SCREEN_VBLANK_DEVICE("spriteram", buffered_spriteram8_device, vblank_copy_rising)
MCFG_SCREEN_PALETTE("palette")
@ -1148,17 +1143,17 @@ DRIVER_INIT_MEMBER(sidearms_state,whizz)
// date string is at 0xaa2 in 'rom 03' it does not appear to be displayed
GAME( 1986, sidearms, 0, sidearms, sidearms, sidearms_state, sidearms, ROT0, "Capcom", "Side Arms - Hyper Dyne (World, 861129)", GAME_IMPERFECT_GRAPHICS )
GAME( 1986, sidearmsu, sidearms, sidearms, sidearms, sidearms_state, sidearms, ROT0, "Capcom (Romstar license)", "Side Arms - Hyper Dyne (US, 861202)", GAME_IMPERFECT_GRAPHICS )
GAME( 1986, sidearmsur1,sidearms, sidearms, sidearms, sidearms_state, sidearms, ROT0, "Capcom (Romstar license)", "Side Arms - Hyper Dyne (US, 861128)", GAME_IMPERFECT_GRAPHICS )
GAME( 1986, sidearmsj, sidearms, sidearms, sidearms, sidearms_state, sidearms, ROT0, "Capcom", "Side Arms - Hyper Dyne (Japan, 861128)", GAME_IMPERFECT_GRAPHICS )
GAME( 1986, sidearms, 0, sidearms, sidearms, sidearms_state, sidearms, ROT0, "Capcom", "Side Arms - Hyper Dyne (World, 861129)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1986, sidearmsu, sidearms, sidearms, sidearms, sidearms_state, sidearms, ROT0, "Capcom (Romstar license)", "Side Arms - Hyper Dyne (US, 861202)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1986, sidearmsur1,sidearms, sidearms, sidearms, sidearms_state, sidearms, ROT0, "Capcom (Romstar license)", "Side Arms - Hyper Dyne (US, 861128)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1986, sidearmsj, sidearms, sidearms, sidearms, sidearms_state, sidearms, ROT0, "Capcom", "Side Arms - Hyper Dyne (Japan, 861128)", GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE )
GAME( 1988, turtship, 0, turtship, turtship, sidearms_state, turtship, ROT0, "Philko (Sharp Image license)", "Turtle Ship (North America)", 0 )
GAME( 1988, turtshipj,turtship, turtship, turtship, sidearms_state, turtship, ROT0, "Philko (Pacific Games license)", "Turtle Ship (Japan)", 0 )
GAME( 1988, turtshipk,turtship, turtship, turtship, sidearms_state, turtship, ROT0, "Philko", "Turtle Ship (Korea)", 0 )
GAME( 1988, turtship, 0, turtship, turtship, sidearms_state, turtship, ROT0, "Philko (Sharp Image license)", "Turtle Ship (North America)", GAME_SUPPORTS_SAVE )
GAME( 1988, turtshipj,turtship, turtship, turtship, sidearms_state, turtship, ROT0, "Philko (Pacific Games license)", "Turtle Ship (Japan)", GAME_SUPPORTS_SAVE )
GAME( 1988, turtshipk,turtship, turtship, turtship, sidearms_state, turtship, ROT0, "Philko", "Turtle Ship (Korea)", GAME_SUPPORTS_SAVE )
GAME( 1989, dyger, 0, turtship, dyger, sidearms_state, dyger, ROT270, "Philko", "Dyger (Korea set 1)", 0 )
GAME( 1989, dygera, dyger, turtship, dyger, sidearms_state, dyger, ROT270, "Philko", "Dyger (Korea set 2)", 0 )
GAME( 1989, dyger, 0, turtship, dyger, sidearms_state, dyger, ROT270, "Philko", "Dyger (Korea set 1)", GAME_SUPPORTS_SAVE )
GAME( 1989, dygera, dyger, turtship, dyger, sidearms_state, dyger, ROT270, "Philko", "Dyger (Korea set 2)", GAME_SUPPORTS_SAVE )
GAME( 1989, twinfalc, 0, whizz, whizz, sidearms_state, whizz, ROT0, "Philko (Poara Enterprises license)", "Twin Falcons", 0 )
GAME( 1989, whizz, twinfalc, whizz, whizz, sidearms_state, whizz, ROT0, "Philko", "Whizz", 0 )
GAME( 1989, twinfalc, 0, whizz, whizz, sidearms_state, whizz, ROT0, "Philko (Poara Enterprises license)", "Twin Falcons", GAME_SUPPORTS_SAVE )
GAME( 1989, whizz, twinfalc, whizz, whizz, sidearms_state, whizz, ROT0, "Philko", "Whizz", GAME_SUPPORTS_SAVE )

View File

@ -16,8 +16,6 @@ public:
m_colorram(*this, "colorram"),
m_ports(*this, ports) { }
int m_gameid;
required_device<cpu_device> m_maincpu;
required_device<cpu_device> m_audiocpu;
required_device<gfxdecode_device> m_gfxdecode;
@ -32,6 +30,8 @@ public:
DECLARE_IOPORT_ARRAY(ports);
optional_ioport_array<5> m_ports;
int m_gameid;
UINT8 *m_tilerom;
tilemap_t *m_bg_tilemap;
tilemap_t *m_fg_tilemap;
@ -47,28 +47,32 @@ public:
UINT32 m_vcount_191;
UINT32 m_latch_374;
DECLARE_WRITE8_MEMBER(sidearms_bankswitch_w);
DECLARE_WRITE8_MEMBER(bankswitch_w);
DECLARE_WRITE8_MEMBER(videoram_w);
DECLARE_WRITE8_MEMBER(colorram_w);
DECLARE_WRITE8_MEMBER(c804_w);
DECLARE_WRITE8_MEMBER(gfxctrl_w);
DECLARE_WRITE8_MEMBER(star_scrollx_w);
DECLARE_WRITE8_MEMBER(star_scrolly_w);
DECLARE_READ8_MEMBER(turtship_ports_r);
DECLARE_WRITE8_MEMBER(whizz_bankswitch_w);
DECLARE_WRITE8_MEMBER(sidearms_videoram_w);
DECLARE_WRITE8_MEMBER(sidearms_colorram_w);
DECLARE_WRITE8_MEMBER(sidearms_c804_w);
DECLARE_WRITE8_MEMBER(sidearms_gfxctrl_w);
DECLARE_WRITE8_MEMBER(sidearms_star_scrollx_w);
DECLARE_WRITE8_MEMBER(sidearms_star_scrolly_w);
DECLARE_DRIVER_INIT(dyger);
DECLARE_DRIVER_INIT(sidearms);
DECLARE_DRIVER_INIT(whizz);
DECLARE_DRIVER_INIT(turtship);
virtual void machine_start();
virtual void video_start();
TILE_GET_INFO_MEMBER(get_sidearms_bg_tile_info);
TILE_GET_INFO_MEMBER(get_philko_bg_tile_info);
TILE_GET_INFO_MEMBER(get_fg_tile_info);
TILEMAP_MAPPER_MEMBER(sidearms_tilemap_scan);
virtual void machine_start();
virtual void video_start();
UINT32 screen_update_sidearms(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
DECLARE_WRITE_LINE_MEMBER(irqhandler);
TILEMAP_MAPPER_MEMBER(tilemap_scan);
UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect);
void draw_sprites_region(bitmap_ind16 &bitmap, const rectangle &cliprect, int start_offset, int end_offset );
void sidearms_draw_starfield( bitmap_ind16 &bitmap );
void draw_starfield( bitmap_ind16 &bitmap );
void draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect);
};

View File

@ -1,6 +1,6 @@
/***************************************************************************
video.c
sidearms.c
Functions to emulate the video hardware of the machine.
@ -9,19 +9,19 @@
#include "emu.h"
#include "includes/sidearms.h"
WRITE8_MEMBER(sidearms_state::sidearms_videoram_w)
WRITE8_MEMBER(sidearms_state::videoram_w)
{
m_videoram[offset] = data;
m_fg_tilemap->mark_tile_dirty(offset);
}
WRITE8_MEMBER(sidearms_state::sidearms_colorram_w)
WRITE8_MEMBER(sidearms_state::colorram_w)
{
m_colorram[offset] = data;
m_fg_tilemap->mark_tile_dirty(offset);
}
WRITE8_MEMBER(sidearms_state::sidearms_c804_w)
WRITE8_MEMBER(sidearms_state::c804_w)
{
/* bits 0 and 1 are coin counters */
coin_counter_w(machine(), 0, data & 0x01);
@ -65,13 +65,13 @@ WRITE8_MEMBER(sidearms_state::sidearms_c804_w)
}
}
WRITE8_MEMBER(sidearms_state::sidearms_gfxctrl_w)
WRITE8_MEMBER(sidearms_state::gfxctrl_w)
{
m_objon = data & 0x01;
m_bgon = data & 0x02;
}
WRITE8_MEMBER(sidearms_state::sidearms_star_scrollx_w)
WRITE8_MEMBER(sidearms_state::star_scrollx_w)
{
UINT32 last_state = m_hcount_191;
@ -83,7 +83,7 @@ WRITE8_MEMBER(sidearms_state::sidearms_star_scrollx_w)
m_hflop_74a_n ^= 1;
}
WRITE8_MEMBER(sidearms_state::sidearms_star_scrolly_w)
WRITE8_MEMBER(sidearms_state::star_scrolly_w)
{
m_vcount_191++;
m_vcount_191 &= 0xff;
@ -125,7 +125,7 @@ TILE_GET_INFO_MEMBER(sidearms_state::get_fg_tile_info)
SET_TILE_INFO_MEMBER(0, code, color, 0);
}
TILEMAP_MAPPER_MEMBER(sidearms_state::sidearms_tilemap_scan)
TILEMAP_MAPPER_MEMBER(sidearms_state::tilemap_scan)
{
/* logical (col,row) -> memory offset */
int offset = ((row << 7) + col) << 1;
@ -140,14 +140,14 @@ void sidearms_state::video_start()
if (!m_gameid)
{
m_bg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(sidearms_state::get_sidearms_bg_tile_info),this), tilemap_mapper_delegate(FUNC(sidearms_state::sidearms_tilemap_scan),this),
m_bg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(sidearms_state::get_sidearms_bg_tile_info),this), tilemap_mapper_delegate(FUNC(sidearms_state::tilemap_scan),this),
32, 32, 128, 128);
m_bg_tilemap->set_transparent_pen(15);
}
else
{
m_bg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(sidearms_state::get_philko_bg_tile_info),this), tilemap_mapper_delegate(FUNC(sidearms_state::sidearms_tilemap_scan),this), 32, 32, 128, 128);
m_bg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(sidearms_state::get_philko_bg_tile_info),this), tilemap_mapper_delegate(FUNC(sidearms_state::tilemap_scan),this), 32, 32, 128, 128);
}
m_fg_tilemap = &machine().tilemap().create(m_gfxdecode, tilemap_get_info_delegate(FUNC(sidearms_state::get_fg_tile_info),this), TILEMAP_SCAN_ROWS,
@ -159,6 +159,16 @@ void sidearms_state::video_start()
m_latch_374 = m_vcount_191 = m_hcount_191 = 0;
m_flipon = m_charon = m_staron = m_objon = m_bgon = 0;
save_item(NAME(m_bgon));
save_item(NAME(m_objon));
save_item(NAME(m_staron));
save_item(NAME(m_charon));
save_item(NAME(m_flipon));
save_item(NAME(m_hflop_74a_n));
save_item(NAME(m_hcount_191));
save_item(NAME(m_vcount_191));
save_item(NAME(m_latch_374));
}
void sidearms_state::draw_sprites_region(bitmap_ind16 &bitmap, const rectangle &cliprect, int start_offset, int end_offset )
@ -193,7 +203,7 @@ void sidearms_state::draw_sprites_region(bitmap_ind16 &bitmap, const rectangle &
}
}
void sidearms_state::sidearms_draw_starfield( bitmap_ind16 &bitmap )
void sidearms_state::draw_starfield( bitmap_ind16 &bitmap )
{
int x, y, i;
UINT32 hadd_283, vadd_283, _hflop_74a_n, _hcount_191, _vcount_191;
@ -329,9 +339,9 @@ void sidearms_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprec
}
}
UINT32 sidearms_state::screen_update_sidearms(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
UINT32 sidearms_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
{
sidearms_draw_starfield(bitmap);
draw_starfield(bitmap);
m_bg_tilemap->set_scrollx(0, m_bg_scrollx[0] + (m_bg_scrollx[1] << 8 & 0xf00));
m_bg_tilemap->set_scrolly(0, m_bg_scrolly[0] + (m_bg_scrolly[1] << 8 & 0xf00));