David Given
86c5cccb08
Rename cylinder to track throughout (mostly).
2022-03-25 20:16:12 +01:00
David Given
d303067deb
Massive refactor to work in logical cylinders everywhere. The logical/physical
...
mapping is now done at the last stage and should, ideally, be automatic. I'm
sure there are bugs everywhere.
2022-03-25 00:22:28 +01:00
David Given
eade2e279e
Make the internal disk data structures all const, to allow us to pass them to
...
the GUI UI thread safely.
2022-02-24 22:46:10 +01:00
David Given
0d7de7bbc0
Add support for ignoring certain sectors (needed for FastCopy disks on the
...
Atari ST).
2022-02-16 22:02:50 +01:00
David Given
0933dc1afa
Partially complete rework of all the decoders to avoid seeking inside the
...
fluxmap. This requires resetting the FluxDecoder, which loses any pending
state, resulting in bad reads for (some) formats which don't have gaps between
sectors --- the DVK MX is the main victim.
2022-02-12 00:55:09 +01:00
David Given
ccf5d513d2
Merge from master.
2021-12-12 19:49:32 +00:00
David Given
b15fd05e8d
Add support in the IBM decoder for trackdata protos, and then configure the IBM
...
profiles to know about which sectors it should see in the result image to allow
retries if sectors aren't found.
2021-12-11 12:17:32 +01:00
David Given
3d1ee7a43e
Don't spin in an infinite loop if the decoder tries to find a data record and
...
the matcher fails to find anything, leaving the seek point unchanged.
2021-12-10 19:56:00 +00:00
dg
ebb5c17be4
Make the IBM format gap fill byte configurable.
2021-12-05 16:43:45 +00:00
dg
18d90c44dd
Rework the flux decoders to add a desync opcode for separating multiple reads
...
in a flux stream. Finally add a unit test for the flux decoder.
2021-12-05 14:42:57 +00:00
David Given
2cbe39e553
Fix bugs to make the IBM decoder work again.
2021-11-26 21:17:58 +01:00
David Given
2fe1ffeaf1
Add an ignore_track_byte setting.
2021-11-03 14:15:51 +01:00
David Given
4f4ed1307f
Merge from master.
2021-08-01 19:42:04 +02:00
David Given
29e8c99b4f
Hopefully get the imagereader/imagewriter and IBM encoder/decoders using sector
...
IDs.
2021-07-29 00:02:46 +02:00
David Given
8b115f8156
Convert the IBM encoder/decoder to use lists of sector IDs rather than
...
sector_skew strings.
2021-07-28 21:51:12 +02:00
David Given
c087539eb7
swap_sides isn't symmetrical for the encoder and the decoder. On the encoder,
...
it affects which logical side is being written to which physical side. On the
decoder, it modifies the logical side bit in the sector header itself.
2021-07-28 20:33:07 +02:00
David Given
786b35fee2
Fix swap_sides on the ibm encoder/decoder to work; remember to specify it for
...
both the encoder and decoder.
2021-07-21 20:57:43 +02:00
David Given
13deef3416
Plumb the verifier stuff through the rest of the encoders; fix it to actually
...
work and not crash, god I hate C++.
2021-07-19 21:46:48 +02:00
David Given
b887bebb26
First largely untested draft of a working verifier.
2021-07-19 00:13:06 +02:00
David Given
5d889d4d95
Remove Track, which is now obsolete.
2021-07-16 00:00:11 +02:00
David Given
f589e094b2
Remove RawRecord, which is now obsolete.
2021-07-15 23:55:29 +02:00
David Given
2eff798d74
Remove SectorSet, which is now obsolete.
2021-07-15 23:51:02 +02:00
David Given
239cecff9e
Convert all the encoders and imagereaders to the new scheme.
2021-07-15 23:43:07 +02:00
David Given
fa36af454e
The encoders and decoders all build now.
2021-07-15 23:13:59 +02:00
David Given
b423a71b38
Refactor the encoders the same way that's been done for the decoders.
2021-07-11 16:55:18 +02:00
David Given
928ffbd7af
Convert the Macintosh decoder.
2021-07-11 15:58:40 +02:00
David Given
25ebad2448
Convert the IBM decoder.
2021-07-11 15:56:20 +02:00
David Given
f8674230ed
Add prototypes for all the decoders because it's easier to do them in one go...
2021-07-11 12:52:34 +02:00
David Given
a1f4014738
Rework the ibm encoder to allow per-track configurations. Rename everything for
...
consistency.
2021-05-19 23:01:32 +02:00
David Given
9df35c1814
Fix a bunch of documentation strings.
2021-05-18 21:10:59 +02:00
David Given
4ab8b4984d
Rename all InputProto and OutputProtos for clarity.
2021-05-15 18:05:53 +02:00
David Given
ebe678b18b
Fix IBM sector base default; convert the ampro configuration.
2021-05-15 13:47:34 +02:00
David Given
5a186b6960
Rename all protos to end with 'Proto' to avoid name conflicts.
2021-05-13 18:05:08 +02:00
David Given
3a8ddf8025
The writer now works with the new config system.
2021-05-13 15:55:05 +02:00
David Given
9d0804eff4
Convert the IBM decoder to use the new config system.
2021-05-12 23:42:38 +02:00
David Given
a8f1469d36
Flesh out the proto config stuff some more.
2021-05-10 22:38:04 +02:00
David Given
1b0ec50711
Add lots more protobuf machinery.
2021-05-07 23:38:31 +02:00
David Given
1b5b170557
Add support for possibly writing 40-track disks on an 80-track drive.
2021-05-07 22:01:20 +02:00
David Given
9eb33d31ac
Merge from master.
2021-01-17 18:57:49 +01:00
hpingel
66cb39dce2
added parameter swapSides to IBM encoder
2021-01-17 12:54:14 +01:00
David Given
d44c871c54
Remove stray debug tracing.
2021-01-16 22:26:54 +01:00
David Given
98587d04a7
Merge from trunk.
2020-05-24 00:56:17 +02:00
vanbogaertetienne
603009ba15
Typo fix in FM_TRS80DAM2_PATTERN
2020-05-22 20:46:48 +02:00
David Given
2244299bd9
Add a bias parameter to allow the entire Brother format to be moved around on
...
the disk.
2020-05-16 10:37:48 +02:00
David Given
323da8272a
Hopefully add support for giving the reader a set of required sectors, so if
...
one is missing then we can tell and the track can be reread.
2020-02-21 22:14:44 +01:00
David Given
89a27619ff
Correctly propagate MFM encoding state.
2020-02-15 21:47:01 +01:00
David Given
a4002d2617
Fix a few encoder issues; but while 720kB disks work fine in a real machine,
...
1440kB disks don't.
2020-02-14 22:47:15 +01:00
David Given
d25f96dd24
The IBM encoder now works well enough that my USB floppy drive thinks the disk
...
is formatted... but has trouble reading sectors above about 1000. Also remember
that encoding MFM needs to keep one bit of state at all times.
2020-02-14 00:06:51 +01:00
David Given
ad3a930c6a
Do the boilerplate of the IBM encoder.
2020-02-09 23:56:20 +01:00
David Given
efa4c933b3
Made the MFM marker byte detection a lot more robust --- prevents false
...
positives; it looks like the new sampler is producing a little bit of wobble
which randomly spoofs a marker byte now and again. This prevents this from
happening (so far).
2020-01-26 17:58:08 +01:00