About me I've been a computer programmer since I first started typing in program listings on a Commodore Vic 20 when I was about 8. My hobbies include electronics, CNC manufacturing, photography, beer and winemaking.
I live with my wife and lots of left-over parts from unfinished projects in Lincoln, Nebraska, USA.]
Blog
15 April 2022, 2:14 UTCAn interesting finding about Apple DOS 3.3 diskettes
I can't be the first to have noticed this, but if somebody wrote about it years
ago there's no way a search engine today will turn it up since they over-value
recency and pay little attention to little sites with niche information.
So here's my write-up. It feels a little inconclusive, but so be it. I imagine that these disks were mastered in an unsual way, rather than by duplicating a disk written on an Apple II using normal Apple II RWTS code.
I've been working on an open source tool to convert .a2r to .woz. While
doing so, I got pretty low level with the Apple flux encoding.
This encoding varied over the years, and of course what really matters is
what would work on real machines in the wild.
But one central claim about Apple floppy formats is that early DOS before 3.3 used the repeated bit sequence "1111 1111 0" to allow the floppy interace's state machine to synchronize with the stream of bits on the floppy. Starting with DOS 3.3 and continuing with ProDOS, and ProDOS, the bit sequence "1111 1111 00" is used instead. The newer sequence (also called FF40, because its hex value is FF and it takes 10 bits or 40 microseconds to transmit; the old code is also called FF36) is longer, but fewer repetitions are required to guarantee synchronization.
So I was surprised to see the following when I peered into "DOS 3.3 System Master [1983] - Disk 1, Side A.a2r" from CowgodA2R on archive.org (as are all the a2r files I inspected for this blog post):
111111110 FF36
111111110 FF36
111111110 FF36
111111110 FF36
111111110 FF36
111111110 FF36
111111110 FF36
111111110 FF36
111111110 FF36
111111110 FF36
111111110 FF36
111111110 FF36
111111110 FF36
111111110 FF36
111111110 FF36
111111110 FF36
111111110 FF36
111111110 FF36
111111110 FF36
111111110 FF36
11111111 FF
11010101 D5
10101010 AA
10010110 96
11111111 FF
11111110 FE
10101010 AA
10101010 AA
10101111 AF
10101010 AA
11111010 FA
11111110 FE
11011110 DE
10101010 AA
That's right, the FF36 sequence appears in this DOS 3.3 floppy from 1983. Essentially the same sequence is seen on ProDOS User's Disk - Disk 1, Side A.a2r.
An even odder sequence is seen on the 1980 edition of DOS 3.3:
1111111100 FF40
1111111100 FF40
1111111100 FF40
1111111100 FF40
1111111100 FF40
1111111100 FF40
1111111100 FF40
1111111100 FF40
1111111100 FF40
1111111100 FF40
111111110 FF36
1111111100 FF40
11111111 FF
11111111 FF
11001111 CF
11110011 F3
11111100 FC
11111111 FF
11010101 D5
10101010 AA
10010110 96
11111111 FF
11111110 FE
10101010 AA
10101010 AA
10101011 AB
10101110 AE
11111110 FE
11111010 FA
11011110 DE
10101010 AA
The CF/F3/FC/FF sequence would be an FF40 sequence if the earlier FF bytes hadn't already left you synchronized, but .. there's absolutely no reason for it!
Finally, a disk from the "non-originals" section, which I assume means it's cracked software, has the sequence I expect (more or less) based on reading documentation from the time as well as modern emulator source code:
1111111100 FF40
1111111100 FF40
1111111100 FF40
1111111100 FF40
1111111100 FF40
1111111100 FF40
1111111100 FF40
1111111100 FF40
1111111100 FF40
1111111100 FF40
1111111100 FF40
11111111 FF
11010101 D5
10101010 AA
10010110 96
11111111 FF
11111110 FE
10101010 AA
10101010 AA
10101010 AA
10101011 AB
11111111 FF
11111111 FF
11111111 FF
11111111 FF
11101000 E8
10111111 BF
11111100 FC
An interesting finding about Apple DOS 3.3 diskettes
I can't be the first to have noticed this, but if somebody wrote about it years ago there's no way a search engine today will turn it up since they over-value recency and pay little attention to little sites with niche information. So here's my write-up. It feels a little inconclusive, but so be it. I imagine that these disks were mastered in an unsual way, rather than by duplicating a disk written on an Apple II using normal Apple II RWTS code.
I've been working on an open source tool to convert .a2r to .woz. While doing so, I got pretty low level with the Apple flux encoding.
This encoding varied over the years, and of course what really matters is what would work on real machines in the wild.
But one central claim about Apple floppy formats is that early DOS before 3.3 used the repeated bit sequence "1111 1111 0" to allow the floppy interace's state machine to synchronize with the stream of bits on the floppy. Starting with DOS 3.3 and continuing with ProDOS, and ProDOS, the bit sequence "1111 1111 00" is used instead. The newer sequence (also called FF40, because its hex value is FF and it takes 10 bits or 40 microseconds to transmit; the old code is also called FF36) is longer, but fewer repetitions are required to guarantee synchronization.
So I was surprised to see the following when I peered into "DOS 3.3 System Master [1983] - Disk 1, Side A.a2r" from CowgodA2R on archive.org (as are all the a2r files I inspected for this blog post):
111111110 FF36 111111110 FF36 111111110 FF36 111111110 FF36 111111110 FF36 111111110 FF36 111111110 FF36 111111110 FF36 111111110 FF36 111111110 FF36 111111110 FF36 111111110 FF36 111111110 FF36 111111110 FF36 111111110 FF36 111111110 FF36 111111110 FF36 111111110 FF36 111111110 FF36 111111110 FF36 11111111 FF 11010101 D5 10101010 AA 10010110 96 11111111 FF 11111110 FE 10101010 AA 10101010 AA 10101111 AF 10101010 AA 11111010 FA 11111110 FE 11011110 DE 10101010 AA
That's right, the FF36 sequence appears in this DOS 3.3 floppy from 1983. Essentially the same sequence is seen on ProDOS User's Disk - Disk 1, Side A.a2r.
An even odder sequence is seen on the 1980 edition of DOS 3.3:
1111111100 FF40 1111111100 FF40 1111111100 FF40 1111111100 FF40 1111111100 FF40 1111111100 FF40 1111111100 FF40 1111111100 FF40 1111111100 FF40 1111111100 FF40 111111110 FF36 1111111100 FF40 11111111 FF 11111111 FF 11001111 CF 11110011 F3 11111100 FC 11111111 FF 11010101 D5 10101010 AA 10010110 96 11111111 FF 11111110 FE 10101010 AA 10101010 AA 10101011 AB 10101110 AE 11111110 FE 11111010 FA 11011110 DE 10101010 AA
The CF/F3/FC/FF sequence would be an FF40 sequence if the earlier FF bytes hadn't already left you synchronized, but .. there's absolutely no reason for it!
Finally, a disk from the "non-originals" section, which I assume means it's cracked software, has the sequence I expect (more or less) based on reading documentation from the time as well as modern emulator source code:
1111111100 FF40 1111111100 FF40 1111111100 FF40 1111111100 FF40 1111111100 FF40 1111111100 FF40 1111111100 FF40 1111111100 FF40 1111111100 FF40 1111111100 FF40 1111111100 FF40 11111111 FF 11010101 D5 10101010 AA 10010110 96 11111111 FF 11111110 FE 10101010 AA 10101010 AA 10101010 AA 10101011 AB 11111111 FF 11111111 FF 11111111 FF 11111111 FF 11101000 E8 10111111 BF 11111100 FC
All older entries
Website Copyright © 2004-2024 Jeff Epler