Thomas Harte
105272630e
Definitively eliminate per-logger state.
2025-09-11 23:29:47 -04:00
Thomas Harte
6518f08bc7
Adopt spaceship.
2025-09-04 21:25:12 -04:00
Thomas Harte
f934a1aa10
Ensure std::hash is known.
2025-09-04 17:53:18 -04:00
Thomas Harte
c3f64e85ce
Support unordered maps; use spaceship operator.
2025-09-04 17:39:09 -04:00
Thomas Harte
9790b4d2e9
Throw in some consts.
2025-04-25 23:17:00 -04:00
Thomas Harte
2c2216afae
Further eliminate file-relative includes.
2025-02-28 13:18:48 -05:00
Thomas Harte
0823fc32fe
Eliminate file-relative paths.
2025-02-28 12:30:25 -05:00
Thomas Harte
d3ed485e7a
Take another big swing at indentation, some consts.
2024-12-01 21:44:14 -05:00
Thomas Harte
07984a2f8b
Resolve various warnings.
2024-04-17 22:15:05 -04:00
Thomas Harte
bc5727af14
Switch to = default.
2024-02-16 21:50:15 -05:00
Thomas Harte
2200940efe
Update logging.
2024-01-19 14:22:23 -05:00
Thomas Harte
a3d37640aa
Switch include guards to #pragma once.
2024-01-16 23:34:46 -05:00
Ryan Carsten Schmidt
896632b9b6
Fix typos in comments
2023-12-04 10:39:03 -06:00
Thomas Harte
2b56b7be0d
Simplify namespace syntax.
2023-05-10 16:02:18 -05:00
Thomas Harte
866b6c6129
Eliminate off_t.
2022-04-27 19:16:37 -04:00
Thomas Harte
8dcb48254a
Simplifies calculations very slightly.
2020-07-17 23:18:08 -04:00
Thomas Harte
9d1d162cc8
Add an ability to avoid track flushing when file formats have sub-track precision.
2020-07-17 22:09:21 -04:00
Thomas Harte
4ee29b3266
Switches disk seeking logic fully to floating point.
2020-07-17 22:08:58 -04:00
Thomas Harte
48afc54af6
Cuts down unused parameter warnings to just a few that may well indicate implementation errors.
2020-05-30 01:06:43 -04:00
Thomas Harte
512a52e88d
Increases const correctness, marks some additional constructors as constexpr, switches std::atomic construction style.
2020-05-20 23:34:26 -04:00
Thomas Harte
25996ce180
Further doubles down on construction syntax for type conversions.
2020-05-09 23:00:39 -04:00
Thomas Harte
294e09f275
All these 'override's can be 'final's.
...
At least for the purpose of being communicative. I doubt there's much to gain in terms of compiler output — the DiskImageHolder can avoid some virtual lookups but nothing else leaps out.
2020-01-23 22:57:51 -05:00
Thomas Harte
98daad45c7
Removers Factors.hpp; now this is a C++17 project.
2020-01-19 23:18:59 -05:00
Thomas Harte
1b4b6b0aee
Renames: NumberTheory -> Numeric.
2020-01-19 23:14:35 -05:00
Thomas Harte
5391a699a4
Adds the ability for a PCMSegment to maintain 'fuzzy' (i.e. random) bits. Implements an LFSR for bit generation.
...
I'm not necessarily happy with the idea of just shoving in a [pseudo-]random number generator in rather than emulating the proper process underneath, but for now I throw my arms up.
2020-01-19 20:09:11 -05:00
Thomas Harte
514141f8c5
Eliminates the optionality of a DPLL receiver.
2020-01-12 17:45:02 -05:00
Thomas Harte
f42655a0fc
Promote DigitalPhaseLockedLoop to a template, simplify to O(1) add_pulse.
2020-01-12 17:25:21 -05:00
Thomas Harte
adc2b77833
Enhances with constexpr.
2019-12-24 18:53:50 -05:00
Thomas Harte
c123ca1054
Slightly improves syntax.
2019-07-16 18:05:58 -04:00
Thomas Harte
3633285aaa
Ensures a trailing zero bit isn't dropped.
2019-07-16 16:36:00 -04:00
Thomas Harte
b9c2c42bc0
Switches drives to using floats for time counting.
...
Hopefully to eliminate a lot of unnecessary `Time` work; inaccuracies should still be within tolerable range.
2019-07-02 15:43:03 -04:00
Thomas Harte
cc95e587db
Adds virtual destructors for various interface classes.
2019-01-13 19:19:01 -05:00
Thomas Harte
71ec7624ca
Corrects Apple DSK track length, inter-track skew, and Pro-DOS volume number.
2018-08-27 20:56:25 -04:00
Thomas Harte
1fcb461c42
Ensures that segments are written in a properly-circular fashion.
2018-07-02 19:35:49 -04:00
Thomas Harte
abca38a548
Makes an initial removal of PCMPatchedTrack. Farewell, old friend.
2018-07-01 22:49:57 -04:00
Thomas Harte
b4be2cd063
Implements PCMTrack::add_segment. Thereby completes PCMTrack::resampled_clone.
2018-07-01 18:28:25 -04:00
Thomas Harte
77feee8197
Applies minor style improvements.
2018-07-01 15:38:42 -04:00
Thomas Harte
f75af3b45e
Adds some extra exposition.
2018-07-01 14:41:17 -04:00
Thomas Harte
555c2a4377
Makes a first sweep at converting the storage underlying PCMSegment to vector<bool>.
...
This is to remove another pain point, in preparation for the work immediately forthcoming but also work as-yet unknown.
2018-07-01 12:05:41 -04:00
Thomas Harte
16bef0dcd5
Starts the movement towards a world without PCMPatchedTrack.
2018-06-30 20:03:18 -04:00
Thomas Harte
27657fcde0
Adds necessary header for assert.
2018-06-10 21:02:19 -04:00
Thomas Harte
e0b75b6e3d
Corrects logic for avoiding overwrite.
2018-06-09 21:47:51 -04:00
Thomas Harte
dde9b73a22
Creates the through-path that will be necessary for RWTS acceleration.
2018-06-09 12:51:53 -04:00
Thomas Harte
7cee3b7449
Resolves potential overflow / sign corruption.
2018-05-19 22:28:29 -04:00
Thomas Harte
8263c48a1d
Added a guarantee that the TrackSerialiser won't modify tracks it receives.
2018-05-18 23:03:28 -04:00
Thomas Harte
ed06533e60
Implements write support out of the Disk II.
2018-05-18 22:07:58 -04:00
Thomas Harte
7996040f35
Rejigs segment conjugation to avoid potential accidental empty byte.
2018-05-13 22:30:44 -04:00
Thomas Harte
5d6b5d9f10
Eliminates all emdashes in cross-platform code.
2018-05-13 15:34:31 -04:00
Thomas Harte
0b771ce61a
Removes all instances of the copyright symbol.
2018-05-13 15:19:52 -04:00
Thomas Harte
f65c65569a
Makes disk head position explicitly something with sub-integral precision.
...
Also as a drive-by fix, corrects accidental assumption of 10 sectors for all MFMSectorDump descendants.
2018-05-06 23:17:36 -04:00