Commit Graph

856 Commits

Author SHA1 Message Date
dg
7e9a1268a5 Add an extremely prototype version of the Smaky decoder. 2022-11-23 21:44:40 +00:00
dg
a60b8e68ca Add a Bytes method for reversing each bit. 2022-11-23 21:44:10 +00:00
David Given
d1fffb1d08 Merge pull request #616 from davidgiven/gui
Fix a crash when using the GUI.
2022-11-21 20:37:52 +01:00
dg
52d66d9555 Only iterate the environment if the set has been created. 2022-11-21 19:10:37 +00:00
dg
d4a94551d9 Don't define a global structure called Entry because it conflicts with
something in adflib.
2022-11-21 18:31:59 +00:00
David Given
345cd6bd92 Convert the VFS protos to use enums rather than oneofs. 2022-11-20 10:37:45 +01:00
David Given
48540245b5 Convert the imagereader/writer to use proto enums rather than oneofs. 2022-11-20 10:25:19 +01:00
David Given
088bd9434d Switch from using a oneof to an explicit enum for the flux source/sink
configurations, as this allows default options for multiple source/sink types.
2022-11-19 22:52:52 +01:00
David Given
4ae43d0503 Merge pull request #607 from tdaede/fix_layout_cache
Remove the layout cache and rename layout -> trackInfo.
2022-10-13 23:01:44 +02:00
Thomas Daede
f8257e697a D88: Use the data length field to seek past any extra data.
This will effectively ignore the field length if it is shorter
than the sector size (or 0).
2022-10-02 16:45:51 -07:00
David Given
0ddfd3bead Merge pull request #605 from tdaede/fix_physical_sector_ordering
D88/NFD: Add physical layout before adding sector.
2022-10-02 20:46:38 +02:00
Thomas Daede
d20ce3dde7 Remove the layout cache and rename layout -> trackInfo.
The layout cache is busted and seems not worth the effort.

Fixes #603.
2022-10-02 09:43:48 -07:00
Thomas Daede
ef5f7ec9c3 D88/NFD: Add physical layout before adding sector.
Partially fixes #603, it is still busted if the number of
tracks is specified larger than what is in the image, which
used to work.
2022-10-01 19:43:17 -07:00
Thomas Daede
69c60c4026 Force density setting for D88/NFD.
This fixes #560 (partially).

I do not understand how the protobuf parsing stuff works enough
to make it detect optional fields.
2022-10-01 18:48:12 -07:00
David Given
2f4f2083ba Merge pull request #600 from wybren1971/IMDwriter
bug fix in data rates
2022-09-21 16:00:02 +02:00
wybren1971
77ada0471b bug fix in data rates 2022-09-21 15:20:58 +02:00
David Given
12fb39baa9 More variable renaming. 2022-09-16 00:31:19 +02:00
David Given
201fd22861 Roll requiredSectors into readerwriter.cc. 2022-09-16 00:26:02 +02: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
8eb17bf104 Merge pull request #591 from davidgiven/c64
Rework the entire layout stuff.
2022-09-15 21:07:16 +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
924d077315 Don't allow includes inside options. 2022-09-14 00:20:16 +02:00
David Given
b1a6fa4084 Make the AppleDOS and ProDOS settings options. 2022-09-14 00:16:42 +02:00
David Given
0665fc0a6f Add an option for, er, options defined in config files. 2022-09-14 00:04:29 +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
1fea200582 Implement delete. Fix a pile of bugs. 2022-09-12 00:56:34 +02:00
David Given
55b8a62f64 Add Brother120 support for putting files. 2022-09-12 00:33:13 +02:00
David Given
538a22e2f7 Another attempt at making filesystem sector ordering work again. 2022-09-11 19:53:18 +02:00
David Given
0c40a3e79c File system mapping now sort of works in the filesystem, but there are
problems. These are potentially due to an incorrect Prodos mapping but I'm not
sure.
2022-09-11 19:01:25 +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
ea1ab029f3 Add a very untested ProDOS filesystem module. 2022-09-11 13:19:15 +02:00
David Given
92a76a6d39 Reset the environment in the right place. 2022-09-11 13:08:46 +02:00
David Given
63a7340c21 Realise that I was actually applying sector mappings _twice_, resulting in them
all cancelling out...
2022-09-10 23:29:00 +02:00
David Given
dda713a6be Remove the rest of the mapper. 2022-09-10 22:47:35 +02:00
David Given
415aa82a6f The top-level tracks and heads fields are now inferred automatically from the
layout if not set, so we don't have to set them everywhere.
2022-09-10 22:29:27 +02:00
David Given
4ae664fd93 Sanitise the layout structure somewhat. Fix ADFS and Apple II formats. 2022-09-10 22:08:23 +02:00
David Given
6b228d7a0a Add functionality for clearing the cache between runs. 2022-09-10 21:27:14 +02:00
David Given
085ad5f2a4 Actually start using the new physical sector stuff. 2022-09-10 20:43:24 +02:00
David Given
e40e6bd07f Remove the remapper part of the mapper. 2022-09-10 20:13:38 +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