Thomas Harte
744c35b617
Caps the number of sync bytes inserted at five.
2018-06-06 21:52:26 -04:00
Thomas Harte
9ac21a4e71
Switches to ignoring the byte count, trusting the bit count entirely.
2018-06-06 21:51:55 -04:00
Thomas Harte
db8d8d8404
Commutes Sleeper
to ClockingHint::Source
, making state more granular.
2018-05-27 23:17:06 -04:00
Thomas Harte
20843305dd
Removes unused calculation of vars
.
2018-05-27 13:31:30 -04:00
Thomas Harte
8f6c0f6a8d
Eliminates vars
test.
...
At least Humpty Dumpty is a working .p that doesn't satisfy the test.
2018-05-26 19:05:35 -04:00
Thomas Harte
d45231c1a8
Introduces an additional validation test.
...
Thereby satisfying the TODO.
2018-05-25 18:40:15 -04:00
Thomas Harte
772812b35f
Corrects improper textual reference to interface names.
2018-05-25 18:31:20 -04:00
Thomas Harte
f443fd44b5
Introduces support for writing NIBs.
2018-05-25 18:30:55 -04:00
Thomas Harte
79c60b8984
Adds necessary import for memcpy
.
2018-05-24 21:58:50 -04:00
Thomas Harte
523ca3264b
Implements write support for WOZ files.
2018-05-24 21:44:31 -04:00
Thomas Harte
8f78e5039e
Factors out track seeking.
2018-05-24 18:45:00 -04:00
Thomas Harte
57ee6d4e41
Merge branch 'master' into WOZWriting
2018-05-23 22:32:30 -04:00
Thomas Harte
2868b1eca7
Adds missing import for memcpy
.
2018-05-23 22:31:35 -04:00
Thomas Harte
ca4bc92c33
Adds WOZ CRC checking.
2018-05-23 22:22:17 -04:00
Thomas Harte
853261364e
Generalised CRC generation and created specific subclasses for the CCITT CRC16 and CRC32.
2018-05-23 22:21:57 -04:00
Thomas Harte
4952657b31
Factors out physical to logical sector conversion.
2018-05-19 22:59:59 -04:00
Thomas Harte
46fae1a761
Corrected: now maps in the proper direction.
2018-05-19 22:50:33 -04:00
Thomas Harte
a09fb01d71
Makes an attempt at write support for Apple DSK files.
2018-05-19 22:30:52 -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
7b7beb13a3
Eliminates the fiction of setting and getting registers.
...
The Disk II seems lower level than that; it will read the data bus whenever it likes, it is the programmer's responsibility to keep up with that. It also reserves the right not to load the bus regardless of whether it receives a read or write access.
2018-05-17 21:39:11 -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
7996040f35
Rejigs segment conjugation to avoid potential accidental empty byte.
2018-05-13 22:30:44 -04:00
Thomas Harte
0055efb720
Corrects failure of expression in track size expansion.
2018-05-13 22:29:36 -04:00
Thomas Harte
84ae2964fd
Switches to explicit unicode entry points.
2018-05-13 16:02:46 -04:00
Thomas Harte
149b940f84
Commutes the pound sign to a proper unicode value.
2018-05-13 15:50:56 -04:00
Thomas Harte
7226d8d4f7
Eliminates all instances of µ.
2018-05-13 15:46:14 -04:00
Thomas Harte
ad9b0cd4e3
Eliminates all endashes.
2018-05-13 15:43:03 -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
3fdefb94e4
Removes requirement for correct sector epilogues.
...
It's now a length test that at present accepts 6-and-2 sectors only.
2018-05-12 23:03:08 -04:00
Thomas Harte
49592ebaf3
Ensures initialisation of scanner
and that sectors overlapping the end of track are captured.
2018-05-12 18:42:07 -04:00
Thomas Harte
f410dcb3f3
Ensures proper test: not having a number of sectors that is a multiple of the track count.
2018-05-12 18:05:33 -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
25f7e3af31
Removes dead debugging aid. What a klutz!
2018-05-09 22:24:20 -04:00
Thomas Harte
8ee34fafa6
Switches default DSK volume to 254. That seems to resolve Pravetz booting issues.
2018-05-09 20:28:58 -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
36f8b165cf
Makes the epilogue test a bit more thorough.
2018-05-05 20:52:42 -04:00
Thomas Harte
1293d8b69e
Corrects various indentation errors.
2018-05-05 19:32:20 -04:00
Thomas Harte
ba7fbc4032
Reroutes all Disk II types through the Disk II analyser and returns actual sector from the Apple GCR parser results.
2018-05-05 16:37:33 -04:00
Thomas Harte
c36d7b4972
Makes first attempt at 6 and 2 decoder.
2018-05-04 23:11:12 -04:00
Thomas Harte
0dece80b5d
Improves documentation.
2018-05-04 18:02:55 -04:00
Thomas Harte
e3b4aebf1a
Introduces the Disk II as a unique media target platform.
...
As it makes a little more sense to analyse Apple GCR images to determine target platform than it does to have the potential platforms vote over them.
Also starts on the parser that'll be necessary for making a decision.
2018-05-04 18:02:36 -04:00
Thomas Harte
2e20191c01
Relocates and cleans up what is currently written of Apple GCR handling as the encoder.
...
A decoder will be forthcoming.
2018-05-03 22:40:45 -04:00
Thomas Harte
fcc750784a
Switches interleaving logic around: having inspected some NIBs sectors are numbered in order, but scatter read from the image.
2018-05-02 21:28:18 -04:00