From 7727ba546ae7654654df43979c7344fd3477abea Mon Sep 17 00:00:00 2001 From: Osso Date: Tue, 6 Jan 2015 09:08:52 +0100 Subject: senjyo.c: added save state support, removed unneeded include, member variables and suffixes (nw) --- src/mame/audio/senjyo.c | 2 +- src/mame/drivers/senjyo.c | 73 ++++++++++++++++++++++++---------------------- src/mame/includes/senjyo.h | 63 +++++++++++++++++++++------------------ src/mame/video/senjyo.c | 73 ++++++++++++++++++---------------------------- 4 files changed, 101 insertions(+), 110 deletions(-) diff --git a/src/mame/audio/senjyo.c b/src/mame/audio/senjyo.c index 1c26a7b20f0..e1bb850ef11 100644 --- a/src/mame/audio/senjyo.c +++ b/src/mame/audio/senjyo.c @@ -26,7 +26,7 @@ WRITE_LINE_MEMBER(senjyo_state::sound_line_clock) } } -WRITE8_MEMBER(senjyo_state::senjyo_volume_w) +WRITE8_MEMBER(senjyo_state::volume_w) { m_single_volume = data & 0x0f; } diff --git a/src/mame/drivers/senjyo.c b/src/mame/drivers/senjyo.c index f1632662c02..15bbb9074d5 100644 --- a/src/mame/drivers/senjyo.c +++ b/src/mame/drivers/senjyo.c @@ -78,18 +78,23 @@ I/O read/write #include "emu.h" #include "cpu/z80/z80.h" #include "sound/sn76496.h" -#include "sound/samples.h" #include "machine/segacrpt.h" #include "includes/senjyo.h" -void senjyo_state::machine_reset() +void senjyo_state::machine_start() { - // ... + save_item(NAME(m_sound_cmd)); + save_item(NAME(m_single_volume)); + save_item(NAME(m_sound_state)); + save_item(NAME(m_bgstripes)); } -INTERRUPT_GEN_MEMBER(senjyo_state::senjyo_interrupt) +void senjyo_state::machine_reset() { - device.execute().set_input_line(0, ASSERT_LINE); + m_sound_cmd = 0; + m_single_volume = 0; + m_sound_state = 0; + m_bgstripes = 0; } WRITE8_MEMBER(senjyo_state::irq_ctrl_w) @@ -105,15 +110,13 @@ WRITE8_MEMBER(senjyo_state::flip_screen_w) WRITE8_MEMBER(senjyo_state::sound_cmd_w) { - z80pio_device *device = machine().device("z80pio"); - m_sound_cmd = data; - device->strobe_a(0); - device->strobe_a(1); + m_pio->strobe_a(0); + m_pio->strobe_a(1); } -WRITE8_MEMBER(senjyo_state::senjyo_paletteram_w) +WRITE8_MEMBER(senjyo_state::paletteram_w) { int r = (data << 2) & 0xC; int g = (data ) & 0xC; @@ -131,15 +134,15 @@ WRITE8_MEMBER(senjyo_state::senjyo_paletteram_w) static ADDRESS_MAP_START( senjyo_map, AS_PROGRAM, 8, senjyo_state ) AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x8000, 0x8fff) AM_RAM - AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(senjyo_fgvideoram_w) AM_SHARE("fgvideoram") - AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(senjyo_fgcolorram_w) AM_SHARE("fgcolorram") + AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(fgvideoram_w) AM_SHARE("fgvideoram") + AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(fgcolorram_w) AM_SHARE("fgcolorram") AM_RANGE(0x9800, 0x987f) AM_RAM AM_SHARE("spriteram") - AM_RANGE(0x9c00, 0x9dff) AM_RAM_WRITE(senjyo_paletteram_w) AM_SHARE("paletteram") + AM_RANGE(0x9c00, 0x9dff) AM_RAM_WRITE(paletteram_w) AM_SHARE("paletteram") AM_RANGE(0x9e00, 0x9e1f) AM_RAM AM_SHARE("fgscroll") AM_RANGE(0x9e20, 0x9e21) AM_RAM AM_SHARE("scrolly3") /* AM_RANGE(0x9e22, 0x9e23) height of the layer (Senjyo only, fixed at 0x380) */ AM_RANGE(0x9e25, 0x9e25) AM_RAM AM_SHARE("scrollx3") - AM_RANGE(0x9e27, 0x9e27) AM_RAM_WRITE(senjyo_bgstripes_w) AM_SHARE("bgstripesram") /* controls width of background stripes */ + AM_RANGE(0x9e27, 0x9e27) AM_RAM AM_SHARE("bgstripesram") /* controls width of background stripes */ AM_RANGE(0x9e28, 0x9e29) AM_RAM AM_SHARE("scrolly2") /* AM_RANGE(0x9e2a, 0x9e2b) height of the layer (Senjyo only, fixed at 0x200) */ AM_RANGE(0x9e2d, 0x9e2d) AM_RAM AM_SHARE("scrollx2") @@ -149,9 +152,9 @@ static ADDRESS_MAP_START( senjyo_map, AS_PROGRAM, 8, senjyo_state ) /* AM_RANGE(0x9e38, 0x9e38) probably radar y position (Senjyo only, fixed at 0x61) */ /* AM_RANGE(0x9e3d, 0x9e3d) probably radar x position (Senjyo only, 0x00/0xc0 depending on screen flip) */ AM_RANGE(0x9e00, 0x9e3f) AM_RAM - AM_RANGE(0xa000, 0xa7ff) AM_RAM_WRITE(senjyo_bg3videoram_w) AM_SHARE("bg3videoram") - AM_RANGE(0xa800, 0xafff) AM_RAM_WRITE(senjyo_bg2videoram_w) AM_SHARE("bg2videoram") - AM_RANGE(0xb000, 0xb7ff) AM_RAM_WRITE(senjyo_bg1videoram_w) AM_SHARE("bg1videoram") + AM_RANGE(0xa000, 0xa7ff) AM_RAM_WRITE(bg3videoram_w) AM_SHARE("bg3videoram") + AM_RANGE(0xa800, 0xafff) AM_RAM_WRITE(bg2videoram_w) AM_SHARE("bg2videoram") + AM_RANGE(0xb000, 0xb7ff) AM_RAM_WRITE(bg1videoram_w) AM_SHARE("bg1videoram") AM_RANGE(0xb800, 0xbbff) AM_RAM AM_SHARE("radarram") AM_RANGE(0xd000, 0xd000) AM_READ_PORT("P1") AM_WRITE(flip_screen_w) AM_RANGE(0xd001, 0xd001) AM_READ_PORT("P2") @@ -167,7 +170,7 @@ static ADDRESS_MAP_START( senjyo_sound_map, AS_PROGRAM, 8, senjyo_state ) AM_RANGE(0x8000, 0x8000) AM_DEVWRITE("sn1", sn76496_device, write) AM_RANGE(0x9000, 0x9000) AM_DEVWRITE("sn2", sn76496_device, write) AM_RANGE(0xa000, 0xa000) AM_DEVWRITE("sn3", sn76496_device, write) - AM_RANGE(0xd000, 0xd000) AM_WRITE(senjyo_volume_w) + AM_RANGE(0xd000, 0xd000) AM_WRITE(volume_w) #if 0 AM_RANGE(0xe000, 0xe000) AM_WRITE(unknown) AM_RANGE(0xf000, 0xf000) AM_WRITE(unknown) @@ -198,10 +201,10 @@ WRITE8_MEMBER(senjyo_state::starforb_scrollx2) static ADDRESS_MAP_START( starforb_map, AS_PROGRAM, 8, senjyo_state ) AM_RANGE(0x0000, 0x7fff) AM_ROM AM_RANGE(0x8000, 0x8fff) AM_RAM - AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(senjyo_fgvideoram_w) AM_SHARE("fgvideoram") - AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(senjyo_fgcolorram_w) AM_SHARE("fgcolorram") + AM_RANGE(0x9000, 0x93ff) AM_RAM_WRITE(fgvideoram_w) AM_SHARE("fgvideoram") + AM_RANGE(0x9400, 0x97ff) AM_RAM_WRITE(fgcolorram_w) AM_SHARE("fgcolorram") AM_RANGE(0x9800, 0x987f) AM_RAM AM_SHARE("spriteram") - AM_RANGE(0x9c00, 0x9dff) AM_RAM_WRITE(senjyo_paletteram_w) AM_SHARE("paletteram") + AM_RANGE(0x9c00, 0x9dff) AM_RAM_WRITE(paletteram_w) AM_SHARE("paletteram") /* The format / use of the ram here is different on the bootleg */ AM_RANGE(0x9e20, 0x9e21) AM_RAM AM_SHARE("scrolly3") AM_RANGE(0x9e25, 0x9e25) AM_RAM AM_SHARE("scrollx3") @@ -209,9 +212,9 @@ static ADDRESS_MAP_START( starforb_map, AS_PROGRAM, 8, senjyo_state ) AM_RANGE(0x9e35, 0x9e35) AM_RAM_WRITE(starforb_scrollx2) AM_SHARE("scrollx2") // ok AM_RANGE(0x9e00, 0x9e3f) AM_RAM - AM_RANGE(0xa000, 0xa7ff) AM_RAM_WRITE(senjyo_bg3videoram_w) AM_SHARE("bg3videoram") - AM_RANGE(0xa800, 0xafff) AM_RAM_WRITE(senjyo_bg2videoram_w) AM_SHARE("bg2videoram") - AM_RANGE(0xb000, 0xb7ff) AM_RAM_WRITE(senjyo_bg1videoram_w) AM_SHARE("bg1videoram") + AM_RANGE(0xa000, 0xa7ff) AM_RAM_WRITE(bg3videoram_w) AM_SHARE("bg3videoram") + AM_RANGE(0xa800, 0xafff) AM_RAM_WRITE(bg2videoram_w) AM_SHARE("bg2videoram") + AM_RANGE(0xb000, 0xb7ff) AM_RAM_WRITE(bg1videoram_w) AM_SHARE("bg1videoram") AM_RANGE(0xb800, 0xbbff) AM_RAM AM_SHARE("radarram") AM_RANGE(0xd000, 0xd000) AM_READ_PORT("P1") AM_WRITE(flip_screen_w) AM_RANGE(0xd001, 0xd001) AM_READ_PORT("P2") @@ -221,7 +224,7 @@ static ADDRESS_MAP_START( starforb_map, AS_PROGRAM, 8, senjyo_state ) /* these aren't used / written, left here to make sure memory is allocated */ AM_RANGE(0xfe00, 0xfe1f) AM_RAM AM_SHARE("fgscroll") - AM_RANGE(0xfe27, 0xfe27) AM_RAM_WRITE(senjyo_bgstripes_w) AM_SHARE("bgstripesram") /* controls width of background stripes */ + AM_RANGE(0xfe27, 0xfe27) AM_RAM AM_SHARE("bgstripesram") /* controls width of background stripes */ AM_RANGE(0xfe28, 0xfe29) AM_RAM AM_SHARE("scrolly1") AM_RANGE(0xfe2d, 0xfe2d) AM_RAM AM_SHARE("scrollx1") ADDRESS_MAP_END @@ -233,7 +236,7 @@ static ADDRESS_MAP_START( starforb_sound_map, AS_PROGRAM, 8, senjyo_state ) AM_RANGE(0x8000, 0x8000) AM_DEVWRITE("sn1", sn76496_device, write) AM_RANGE(0x9000, 0x9000) AM_DEVWRITE("sn2", sn76496_device, write) AM_RANGE(0xa000, 0xa000) AM_DEVWRITE("sn3", sn76496_device, write) - AM_RANGE(0xd000, 0xd000) AM_WRITE(senjyo_volume_w) + AM_RANGE(0xd000, 0xd000) AM_WRITE(volume_w) #if 0 AM_RANGE(0xe000, 0xe000) AM_WRITE(unknown) AM_RANGE(0xf000, 0xf000) AM_WRITE(unknown) @@ -556,7 +559,7 @@ static MACHINE_CONFIG_START( senjyo, senjyo_state ) /* basic machine hardware */ MCFG_CPU_ADD("maincpu", Z80, 4000000) /* 4 MHz? */ MCFG_CPU_PROGRAM_MAP(senjyo_map) - MCFG_CPU_VBLANK_INT_DRIVER("screen", senjyo_state, senjyo_interrupt) + MCFG_CPU_VBLANK_INT_DRIVER("screen", senjyo_state, irq0_line_assert) MCFG_CPU_ADD("sub", Z80, 2000000) /* 2 MHz? */ MCFG_CPU_CONFIG(senjyo_daisy_chain) @@ -578,7 +581,7 @@ static MACHINE_CONFIG_START( senjyo, senjyo_state ) MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0)) MCFG_SCREEN_SIZE(32*8, 32*8) MCFG_SCREEN_VISIBLE_AREA(0*8, 32*8-1, 2*8, 30*8-1) - MCFG_SCREEN_UPDATE_DRIVER(senjyo_state, screen_update_senjyo) + MCFG_SCREEN_UPDATE_DRIVER(senjyo_state, screen_update) MCFG_SCREEN_PALETTE("palette") MCFG_GFXDECODE_ADD("gfxdecode", "palette", senjyo) @@ -925,10 +928,10 @@ DRIVER_INIT_MEMBER(senjyo_state,senjyo) } -GAME( 1983, senjyo, 0, senjyo, senjyo, senjyo_state, senjyo, ROT90, "Tehkan", "Senjyo", 0 ) -GAME( 1984, starforc, 0, senjyo, starforc, senjyo_state, starforc, ROT90, "Tehkan", "Star Force", 0 ) -GAME( 1984, starforce,starforc, senjyo, starforc, senjyo_state, starfore, ROT90, "Tehkan", "Star Force (encrypted, set 1)", 0 ) -GAME( 1984, starforcb,starforc, starforb,starforc, senjyo_state, starfore, ROT90, "bootleg", "Star Force (encrypted, bootleg)", 0 ) -GAME( 1984, starforca,starforc, senjyo, starforc, senjyo_state, starfora, ROT90, "Tehkan", "Star Force (encrypted, set 2)", 0 ) -GAME( 1985, megaforc, starforc, senjyo, starforc, senjyo_state, starforc, ROT90, "Tehkan (Video Ware license)", "Mega Force", 0 ) -GAME( 1986, baluba, 0, senjyo, baluba, senjyo_state, starforc, ROT90, "Able Corp, Ltd.", "Baluba-louk no Densetsu (Japan)", 0 ) +GAME( 1983, senjyo, 0, senjyo, senjyo, senjyo_state, senjyo, ROT90, "Tehkan", "Senjyo", GAME_SUPPORTS_SAVE ) +GAME( 1984, starforc, 0, senjyo, starforc, senjyo_state, starforc, ROT90, "Tehkan", "Star Force", GAME_SUPPORTS_SAVE ) +GAME( 1984, starforce,starforc, senjyo, starforc, senjyo_state, starfore, ROT90, "Tehkan", "Star Force (encrypted, set 1)", GAME_SUPPORTS_SAVE ) +GAME( 1984, starforcb,starforc, starforb,starforc, senjyo_state, starfore, ROT90, "bootleg", "Star Force (encrypted, bootleg)", GAME_SUPPORTS_SAVE ) +GAME( 1984, starforca,starforc, senjyo, starforc, senjyo_state, starfora, ROT90, "Tehkan", "Star Force (encrypted, set 2)", GAME_SUPPORTS_SAVE ) +GAME( 1985, megaforc, starforc, senjyo, starforc, senjyo_state, starforc, ROT90, "Tehkan (Video Ware license)", "Mega Force", GAME_SUPPORTS_SAVE ) +GAME( 1986, baluba, 0, senjyo, baluba, senjyo_state, starforc, ROT90, "Able Corp, Ltd.", "Baluba-louk no Densetsu (Japan)", GAME_SUPPORTS_SAVE ) diff --git a/src/mame/includes/senjyo.h b/src/mame/includes/senjyo.h index 96db15a8500..963547bab68 100644 --- a/src/mame/includes/senjyo.h +++ b/src/mame/includes/senjyo.h @@ -8,7 +8,11 @@ class senjyo_state : public driver_device public: senjyo_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), + m_maincpu(*this, "maincpu"), + m_pio(*this, "z80pio"), m_dac(*this, "dac"), + m_gfxdecode(*this, "gfxdecode"), + m_palette(*this, "palette"), m_spriteram(*this, "spriteram"), m_fgscroll(*this, "fgscroll"), m_scrollx1(*this, "scrollx1"), @@ -24,19 +28,16 @@ public: m_bg3videoram(*this, "bg3videoram"), m_radarram(*this, "radarram"), m_bgstripesram(*this, "bgstripesram"), - m_maincpu(*this, "maincpu"), - m_gfxdecode(*this, "gfxdecode"), - m_palette(*this, "palette"), m_generic_paletteram_8(*this, "paletteram") { } - UINT8 m_sound_cmd; - INT16 *m_single_data; - int m_single_rate; - int m_single_volume; - int m_sound_state; - + /* devices */ + required_device m_maincpu; + required_device m_pio; required_device m_dac; - + required_device m_gfxdecode; + required_device m_palette; + + /* memory pointers */ required_shared_ptr m_spriteram; required_shared_ptr m_fgscroll; required_shared_ptr m_scrollx1; @@ -52,50 +53,54 @@ public: required_shared_ptr m_bg3videoram; required_shared_ptr m_radarram; required_shared_ptr m_bgstripesram; + required_shared_ptr m_generic_paletteram_8; + + // game specific initialization int m_is_senjyo; int m_scrollhack; + + UINT8 m_sound_cmd; + int m_single_volume; + int m_sound_state; + int m_bgstripes; tilemap_t *m_fg_tilemap; tilemap_t *m_bg1_tilemap; tilemap_t *m_bg2_tilemap; tilemap_t *m_bg3_tilemap; - - int m_bgstripes; + DECLARE_WRITE8_MEMBER(flip_screen_w); - DECLARE_WRITE8_MEMBER(senjyo_paletteram_w); + DECLARE_WRITE8_MEMBER(paletteram_w); DECLARE_WRITE8_MEMBER(starforb_scrolly2); DECLARE_WRITE8_MEMBER(starforb_scrollx2); - DECLARE_WRITE8_MEMBER(senjyo_fgvideoram_w); - DECLARE_WRITE8_MEMBER(senjyo_fgcolorram_w); - DECLARE_WRITE8_MEMBER(senjyo_bg1videoram_w); - DECLARE_WRITE8_MEMBER(senjyo_bg2videoram_w); - DECLARE_WRITE8_MEMBER(senjyo_bg3videoram_w); - DECLARE_WRITE8_MEMBER(senjyo_bgstripes_w); - DECLARE_WRITE8_MEMBER(senjyo_volume_w); + DECLARE_WRITE8_MEMBER(fgvideoram_w); + DECLARE_WRITE8_MEMBER(fgcolorram_w); + DECLARE_WRITE8_MEMBER(bg1videoram_w); + DECLARE_WRITE8_MEMBER(bg2videoram_w); + DECLARE_WRITE8_MEMBER(bg3videoram_w); + DECLARE_WRITE8_MEMBER(volume_w); DECLARE_WRITE_LINE_MEMBER(sound_line_clock); DECLARE_WRITE8_MEMBER(sound_cmd_w); - DECLARE_WRITE8_MEMBER(irq_ack_w); + DECLARE_WRITE8_MEMBER(irq_ctrl_w); + DECLARE_READ8_MEMBER(pio_pa_r); + DECLARE_DRIVER_INIT(starfora); DECLARE_DRIVER_INIT(senjyo); DECLARE_DRIVER_INIT(starfore); DECLARE_DRIVER_INIT(starforc); + TILE_GET_INFO_MEMBER(get_fg_tile_info); TILE_GET_INFO_MEMBER(senjyo_bg1_tile_info); TILE_GET_INFO_MEMBER(starforc_bg1_tile_info); TILE_GET_INFO_MEMBER(get_bg2_tile_info); TILE_GET_INFO_MEMBER(get_bg3_tile_info); + + virtual void machine_start(); virtual void machine_reset(); virtual void video_start(); - UINT32 screen_update_senjyo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - INTERRUPT_GEN_MEMBER(senjyo_interrupt); - DECLARE_WRITE8_MEMBER(irq_ctrl_w); - DECLARE_READ8_MEMBER(pio_pa_r); + UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); void draw_bgbitmap(bitmap_ind16 &bitmap,const rectangle &cliprect); void draw_radar(bitmap_ind16 &bitmap,const rectangle &cliprect); void draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect,int priority); - required_device m_maincpu; - required_device m_gfxdecode; - required_device m_palette; - required_shared_ptr m_generic_paletteram_8; }; /*----------- defined in audio/senjyo.c -----------*/ diff --git a/src/mame/video/senjyo.c b/src/mame/video/senjyo.c index 350175d8f79..a4ade1fac08 100644 --- a/src/mame/video/senjyo.c +++ b/src/mame/video/senjyo.c @@ -114,37 +114,32 @@ void senjyo_state::video_start() ***************************************************************************/ -WRITE8_MEMBER(senjyo_state::senjyo_fgvideoram_w) +WRITE8_MEMBER(senjyo_state::fgvideoram_w) { m_fgvideoram[offset] = data; m_fg_tilemap->mark_tile_dirty(offset); } -WRITE8_MEMBER(senjyo_state::senjyo_fgcolorram_w) +WRITE8_MEMBER(senjyo_state::fgcolorram_w) { m_fgcolorram[offset] = data; m_fg_tilemap->mark_tile_dirty(offset); } -WRITE8_MEMBER(senjyo_state::senjyo_bg1videoram_w) +WRITE8_MEMBER(senjyo_state::bg1videoram_w) { m_bg1videoram[offset] = data; m_bg1_tilemap->mark_tile_dirty(offset); } -WRITE8_MEMBER(senjyo_state::senjyo_bg2videoram_w) +WRITE8_MEMBER(senjyo_state::bg2videoram_w) { m_bg2videoram[offset] = data; m_bg2_tilemap->mark_tile_dirty(offset); } -WRITE8_MEMBER(senjyo_state::senjyo_bg3videoram_w) +WRITE8_MEMBER(senjyo_state::bg3videoram_w) { m_bg3videoram[offset] = data; m_bg3_tilemap->mark_tile_dirty(offset); } -WRITE8_MEMBER(senjyo_state::senjyo_bgstripes_w) -{ - *m_bgstripesram = data; -} - /*************************************************************************** Display refresh @@ -153,28 +148,25 @@ WRITE8_MEMBER(senjyo_state::senjyo_bgstripes_w) void senjyo_state::draw_bgbitmap(bitmap_ind16 &bitmap,const rectangle &cliprect) { - int x,y,pen,strwid,count; - - if (m_bgstripes == 0xff) /* off */ bitmap.fill(0, cliprect); else { int flip = flip_screen(); - pen = 0; - count = 0; - strwid = m_bgstripes; + int pen = 0; + int count = 0; + int strwid = m_bgstripes; if (strwid == 0) strwid = 0x100; if (flip) strwid ^= 0xff; - for (x = 0;x < 256;x++) + for (int x = 0;x < 256;x++) { if (flip) - for (y = 0;y < 256;y++) + for (int y = 0;y < 256;y++) bitmap.pix16(y, 255 - x) = 384 + pen; else - for (y = 0;y < 256;y++) + for (int y = 0;y < 256;y++) bitmap.pix16(y, x) = 384 + pen; count += 0x10; @@ -189,10 +181,8 @@ void senjyo_state::draw_bgbitmap(bitmap_ind16 &bitmap,const rectangle &cliprect) void senjyo_state::draw_radar(bitmap_ind16 &bitmap,const rectangle &cliprect) { - int offs,x; - - for (offs = 0;offs < 0x400;offs++) - for (x = 0;x < 8;x++) + for (int offs = 0;offs < 0x400;offs++) + for (int x = 0;x < 8;x++) if (m_radarram[offs] & (1 << x)) { int sx, sy; @@ -213,26 +203,23 @@ void senjyo_state::draw_radar(bitmap_ind16 &bitmap,const rectangle &cliprect) void senjyo_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect,int priority) { - UINT8 *spriteram = m_spriteram; - int offs; - - for (offs = m_spriteram.bytes() - 4; offs >= 0; offs -= 4) + for (int offs = m_spriteram.bytes() - 4; offs >= 0; offs -= 4) { int big,sx,sy,flipx,flipy; - if (((spriteram[offs+1] & 0x30) >> 4) == priority) + if (((m_spriteram[offs+1] & 0x30) >> 4) == priority) { if (m_is_senjyo) /* Senjyo */ - big = (spriteram[offs] & 0x80); + big = (m_spriteram[offs] & 0x80); else /* Star Force */ - big = ((spriteram[offs] & 0xc0) == 0xc0); - sx = spriteram[offs+3]; + big = ((m_spriteram[offs] & 0xc0) == 0xc0); + sx = m_spriteram[offs+3]; if (big) - sy = 224-spriteram[offs+2]; + sy = 224-m_spriteram[offs+2]; else - sy = 240-spriteram[offs+2]; - flipx = spriteram[offs+1] & 0x40; - flipy = spriteram[offs+1] & 0x80; + sy = 240-m_spriteram[offs+2]; + flipx = m_spriteram[offs+1] & 0x40; + flipy = m_spriteram[offs+1] & 0x80; if (flip_screen()) { @@ -253,32 +240,28 @@ void senjyo_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect,i m_gfxdecode->gfx(big ? 5 : 4)->transpen(bitmap,cliprect, - spriteram[offs], - spriteram[offs + 1] & 0x07, + m_spriteram[offs], + m_spriteram[offs + 1] & 0x07, flipx,flipy, sx,sy,0); } } } -UINT32 senjyo_state::screen_update_senjyo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +UINT32 senjyo_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { - int i; - - /* two colors for the radar dots (verified on the real board) */ m_palette->set_pen_color(512,rgb_t(0xff,0x00,0x00)); /* red for enemies */ m_palette->set_pen_color(513,rgb_t(0xff,0xff,0x00)); /* yellow for player */ { int flip = flip_screen(); - int scrollx,scrolly; - for (i = 0;i < 32;i++) + for (int i = 0;i < 32;i++) m_fg_tilemap->set_scrolly(i, m_fgscroll[i]); - scrollx = m_scrollx1[0]; - scrolly = m_scrolly1[0] + 256 * m_scrolly1[1]; + int scrollx = m_scrollx1[0]; + int scrolly = m_scrolly1[0] + 256 * m_scrolly1[1]; if (flip) scrollx = -scrollx; m_bg1_tilemap->set_scrollx(0, scrollx); -- cgit v1.2.3