diff options
author | ajrhacker <ajrhacker@users.noreply.github.com> | 2018-10-11 19:39:21 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-11 19:39:21 -0400 |
commit | 28b2a04ee3fc2ac1865b20d6c93659efc450fb2d (patch) | |
tree | 68ad3897e534d8ad5616844c880e52271d4ee961 | |
parent | a05c12da091697d33c660f0c7103d05290f425b3 (diff) | |
parent | 4f9f99d8c36a572278dbacdcd30c597ced2c0c3d (diff) |
Merge pull request #4125 from hp9k/save_state_support
hp_9k_3xx: enable save state support (nw)
-rw-r--r-- | src/devices/bus/hp_dio/hp98543.cpp | 3 | ||||
-rw-r--r-- | src/devices/bus/hp_dio/hp98544.cpp | 1 | ||||
-rw-r--r-- | src/devices/bus/hp_dio/hp98644.cpp | 4 | ||||
-rw-r--r-- | src/devices/machine/tms9914.cpp | 49 | ||||
-rw-r--r-- | src/devices/video/topcat.cpp | 10 | ||||
-rw-r--r-- | src/mame/drivers/hp9k_3xx.cpp | 19 |
6 files changed, 74 insertions, 12 deletions
diff --git a/src/devices/bus/hp_dio/hp98543.cpp b/src/devices/bus/hp_dio/hp98543.cpp index d6ef2a1065d..49bc08827e5 100644 --- a/src/devices/bus/hp_dio/hp98543.cpp +++ b/src/devices/bus/hp_dio/hp98543.cpp @@ -99,6 +99,9 @@ dio16_98543_device::dio16_98543_device(const machine_config &mconfig, device_typ void dio16_98543_device::device_start() { + save_item(NAME(m_intreg)); + save_item(NAME(m_ints)); + dio().install_memory( 0x200000, 0x27ffff, read16_delegate(FUNC(dio16_98543_device::vram_r), this), diff --git a/src/devices/bus/hp_dio/hp98544.cpp b/src/devices/bus/hp_dio/hp98544.cpp index cebfa814ffd..9735541a6ef 100644 --- a/src/devices/bus/hp_dio/hp98544.cpp +++ b/src/devices/bus/hp_dio/hp98544.cpp @@ -100,6 +100,7 @@ device_memory_interface::space_config_vector dio16_98544_device::memory_space_co void dio16_98544_device::device_start() { + save_item(NAME(m_intreg)); dio().install_memory( 0x200000, 0x2fffff, read16_delegate(FUNC(topcat_device::vram_r), static_cast<topcat_device*>(m_topcat)), diff --git a/src/devices/bus/hp_dio/hp98644.cpp b/src/devices/bus/hp_dio/hp98644.cpp index efc93c3e834..c45b3a5e593 100644 --- a/src/devices/bus/hp_dio/hp98644.cpp +++ b/src/devices/bus/hp_dio/hp98644.cpp @@ -139,6 +139,10 @@ ioport_constructor dio16_98644_device::device_input_ports() const void dio16_98644_device::device_start() { + save_item(NAME(m_installed_io)); + save_item(NAME(m_control)); + save_item(NAME(m_loopback)); + save_item(NAME(m_data)); m_installed_io = false; } diff --git a/src/devices/machine/tms9914.cpp b/src/devices/machine/tms9914.cpp index 10010848f9d..a2892eed1cd 100644 --- a/src/devices/machine/tms9914.cpp +++ b/src/devices/machine/tms9914.cpp @@ -431,6 +431,55 @@ READ_LINE_MEMBER(tms9914_device::cont_r) // device-level overrides void tms9914_device::device_start() { + save_item(NAME(m_int_line)); + save_item(NAME(m_accrq_line)); + save_item(NAME(m_dio)); + save_item(NAME(m_signals)); + save_item(NAME(m_ext_signals)); + save_item(NAME(m_no_reflection)); + save_item(NAME(m_ext_state_change)); + save_item(NAME(m_reg_int0_status)); + save_item(NAME(m_reg_int0_mask)); + save_item(NAME(m_reg_int1_status)); + save_item(NAME(m_reg_int1_mask)); + save_item(NAME(m_reg_address)); + save_item(NAME(m_reg_serial_p)); + save_item(NAME(m_reg_parallel_p)); + save_item(NAME(m_reg_2nd_parallel_p)); + save_item(NAME(m_reg_di)); + save_item(NAME(m_reg_do)); + save_item(NAME(m_reg_ulpa)); + save_item(NAME(m_swrst)); + save_item(NAME(m_hdfa)); + save_item(NAME(m_hdfe)); + save_item(NAME(m_rtl)); + save_item(NAME(m_gts)); + save_item(NAME(m_rpp)); + save_item(NAME(m_sic)); + save_item(NAME(m_sre)); + save_item(NAME(m_dai)); + save_item(NAME(m_pts)); + save_item(NAME(m_stdl)); + save_item(NAME(m_shdw)); + save_item(NAME(m_vstdl)); + save_item(NAME(m_ah_state)); + save_item(NAME(m_ah_adhs)); + save_item(NAME(m_ah_anhs)); + save_item(NAME(m_sh_state)); + save_item(NAME(m_sh_shfs)); + save_item(NAME(m_sh_vsts)); + save_item(NAME(m_t_state)); + save_item(NAME(m_t_tpas)); + save_item(NAME(m_t_spms)); + save_item(NAME(m_t_eoi_state)); + save_item(NAME(m_l_state)); + save_item(NAME(m_l_lpas)); + save_item(NAME(m_sr_state)); + save_item(NAME(m_rl_state)); + save_item(NAME(m_pp_ppas)); + save_item(NAME(m_c_state)); + save_item(NAME(m_next_eoi)); + m_dio_read_func.resolve_safe(0xff); m_dio_write_func.resolve_safe(); for (auto& f : m_signal_wr_fns) { diff --git a/src/devices/video/topcat.cpp b/src/devices/video/topcat.cpp index 3d1bf8f6d24..87bb60cb1d7 100644 --- a/src/devices/video/topcat.cpp +++ b/src/devices/video/topcat.cpp @@ -45,14 +45,18 @@ void topcat_device::device_start() save_item(NAME(m_dst_y_pixel)); save_item(NAME(m_block_mover_pixel_width)); save_item(NAME(m_block_mover_pixel_height)); + save_item(NAME(m_unknown_reg4a)); + save_item(NAME(m_unknown_reg4c)); + save_item(NAME(m_cursor_state)); + save_item(NAME(m_cursor_x_pos)); + save_item(NAME(m_cursor_y_pos)); + save_item(NAME(m_cursor_width)); save_item(NAME(m_fb_width)); save_item(NAME(m_fb_height)); + save_item(NAME(m_plane_mask)); save_item(NAME(m_read_enable)); save_item(NAME(m_write_enable)); save_item(NAME(m_fb_enable)); - save_item(NAME(m_unknown_reg4a)); - save_item(NAME(m_unknown_reg4c)); - save_item(NAME(m_cursor_state)); save_item(NAME(m_changed)); } diff --git a/src/mame/drivers/hp9k_3xx.cpp b/src/mame/drivers/hp9k_3xx.cpp index 652d9ea8300..a0a35086961 100644 --- a/src/mame/drivers/hp9k_3xx.cpp +++ b/src/mame/drivers/hp9k_3xx.cpp @@ -284,6 +284,7 @@ void hp9k3xx_state::machine_reset() void hp9k3xx_state::machine_start() { m_bus_error_timer = timer_alloc(0); + save_item(NAME(m_bus_error)); } void hp9k3xx_state::device_timer(emu_timer &timer, device_timer_id id, int param, void *ptr) @@ -554,12 +555,12 @@ ROM_START( hp9k382 ) ROM_END /* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */ -COMP( 1985, hp9k310, 0, 0, hp9k310, hp9k330, hp9k3xx_state, empty_init, "Hewlett-Packard", "HP9000/310", MACHINE_NOT_WORKING) -COMP( 1985, hp9k320, 0, 0, hp9k320, hp9k330, hp9k3xx_state, empty_init, "Hewlett-Packard", "HP9000/320", MACHINE_NOT_WORKING) -COMP( 1987, hp9k330, 0, 0, hp9k330, hp9k330, hp9k3xx_state, empty_init, "Hewlett-Packard", "HP9000/330", MACHINE_NOT_WORKING) -COMP( 1987, hp9k332, 0, 0, hp9k332, hp9k330, hp9k3xx_state, empty_init, "Hewlett-Packard", "HP9000/332", MACHINE_NOT_WORKING) -COMP( 1989, hp9k340, hp9k330, 0, hp9k340, hp9k330, hp9k3xx_state, empty_init, "Hewlett-Packard", "HP9000/340", MACHINE_NOT_WORKING) -COMP( 1988, hp9k360, hp9k330, 0, hp9k360, hp9k330, hp9k3xx_state, empty_init, "Hewlett-Packard", "HP9000/360", MACHINE_NOT_WORKING) -COMP( 1988, hp9k370, hp9k330, 0, hp9k370, hp9k330, hp9k3xx_state, empty_init, "Hewlett-Packard", "HP9000/370", MACHINE_NOT_WORKING) -COMP( 1991, hp9k380, 0, 0, hp9k380, hp9k330, hp9k3xx_state, empty_init, "Hewlett-Packard", "HP9000/380", MACHINE_NOT_WORKING) -COMP( 1991, hp9k382, 0, 0, hp9k382, hp9k330, hp9k3xx_state, empty_init, "Hewlett-Packard", "HP9000/382", MACHINE_NOT_WORKING) +COMP( 1985, hp9k310, 0, 0, hp9k310, hp9k330, hp9k3xx_state, empty_init, "Hewlett-Packard", "HP9000/310", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE) +COMP( 1985, hp9k320, 0, 0, hp9k320, hp9k330, hp9k3xx_state, empty_init, "Hewlett-Packard", "HP9000/320", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE) +COMP( 1987, hp9k330, 0, 0, hp9k330, hp9k330, hp9k3xx_state, empty_init, "Hewlett-Packard", "HP9000/330", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE) +COMP( 1987, hp9k332, 0, 0, hp9k332, hp9k330, hp9k3xx_state, empty_init, "Hewlett-Packard", "HP9000/332", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE) +COMP( 1989, hp9k340, hp9k330, 0, hp9k340, hp9k330, hp9k3xx_state, empty_init, "Hewlett-Packard", "HP9000/340", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE) +COMP( 1988, hp9k360, hp9k330, 0, hp9k360, hp9k330, hp9k3xx_state, empty_init, "Hewlett-Packard", "HP9000/360", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE) +COMP( 1988, hp9k370, hp9k330, 0, hp9k370, hp9k330, hp9k3xx_state, empty_init, "Hewlett-Packard", "HP9000/370", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE) +COMP( 1991, hp9k380, 0, 0, hp9k380, hp9k330, hp9k3xx_state, empty_init, "Hewlett-Packard", "HP9000/380", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE) +COMP( 1991, hp9k382, 0, 0, hp9k382, hp9k330, hp9k3xx_state, empty_init, "Hewlett-Packard", "HP9000/382", MACHINE_NOT_WORKING | MACHINE_SUPPORTS_SAVE) |