David Given
15a69f6dcb
Make build with the new ab --- but the tests fail.
2025-03-17 22:33:54 +01:00
David Given
1bcc8f45b5
Modularise encoders. Change arch to not depend on +lib.
2024-10-16 22:00:51 +02:00
David Given
c5373480ba
Move a lot of the data-handling utilities into their own module.
2024-10-13 13:35:48 +02:00
David Given
e1f2494966
Create a config module containing all the configuration, proto and flags
...
stuff.
2024-10-13 11:57:18 +02:00
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
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
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
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
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