summaryrefslogtreecommitdiffstatshomepage
path: root/src/devices/machine/ldv1000hle.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/devices/machine/ldv1000hle.cpp')
-rw-r--r--src/devices/machine/ldv1000hle.cpp17
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();
}