From b15b425118fe56940ec97ab4d24e407c57be6a20 Mon Sep 17 00:00:00 2001 From: Ivan Vangelista Date: Sun, 25 Jan 2015 20:52:44 +0100 Subject: [PATCH] h63484.c: added save state support (nw) segajw.c: added save state support, also changed flag from GAME_NO_SOUND to GAME_IMPERFECT_SOUND, since sound does seem to work (nw) --- src/emu/video/h63484.c | 63 +++++++++++++++++++++++++++++++++++++++ src/emu/video/h63484.h | 2 ++ src/mame/drivers/segajw.c | 8 ++++- 3 files changed, 72 insertions(+), 1 deletion(-) diff --git a/src/emu/video/h63484.c b/src/emu/video/h63484.c index 6eefec617ee..34a0258974e 100644 --- a/src/emu/video/h63484.c +++ b/src/emu/video/h63484.c @@ -2001,6 +2001,8 @@ WRITE8_MEMBER( h63484_device::data_w ) void h63484_device::device_start() { m_display_cb.bind_relative_to(*owner()); + + register_save_state(); } //------------------------------------------------- @@ -2125,3 +2127,64 @@ UINT32 h63484_device::update_screen(screen_device &screen, bitmap_ind16 &bitmap, } return 0; } + +void h63484_device::register_save_state() +{ + save_item(NAME(m_ar)); + save_item(NAME(m_vreg)); + save_item(NAME(m_sr)); + save_item(NAME(m_fifo)); + save_item(NAME(m_fifo_ptr)); + save_item(NAME(m_fifo_r)); + save_item(NAME(m_fifo_r_ptr)); + save_item(NAME(m_cr)); + save_item(NAME(m_pr)); + save_item(NAME(m_param_ptr)); + save_item(NAME(m_rwp)); + save_item(NAME(m_rwp_dn)); + save_item(NAME(m_org_dpa)); + save_item(NAME(m_org_dn)); + save_item(NAME(m_org_dpd)); + save_item(NAME(m_cl0)); + save_item(NAME(m_cl1)); + save_item(NAME(m_ccmp)); + save_item(NAME(m_mask)); + save_item(NAME(m_cpx)); + save_item(NAME(m_cpy)); + save_item(NAME(m_mwr)); + save_item(NAME(m_mwr_chr)); + save_item(NAME(m_sar)); + save_item(NAME(m_sda)); + save_item(NAME(m_pram)); + save_item(NAME(m_dn)); + save_item(NAME(m_ccr)); + save_item(NAME(m_omr)); + save_item(NAME(m_edg)); + save_item(NAME(m_dcr)); + save_item(NAME(m_hc)); + save_item(NAME(m_hds)); + save_item(NAME(m_hdw)); + save_item(NAME(m_hws)); + save_item(NAME(m_hww)); + save_item(NAME(m_sp)); + save_item(NAME(m_hsw)); + save_item(NAME(m_vc)); + save_item(NAME(m_vws)); + save_item(NAME(m_vww)); + save_item(NAME(m_vds)); + save_item(NAME(m_vsw)); + save_item(NAME(m_ppy)); + save_item(NAME(m_pzcy)); + save_item(NAME(m_ppx)); + save_item(NAME(m_pzcx)); + save_item(NAME(m_psx)); + save_item(NAME(m_pex)); + save_item(NAME(m_pzx)); + save_item(NAME(m_psy)); + save_item(NAME(m_pzy)); + save_item(NAME(m_pey)); + save_item(NAME(m_xmin)); + save_item(NAME(m_ymin)); + save_item(NAME(m_xmax)); + save_item(NAME(m_ymax)); +} diff --git a/src/emu/video/h63484.h b/src/emu/video/h63484.h index 0e0bccb3848..97429d1dd20 100644 --- a/src/emu/video/h63484.h +++ b/src/emu/video/h63484.h @@ -107,6 +107,8 @@ private: void video_registers_w(int offset); int translate_command(UINT16 data); void draw_graphics_line(bitmap_ind16 &bitmap, const rectangle &cliprect, int vs, int y, int layer_n, bool active, bool ins_window); + + void register_save_state(); h63484_display_delegate m_display_cb; diff --git a/src/mame/drivers/segajw.c b/src/mame/drivers/segajw.c index b6b4715d6bf..a382ea585ca 100644 --- a/src/mame/drivers/segajw.c +++ b/src/mame/drivers/segajw.c @@ -368,6 +368,12 @@ INPUT_PORTS_END void segajw_state::machine_start() { + save_item(NAME(m_coin_start_cycles)); + save_item(NAME(m_hopper_start_cycles)); + save_item(NAME(m_coin_counter)); + save_item(NAME(m_coin_lockout)); + save_item(NAME(m_hopper_ctrl)); + save_item(NAME(m_lamps)); } @@ -438,4 +444,4 @@ ROM_START( segajw ) ROM_END -GAMEL( 1991, segajw, 0, segajw, segajw, driver_device, 0, ROT0, "Sega", "Golden Poker Series \"Joker's Wild\" (Rev. B)", GAME_NOT_WORKING | GAME_NO_SOUND | GAME_IMPERFECT_GRAPHICS, layout_segajw ) // TODO: correct title +GAMEL( 1991, segajw, 0, segajw, segajw, driver_device, 0, ROT0, "Sega", "Golden Poker Series \"Joker's Wild\" (Rev. B)", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND | GAME_IMPERFECT_GRAPHICS | GAME_SUPPORTS_SAVE, layout_segajw ) // TODO: correct title