Thomas Harte
9ac831b09c
Added an additional protection against overflow.
2017-09-11 22:24:24 -04:00
Thomas Harte
6d6cac429d
Fixes extra time accumulation during track running.
...
Introduces a bunch of further asserts, which aided me in determining the fix, i.e. that Drives being responsible for their own setup_track could double-pump the event loop.
2017-09-10 22:44:14 -04:00
Thomas Harte
6075064400
Adds the ability to query a TimedEventLoop for its input clock rate.
2017-09-10 17:31:43 -04:00
Thomas Harte
90d2347c90
Extended to permit subclasses that are interested to get sub-run_for information about event times.
2017-09-10 14:44:38 -04:00
Thomas Harte
82ca49c840
Adjusted to avoid calls to ::greatest_common_divisor(numerator % denominator, denominator)
unless necessary.
2017-08-11 19:05:46 -04:00
Thomas Harte
4abd62e62b
Standardises on const [Half]Cycles
as the thing called and returned, rather than const [Half]Cycles &
as it's explicitly defined to be only one int
in size, so using a reference is overly weighty.
2017-07-27 22:05:29 -04:00
Thomas Harte
8a2bdb8d22
Converted the TimedEventLoop and the things that sit atop it into ClockReceiver
s.
2017-07-24 21:19:05 -04:00
Thomas Harte
e01f3f06c8
Completed curly bracket movement.
2017-03-26 14:34:47 -04:00
Thomas Harte
1e416d4af0
Withdrew now-unused and never-implemented API from TimedEventLoop
, and the redundant track time count from DiskController
.
2016-12-24 21:02:10 -05:00
Thomas Harte
0dc2aa6454
Commuted all of 'Storage' other than 'Tape' to postfix underscores.
2016-12-03 11:59:28 -05:00
Thomas Harte
65b568003d
Clarified TODO.
2016-09-18 10:29:45 -04:00
Thomas Harte
8c2bf099ad
Cut down to one GCD and clarified variable names, getting more explicit about what's going on.
2016-09-18 10:24:09 -04:00
Thomas Harte
14a9edcf5d
Made an attempt to do the time base conversion upfront, saving a lot of hassle and allowing greater prediction.
2016-09-17 19:52:27 -04:00
Thomas Harte
9af9b28baf
Made very first attempt at closing the loop on this. But it's time for work.
2016-08-03 08:16:23 -04:00
Thomas Harte
e15241dc3c
Added ability to query how long since the new interval was set to the timed event loop. Discovered that LCM will returning the net effect of the common factors only. Otherwise continued iterating towards time preservation.
2016-08-03 07:49:00 -04:00
Thomas Harte
89a1881fef
Started turning the 1540 into an actual disk drive.
2016-07-29 11:03:09 -04:00
Thomas Harte
0e581c7607
Factored out the stuff of running a timed event loop from the TapePlayer.
2016-07-29 07:15:46 -04:00