Commit Graph

1854 Commits

Author SHA1 Message Date
David Given
e89648200b Merge pull request #490 from jepler/mapper
Upgrade Apple II writing to 'unicorn', fix & explain remapping
2022-03-08 15:13:06 +00:00
Jeff Epler
3c305e8a37 Fix & Document Apple II sector mapping
* Update documentation (note apple flux writing is a unicorn now even though this isn't quite true until #489)
 * Fix DOS 3.3 mapping
 * Add ProDOS (all versions) mapping
2022-03-08 08:44:14 -06: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
6797037bdb Merge pull request #488 from davidgiven/multiread
Refactor to deprecate F_DESYNC.
2022-03-07 23:14:07 +00:00
David Given
39f8b25fd8 Tidy. 2022-03-07 00:28:19 +01:00
David Given
96214bf3fd Refactor for better multi-read support. Each read is now held separately, with
F_DESYNC being deprecated, and FluxSource returns an iterator which can be used
to retry reads.
2022-03-07 00:07:42 +01:00
David Given
400cd87802 Update documentation with new dependencies.
Fixes: #487
2022-03-06 12:07:55 +01:00
David Given
00c458db1e Merge pull request #486 from davidgiven/brother
Add support for creating bootable Brother 120kB disks.
2022-03-06 01:00:45 +00:00
David Given
1454e200db Create bootable Brother disks. 2022-03-06 01:32:19 +01:00
David Given
752875061c Format. 2022-03-06 00:47:11 +01:00
David Given
78186d8a45 Archive. 2022-03-06 00:46:53 +01:00
David Given
a4ef434f11 Merge pull request #485 from davidgiven/brother
Add support for writing 120kB Brother disk images.
2022-03-04 23:49:09 +00:00
David Given
9842c9945d Typo fix. 2022-03-05 00:33:10 +01:00
David Given
6dcd97dedf Create executable files (although possibly not correctly). 2022-03-05 00:15:11 +01:00
David Given
549a984eab Add support for writing 120kB Brother disk images. Also add some utils tests,
because they needed it.
2022-03-04 23:42:29 +01: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
e9286f6ae9 Merge. 2022-03-04 20:19:14 +01:00
David Given
a31fcdb753 Merge pull request #484 from davidgiven/brother
Fix the Brother 120kB format.
2022-03-02 23:36:02 +00:00
David Given
0edca836f0 Let the image reader do the physical/logical track mapping. 2022-03-03 00:18:49 +01:00
David Given
8537f291b7 Update README. 2022-03-02 23:57:22 +01:00
David Given
46611ec720 Fix writing to 120kB Brother disks. 2022-03-02 23:56:02 +01:00
David Given
cbc3db8100 Display erased tracks a bit more gracefully. 2022-03-02 23:55:53 +01:00
David Given
7d5b07bf37 Merge from master. 2022-03-02 23:26:18 +01:00
David Given
5bd633d5bb Merge pull request #481 from jepler/apple2decoder
apple2: Comment decoder, add fix/workaround for stray 0 at start of sector data
2022-03-02 22:26:00 +00:00
David Given
17fdad1d6e Add a hopefully correct AppleDOS sector mapping table. 2022-03-02 23:21:41 +01:00
David Given
1ad26671b0 Merge from master. 2022-03-02 23:15:56 +01:00
David Given
2dc5064409 Add support for remapping sectors. 2022-03-02 23:00:20 +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
386d22a45e Makefile: give a clear error at build time if wx is not available 2022-03-02 07:44:09 -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
David Given
dd49f01499 Merge pull request #480 from jepler/apple2encoder
Add apple2 encoder
2022-03-02 10:24:05 +00:00
Jeff Epler
2c698cee71 Mark apple2 image writing as dinosaur, add note about writing, not ro anymore 2022-03-01 19:05:53 -06:00
Jeff Epler
87cb4b6d18 Add apple2 encoder
This is tested with encodedecodetest.sh but is not tested on HW yet.
It's likely that the sector order (interleave) doesn't match real systems.
2022-02-28 16:22:53 -06:00
David Given
2b7c747209 Merge pull request #471 from jepler/rx50-pdp11-format
Add support for PDP-11 RX-50 disks
2022-02-27 18:59:10 +00:00
Jeff Epler
707308b490 Fix alphetization of format list 2022-02-27 10:47:33 -06:00
Jeff Epler
ed1012bf07 Fix rx50 format description & test it
gap3 follows f10f52ded8/src/image/img.c (L135)
2022-02-27 10:47:22 -06:00
David Given
cc5b2bc27b Merge pull request #479 from davidgiven/wxw
Add a GUI.
2022-02-27 12:24:38 +00:00
David Given
a1a7cfa735 We don't need the rich text wxwidgets addon. 2022-02-27 13:12:29 +01:00
David Given
4624ff92df Remember to set the high density bit. 2022-02-27 13:11:11 +01:00
David Given
47dde98728 Include the GUI exe in release artifacts. 2022-02-27 13:05:39 +01:00
David Given
6f1031e95b Writing flux now works. 2022-02-27 12:54:57 +01:00
David Given
d5245e3784 Don't capture parameters in static blocks. That never ends well... 2022-02-27 12:51:51 +01:00
David Given
d97e72edb6 The image writers now log to the logger. 2022-02-27 00:27:44 +01:00
David Given
23b9e9ef5f The image readers now log to the logger. 2022-02-27 00:20:20 +01:00
David Given
02c7b86f85 You can write images now. 2022-02-27 00:07:59 +01:00
Paul Devine
f796b6b40d works in physical victor 9000 machine 2022-02-26 14:59:09 -08:00