diff options
Diffstat (limited to 'src/devices/machine/ldv1000hle.cpp')
-rw-r--r-- | src/devices/machine/ldv1000hle.cpp | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/devices/machine/ldv1000hle.cpp b/src/devices/machine/ldv1000hle.cpp index ef89c5de25e..8d67db64186 100644 --- a/src/devices/machine/ldv1000hle.cpp +++ b/src/devices/machine/ldv1000hle.cpp @@ -78,7 +78,7 @@ void pioneer_ldv1000hle_device::device_start() // allocate timers m_vbi_fetch = timer_alloc(FUNC(pioneer_ldv1000hle_device::process_vbi_data), this); m_stop_timer = timer_alloc(FUNC(pioneer_ldv1000hle_device::resume_from_stop), this); - m_park_strobe_timer = timer_alloc(FUNC(pioneer_ldv1000hle_device::park_strobe_tick), this);; + m_park_strobe_timer = timer_alloc(FUNC(pioneer_ldv1000hle_device::park_strobe_tick), this); m_assert_status_strobe_timer = timer_alloc(FUNC(pioneer_ldv1000hle_device::assert_status_strobe), this); m_deassert_status_strobe_timer = timer_alloc(FUNC(pioneer_ldv1000hle_device::deassert_status_strobe), this); m_assert_command_strobe_timer = timer_alloc(FUNC(pioneer_ldv1000hle_device::assert_command_strobe), this); @@ -136,8 +136,6 @@ void pioneer_ldv1000hle_device::device_reset() m_command_strobe = true; set_video_squelch(false); - update_video_enable(); - update_audio_enable(); m_park_strobe_timer->adjust(attotime::from_msec(21), 0, attotime::from_msec(21)); } @@ -202,7 +200,7 @@ void pioneer_ldv1000hle_device::player_vsync(const vbi_metadata &vbi, int fieldn // set a timer to fetch the VBI data when it is ready if (m_mode != MODE_PARK) { - m_vbi_fetch->adjust(screen().time_until_pos(19*2)); + m_vbi_fetch->adjust(screen().time_until_pos(19*2), fieldnum); } } @@ -260,6 +258,12 @@ s32 pioneer_ldv1000hle_device::player_update(const vbi_metadata &vbi, int fieldn TIMER_CALLBACK_MEMBER(pioneer_ldv1000hle_device::process_vbi_data) { + if (param == 0) + { + update_video_enable(); + update_audio_enable(); + } + uint32_t line = get_field_code(LASERDISC_CODE_LINE1718, false); if ((line & 0xf00000) == 0xf00000 || line == VBI_CODE_LEADIN || line == VBI_CODE_LEADOUT) { @@ -571,7 +575,6 @@ void pioneer_ldv1000hle_device::process_command(size_t cmd_index) m_audio_enable[0] = BIT(cmd_number, 0); LOGMASKED(LOG_COMMANDS, "process_command: Audio1, setting audio enable, channels now %d/%d\n", m_audio_enable[0], m_audio_enable[1]); } - update_audio_enable(); break; case CMD_AUDIO2: @@ -586,7 +589,6 @@ void pioneer_ldv1000hle_device::process_command(size_t cmd_index) m_audio_enable[1] = BIT(cmd_number, 0); LOGMASKED(LOG_COMMANDS, "process_command: Audio2, setting audio enable, channels now %d/%d\n", m_audio_enable[0], m_audio_enable[1]); } - update_audio_enable(); break; case CMD_PLAY: @@ -894,9 +896,6 @@ void pioneer_ldv1000hle_device::set_mode(const u8 mode) { m_park_strobe_timer->adjust(attotime::from_msec(21), 0, attotime::from_msec(21)); } - - update_video_enable(); - update_audio_enable(); } |