From b328aebce8a170a114e5dc55a9694d16713c7829 Mon Sep 17 00:00:00 2001 From: Osso Date: Tue, 30 Dec 2014 20:09:54 +0100 Subject: zaccaria.c, zac2650.c: added save state support (nw) --- src/mame/drivers/zac2650.c | 6 +-- src/mame/drivers/zaccaria.c | 109 ++++++++++++++++++++++++------------------- src/mame/includes/zac2650.h | 15 +++--- src/mame/includes/zaccaria.h | 83 ++++++++++++++++++++------------ src/mame/video/zac2650.c | 11 +++-- src/mame/video/zaccaria.c | 10 ++-- 6 files changed, 137 insertions(+), 97 deletions(-) diff --git a/src/mame/drivers/zac2650.c b/src/mame/drivers/zac2650.c index 45d523dc476..0f4b9155e8a 100644 --- a/src/mame/drivers/zac2650.c +++ b/src/mame/drivers/zac2650.c @@ -315,6 +315,6 @@ ROM_START( dodgem ) ROM_END -GAMEL(1979?,tinv2650, 0, tinvader, tinvader, driver_device, 0, ROT270, "Zaccaria / Zelco", "The Invaders", GAME_IMPERFECT_SOUND, layout_tinv2650 ) -GAME( 1979?,sia2650, tinv2650, tinvader, sinvader, driver_device, 0, ROT270, "bootleg (Sidam)", "Super Invader Attack (bootleg of The Invaders)", GAME_IMPERFECT_SOUND ) // 1980? -GAME( 1979, dodgem, 0, tinvader, dodgem, driver_device, 0, ROT0, "Zaccaria", "Dodgem", GAME_IMPERFECT_SOUND ) +GAMEL(1979?,tinv2650, 0, tinvader, tinvader, driver_device, 0, ROT270, "Zaccaria / Zelco", "The Invaders", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE, layout_tinv2650 ) +GAME( 1979?,sia2650, tinv2650, tinvader, sinvader, driver_device, 0, ROT270, "bootleg (Sidam)", "Super Invader Attack (bootleg of The Invaders)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) // 1980? +GAME( 1979, dodgem, 0, tinvader, dodgem, driver_device, 0, ROT0, "Zaccaria", "Dodgem", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) diff --git a/src/mame/drivers/zaccaria.c b/src/mame/drivers/zaccaria.c index d00716d7703..18280228bed 100644 --- a/src/mame/drivers/zaccaria.c +++ b/src/mame/drivers/zaccaria.c @@ -40,15 +40,33 @@ Notes: #include "emu.h" #include "cpu/z80/z80.h" #include "cpu/m6800/m6800.h" -#include "machine/6821pia.h" #include "machine/i8255.h" -#include "sound/ay8910.h" -#include "sound/dac.h" -#include "sound/tms5220.h" #include "includes/zaccaria.h" -WRITE8_MEMBER(zaccaria_state::zaccaria_dsw_sel_w) +void zaccaria_state::machine_start() +{ + save_item(NAME(m_dsw_sel)); + save_item(NAME(m_active_8910)); + save_item(NAME(m_port0a)); + save_item(NAME(m_acs)); + save_item(NAME(m_last_port0b)); + save_item(NAME(m_toggle)); + save_item(NAME(m_nmi_mask)); +} + +void zaccaria_state::machine_reset() +{ + m_dsw_sel = 0; + m_active_8910 = 0; + m_port0a = 0; + m_acs = 0; + m_last_port0b = 0; + m_toggle = 0; + m_nmi_mask = 0; +} + +WRITE8_MEMBER(zaccaria_state::dsw_sel_w) { switch (data & 0xf0) { @@ -70,7 +88,7 @@ WRITE8_MEMBER(zaccaria_state::zaccaria_dsw_sel_w) } } -READ8_MEMBER(zaccaria_state::zaccaria_dsw_r) +READ8_MEMBER(zaccaria_state::dsw_r) { return m_dsw_port[m_dsw_sel]->read(); } @@ -94,37 +112,37 @@ WRITE8_MEMBER(zaccaria_state::ay8910_port0a_w) /* 150 below to scale to volume 100 */ v = (150 * table[ba]) / (4700 + table[ba]); //printf("dac1w %02d %04d\n", ba, v); - machine().device("ay2")->set_volume(1, v); + m_ay2->set_volume(1, v); } -WRITE_LINE_MEMBER(zaccaria_state::zaccaria_irq0a) +WRITE_LINE_MEMBER(zaccaria_state::irq0a) { m_audiocpu->set_input_line(INPUT_LINE_NMI, state ? ASSERT_LINE : CLEAR_LINE); } -WRITE_LINE_MEMBER(zaccaria_state::zaccaria_irq0b) +WRITE_LINE_MEMBER(zaccaria_state::irq0b) { m_audiocpu->set_input_line(0, state ? ASSERT_LINE : CLEAR_LINE); } -READ8_MEMBER(zaccaria_state::zaccaria_port0a_r) +READ8_MEMBER(zaccaria_state::port0a_r) { - return machine().device((m_active_8910 == 0) ? "ay1" : "ay2")->data_r(space, 0); + return (m_active_8910 == 0) ? m_ay1->data_r(space, 0) : m_ay2->data_r(space, 0); } -WRITE8_MEMBER(zaccaria_state::zaccaria_port0a_w) +WRITE8_MEMBER(zaccaria_state::port0a_w) { m_port0a = data; } -WRITE8_MEMBER(zaccaria_state::zaccaria_port0b_w) +WRITE8_MEMBER(zaccaria_state::port0b_w) { /* bit 1 goes to 8910 #0 BDIR pin */ if ((m_last_port0b & 0x02) == 0x02 && (data & 0x02) == 0x00) { /* bit 0 goes to the 8910 #0 BC1 pin */ - machine().device("ay1")->data_address_w(space, m_last_port0b, m_port0a); + m_ay1->data_address_w(space, m_last_port0b, m_port0a); } else if ((m_last_port0b & 0x02) == 0x00 && (data & 0x02) == 0x02) { @@ -136,7 +154,7 @@ WRITE8_MEMBER(zaccaria_state::zaccaria_port0b_w) if ((m_last_port0b & 0x08) == 0x08 && (data & 0x08) == 0x00) { /* bit 2 goes to the 8910 #1 BC1 pin */ - machine().device("ay2")->data_address_w(space, m_last_port0b >> 2, m_port0a); + m_ay2->data_address_w(space, m_last_port0b >> 2, m_port0a); } else if ((m_last_port0b & 0x08) == 0x00 && (data & 0x08) == 0x08) { @@ -148,22 +166,18 @@ WRITE8_MEMBER(zaccaria_state::zaccaria_port0b_w) m_last_port0b = data; } -INTERRUPT_GEN_MEMBER(zaccaria_state::zaccaria_cb1_toggle) +INTERRUPT_GEN_MEMBER(zaccaria_state::cb1_toggle) { - pia6821_device *pia0 = machine().device("pia0"); - - pia0->cb1_w(m_toggle & 1); + m_pia->cb1_w(m_toggle & 1); m_toggle ^= 1; } -WRITE8_MEMBER(zaccaria_state::zaccaria_port1b_w) +WRITE8_MEMBER(zaccaria_state::port1b_w) { - tms5220_device *tms5220 = machine().device("tms"); - // bit 0 = /RS - tms5220->rsq_w((data >> 0) & 0x01); + m_tms->rsq_w((data >> 0) & 0x01); // bit 1 = /WS - tms5220->wsq_w((data >> 1) & 0x01); + m_tms->wsq_w((data >> 1) & 0x01); // bit 3 = "ACS" (goes, inverted, to input port 6 bit 3) m_acs = ~data & 0x08; @@ -181,8 +195,7 @@ WRITE8_MEMBER(zaccaria_state::sound_command_w) WRITE8_MEMBER(zaccaria_state::sound1_command_w) { - pia6821_device *pia0 = machine().device("pia0"); - pia0->ca1_w(data & 0x80); + m_pia->ca1_w(data & 0x80); soundlatch2_byte_w(space, 0, data); } @@ -194,7 +207,7 @@ WRITE8_MEMBER(zaccaria_state::mc1408_data_w) GAME_EXTERN(monymony); -READ8_MEMBER(zaccaria_state::zaccaria_prot1_r) +READ8_MEMBER(zaccaria_state::prot1_r) { switch (offset) { @@ -214,7 +227,7 @@ READ8_MEMBER(zaccaria_state::zaccaria_prot1_r) } } -READ8_MEMBER(zaccaria_state::zaccaria_prot2_r) +READ8_MEMBER(zaccaria_state::prot2_r) { switch (offset) { @@ -249,18 +262,18 @@ WRITE8_MEMBER(zaccaria_state::nmi_mask_w) static ADDRESS_MAP_START( main_map, AS_PROGRAM, 8, zaccaria_state ) AM_RANGE(0x0000, 0x5fff) AM_ROM AM_RANGE(0x6000, 0x63ff) AM_READONLY - AM_RANGE(0x6400, 0x6407) AM_READ(zaccaria_prot1_r) - AM_RANGE(0x6000, 0x67ff) AM_WRITE(zaccaria_videoram_w) AM_SHARE("videoram") /* 6400-67ff is 4 bits wide */ - AM_RANGE(0x6800, 0x683f) AM_WRITE(zaccaria_attributes_w) AM_SHARE("attributesram") + AM_RANGE(0x6400, 0x6407) AM_READ(prot1_r) + AM_RANGE(0x6000, 0x67ff) AM_WRITE(videoram_w) AM_SHARE("videoram") /* 6400-67ff is 4 bits wide */ + AM_RANGE(0x6800, 0x683f) AM_WRITE(attributes_w) AM_SHARE("attributesram") AM_RANGE(0x6840, 0x685f) AM_RAM AM_SHARE("spriteram") AM_RANGE(0x6881, 0x68c0) AM_RAM AM_SHARE("spriteram2") - AM_RANGE(0x6c00, 0x6c00) AM_WRITE(zaccaria_flip_screen_x_w) - AM_RANGE(0x6c01, 0x6c01) AM_WRITE(zaccaria_flip_screen_y_w) + AM_RANGE(0x6c00, 0x6c00) AM_WRITE(flip_screen_x_w) + AM_RANGE(0x6c01, 0x6c01) AM_WRITE(flip_screen_y_w) AM_RANGE(0x6c02, 0x6c02) AM_WRITENOP /* sound reset */ AM_RANGE(0x6c06, 0x6c06) AM_WRITE(coin_w) AM_RANGE(0x6c07, 0x6c07) AM_WRITE(nmi_mask_w) - AM_RANGE(0x6c00, 0x6c07) AM_READ(zaccaria_prot2_r) - AM_RANGE(0x6e00, 0x6e00) AM_READWRITE(zaccaria_dsw_r, sound_command_w) + AM_RANGE(0x6c00, 0x6c07) AM_READ(prot2_r) + AM_RANGE(0x6e00, 0x6e00) AM_READWRITE(dsw_r, sound_command_w) AM_RANGE(0x7000, 0x77ff) AM_RAM AM_RANGE(0x7800, 0x7803) AM_DEVREADWRITE("ppi8255", i8255_device, read, write) AM_RANGE(0x7c00, 0x7c00) AM_READ(watchdog_reset_r) @@ -511,7 +524,7 @@ static MACHINE_CONFIG_START( zaccaria, zaccaria_state ) MCFG_CPU_ADD("audiocpu", M6802,XTAL_3_579545MHz) /* verified on pcb */ MCFG_CPU_PROGRAM_MAP(sound_map_1) - MCFG_CPU_PERIODIC_INT_DRIVER(zaccaria_state, zaccaria_cb1_toggle, (double)XTAL_3_579545MHz/4096) + MCFG_CPU_PERIODIC_INT_DRIVER(zaccaria_state, cb1_toggle, (double)XTAL_3_579545MHz/4096) MCFG_QUANTUM_TIME(attotime::from_hz(1000000)) MCFG_CPU_ADD("audio2", M6802,XTAL_3_579545MHz) /* verified on pcb */ @@ -522,19 +535,19 @@ static MACHINE_CONFIG_START( zaccaria, zaccaria_state ) MCFG_I8255_IN_PORTA_CB(IOPORT("P1")) MCFG_I8255_IN_PORTB_CB(IOPORT("P2")) MCFG_I8255_IN_PORTC_CB(IOPORT("SYSTEM")) - MCFG_I8255_OUT_PORTC_CB(WRITE8(zaccaria_state, zaccaria_dsw_sel_w)) + MCFG_I8255_OUT_PORTC_CB(WRITE8(zaccaria_state, dsw_sel_w)) MCFG_DEVICE_ADD( "pia0", PIA6821, 0) - MCFG_PIA_READPA_HANDLER(READ8(zaccaria_state, zaccaria_port0a_r)) - MCFG_PIA_WRITEPA_HANDLER(WRITE8(zaccaria_state, zaccaria_port0a_w)) - MCFG_PIA_WRITEPB_HANDLER(WRITE8(zaccaria_state, zaccaria_port0b_w)) - MCFG_PIA_IRQA_HANDLER(WRITELINE(zaccaria_state, zaccaria_irq0a)) - MCFG_PIA_IRQB_HANDLER(WRITELINE(zaccaria_state, zaccaria_irq0b)) + MCFG_PIA_READPA_HANDLER(READ8(zaccaria_state, port0a_r)) + MCFG_PIA_WRITEPA_HANDLER(WRITE8(zaccaria_state, port0a_w)) + MCFG_PIA_WRITEPB_HANDLER(WRITE8(zaccaria_state, port0b_w)) + MCFG_PIA_IRQA_HANDLER(WRITELINE(zaccaria_state, irq0a)) + MCFG_PIA_IRQB_HANDLER(WRITELINE(zaccaria_state, irq0b)) MCFG_DEVICE_ADD( "pia1", PIA6821, 0) MCFG_PIA_READPA_HANDLER(DEVREAD8("tms", tms5220_device, status_r)) MCFG_PIA_WRITEPA_HANDLER(DEVWRITE8("tms", tms5220_device, data_w)) - MCFG_PIA_WRITEPB_HANDLER(WRITE8(zaccaria_state,zaccaria_port1b_w)) + MCFG_PIA_WRITEPB_HANDLER(WRITE8(zaccaria_state,port1b_w)) /* video hardware */ MCFG_SCREEN_ADD("screen", RASTER) @@ -542,7 +555,7 @@ static MACHINE_CONFIG_START( zaccaria, zaccaria_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(zaccaria_state, screen_update_zaccaria) + MCFG_SCREEN_UPDATE_DRIVER(zaccaria_state, screen_update) MCFG_SCREEN_PALETTE("palette") MCFG_GFXDECODE_ADD("gfxdecode", "palette", zaccaria) @@ -726,7 +739,7 @@ ROM_END -GAME( 1983, monymony, 0, zaccaria, monymony, driver_device, 0, ROT90, "Zaccaria", "Money Money", GAME_IMPERFECT_SOUND ) -GAME( 1984, jackrabt, 0, zaccaria, jackrabt, driver_device, 0, ROT90, "Zaccaria", "Jack Rabbit (set 1)", GAME_IMPERFECT_SOUND ) -GAME( 1984, jackrabt2, jackrabt, zaccaria, jackrabt, driver_device, 0, ROT90, "Zaccaria", "Jack Rabbit (set 2)", GAME_IMPERFECT_SOUND ) -GAME( 1984, jackrabts, jackrabt, zaccaria, jackrabt, driver_device, 0, ROT90, "Zaccaria", "Jack Rabbit (special)", GAME_IMPERFECT_SOUND ) +GAME( 1983, monymony, 0, zaccaria, monymony, driver_device, 0, ROT90, "Zaccaria", "Money Money", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) +GAME( 1984, jackrabt, 0, zaccaria, jackrabt, driver_device, 0, ROT90, "Zaccaria", "Jack Rabbit (set 1)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) +GAME( 1984, jackrabt2, jackrabt, zaccaria, jackrabt, driver_device, 0, ROT90, "Zaccaria", "Jack Rabbit (set 2)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) +GAME( 1984, jackrabts, jackrabt, zaccaria, jackrabt, driver_device, 0, ROT90, "Zaccaria", "Jack Rabbit (special)", GAME_IMPERFECT_SOUND | GAME_SUPPORTS_SAVE ) diff --git a/src/mame/includes/zac2650.h b/src/mame/includes/zac2650.h index 69e0291feea..8ae5ebd076e 100644 --- a/src/mame/includes/zac2650.h +++ b/src/mame/includes/zac2650.h @@ -5,28 +5,31 @@ class zac2650_state : public driver_device public: zac2650_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_videoram(*this, "videoram"), - m_s2636_0_ram(*this, "s2636_0_ram"), m_maincpu(*this, "maincpu"), m_s2636(*this, "s2636"), m_gfxdecode(*this, "gfxdecode"), m_screen(*this, "screen"), - m_palette(*this, "palette") { } - - required_shared_ptr m_videoram; - required_shared_ptr m_s2636_0_ram; + m_palette(*this, "palette"), + m_videoram(*this, "videoram"), + m_s2636_0_ram(*this, "s2636_0_ram") { } + /* devices */ required_device m_maincpu; required_device m_s2636; required_device m_gfxdecode; required_device m_screen; required_device m_palette; + + /* memory pointers */ + required_shared_ptr m_videoram; + required_shared_ptr m_s2636_0_ram; bitmap_ind16 m_bitmap; bitmap_ind16 m_spritebitmap; int m_CollisionBackground; int m_CollisionSprite; tilemap_t *m_bg_tilemap; + DECLARE_WRITE8_MEMBER(tinvader_sound_w); DECLARE_WRITE8_MEMBER(tinvader_videoram_w); DECLARE_READ8_MEMBER(zac_s2636_r); diff --git a/src/mame/includes/zaccaria.h b/src/mame/includes/zaccaria.h index badeb324d82..c83a6dd23f8 100644 --- a/src/mame/includes/zaccaria.h +++ b/src/mame/includes/zaccaria.h @@ -1,21 +1,50 @@ +#include "machine/6821pia.h" +#include "sound/ay8910.h" #include "sound/dac.h" +#include "sound/tms5220.h" class zaccaria_state : public driver_device { public: zaccaria_state(const machine_config &mconfig, device_type type, const char *tag) : driver_device(mconfig, type, tag), - m_videoram(*this, "videoram"), - m_attributesram(*this, "attributesram"), - m_spriteram(*this, "spriteram"), - m_spriteram2(*this, "spriteram2"), m_maincpu(*this, "maincpu"), m_audiocpu(*this, "audiocpu"), m_audio2(*this, "audio2"), + m_pia(*this, "pia0"), m_dac2(*this, "dac2"), + m_ay1(*this, "ay1"), + m_ay2(*this, "ay2"), + m_tms(*this, "tms"), m_gfxdecode(*this, "gfxdecode"), m_palette(*this, "palette"), + m_videoram(*this, "videoram"), + m_attributesram(*this, "attributesram"), + m_spriteram(*this, "spriteram"), + m_spriteram2(*this, "spriteram2"), m_dsw_port(*this, "DSW") { } + + + + /* devices */ + required_device m_maincpu; + required_device m_audiocpu; + required_device m_audio2; + required_device m_pia; + required_device m_dac2; + required_device m_ay1; + required_device m_ay2; + required_device m_tms; + required_device m_gfxdecode; + required_device m_palette; + + /* memory pointers */ + required_shared_ptr m_videoram; + required_shared_ptr m_attributesram; + required_shared_ptr m_spriteram; + required_shared_ptr m_spriteram2; + + required_ioport_array<3> m_dsw_port; int m_dsw_sel; int m_active_8910; @@ -23,45 +52,37 @@ public: int m_acs; int m_last_port0b; int m_toggle; - required_shared_ptr m_videoram; - required_shared_ptr m_attributesram; tilemap_t *m_bg_tilemap; - required_shared_ptr m_spriteram; - required_shared_ptr m_spriteram2; UINT8 m_nmi_mask; - DECLARE_READ8_MEMBER(zaccaria_dsw_r); + + DECLARE_READ8_MEMBER(dsw_r); DECLARE_WRITE8_MEMBER(sound_command_w); DECLARE_WRITE8_MEMBER(sound1_command_w); - DECLARE_READ8_MEMBER(zaccaria_prot1_r); - DECLARE_READ8_MEMBER(zaccaria_prot2_r); + DECLARE_READ8_MEMBER(prot1_r); + DECLARE_READ8_MEMBER(prot2_r); DECLARE_WRITE8_MEMBER(coin_w); DECLARE_WRITE8_MEMBER(nmi_mask_w); - DECLARE_WRITE8_MEMBER(zaccaria_videoram_w); - DECLARE_WRITE8_MEMBER(zaccaria_attributes_w); - DECLARE_WRITE8_MEMBER(zaccaria_flip_screen_x_w); - DECLARE_WRITE8_MEMBER(zaccaria_flip_screen_y_w); + DECLARE_WRITE8_MEMBER(videoram_w); + DECLARE_WRITE8_MEMBER(attributes_w); + DECLARE_WRITE8_MEMBER(flip_screen_x_w); + DECLARE_WRITE8_MEMBER(flip_screen_y_w); DECLARE_CUSTOM_INPUT_MEMBER(acs_r); - DECLARE_WRITE8_MEMBER(zaccaria_dsw_sel_w); + DECLARE_WRITE8_MEMBER(dsw_sel_w); DECLARE_WRITE8_MEMBER(ay8910_port0a_w); - DECLARE_WRITE_LINE_MEMBER(zaccaria_irq0a); - DECLARE_WRITE_LINE_MEMBER(zaccaria_irq0b); - DECLARE_READ8_MEMBER(zaccaria_port0a_r); - DECLARE_WRITE8_MEMBER(zaccaria_port0a_w); - DECLARE_WRITE8_MEMBER(zaccaria_port0b_w); - DECLARE_WRITE8_MEMBER(zaccaria_port1b_w); + DECLARE_WRITE_LINE_MEMBER(irq0a); + DECLARE_WRITE_LINE_MEMBER(irq0b); + DECLARE_READ8_MEMBER(port0a_r); + DECLARE_WRITE8_MEMBER(port0a_w); + DECLARE_WRITE8_MEMBER(port0b_w); + DECLARE_WRITE8_MEMBER(port1b_w); DECLARE_WRITE8_MEMBER(mc1408_data_w); TILE_GET_INFO_MEMBER(get_tile_info); + virtual void machine_start(); + virtual void machine_reset(); virtual void video_start(); DECLARE_PALETTE_INIT(zaccaria); - UINT32 screen_update_zaccaria(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); - INTERRUPT_GEN_MEMBER(zaccaria_cb1_toggle); + UINT32 screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect); + INTERRUPT_GEN_MEMBER(cb1_toggle); INTERRUPT_GEN_MEMBER(vblank_irq); void draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect,UINT8 *spriteram,int color,int section); - required_device m_maincpu; - required_device m_audiocpu; - required_device m_audio2; - required_device m_dac2; - required_device m_gfxdecode; - required_device m_palette; - required_ioport_array<3> m_dsw_port; }; diff --git a/src/mame/video/zac2650.c b/src/mame/video/zac2650.c index 6eae2678f1c..c4adb273f56 100644 --- a/src/mame/video/zac2650.c +++ b/src/mame/video/zac2650.c @@ -16,8 +16,7 @@ WRITE8_MEMBER(zac2650_state::tinvader_videoram_w) { - UINT8 *videoram = m_videoram; - videoram[offset] = data; + m_videoram[offset] = data; m_bg_tilemap->mark_tile_dirty(offset); } @@ -111,8 +110,7 @@ int zac2650_state::SpriteCollision(int first,int second) TILE_GET_INFO_MEMBER(zac2650_state::get_bg_tile_info) { - UINT8 *videoram = m_videoram; - int code = videoram[tile_index]; + int code = m_videoram[tile_index]; SET_TILE_INFO_MEMBER(0, code, 0, 0); } @@ -127,6 +125,11 @@ void zac2650_state::video_start() m_gfxdecode->gfx(1)->set_source(m_s2636_0_ram); m_gfxdecode->gfx(2)->set_source(m_s2636_0_ram); + + save_item(NAME(m_bitmap)); + save_item(NAME(m_spritebitmap)); + save_item(NAME(m_CollisionBackground)); + save_item(NAME(m_CollisionSprite)); } void zac2650_state::draw_sprites(bitmap_ind16 &bitmap, const rectangle &cliprect) diff --git a/src/mame/video/zaccaria.c b/src/mame/video/zaccaria.c index 10eea74d5f9..87c0e1acbd2 100644 --- a/src/mame/video/zaccaria.c +++ b/src/mame/video/zaccaria.c @@ -142,13 +142,13 @@ void zaccaria_state::video_start() ***************************************************************************/ -WRITE8_MEMBER(zaccaria_state::zaccaria_videoram_w) +WRITE8_MEMBER(zaccaria_state::videoram_w) { m_videoram[offset] = data; m_bg_tilemap->mark_tile_dirty(offset & 0x3ff); } -WRITE8_MEMBER(zaccaria_state::zaccaria_attributes_w) +WRITE8_MEMBER(zaccaria_state::attributes_w) { if (offset & 1) { @@ -166,12 +166,12 @@ WRITE8_MEMBER(zaccaria_state::zaccaria_attributes_w) m_attributesram[offset] = data; } -WRITE8_MEMBER(zaccaria_state::zaccaria_flip_screen_x_w) +WRITE8_MEMBER(zaccaria_state::flip_screen_x_w) { flip_screen_x_set(data & 1); } -WRITE8_MEMBER(zaccaria_state::zaccaria_flip_screen_y_w) +WRITE8_MEMBER(zaccaria_state::flip_screen_y_w) { flip_screen_y_set(data & 1); } @@ -236,7 +236,7 @@ void zaccaria_state::draw_sprites(bitmap_ind16 &bitmap,const rectangle &cliprect } } -UINT32 zaccaria_state::screen_update_zaccaria(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) +UINT32 zaccaria_state::screen_update(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect) { m_bg_tilemap->draw(screen, bitmap, cliprect, 0,0); -- cgit v1.2.3