Thomas Harte
|
d460f40b13
|
Improve comment.
Status: this now seems to be blocked at unimplemented 5380 functionality.
|
2022-08-30 16:44:03 -04:00 |
|
Thomas Harte
|
6fa4e379d2
|
Make a hacky and blunt offer of drive data.
|
2022-08-30 16:07:44 -04:00 |
|
Thomas Harte
|
e7b213604e
|
Add comments.
|
2022-08-29 11:40:18 -04:00 |
|
Thomas Harte
|
20d685ec5c
|
Permit a mass-storage device to be returned, in theory.
|
2022-08-26 16:38:10 -04:00 |
|
Thomas Harte
|
c7373a5d3e
|
Overtly treat .ST images as FAT12.
|
2022-08-13 10:09:34 -04:00 |
|
Thomas Harte
|
8f2e94a1d8
|
Switch name back to emphasise _async_.
|
2022-07-16 14:41:04 -04:00 |
|
Thomas Harte
|
bf03bda314
|
Generalise AsyncTaskQueue, DeferringAsyncTaskQueue and AsyncUpdater into a single template.
|
2022-07-14 16:39:26 -04:00 |
|
Thomas Harte
|
1ce07e2ee8
|
This reads the file, so it can't be constexpr .
|
2022-07-05 17:01:38 -04:00 |
|
Thomas Harte
|
5ae461eb0b
|
Avoid warning during optimised builds.
|
2022-06-03 15:43:27 -04:00 |
|
Thomas Harte
|
e7b3705060
|
Merge pull request #1007 from TomHarte/IPFFileFormat
Adds partial support for the IPF file format.
|
2022-06-02 12:58:47 -04:00 |
|
Thomas Harte
|
866b6c6129
|
Eliminate off_t .
|
2022-04-27 19:16:37 -04:00 |
|
Thomas Harte
|
18b6f17e86
|
With some refactoring makes some minor steps towards supporting gaps.
|
2022-01-06 17:24:31 -05:00 |
|
Thomas Harte
|
f37179d9f2
|
Gaps appear to contain pre-MFM data (?)
|
2022-01-02 15:39:26 -05:00 |
|
Thomas Harte
|
3e0b7d71d4
|
Properly handle partial bytes.
|
2022-01-01 19:09:19 -05:00 |
|
Thomas Harte
|
58d10943ed
|
Add asserts to validate my reserve sizes.
|
2022-01-01 19:08:44 -05:00 |
|
Thomas Harte
|
dc920a04f6
|
Add missing #include.
|
2022-01-01 19:03:07 -05:00 |
|
Thomas Harte
|
d031381e70
|
Gaps provide content, and data chunk lengths seem to be in terms of unencoded bytes.
|
2022-01-01 18:47:07 -05:00 |
|
Thomas Harte
|
ed1b0b90f7
|
Makes a first attempt at encoding data.
|
2022-01-01 18:36:44 -05:00 |
|
Thomas Harte
|
38dd3c5c60
|
On second thoughts, no need to use a vector here.
|
2022-01-01 17:15:12 -05:00 |
|
Thomas Harte
|
350c98ab4d
|
Add those densities I've yet discovered the rules for.
|
2021-12-29 18:15:37 -05:00 |
|
Thomas Harte
|
4f3c754771
|
Adds exposition.
|
2021-12-27 19:15:46 -05:00 |
|
Thomas Harte
|
dc994f001d
|
Mention units.
|
2021-12-27 18:55:11 -05:00 |
|
Thomas Harte
|
9b6ccbcc95
|
Parses data and gap stream elements.
|
2021-12-27 18:12:44 -05:00 |
|
Thomas Harte
|
9d3cf9c73c
|
Collate descriptions of all tracks.
|
2021-12-26 14:49:51 -05:00 |
|
Thomas Harte
|
28572d4392
|
Enforce string-length requirement.
|
2021-12-26 09:12:44 -05:00 |
|
Thomas Harte
|
0433db0370
|
Eliminate macro.
|
2021-12-25 19:36:54 -05:00 |
|
Thomas Harte
|
a6b326da48
|
Parse the INFO record.
|
2021-12-25 18:17:13 -05:00 |
|
Thomas Harte
|
e457ce66ea
|
Adds sanity checks around CAPS block.
|
2021-12-25 17:32:29 -05:00 |
|
Thomas Harte
|
c118dd8afe
|
Adds just enough to list all the blocks in an IPF.
|
2021-12-25 17:27:50 -05:00 |
|
Thomas Harte
|
dba3a3d942
|
Add through route to an IPF container.
|
2021-12-25 17:06:47 -05:00 |
|
Thomas Harte
|
6c606b5506
|
Fix through route to TargetPlatform::TypeDistinguisher .
|
2021-12-25 17:06:12 -05:00 |
|
Thomas Harte
|
544c137cb0
|
Add updated intel.
|
2021-10-16 13:30:56 -07:00 |
|
Thomas Harte
|
d9d20d9d30
|
Walk back slightly.
|
2021-10-14 18:02:58 -07:00 |
|
Thomas Harte
|
b12c640807
|
Makes drives non-copyable.
To avoid error in the future.
|
2021-10-14 12:37:55 -07:00 |
|
Thomas Harte
|
8960f471a0
|
Use unspread_bits for FM and MFM decoding.
|
2021-10-12 15:18:50 -07:00 |
|
Thomas Harte
|
955cb6411c
|
Factor out bit spreading.
(And do a better job of it)
|
2021-10-12 14:49:01 -07:00 |
|
Thomas Harte
|
fc4ca4f8e3
|
I don't think there are sync words at the start of the track.
|
2021-10-12 10:38:15 -07:00 |
|
Thomas Harte
|
a1f02d0cd8
|
Add track padding.
|
2021-10-11 18:05:37 -07:00 |
|
Thomas Harte
|
addf9f9af4
|
Moves block byte writes into Storage::Encodings::MFM::Encoder .
|
2021-10-10 16:06:51 -07:00 |
|
Thomas Harte
|
c4cfcfab8e
|
Checksums appear to be calculated as 32-bit quantities.
|
2021-10-10 12:58:10 -07:00 |
|
Thomas Harte
|
5e083426c5
|
Takes another run at checksums.
It turns out I'd read entirely the wrong section of the ADF FAQ. Am now trying to piece things together from various EAB threads.
|
2021-10-10 11:47:48 -07:00 |
|
Thomas Harte
|
aeaea073c6
|
Switch both: (i) which bits are odd/even; and (ii) nibble ordering.
|
2021-10-09 13:45:19 -07:00 |
|
Thomas Harte
|
ed303310bb
|
Spell out slightly more; this makes debugging a touch easier.
|
2021-10-06 13:40:48 -07:00 |
|
Thomas Harte
|
ce8f782577
|
Corrects meaning of IBM-style RDY.
|
2021-10-06 04:42:44 -07:00 |
|
Thomas Harte
|
6566936be9
|
Be overt about the intended interface.
|
2021-10-04 16:45:33 -07:00 |
|
Thomas Harte
|
9012a7f5e1
|
Merge branch 'master' into Amiga
|
2021-09-23 23:00:03 -04:00 |
|
Thomas Harte
|
e5a5faa417
|
Resolves Clang 13 implicit conversion warnings.
|
2021-09-23 22:53:41 -04:00 |
|
Thomas Harte
|
2b0a4055f7
|
Makes an attempt at Amiga ADF encoding.
|
2021-07-16 20:07:17 -04:00 |
|
Thomas Harte
|
7cb16a3fc5
|
Introduces a shell for Amiga ADF decoding.
|
2021-07-16 18:11:07 -04:00 |
|
Thomas Harte
|
6b47fb38c6
|
Corrects buffer placement of decoded sectors.
|
2021-07-03 13:36:01 -04:00 |
|
Thomas Harte
|
bae8bb0c00
|
Gives the FAT parser responsibility for right trims.
|
2021-07-02 19:50:27 -04:00 |
|
Thomas Harte
|
a5b7d819a7
|
Correct FAT parser.
|
2021-07-02 19:28:13 -04:00 |
|
Thomas Harte
|
fe07a0b1d8
|
Starts to add a FAT[12] parser.
|
2021-07-02 18:56:43 -04:00 |
|
Thomas Harte
|
83a54fd6d2
|
Use the FAT12 boot sector to determine geometry.
|
2021-06-22 06:54:17 -04:00 |
|
Thomas Harte
|
c1678d7be7
|
Corrects exposition and transmission of drive selection.
What a klutz I've been.
|
2021-06-21 22:56:25 -04:00 |
|
Thomas Harte
|
199621db08
|
Observes that the actual guess here is MS-DOS-style.
|
2021-06-19 23:11:51 -04:00 |
|
Thomas Harte
|
cc3c3663f6
|
Makes minor style improvements.
|
2021-03-22 19:55:03 -04:00 |
|
Thomas Harte
|
772093c311
|
Add missing header.
|
2021-02-16 22:51:57 -05:00 |
|
Thomas Harte
|
bd54e30748
|
Adds workaround for Sweet 16, which can produce bad data.
|
2021-02-16 22:21:10 -05:00 |
|
Thomas Harte
|
b5ecd5f7ef
|
Merge branch 'master' into AppleIIgs
|
2021-01-31 11:47:40 -05:00 |
|
Thomas Harte
|
ac95e4d758
|
Adds support for ADL-format disk images.
|
2021-01-30 18:39:29 -05:00 |
|
Thomas Harte
|
0bd3103949
|
Wires in the most common IIgs style of 2MG.
|
2020-11-24 18:19:34 -05:00 |
|
Thomas Harte
|
9a819d6ca0
|
Transcribes interesting 2MG fields, albeit without acting on them.
|
2020-11-23 22:02:32 -05:00 |
|
Thomas Harte
|
b4bf541eec
|
Adds boilerplate route into a 2MG-handling class.
|
2020-11-23 21:42:18 -05:00 |
|
Thomas Harte
|
cddd72876f
|
Flips meaning of ejected bit, to please the IIgs.
|
2020-11-18 17:20:48 -05:00 |
|
Thomas Harte
|
da8563733b
|
Adds an informal guarantee.
|
2020-11-16 19:53:17 -05:00 |
|
Thomas Harte
|
e41faeb557
|
Adds a quick protection against sector ID buffer overrun.
|
2020-11-16 19:52:42 -05:00 |
|
Thomas Harte
|
a2a928e262
|
Takes a guess at the format of IIgs .po files; wires them through to the actual machine.
... which still declines to boot.
|
2020-11-12 18:01:26 -05:00 |
|
Thomas Harte
|
82d6a5387f
|
Gives Qt disk controllers independent ROM/RAM selection logic.
In particular, this fixes the Microdisc.
|
2020-07-29 21:06:41 -04:00 |
|
Thomas Harte
|
b961665985
|
Ensures WOZ2 behaviour even if type_ has an invalid value.
This pleases GCC 7.
|
2020-07-24 21:56:20 -04:00 |
|
Thomas Harte
|
5ebbab6f35
|
Further relax Apple GCR static analysis requirements.
|
2020-07-20 19:50:33 -04:00 |
|
Thomas Harte
|
84dd194afd
|
Corrects test for ::tracks_differ.
|
2020-07-20 19:48:20 -04:00 |
|
Thomas Harte
|
47f121ee4c
|
Mark WOZs as read-only, with exposition as to why.
|
2020-07-19 00:08:49 -04:00 |
|
Thomas Harte
|
d8b699c869
|
Corrects index pulse signalling.
|
2020-07-19 00:06:27 -04:00 |
|
Thomas Harte
|
8dcb48254a
|
Simplifies calculations very slightly.
|
2020-07-17 23:18:08 -04:00 |
|
Thomas Harte
|
f6b7467d75
|
Implement custom tracks_differ ; support WOZ 2 3.5" drive geometry properly.
|
2020-07-17 22:09:55 -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
|
c7ef258494
|
Ensures that five-and-three sectors pass static analysis.
|
2020-07-16 21:44:14 -04:00 |
|
Thomas Harte
|
4fec7c82ab
|
Very minor grammar improvement.
|
2020-07-16 21:43:03 -04:00 |
|
Thomas Harte
|
9a952c889f
|
Fixes exit from random gain noise.
|
2020-07-15 22:44:54 -04:00 |
|
Thomas Harte
|
8da7806ee9
|
Liberalises segment parser not necessarily to require a standard epilogue.
It seems that real disks don't always have them; I guess the boot ROM doesn't require one.
|
2020-07-15 22:27:04 -04:00 |
|
Thomas Harte
|
aed61f6251
|
Implements latest advocated MC3470 behaviour.
|
2020-07-15 19:34:05 -04:00 |
|
Thomas Harte
|
d065d6d98f
|
Adds read-only WOZ 2 support.
|
2020-07-15 19:15:03 -04:00 |
|
Thomas Harte
|
59458f6444
|
Resolves errant spaces.
|
2020-06-16 23:15:38 -04:00 |
|
Thomas Harte
|
495024d6fe
|
Cleans up all redundant lock/unique_guard declarations.
|
2020-06-15 00:24:10 -04:00 |
|
Thomas Harte
|
73131735fa
|
Further qmake warning corrections.
|
2020-05-30 19:31:17 -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
|
267006782f
|
Starts to add Qt target; resolves many build warnings.
|
2020-05-30 00:37:06 -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
|
31c6faf3c8
|
Adds a bunch of const s.
|
2020-05-09 21:23:52 -04:00 |
|
Thomas Harte
|
f720a6201b
|
Adds explicit type cast.
|
2020-03-29 18:36:57 -04:00 |
|
Thomas Harte
|
ea26f4f7bf
|
Eliminates test code, adds a caveat.
|
2020-03-25 21:22:30 -04:00 |
|
Thomas Harte
|
5fd2be3c8e
|
Makes a genuine attempt at five and three decoding.
|
2020-03-25 20:50:26 -04:00 |
|
Thomas Harte
|
2320b5c1fe
|
Takes some steps towards five-and-three decoding.
Now I 'just' need to figure out how bits are distributed within the decoded sector. The XORing and data checksum seem the same (?)
|
2020-03-25 00:15:31 -04:00 |
|
Thomas Harte
|
e5cbdfc67c
|
It turns out that 5-and-3 disks have a different header prologue.
|
2020-03-24 21:59:55 -04:00 |
|
Thomas Harte
|
894d196b64
|
Avoids massive overallocation where sync blocks overlap the index hole.
|
2020-03-24 21:34:33 -04:00 |
|
Thomas Harte
|
614032198e
|
Ensures no divide by zero during initial construction.
|
2020-02-18 22:58:37 -05:00 |
|
Thomas Harte
|
3cb6bbf771
|
Uses the union of all drive statuses to determine Drive::Controller's preferred clocking.
|
2020-02-12 22:28:42 -05:00 |
|