Commit Graph

391 Commits

Author SHA1 Message Date
David Given
c4ac231a50 Discover that Macintosh side byte encoding is weirder than I thought. Now at
least all the sectors are on the same side of the disk.
2019-02-20 23:03:52 +01:00
David Given
f6ba279f7e Merge from default. 2019-02-20 22:42:27 +01:00
David Given
7aa851d5f0 Fix hideously embarassing bug which was causing reading most floppies to
produce junk.
2019-02-20 22:41:08 +01:00
David Given
e53841f79d Use a bit more statistical nous when trying to sense the bit rate, and use the
median of the pulse to pick the normative clock rate.
2019-02-20 22:09:06 +01:00
David Given
01acc4e5b3 Partially decode the Kryoflux Mac image I have (complete with checksum
checking). The read is very bad, but I don't know whether that's because
there's something wrong I'm doing, or if the Kryoflux image is bad.
2019-02-20 20:46:01 +01:00
David Given
f3aec34638 Add a skeleton Macintosh disk reader. 2019-02-20 19:35:31 +01:00
David Given
09c9f96ef0 We don't need to check out the entire git repository for builds. 2019-02-20 11:16:13 +01:00
David Given
47be558bb2 Add experimental OSX travis setup. 2019-02-20 11:12:30 +01:00
David Given
b5ed703cf0 Don't use <endian.h> as it's not very portable. 2019-02-20 11:08:51 +01:00
David Given
a6c894fdc3 Change links from .md to .html to make Cowlark work. 2019-02-19 23:13:42 +01:00
David Given
6c26094ef5 Merge pull request #7 from davidgiven/amiga
Add Amiga decode support
2019-02-19 22:47:46 +01:00
David Given
cbcc707c06 Document the Amiga disk support. 2019-02-19 22:41:19 +01:00
David Given
eb59ca8ad6 Turns out that the first bit of the sync byte after the data is sometimes
unset. Go figure. I ignore it and everything works.
2019-02-19 22:33:48 +01:00
David Given
c3cb7bfced The Amiga decoder now mostly works, although it's only decoding 75% of the
sectors --- the rest are missing, and always in the same pattern, which is
weird.
2019-02-19 22:29:06 +01:00
David Given
259a02898f Massive refactor to overhaul and simplify the decoder system. Amiga has been
disabled (because it needs rewriting now).
2019-02-19 00:39:13 +01:00
David Given
1c56456ff0 Start a byte read/write library (because I reckon I'm going to need it). 2019-02-18 21:48:21 +01:00
David Given
f51868c35c Add a primitive (non-checksum-checking) parser. Looks like the decoding loses a
lot of sectors --- the read rate is terrible.
2019-02-18 00:38:34 +01:00
David Given
83118ee477 Add skeleton Amiga support: the MFM bitstream is decoded but records aren't
parsed.
2019-02-18 00:10:36 +01:00
David Given
df68bbdc97 Ignore Kryoflux files. 2019-02-16 20:17:04 +01:00
David Given
7cce4d9aa3 Atari ST works! 2019-02-16 20:16:56 +01:00
David Given
d169c89be7 Oops, managed to swap the bytes in Kryoflux Flux2 blocks. 2019-02-16 20:16:10 +01:00
David Given
18d478822d Kryoflux stream files are oddly named; add glob support to cope more gracefully
with arbitrary prefixes.
2019-02-16 16:43:00 +01:00
David Given
fe307447c4 Okay, I have a better understanding of how Brother 120kB files work now. 2019-02-15 20:39:12 +01:00
David Given
4102e3bd41 Add brother120tool for extracting files from Brother 120kB floppy images. 2019-02-15 20:28:30 +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
5366a5c9be Attempt to improve compatibility with old compilers. 2019-02-15 11:14:17 +01:00
David Given
da86360a52 Better compatibility with gcc 6. 2019-02-15 11:06:46 +01:00
David Given
477453864d Update README. 2019-02-14 23:04:10 +01:00
David Given
04f548e868 Rename documentation to work with cowlark.com. 2019-02-14 23:03:03 +01:00
David Given
5209893780 Adjust image layout. 2019-02-14 22:35:40 +01:00
David Given
51bf64839d Tweak pointer. 2019-02-14 22:33:37 +01:00
David Given
7a1045df26 Replaced the README with a pointer. 2019-02-14 22:32:38 +01:00
David Given
2ad73eb580 Update README link. 2019-02-14 22:25:04 +01:00
David Given
4f6728a846 Add Github link. 2019-02-14 22:24:26 +01:00
David Given
60949b1f44 Move the README into the doc directory. 2019-02-14 22:23:31 +01:00
David Given
43066ddf45 Found some stuff out about the Brother 120kB file system format. 2019-02-14 22:00:52 +01:00
David Given
21df54d8d8 Adjust Brother documentation. 2019-02-14 21:47:53 +01:00
David Given
61d98073a7 Add support for reading Kryoflux stream files. 2019-02-14 21:44:23 +01:00
David Given
d157574c6a Put back --just-read, and fix the formatting. 2019-02-14 21:15:08 +01:00
David Given
31a00696e1 Refactor the low-level reading stuff to be cleaner, simpler, and allow more
flux sources.
2019-02-14 20:15:35 +01:00
David Given
c68dc4eeb3 Update README. 2019-02-13 10:49:05 +01:00
David Given
e7a32ee497 Expand the programming instructions. 2019-02-12 21:46:24 +01:00
David Given
da2445f07f Document that HD disks work again. 2019-02-12 21:41:08 +01:00
David Given
12135b5dd6 Add support for FM decoding and Acorn DFS disks, requiring some rearrangement.
Also make the Brother two revolutions thing (which DFS also needs) the default.
2019-02-12 21:29:31 +01:00
David Given
10c838b4b7 When reading from a file, don't try to recalibrate the actual hardware on
error.
2019-02-12 20:43:15 +01:00
David Given
2527ac2ce9 Initial support for twin drives and 5.25" drives. 2019-02-11 23:43:44 +01:00
David Given
b6f99d4429 Add a special reader program for Acorn disks as I keep getting the parameters
wrong.
2019-02-09 23:20:58 +01:00
David Given
65315f4603 Take out the UART --- it's too much hassle. 2019-02-09 23:02:05 +01:00
David Given
9f64de0c49 Do a recalibrate when retrying a track read --- it makes things a bit more
reliable.
2019-02-09 22:55:46 +01:00
David Given
c4451c20d0 Merge pull request #3 from davidgiven/newpins
Move the pins to the other side of the board.
2019-02-09 22:54:31 +01:00