dg
3c7c4639a9
Massively improved the quality of Smaky reads.
2022-11-25 19:33:29 +00:00
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
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
dce6248193
Victor9k no longer uses collectSectors().
2022-09-13 00:22:46 +02:00
David Given
0e349ede4c
TIDS990 no longer uses collectSectors.
2022-09-13 00:19:45 +02:00
David Given
60117471a7
No more collectSectors in Brother.
2022-09-13 00:06:55 +02:00
David Given
3c23e7b047
Merge.
2022-09-12 23:58:03 +02:00
David Given
b48e1ba9e0
Remove the trivial collectSectors() methods which have been replaced by the
...
base class.
2022-09-12 23:55:52 +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
fa760b702c
Fix C automatic dependencies to actually work.
2022-06-16 19:39:47 +02:00
David Given
b025e6bb88
Remove dep/fmt completely.
2022-06-14 20:12:55 +02:00
David Given
07b1719b17
Let's try an actual vanilla Makefile.
2022-06-13 23:21:06 +02:00
David Given
15eb88e922
Convert, hopefully, the remaining encoders to do automatic disk sizing. Ther e
...
may be bugs.
2022-03-29 01:23:35 +02:00
David Given
9a299b758a
Correctly set the format byte.
2022-03-29 00:03:59 +02:00
David Given
5c68b47a29
Add missing file.
2022-03-28 00:19:02 +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
77a0c9f341
Typo fix.
2022-03-19 18:43:20 +01:00
David Given
fc7859dc27
Update comment about the generation of the desync sequence.
2022-03-19 18:41:03 +01:00
David Given
39d6b0525f
Fix incredibly stupid bug.
2022-03-19 18:07:10 +01:00
David Given
51e091ded6
Better documentation of the missing clock bit.
2022-03-19 14:00:35 +01:00
David Given
52407848c1
Do more sanity checks for bad sectors, improving the reads by a lot.
2022-03-19 13:55:22 +01:00
David Given
276282e847
Merge from master.
2022-03-19 00:51:59 +01:00
Jeff Epler
6cfe69634c
Merge remote-tracking branch 'origin/master' into further-apple-fixes
2022-03-08 07:45:20 -06:00
Jeff Epler
61be3714a5
apple2: encoder: Fix writing of "FF40"
...
I was writing "FF40" as "FF48": 1111 1111 0000 instead of 1111 1111 00.
This sequence of four zeros will not allow the real hardware to synchronize
to the bitstream.
With this change, I was able to boot a DOS 3.3 disk I rearranged into
"physical" order; some 'there's a disk error' raspberries occur (probably
indicating a data error within a sector) during the boot process, so
something is still obviously marginal, but this is a huge step forward.
2022-03-08 07:44:03 -06:00
Jeff Epler
0aed615ee5
Fix crash when reading disks written on real apple2
...
`readRaw8` throws an exception if you run out of data. This did not
turn up during my testing, because I was reading back a disk written by
fluxengine, so everything was aligned to the index pulse and no sector
ever straddled a revolution. On a "real" apple2-written disk, this was
not the case.
Incidentally, the "extra 0" problem exists on a real apple2-written
floppy as well.
2022-03-07 22:40:33 -06:00
David Given
aa805f81e0
Simplify.
2022-03-04 20:28:09 +01:00
David Given
93a67dadf6
Merge from master.
2022-03-04 20:19:42 +01:00
David Given
0edca836f0
Let the image reader do the physical/logical track mapping.
2022-03-03 00:18:49 +01:00
Jeff Epler
79eec41bcd
Revamp how extra zeros are handled
...
It's not OK to call seek() here. Instead, add a function which can read
an apple 8-bit flux value in terms of readRaw8 and readRawBits. Apply
this function to all the data bytes, rather than just the first one.
2022-03-02 07:45:24 -06:00
Jeff Epler
d90fcbf7ad
Handle extra 0-bits at the start of a sector
2022-03-02 07:43:45 -06:00
Jeff Epler
c4e4520058
apple2 decoder: explain the progression of sector status values
2022-03-02 07:43:43 -06:00