David Given
ca940d1599
Refactor core libraries into their own library.
2024-10-01 20:36:53 +02:00
David Given
f5f223f622
First steps towards reworking the build system... again.
2023-10-21 23:02:46 +02:00
dg
dcfcc6271c
Sort out a whole bunch of other things, including cleaning up the way the
...
verification source is handled.
2023-05-12 23:28:25 +00:00
dg
466c3c34e5
Replace the Error() object with an error() function which takes fmt
...
formatspecs, making for much cleaner code. Reformatted everything.
This actually happened in multiple steps but then I corrupted my local
repository and I had to recover from the working tree.
2023-05-09 20:59:44 +00:00
dg
921e178e83
Tone down the bad-sector-size warning a bit.
2023-03-26 18:23:25 +00:00
dg
7ea4e116cc
Add a warning if the configured sector size doesn't match the one on disk.
2023-03-26 16:25:40 +00:00
David Given
d0fb85e712
Rename all the remaining layout and location variables to trackInfo (where
...
appropriate).
2022-09-16 00:20:54 +02:00
David Given
81cbd00cc8
Rename Track to TrackInfo, which better describes what it is.
2022-09-16 00:09:39 +02:00
David Given
4a565b5ea0
Split the Layout class.
2022-09-16 00:07:22 +02:00
David Given
82f61eee12
Eliminate Location in favour of Layout.
2022-09-15 23:52:07 +02: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
6b7e81d7fb
Move requiredSectors() to the base class.
2022-09-13 00:32:04 +02:00
David Given
3c23e7b047
Merge.
2022-09-12 23:58:03 +02:00
David Given
1267191e8e
Abstract is for Java.
2022-09-12 23:52:24 +02:00
David Given
49b6bbff37
Add sector skew support to SectorListProto; add a partial definition for the
...
Victor 9000.
2022-09-12 23:10:24 +02:00
David Given
339e9cca10
Hopefully actually fix the C64 side issue, this time, by rethinking how the IBM
...
encoder/decoder handles side swapping. We want to be able to swap everything,
or just the side bytes.
2022-09-12 22:04:58 +02:00
David Given
c63a761ca4
Actually fix the c64 1581 side issue. Turns out the data's not flipped between
...
the two sides, only the bit in the sector header...
2022-09-12 15:34:21 +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
3256b4f627
Eliminate the IBM trackdata sector layout stuff in favour of the layout{}
...
clause.
2022-08-27 23:23:28 +02:00
David Given
adff739a5d
Partial conversion to do automatic scaling of flux based on the disk rotation
...
speed. Although, something seems to have broken for 5.25" disks.
2022-03-27 23:50:32 +02:00
David Given
178aa9d32f
Remove the obsolete reader.* and rename writer.* to readerwriter.*.
2022-03-25 20:57:42 +01:00
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