Thomas Harte
|
64517a02b7
|
Adds code to deal with sector-free tracks.
|
2020-01-09 21:50:32 -05:00 |
|
Thomas Harte
|
b4befd57a9
|
Advances to being able to cope with STXs with no special features whatsoever.
Well, other than perhaps a broken data CRC. Fuzzy bits, timing differences and the stuff between sectors are all currently absent.
|
2020-01-09 21:03:01 -05:00 |
|
Thomas Harte
|
985b36da73
|
Starts towards STX support.
|
2020-01-07 23:21:32 -05:00 |
|
Thomas Harte
|
c0b5bfe726
|
Ensure no possible return without value.
|
2020-01-02 23:43:53 -05:00 |
|
Thomas Harte
|
54fe01b532
|
Fixed: the final track is inclusive, not exclusive.
|
2019-12-24 23:08:16 -05:00 |
|
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
|
adc2b77833
|
Enhances with constexpr .
|
2019-12-24 18:53:50 -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
|
34a3790e11
|
Minor static_cast clean-ups.
|
2019-12-22 17:56:59 -05:00 |
|
Thomas Harte
|
274867579b
|
Deploys constexpr as a stricter const .
|
2019-12-22 00:22:17 -05:00 |
|
Thomas Harte
|
e9318efeb6
|
Switches to std::make_shared/make_unique in a bunch of applicable places.
No doubt many more similar improvements are available, these are just the ones that were easy to find.
|
2019-12-21 23:34:25 -05:00 |
|
Thomas Harte
|
416d68ab3a
|
Installs some additional safety guards.
|
2019-12-19 22:27:50 -05:00 |
|
Thomas Harte
|
797abae4b3
|
Compacts gaps when necessary to fit more sectors.
|
2019-12-19 19:36:19 -05:00 |
|
Thomas Harte
|
332f0d6167
|
Ensures MSAs are explicitly read-only.
|
2019-12-08 11:52:15 -05:00 |
|
Thomas Harte
|
9d07765823
|
Ensures proper precedence of * over %.
|
2019-11-14 23:19:31 -05:00 |
|
Thomas Harte
|
2c4f372872
|
Adds support for the .ST file format.
|
2019-11-12 23:23:14 -05:00 |
|
Thomas Harte
|
74be876d72
|
Corrects track count calculation for DSD disks.
|
2019-11-12 23:22:56 -05:00 |
|
Thomas Harte
|
e8e166eec5
|
Ensures no out-of-disk-bounds mirroring.
|
2019-11-12 23:22:25 -05:00 |
|
Thomas Harte
|
0204003680
|
Resolves GCC warnings.
|
2019-11-09 16:12:37 -05:00 |
|
Thomas Harte
|
0971bbeebe
|
Merge branch 'master' into AtariST
|
2019-11-05 23:24:26 -05:00 |
|
Thomas Harte
|
f3e2e88986
|
Update explanation of NIB processing.
|
2019-11-05 23:20:20 -05:00 |
|
Thomas Harte
|
46ec3510be
|
Fixed: ST sectors are numbered from 1, not 0.
|
2019-11-03 21:18:29 -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
|
c66c484c54
|
Removes unused includes.
|
2019-10-20 20:38:54 -04:00 |
|
Thomas Harte
|
345b32d6e3
|
Implements read-only MSA support.
|
2019-10-20 20:38:54 -04:00 |
|
Thomas Harte
|
8b397626bf
|
Adds a route through the static analyser to the Atari ST.
|
2019-10-20 20:38:54 -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
|
faec516a2c
|
Starts pushing towards figuring out a proper infrastructure for mass storage.
|
2019-08-21 23:22:58 -04:00 |
|
Thomas Harte
|
f668e4a54c
|
Makes an attempt at getting the 5380 past arbitration.
Not entirely successful. Also gets a bit smarter with `final` on ClockingHint::Sources.
|
2019-08-15 23:14:40 -04:00 |
|
Thomas Harte
|
b1f04ed96d
|
Eliminates the crutch of PlusToo BIN files.
Thereby returning the .bin extension to the various consoles.
|
2019-07-28 16:07:16 -04:00 |
|
Thomas Harte
|
786b26d23e
|
Adds an admission of incompleteness.
I really need to figure out the 5-and-3 encoding.
|
2019-07-26 23:23:40 -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
|
77333ff9f7
|
It appears that file checksums are not reliable.
|
2019-07-17 14:56:50 -04:00 |
|
Thomas Harte
|
79a624e696
|
Applies more rigorous logic to deciding when to stop parsing.
|
2019-07-16 18:06:54 -04:00 |
|
Thomas Harte
|
c123ca1054
|
Slightly improves syntax.
|
2019-07-16 18:05:58 -04:00 |
|
Thomas Harte
|
9f0f35033d
|
Introduces sector interleaving.
|
2019-07-16 18:05:40 -04:00 |
|
Thomas Harte
|
3633285aaa
|
Ensures a trailing zero bit isn't dropped.
|
2019-07-16 16:36:00 -04:00 |
|
Thomas Harte
|
cb16790330
|
Improves qualifiers.
|
2019-07-15 22:40:45 -04:00 |
|
Thomas Harte
|
ca37fd8f4c
|
Corrects tag preservation.
|
2019-07-15 17:15:06 -04:00 |
|
Thomas Harte
|
46b98dab70
|
Bumps up the amount of reserved storage.
To avoid a reallocation when reading Mac data.
|
2019-07-15 17:12:31 -04:00 |
|
Thomas Harte
|
0568996264
|
Fixes a couple of data arrangement issues on output.
|
2019-07-15 17:11:58 -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
|
6c2cc206a6
|
Takes a first stab at write support for Macintosh disk images.
Albeit that the Macintosh itself can't yet write.
|
2019-07-11 18:09:37 -04:00 |
|
Thomas Harte
|
5a9f3cfc1e
|
Completes Mac GCR decoding and its associated test.
|
2019-07-11 17:37:07 -04:00 |
|
Thomas Harte
|
8f28b33342
|
Starts work on Macintosh GCR decoding.
|
2019-07-11 16:28:52 -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
|
3f303511bd
|
Adds cstring include, in support of memcpy .
|
2019-07-08 18:06:58 -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
|
68a3e5a739
|
Renamed DiskCopy42 to MacintoshIMG, now that it's not just DiskCopy 4.2 files.
|
2019-06-18 14:32:58 -04:00 |
|
Thomas Harte
|
9730800b6a
|
Adds support for raw sector dumps.
|
2019-06-18 14:14:25 -04:00 |
|
Thomas Harte
|
506276a2bd
|
Corrected: use format tag as intended.
|
2019-06-18 14:04:28 -04:00 |
|
Thomas Harte
|
df56e6fe53
|
Fixed: the sector number also goes into sector bodies.
Also the checksum is written in the other order, and the final byte of data isn't output.
|
2019-06-18 10:34:10 -04:00 |
|
Thomas Harte
|
756641e837
|
Fixed: tags go first, then data.
|
2019-06-16 22:00:12 -04:00 |
|
Thomas Harte
|
05c2854dbc
|
Makes at least some attempt at producing real disk tracks.
|
2019-06-16 21:17:24 -04:00 |
|
Thomas Harte
|
5c8aacdc17
|
Fixes the more obvious issues with GCR encoding: byte order, top bit selection.
|
2019-06-16 17:17:24 -04:00 |
|
Thomas Harte
|
fe0dc4df88
|
Starts building out some tests for Apple GCR encoding.
|
2019-06-15 22:48:24 -04:00 |
|
Thomas Harte
|
33f2664fe9
|
Makes a first attempt at Macintosh GCR encoding.
|
2019-06-15 22:29:02 -04:00 |
|
Thomas Harte
|
a17e47fa43
|
Apple's GCR header varies between the Mac and the Apple II.
|
2019-06-15 16:32:56 -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
|
b8a1553368
|
Adds putative support for PlusToo-style BIN files.
Albeit a bit of a guess, since it's not intended to be an emulator file format.
|
2019-06-04 21:41:09 -04:00 |
|
Thomas Harte
|
1033abd9fe
|
Starts making some space for Macintosh-style GCR encoding.
|
2019-06-04 15:41:15 -04:00 |
|
Thomas Harte
|
881feb1bd3
|
Adds preliminary parsing of the Disk Copy 4.2 format.
|
2019-06-02 13:39:25 -04:00 |
|
Thomas Harte
|
2ef6d4327c
|
Resolves further build warnings.
|
2019-01-13 20:37:50 -05:00 |
|
Thomas Harte
|
cc95e587db
|
Adds virtual destructors for various interface classes.
|
2019-01-13 19:19:01 -05:00 |
|
Thomas Harte
|
ee89be6730
|
Removes many stray spaces.
|
2018-11-23 22:32:32 -05:00 |
|
Thomas Harte
|
fc84ae611e
|
Resolves various instances of spaces in place of tabs.
|
2018-09-09 20:33:56 -04: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
|
78c7137427
|
Avoids observer communication if motor status hasn't changed.
|
2018-08-03 21:11:22 -04:00 |
|
Thomas Harte
|
a0f817108e
|
Minor style fix.
|
2018-07-10 20:01:11 -04:00 |
|
Thomas Harte
|
bfccadd356
|
Corrects comment typo.
|
2018-07-03 21:38:04 -04:00 |
|
Thomas Harte
|
5b3512f1df
|
Attempts to pick an intelligent place to pad out tracks.
|
2018-07-03 20:10:22 -04:00 |
|
Thomas Harte
|
6e34e60f8a
|
Ensures no data is dropped in transcribing a NIB to real track data.
|
2018-07-03 20:01:07 -04:00 |
|
Thomas Harte
|
abc5c50b2e
|
Added some additional exposition.
|
2018-07-02 21:51:53 -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
|
2d83eeb9c4
|
Further minor style improvements.
|
2018-07-01 17:59:43 -04:00 |
|
Thomas Harte
|
4d9e897cc3
|
Corrects addressing for deserialisation of bytes.
|
2018-07-01 15:58:56 -04:00 |
|
Thomas Harte
|
be664b5695
|
Ensures that start positions are properly related to sectors.
|
2018-07-01 15:53:48 -04:00 |
|
Thomas Harte
|
c3751066b7
|
Ensures segments are properly sized.
|
2018-07-01 15:43:31 -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
|
1471a35bb8
|
Reserves a more appropriate amount of data.
|
2018-07-01 14:40:48 -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
|
62eef8cb40
|
Reinstates proper ready behaviour.
|
2018-06-18 21:35:39 -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
|
a694844190
|
Moves gap 1 into proper ownership.
|
2018-06-09 17:28:08 -04:00 |
|