Thomas Harte
|
f633cf4c3f
|
Adds a basic implementation of the non-instantaneous index pulse.
|
2019-12-24 21:05:17 -05:00 |
|
Thomas Harte
|
dfa6b11737
|
Adds responsibility for an ongoing index pulse to the drive.
|
2019-12-24 20:53:37 -05:00 |
|
Thomas Harte
|
0dae608da5
|
Embraces std::make_[unique/shared] in place of .reset(new .
|
2019-12-23 21:31:46 -05:00 |
|
Thomas Harte
|
274867579b
|
Deploys constexpr as a stricter const .
|
2019-12-22 00:22:17 -05:00 |
|
Thomas Harte
|
1c154131f9
|
Expands size of storage in Cycles/HalfCycles; adjusts widely to compensate.
|
2019-10-29 22:36:29 -04:00 |
|
Thomas Harte
|
909685d87d
|
A drive with no disk is now happy to spin its motor.
It'll continue to produce index-hole events, which might not be accurate for 5.25" drives. Research to do.
|
2019-10-26 22:57:05 -04:00 |
|
Thomas Harte
|
9d17d48bca
|
Ensures cycles_per_revolution_ is populated for fixed-rate drives.
|
2019-09-28 23:23:15 -04:00 |
|
Thomas Harte
|
d08d8ed22c
|
Adds a further drift safeguard.
|
2019-07-26 23:23:01 -04:00 |
|
Thomas Harte
|
572e8b52e1
|
At the cost of extra storage, attempts to simplify away potential rounding issues around the index hole.
|
2019-07-26 17:20:32 -04:00 |
|
Thomas Harte
|
9b634472c6
|
Gets a little more rigorous on "high resolution".
|
2019-07-26 15:26:51 -04:00 |
|
Thomas Harte
|
d2bfd59953
|
Ensures positional continuity across rotation speed changes.
|
2019-07-25 22:29:54 -04:00 |
|
Thomas Harte
|
3d20ae47ea
|
Ensures cycles_since_index_hole_ is wrapped to track length.
|
2019-07-25 21:48:01 -04:00 |
|
Thomas Harte
|
cb16790330
|
Improves qualifiers.
|
2019-07-15 22:40:45 -04:00 |
|
Thomas Harte
|
5b05a9bc61
|
Extends Drive to report is_writing and so that writing works as the first action.
|
2019-07-12 18:53:41 -04:00 |
|
Thomas Harte
|
2c39229b13
|
Adds has-new-disk flag, allowing mounting of software from the desktop.
|
2019-07-12 13:17:24 -04:00 |
|
Thomas Harte
|
c4ab0bb867
|
Starts sketching out an interface for IWM drives, eliminating a dangling use of unsigned as it goes.
|
2019-07-10 16:05:59 -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
|
877b46d2c1
|
Advances IWM/drive emulation very close to the point of 'Welcome to Macintosh'.
|
2019-06-15 16:08:54 -04:00 |
|
Thomas Harte
|
e9d0676e75
|
Fiddles further with the tachometer.
|
2019-06-06 21:36:19 -04:00 |
|
Thomas Harte
|
7591906777
|
Numerous IWM fixes: the machine now seems to be trying to measure the tachometer.
|
2019-06-06 18:32:11 -04:00 |
|
Thomas Harte
|
511d292e73
|
Ensures gain noise is forgotten upon assumption of a new track.
|
2019-06-05 14:43:17 -04:00 |
|
Thomas Harte
|
833258f3d7
|
Sets things up to allow variable rotation rates, and especially Sony 800kb-style self-selecting rates.
|
2019-06-04 21:41:54 -04:00 |
|
Thomas Harte
|
78c7137427
|
Avoids observer communication if motor status hasn't changed.
|
2018-08-03 21:11:22 -04:00 |
|
Thomas Harte
|
abc5c50b2e
|
Added some additional exposition.
|
2018-07-02 21:51:53 -04:00 |
|
Thomas Harte
|
abca38a548
|
Makes an initial removal of PCMPatchedTrack . Farewell, old friend.
|
2018-07-01 22:49:57 -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
|
62eef8cb40
|
Reinstates proper ready behaviour.
|
2018-06-18 21:35:39 -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
|
db8d8d8404
|
Commutes Sleeper to ClockingHint::Source , making state more granular.
|
2018-05-27 23:17:06 -04:00 |
|
Thomas Harte
|
85c4e009f3
|
Undoes reformatting error.
|
2018-05-14 20:03:32 -04:00 |
|
Thomas Harte
|
76802b5e38
|
Eliminates arc4random .
It seems not to be as portable as I'd hoped.
|
2018-05-14 20:01:20 -04:00 |
|
Thomas Harte
|
9f2f388e5a
|
Ensures generation of random noise if too many zeroes exist on a disk surface.
|
2018-05-14 19:17:34 -04:00 |
|
Thomas Harte
|
0b771ce61a
|
Removes all instances of the copyright symbol.
|
2018-05-13 15:19:52 -04:00 |
|
Thomas Harte
|
0cb5362c6f
|
Disambiguates whether Step will occur in addition to below zero/beyond maximum.
|
2018-05-11 21:44:08 -04:00 |
|
Thomas Harte
|
9089bf6535
|
Adds step events.
|
2018-05-10 21:58:14 -04:00 |
|
Thomas Harte
|
ef19a03efc
|
Drives can now deliver activity events.
|
2018-05-10 21:54:10 -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 |
|
Thomas Harte
|
3787d094ec
|
Deals with potential precision pitfall.
|
2018-05-02 21:26:39 -04:00 |
|
Thomas Harte
|
79002d6962
|
Adds an additional assert.
|
2018-04-30 22:07:54 -04:00 |
|
Thomas Harte
|
d59db504a3
|
Adjusted stepper logic; some disks load now.
|
2018-04-25 21:59:18 -04:00 |
|
Thomas Harte
|
4c6dc597f4
|
Converts Time::get into a template, introduces a via-a-double fallback for the timed event loop.
|
2018-04-25 19:54:39 -04:00 |
|
Thomas Harte
|
376b26c1e4
|
Simplifies the rotational multiplier upon construction, to mitigate against scale issues later.
|
2018-04-24 20:16:14 -07:00 |
|
Thomas Harte
|
7061537ff5
|
Makes joined-up attempt to run data through the Disk II.
|
2018-04-24 19:44:45 -07:00 |
|
Thomas Harte
|
5aef81cf24
|
Commutes cross-platform #pragma mark s to //MARK: s.
|
2017-11-12 15:59:11 -05:00 |
|
Thomas Harte
|
c0055a5a5f
|
Further builds up SConstruct, correcting many missed imports and a couple of improper uses of C99 in C++ code.
|
2017-11-09 22:04:49 -05:00 |
|
Thomas Harte
|
ec999446e8
|
Commutes int and unsigned casts to the functional style.
|
2017-10-21 21:00:40 -04:00 |
|
Thomas Harte
|
5e3e91373a
|
Switches all unsigned int and double casts to functional style.
|
2017-10-21 19:49:04 -04:00 |
|
Thomas Harte
|
b37787a414
|
Ensures lifetime-linked track flushing without relying on virtual calls within a destructor.
|
2017-10-07 19:14:18 -04:00 |
|
Thomas Harte
|
97a2be71e3
|
Introduces flush_tracks to Drive, while switching its interface to using Track::Address and adjusting associated integer types.
|
2017-10-06 21:45:12 -04:00 |
|
Thomas Harte
|
a85909198f
|
Adds defences against double calls to end writing.
|
2017-09-16 17:07:36 -04:00 |
|