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
|
b3ae920746
|
Converted the DPLL and disk controller classes to be ClockReceiver s.
|
2017-07-24 21:04:47 -04:00 |
|
Thomas Harte
|
e5188a60dc
|
Settled on the new average-of-length approach to a PLL window sizing, eliminating the old errors-of-phase approach. Since it anchors automatically to the original target clocks per bit, killed the explicit mention of a tolerance.
|
2017-07-16 19:03:50 -04:00 |
|
Thomas Harte
|
e01f3f06c8
|
Completed curly bracket movement.
|
2017-03-26 14:34:47 -04:00 |
|
Thomas Harte
|
742c5df367
|
With lots of logging arising temporarily, fixed bug whereby conversion to a patched track would lead to holding a track with a distinct measure of time, leading to improperly-placed patches.
|
2016-12-25 22:00:39 -05:00 |
|
Thomas Harte
|
a6d038cad9
|
Eliminated special case that doesn't seek properly and isn't needed. Added TODO.
|
2016-12-25 21:32:14 -05:00 |
|
Thomas Harte
|
acc35885cd
|
Attempted to reduce track invalidations.
|
2016-12-25 20:38:25 -05:00 |
|
Thomas Harte
|
1349e85d83
|
[Mostly] fixed track write-back.
|
2016-12-25 19:19:22 -05:00 |
|
Thomas Harte
|
007c13ec16
|
Fixed: cycles_per_bit_ isn't a function of the rotational multiplier, it's absolute. Also made sure that exactly hitting the end of a bit counts.
|
2016-12-25 16:35:39 -05:00 |
|
Thomas Harte
|
98be6ede45
|
Shuffled a little to reduce risk of overflow, ensured writing is a loop, still seem to be writing too quickly for some reason.
|
2016-12-25 16:13:05 -05:00 |
|
Thomas Harte
|
d2ad2c756e
|
Added enough shovelling to write rubbish for an entire sector.
|
2016-12-25 15:46:49 -05:00 |
|
Thomas Harte
|
ec55a25620
|
It makes sense to simplify these ahead of time.
|
2016-12-25 12:32:25 -05:00 |
|
Thomas Harte
|
aceb7e3b6b
|
Started implementing write sector on the 1770, immediately deciding it would be useful to have a callback for end-of-queued-data-written from disk controller. So had a go at implementing that, naively. More investigation required.
|
2016-12-25 12:31:38 -05:00 |
|
Thomas Harte
|
901f19f89c
|
Added enough stuff that SSDs attached to a 1770 will now reach the entry point for writing.
|
2016-12-25 09:46:12 -05:00 |
|
Thomas Harte
|
9d555c4a02
|
Let's try just declining to pump the PLL while in write mode. Added documentation to explain.
|
2016-12-25 09:19:18 -05:00 |
|
Thomas Harte
|
b57038edc5
|
Actually, at least index holes will still be receivable while writing, so this wasn't entirely correct. Probably best to leave it in.
|
2016-12-25 09:16:09 -05:00 |
|
Thomas Harte
|
af69b21033
|
This is almost complete, except that it doesn't act appropriately if some bits are written but not enough to cover the entire writing period.
|
2016-12-24 22:51:26 -05:00 |
|
Thomas Harte
|
7f303cfceb
|
Continued the baby steps.
|
2016-12-24 21:54:43 -05:00 |
|
Thomas Harte
|
afc6f4129c
|
Withdrew unused tally.
|
2016-12-24 21:47:57 -05: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
|
bedea48d03
|
This is a much better way of dealing with being partway into an incoming event. Subject to eliminating overruns, of course.
|
2016-12-24 20:54:27 -05:00 |
|
Thomas Harte
|
4cb17143ef
|
Messing around trying to lock down timing precisely. Which includes formal initial conditions.
|
2016-12-24 15:18:46 -05:00 |
|
Thomas Harte
|
1e970a9772
|
Started stepping slowly towards allowing writing on the disk controller, taking the opportunity to introduce self-simplifying behaviour to Storage::Time.
|
2016-12-24 13:07:23 -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
|
81ee834530
|
As well as a bunch of logging, reinstated rotation position preservation across tracks.
|
2016-12-02 18:36:47 -05:00 |
|
Thomas Harte
|
93c573bfa9
|
Implemented missing status bits (other than the index hole), and a head loading delay for the Microdisc.
|
2016-12-01 21:13:16 -05:00 |
|
Thomas Harte
|
2222cb65d6
|
Split the status up into flags, assembled into a register upon demand. Attempted to implement some of the differences between the 1770/1772 and 1773/1793. Albeit with a motor fix still in place.
|
2016-11-30 22:26:02 -05:00 |
|
Thomas Harte
|
572d5587d9
|
Made a first stab at enabling multi-disk machines and thereby obeying (some of) the Plus 3's status register.
|
2016-09-25 21:24:16 -04:00 |
|
Thomas Harte
|
9bbcbd1001
|
Renamed class, intending to turn a Disk::Drive into literally just that, and have a thing with a PLL that consumes events be a Controller .
|
2016-09-25 20:05:56 -04:00 |
|