Commit Graph

38 Commits

Author SHA1 Message Date
dg
a91dee27e7 Rework the layout stuff to be more correct. Physical skew no longer affects the
order in the resulting images.
2022-12-04 19:19:37 +00:00
David Given
88fc7ff9c3 Begin cleaning up the Layout stuff. 2022-09-15 21:45:12 +02:00
David Given
9a8fc80220 Massive overhaul of how the physical/logical layout mapping is done, to make it
more consistent and bidirectional everywhere and just generally better.
Hopefully this fixes that pesky 1581 problem.
2022-09-15 20:23:33 +02:00
David Given
3cb098f9ba Rip out the old approach to soft sector remapping as it wasn't working. 2022-09-11 17:05:40 +02:00
David Given
dda713a6be Remove the rest of the mapper. 2022-09-10 22:47:35 +02:00
David Given
085ad5f2a4 Actually start using the new physical sector stuff. 2022-09-10 20:43:24 +02:00
David Given
a6db36e7b3 Convert from LayoutData to Layout. 2022-09-10 19:53:05 +02:00
David Given
1a4caccd07 Rename Sector.logicalSector to Sector.physicalSector. 2022-09-10 18:59:06 +02:00
David Given
003e919bd5 Formatting now works rather better, but this has revealed a problem with the
mapper --- which needs to switch to using Layout anyway.
2022-09-09 00:34:44 +02:00
David Given
b2eba66bff You can format disks now. 2022-09-05 22:13:41 +02:00
David Given
f753929e87 Writing files works in fatfs. 2022-08-30 22:51:31 +02: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
b0003fc7e5 Merge from master. 2021-10-30 22:19:37 +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
05552cc3e5 Add a basic and largely untested TD0 reader. 2021-07-23 23:21:30 +02:00
David Given
b887bebb26 First largely untested draft of a working verifier. 2021-07-19 00:13:06 +02:00
David Given
458d0f7a1b Another mahoosive refactor: move away from using protos for the disk output in
favour of pod objects, which allows STL contains. Lots of shared_ptrs
everywhere. Much simpler and more effective code. The reader works with one of
the decoders; still have to do the rest of them and the encoders.
2021-07-15 22:50:29 +02:00
David Given
cd19fcdadd The CSV report now writes records for every sector in the output map, even the
missing ones.
2020-03-31 00:14:23 +02:00
David Given
112377f885 Add pluggable image readers, plus some documentation. 2019-08-09 20:56:06 +02:00
David Given
38fab7edcb Refactor all the image writing stuff into a ImageWriter subclass hierarchy with
a factory based on extension.
2019-08-08 00:27:41 +02:00
David Given
d8172154c3 Output images now get geometry specs to indicate what kind of file to write. 2019-08-07 23:23:07 +02:00
David Given
76e22995b7 Fix memory corruption issue when replacing sectors. 2019-06-27 22:10:35 +02:00
David Given
5f8e0c846c Allow split decoders (into sector record and data record). 2019-04-19 00:55:01 +02:00
David Given
b158692a3a Radically simplify RawRecord and Sector. It all works, and the results are
better, but I've disabled a bunch of decoders for now.
2019-04-18 21:47:34 +02:00
David Given
94fb10eb02 Behemoth change to rework everything to use Bytes rather than vectors of
uint8_t. The tests pass, but of course, nothing decodes any more.
2019-03-05 00:10:20 +01:00
David Given
0eb7620854 Conflicted sectors are now treated as bad. 2019-03-03 11:39:54 +01:00
David Given
6384b92bed Stop using inline constructor initialiser list things for tuples, as
it's a recent feature and old compilers don't support them.
2019-02-15 13:44:44 +01:00
David Given
26d38826a7 Change the sector map so that it's readable. 2019-01-21 23:42:53 +01:00
David Given
d7cad63feb Add a basic fe-writebrother which so far can read image files. 2018-12-30 00:40:46 +01:00
David Given
9b610a9527 Factor Sector out into its own header. Sketch out Geometry. 2018-12-29 01:59:09 +01:00
David Given
490e649942 Added the SectorSet class for holding collections of Sector objects --- much
easier to deal with than ad-hoc maps.
2018-12-28 00:43:47 +01:00
David Given
c78dfb9d7c Avoid crash if decode produced no data. 2018-12-22 20:14:43 +01:00
David Given
93d317b6de Improve the sector visualisation. 2018-12-22 20:04:47 +01:00
David Given
f27df1a39f Improve handling of Brother bad sectors. Add the sector visualisation. 2018-12-22 19:30:15 +01:00
David Given
acd2a9c23b Add CRC checking for IBM disks. Weirdly, my 1200kB disk appears to have deleted
sectors (id mark F8) on it, where the checksums don't match. Myserious...
2018-10-22 02:45:18 +02:00
David Given
d7b2505720 You can now decode Brother disks to images. No CRC checking, though. 2018-10-21 19:10:33 +02:00
David Given
3a0ce92468 Fix a horrifying bug which was causing all data from USB to be discarded. 2018-10-20 19:39:34 +02:00
David Given
8244f9ec51 We can now decode IBM MFM disks all the way to an image, although with no CRC
checking as yet.
2018-10-20 19:25:20 +02:00