diff options
author | Ivan Vangelista <mesgnet@yahoo.it> | 2019-12-09 17:26:43 +0100 |
---|---|---|
committer | Ivan Vangelista <mesgnet@yahoo.it> | 2019-12-09 17:26:43 +0100 |
commit | e2343a800b337c0ef0721a87cac04d0004022a23 (patch) | |
tree | ee4cfad3a16b61260bd7a36e2c4797f1b8ea185c /src/devices/cpu | |
parent | 7bb4fb3e50c9ea728a0b76ade2eb8517bf9ba669 (diff) |
various devices: try the new (and some not so new) save state possibilities (nw)
Diffstat (limited to 'src/devices/cpu')
-rw-r--r-- | src/devices/cpu/avr8/avr8.cpp | 28 | ||||
-rw-r--r-- | src/devices/cpu/dspp/dspp.cpp | 29 | ||||
-rw-r--r-- | src/devices/cpu/hphybrid/hphybrid.cpp | 12 | ||||
-rw-r--r-- | src/devices/cpu/i386/i386.cpp | 35 | ||||
-rw-r--r-- | src/devices/cpu/i8089/i8089_channel.cpp | 7 |
5 files changed, 26 insertions, 85 deletions
diff --git a/src/devices/cpu/avr8/avr8.cpp b/src/devices/cpu/avr8/avr8.cpp index 62460f94f8f..fbde839982e 100644 --- a/src/devices/cpu/avr8/avr8.cpp +++ b/src/devices/cpu/avr8/avr8.cpp @@ -795,30 +795,10 @@ void avr8_device::device_start() // register our state for saving save_item(NAME(m_pc)); save_item(NAME(m_r)); - save_item(NAME(m_timer_top[0])); - save_item(NAME(m_timer_increment[0])); - save_item(NAME(m_timer_prescale[0])); - save_item(NAME(m_timer_prescale_count[0])); - save_item(NAME(m_timer_top[1])); - save_item(NAME(m_timer_increment[1])); - save_item(NAME(m_timer_prescale[1])); - save_item(NAME(m_timer_prescale_count[1])); - save_item(NAME(m_timer_top[2])); - save_item(NAME(m_timer_increment[2])); - save_item(NAME(m_timer_prescale[2])); - save_item(NAME(m_timer_prescale_count[2])); - save_item(NAME(m_timer_top[3])); - save_item(NAME(m_timer_increment[3])); - save_item(NAME(m_timer_prescale[3])); - save_item(NAME(m_timer_prescale_count[3])); - save_item(NAME(m_timer_top[4])); - save_item(NAME(m_timer_increment[4])); - save_item(NAME(m_timer_prescale[4])); - save_item(NAME(m_timer_prescale_count[4])); - save_item(NAME(m_timer_top[5])); - save_item(NAME(m_timer_increment[5])); - save_item(NAME(m_timer_prescale[5])); - save_item(NAME(m_timer_prescale_count[5])); + save_item(NAME(m_timer_top)); + save_item(NAME(m_timer_increment)); + save_item(NAME(m_timer_prescale)); + save_item(NAME(m_timer_prescale_count)); save_item(NAME(m_addr_mask)); save_item(NAME(m_interrupt_pending)); save_item(NAME(m_elapsed_cycles)); diff --git a/src/devices/cpu/dspp/dspp.cpp b/src/devices/cpu/dspp/dspp.cpp index 587df951f45..44ced48c56c 100644 --- a/src/devices/cpu/dspp/dspp.cpp +++ b/src/devices/cpu/dspp/dspp.cpp @@ -201,22 +201,19 @@ void dspp_device::device_start() save_item(NAME(m_output_fifo_start)); save_item(NAME(m_output_fifo_count)); - for (uint32_t i = 0; i < NUM_DMA_CHANNELS; ++i) - { - save_item(NAME(m_fifo_dma[i].m_current_addr), i); - save_item(NAME(m_fifo_dma[i].m_current_count), i); - save_item(NAME(m_fifo_dma[i].m_next_addr), i); - save_item(NAME(m_fifo_dma[i].m_next_count), i); - save_item(NAME(m_fifo_dma[i].m_prev_value), i); - save_item(NAME(m_fifo_dma[i].m_prev_current), i); - save_item(NAME(m_fifo_dma[i].m_go_forever), i); - save_item(NAME(m_fifo_dma[i].m_next_valid), i); - save_item(NAME(m_fifo_dma[i].m_reserved), i); - save_item(NAME(m_fifo_dma[i].m_fifo), i); - save_item(NAME(m_fifo_dma[i].m_dma_ptr), i); - save_item(NAME(m_fifo_dma[i].m_dspi_ptr), i); - save_item(NAME(m_fifo_dma[i].m_depth), i); - } + save_item(STRUCT_MEMBER(m_fifo_dma, m_current_addr)); + save_item(STRUCT_MEMBER(m_fifo_dma, m_current_count)); + save_item(STRUCT_MEMBER(m_fifo_dma, m_next_addr)); + save_item(STRUCT_MEMBER(m_fifo_dma, m_next_count)); + save_item(STRUCT_MEMBER(m_fifo_dma, m_prev_value)); + save_item(STRUCT_MEMBER(m_fifo_dma, m_prev_current)); + save_item(STRUCT_MEMBER(m_fifo_dma, m_go_forever)); + save_item(STRUCT_MEMBER(m_fifo_dma, m_next_valid)); + save_item(STRUCT_MEMBER(m_fifo_dma, m_reserved)); + save_item(STRUCT_MEMBER(m_fifo_dma, m_fifo)); + save_item(STRUCT_MEMBER(m_fifo_dma, m_dma_ptr)); + save_item(STRUCT_MEMBER(m_fifo_dma, m_dspi_ptr)); + save_item(STRUCT_MEMBER(m_fifo_dma, m_depth)); save_item(NAME(m_last_frame_clock)); save_item(NAME(m_last_osc_count)); diff --git a/src/devices/cpu/hphybrid/hphybrid.cpp b/src/devices/cpu/hphybrid/hphybrid.cpp index ccd76079081..d68cc8f9ea4 100644 --- a/src/devices/cpu/hphybrid/hphybrid.cpp +++ b/src/devices/cpu/hphybrid/hphybrid.cpp @@ -716,10 +716,7 @@ void hp_hybrid_cpu_device::emc_start() state_add(HPHYBRID_R26, "R26" , m_reg_r26).noshow(); state_add(HPHYBRID_R27, "R27" , m_reg_r27).noshow(); - save_item(NAME(m_reg_ar2[ 0 ])); - save_item(NAME(m_reg_ar2[ 1 ])); - save_item(NAME(m_reg_ar2[ 2 ])); - save_item(NAME(m_reg_ar2[ 3 ])); + save_item(NAME(m_reg_ar2)); save_item(NAME(m_reg_se)); save_item(NAME(m_reg_r25)); save_item(NAME(m_reg_r26)); @@ -1749,12 +1746,7 @@ void hp_5061_3001_cpu_device::device_start() state_add(HPHYBRID_R35, "R35" , m_reg_aec[ 3 ]); state_add(HPHYBRID_R36, "R36" , m_reg_aec[ 4 ]); state_add(HPHYBRID_R37, "R37" , m_reg_aec[ 5 ]); - save_item(NAME(m_reg_aec[ 0 ])); - save_item(NAME(m_reg_aec[ 1 ])); - save_item(NAME(m_reg_aec[ 2 ])); - save_item(NAME(m_reg_aec[ 3 ])); - save_item(NAME(m_reg_aec[ 4 ])); - save_item(NAME(m_reg_aec[ 5 ])); + save_item(NAME(m_reg_aec)); } void hp_5061_3001_cpu_device::device_reset() diff --git a/src/devices/cpu/i386/i386.cpp b/src/devices/cpu/i386/i386.cpp index 9f6eaafc83c..29bfff89bb5 100644 --- a/src/devices/cpu/i386/i386.cpp +++ b/src/devices/cpu/i386/i386.cpp @@ -1949,36 +1949,11 @@ void i386_device::i386_common_init() zero_state(); save_item(NAME(m_reg.d)); - save_item(NAME(m_sreg[ES].selector)); - save_item(NAME(m_sreg[ES].base)); - save_item(NAME(m_sreg[ES].limit)); - save_item(NAME(m_sreg[ES].flags)); - save_item(NAME(m_sreg[ES].d)); - save_item(NAME(m_sreg[CS].selector)); - save_item(NAME(m_sreg[CS].base)); - save_item(NAME(m_sreg[CS].limit)); - save_item(NAME(m_sreg[CS].flags)); - save_item(NAME(m_sreg[CS].d)); - save_item(NAME(m_sreg[SS].selector)); - save_item(NAME(m_sreg[SS].base)); - save_item(NAME(m_sreg[SS].limit)); - save_item(NAME(m_sreg[SS].flags)); - save_item(NAME(m_sreg[SS].d)); - save_item(NAME(m_sreg[DS].selector)); - save_item(NAME(m_sreg[DS].base)); - save_item(NAME(m_sreg[DS].limit)); - save_item(NAME(m_sreg[DS].flags)); - save_item(NAME(m_sreg[DS].d)); - save_item(NAME(m_sreg[FS].selector)); - save_item(NAME(m_sreg[FS].base)); - save_item(NAME(m_sreg[FS].limit)); - save_item(NAME(m_sreg[FS].flags)); - save_item(NAME(m_sreg[FS].d)); - save_item(NAME(m_sreg[GS].selector)); - save_item(NAME(m_sreg[GS].base)); - save_item(NAME(m_sreg[GS].limit)); - save_item(NAME(m_sreg[GS].flags)); - save_item(NAME(m_sreg[GS].d)); + save_item(STRUCT_MEMBER(m_sreg, selector)); + save_item(STRUCT_MEMBER(m_sreg, base)); + save_item(STRUCT_MEMBER(m_sreg, limit)); + save_item(STRUCT_MEMBER(m_sreg, flags)); + save_item(STRUCT_MEMBER(m_sreg, d)); save_item(NAME(m_eip)); save_item(NAME(m_prev_eip)); diff --git a/src/devices/cpu/i8089/i8089_channel.cpp b/src/devices/cpu/i8089/i8089_channel.cpp index 02bb12daa8c..2da1ac9d076 100644 --- a/src/devices/cpu/i8089/i8089_channel.cpp +++ b/src/devices/cpu/i8089/i8089_channel.cpp @@ -83,11 +83,8 @@ void i8089_channel_device::device_start() save_item(NAME(m_drq)); save_item(NAME(m_prio)); - for (int i = 0; i < ARRAY_LENGTH(m_r); i++) - { - save_item(NAME(m_r[i].w), i); - save_item(NAME(m_r[i].t), i); - } + save_item(STRUCT_MEMBER(m_r, w)); + save_item(STRUCT_MEMBER(m_r, t)); } //------------------------------------------------- |