diff options
author | 2022-03-26 20:31:31 +0100 | |
---|---|---|
committer | 2022-03-26 15:31:31 -0400 | |
commit | dd62ad880832e86c5cc8323e60dabeb63be17a12 (patch) | |
tree | b782c0b4a1520fd8758565f6f530ee3c4dada290 /src/devices/machine/laserdsc.cpp | |
parent | 2a4e772943aba6c728efdf0b6057665ab6487ab1 (diff) |
Fixed bill validator hookup in Time Traveler (#9470)
* -timetrv: Replaced IPT_COIN2 with IPT_BILL1, as it is the bill-validator input. [Ryan Holtz]
* -laserdsc: Added savestate registration. [Ryan Holtz]
Co-authored-by: MooglyGuy <mog@home>
Diffstat (limited to 'src/devices/machine/laserdsc.cpp')
-rw-r--r-- | src/devices/machine/laserdsc.cpp | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/src/devices/machine/laserdsc.cpp b/src/devices/machine/laserdsc.cpp index 475014f4f83..45304a428f7 100644 --- a/src/devices/machine/laserdsc.cpp +++ b/src/devices/machine/laserdsc.cpp @@ -54,6 +54,9 @@ const uint32_t VIRTUAL_LEAD_OUT_TRACKS = LEAD_OUT_MIN_SIZE_IN_UM * 1000 / NOMINA // CORE IMPLEMENTATION //************************************************************************** +ALLOW_SAVE_TYPE(laserdisc_device::player_state); +ALLOW_SAVE_TYPE(laserdisc_device::slider_position); + //------------------------------------------------- // laserdisc_device - constructor //------------------------------------------------- @@ -228,6 +231,73 @@ void laserdisc_device::device_start() "laserdisc", configuration_manager::load_delegate(&laserdisc_device::config_load, this), configuration_manager::save_delegate(&laserdisc_device::config_save, this)); + + // register state + save_item(NAME(m_player_state.m_state)); + save_item(NAME(m_player_state.m_substate)); + save_item(NAME(m_player_state.m_param)); + save_item(NAME(m_player_state.m_endtime)); + + save_item(NAME(m_saved_state.m_state)); + save_item(NAME(m_saved_state.m_substate)); + save_item(NAME(m_saved_state.m_param)); + save_item(NAME(m_saved_state.m_endtime)); + + save_item(NAME(m_overposx)); + save_item(NAME(m_overposy)); + save_item(NAME(m_overscalex)); + save_item(NAME(m_overscaley)); + + save_item(NAME(m_orig_config.m_overposx)); + save_item(NAME(m_orig_config.m_overposy)); + save_item(NAME(m_orig_config.m_overscalex)); + save_item(NAME(m_orig_config.m_overscaley)); + + save_item(NAME(m_overwidth)); + save_item(NAME(m_overheight)); + save_item(NAME(m_overclip.min_x)); + save_item(NAME(m_overclip.max_x)); + save_item(NAME(m_overclip.min_y)); + save_item(NAME(m_overclip.max_y)); + + save_item(NAME(m_vbidata)); + save_item(NAME(m_is_cav_disc)); + save_item(NAME(m_width)); + save_item(NAME(m_height)); + save_item(NAME(m_fps_times_1million)); + save_item(NAME(m_samplerate)); + save_item(NAME(m_chdtracks)); + + save_item(NAME(m_audiosquelch)); + save_item(NAME(m_videosquelch)); + save_item(NAME(m_fieldnum)); + save_item(NAME(m_curtrack)); + save_item(NAME(m_maxtrack)); + save_item(NAME(m_attospertrack)); + save_item(NAME(m_sliderupdate)); + + save_item(STRUCT_MEMBER(m_frame, m_numfields)); + save_item(STRUCT_MEMBER(m_frame, m_lastfield)); + save_item(NAME(m_videoindex)); + + save_item(NAME(m_audiobuffer[0])); + save_item(NAME(m_audiobuffer[1])); + save_item(NAME(m_audiobufsize)); + save_item(NAME(m_audiobufin)); + save_item(NAME(m_audiobufout)); + save_item(NAME(m_audiocursamples)); + save_item(NAME(m_audiomaxsamples)); + + save_item(STRUCT_MEMBER(m_metadata, white)); + save_item(STRUCT_MEMBER(m_metadata, line16)); + save_item(STRUCT_MEMBER(m_metadata, line17)); + save_item(STRUCT_MEMBER(m_metadata, line18)); + save_item(STRUCT_MEMBER(m_metadata, line1718)); + + save_item(NAME(m_videoenable)); + + save_item(NAME(m_overenable)); + save_item(NAME(m_overindex)); } |