Commit Graph

25 Commits

Author SHA1 Message Date
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
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
dg
ebb5c17be4 Make the IBM format gap fill byte configurable. 2021-12-05 16:43:45 +00: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
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
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
b423a71b38 Refactor the encoders the same way that's been done for the decoders. 2021-07-11 16:55:18 +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
3a8ddf8025 The writer now works with the new config system. 2021-05-13 15:55:05 +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
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
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