mirror of
https://github.com/TomHarte/CLK.git
synced 2024-11-17 10:06:21 +00:00
Corrects index pulse signalling.
This commit is contained in:
parent
a7855e8c98
commit
d8b699c869
@ -304,11 +304,6 @@ void Drive::get_next_event(float duration_already_passed) {
|
|||||||
current_event_.type = Track::Event::IndexHole;
|
current_event_.type = Track::Event::IndexHole;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Begin a 2ms period of holding the index line pulse active if this is an index pulse event.
|
|
||||||
if(current_event_.type == Track::Event::IndexHole) {
|
|
||||||
index_pulse_remaining_ = Cycles((get_input_clock_rate() * 2) / 1000);
|
|
||||||
}
|
|
||||||
|
|
||||||
// divide interval, which is in terms of a single rotation of the disk, by rotation speed to
|
// divide interval, which is in terms of a single rotation of the disk, by rotation speed to
|
||||||
// convert it into revolutions per second; this is achieved by multiplying by rotational_multiplier_
|
// convert it into revolutions per second; this is achieved by multiplying by rotational_multiplier_
|
||||||
float interval = std::max((current_event_.length - duration_already_passed) * rotational_multiplier_, 0.0f);
|
float interval = std::max((current_event_.length - duration_already_passed) * rotational_multiplier_, 0.0f);
|
||||||
@ -331,6 +326,9 @@ void Drive::process_next_event() {
|
|||||||
is_ready_ = true;
|
is_ready_ = true;
|
||||||
}
|
}
|
||||||
cycles_since_index_hole_ = 0;
|
cycles_since_index_hole_ = 0;
|
||||||
|
|
||||||
|
// Begin a 2ms period of holding the index line pulse active.
|
||||||
|
index_pulse_remaining_ = Cycles((get_input_clock_rate() * 2) / 1000);
|
||||||
}
|
}
|
||||||
if(
|
if(
|
||||||
event_delegate_ &&
|
event_delegate_ &&
|
||||||
|
Loading…
Reference in New Issue
Block a user