More streamlined support for Apple formats

Have an idea how to make KryoFlux even better? Let us know...
Post Reply
TeaRex
Posts: 120
Joined: Tue Nov 30, 2010 5:36 am

More streamlined support for Apple formats

Post by TeaRex » Fri Oct 07, 2011 4:03 pm

Now for an idea that's actually useful it might make sense to streamline the support for Apple specific formats or at least the help text that mentions them.

1.) "Apple DOS 400K/800K": Unhacked Apple DOS doesn't have native support for any 400K or 800K formats at all. 400K is Macintosh MFS only, it's not used on the Apple II systems. 800K is Macintosh HFS or Apple ProDOS (or GS/OS, which uses ProDOS low-level formats). Therefore this format should be renamed "Macintosh/Apple ProDOS 400/800K, 3.5 inch" IMHO.

The Macintosh formats (but not the Apple ProDOS or GS/OS 3.5 inch formats) make some use of per-sector "out of band" data if I remember correctly. The ideal output format for Mac would be the Disk Copy 4.2 format packed into MacBinary IMHO, this is the easiest thing for native handling on an old Mac. However such "adorned" formats are probably beyond what dtc aims at? Anyway a naked sector format that includes the OOB data would be a useful output format that could then be an input to another program that constructs Disk Copy images from that.

2.) "DOS 3.3+" should rather be called "DOS 3.3 or ProDOS, 140K, 5.25 inch (16-sector disk)".

3.) "DOS 3.2" should be called "DOS 3.1/3.2, 113.75K, 5.25 inch (13-sector disk)".

4.) Interleave. In Apple II 5.25 inch images four kinds of sector ordering are possible:
a) Physical order, i.e. the order in which the sectors physically follow each other on the track.
b) Sector header order, i.e. ordered by the sector numbers that are stored in the FM encoded sector headers.
c) DOS order, i.e. the order used by the higher level routines of Apple DOS
d) ProDOS order, i.e. the same for ProDOS (ProDOS pairs two 256 byte physical sectors into one 512-byte logical sector but that doesn't matter here).
For DOS 3.1/3.2, "b)" equals "c)". For DOS 3.3 or ProDOS, "b)" equals "a)". So there are only three orders that might apply to any given floppy and "b)" doesn' really have to be considered any further. That leaves: Physical order, DOS order, ProDOS order.

In Apple II emulation, "DOS order", "c)" above, which you currently call "DSK, DOS 3.3 interleave", format "-i8a", is by far the most common format nowadays, even if the disk contents are ProDOS based. The usual file extensions for DOS-Order images are ".dsk" or more specifically ".do" for DOS 3.3 and ProDOS disks, ".d13" for DOS 3.1/3.2 disks. The second most common order (and the most common for 800k 3.5 inch floppy images) is ProDOS order, common file extension ".po" (or sometimes ".dsk" too but that should be avoided). The order I called "a)" above is very rarely used.

Therefore I'd suggest that for Apple II 5.25" Images, you throw out physical order (format "-i8") or at least add a "not recommended" to the help text, rename "DSK, DOS 3.3 interleave" to "140K DOS order" which is the far more common term, and implement "ProDOS order", maybe as "-i8b". Also change the standard extensions in the GUI from ".img" to ".d13", ".dsk" and ".po".

Unfortunately I don't know for sure whether ProDOS order, Macintosh MFS / HFS orders, header order and physical sector order are any different for 3.5" 400K/800K disks or not. But as far as I remember they are not, so that only one order is needed for 3.5" images.

Post Reply