summaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
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
commit28b2a04ee3fc2ac1865b20d6c93659efc450fb2d (patch)
tree68ad3897e534d8ad5616844c880e52271d4ee961
parenta05c12da091697d33c660f0c7103d05290f425b3 (diff)
parent4f9f99d8c36a572278dbacdcd30c597ced2c0c3d (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.cpp3
-rw-r--r--src/devices/bus/hp_dio/hp98544.cpp1
-rw-r--r--src/devices/bus/hp_dio/hp98644.cpp4
-rw-r--r--src/devices/machine/tms9914.cpp49
-rw-r--r--src/devices/video/topcat.cpp10
-rw-r--r--src/mame/drivers/hp9k_3xx.cpp19
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)