P64 and D67 images are explained in the VICE manual (http://vice-emu.sourceforge.net/vice_2.html#SEC15). P64 files are representations of the raw flux transitions on the physical disk, and a D67 is basically a D64 with a few more sectors; the buggy and unreliable CBM DOS 1.0 format had one more sector on each of certain tracks than the improved DOS 2.0 version found in the 1541 etc. Why they named it D6_7_ is completely mysterious though.
The world’s only gsteemso
Agitator-in-chief for the Seattle Retro-Computing Society
I am still learning about P64 (thanks for the link gsteemso!)
Miro, the X64 if basically a D64 with a header. Both are simple data structures.
The G64 is more complex... it encodes a D64 in terms of magnetic flux transitions. It is much more "accurate" in terms of the original floppy disk... most (almost all) copy-protection schemes can be encoded with a G64 image.
(On the other hand, D64 codes each sector "after" decoding... the decoding / translation from GCR->Raw is one area that is "corrupted" by some copy-protection schemes!)
How to explain this?? Well, X64 is like D64 but with a "header" that describes original disk name...
But G64 is much more complex.... at first it has table of tracks. Each track has a "speed" and the associated data... if the data is standard, the ROM routines can do simple GCR->Bin conversion of each sector ("block"). But if the data is non-standard (like "Vorpal", a.k.a. V-Max) then you need special software to decode the GCR bits into "real" data... ahh, the essence of Copy-Protection!
All commercial software that I know can be "captured" with G64 format... this is because GCR is common to both C1541 and C1571... and because 1541 was *very* common for C64 (very successful in commercial releases).
It is possible to mix MFM and GCR tracks with C1571... but only with 1571. Not possible with 1541 nor with 1581. So I don't think mixing GCR and MFM was ever used with "official publications"... that would make a total "kick-ass" copy-protection scheme, but I know of no company which did this (because 1571 wasn't very popular, and was the only drive that could mix GCR and MFM).
Sorry if that does not answer your question, or makes you more confused than before!!!! Ask follow-up questions, and I'll reply!
In my study of G64, there is a flaw... it allows "extra tracks"! So all standard CBM/1541 disks have 35 tracks, but the 1541 (and 1571) actually allow 40+ tracks! Now this is important... and to be honest I do not know all the details, but I believe very original 1541 and 1540 disk drives would allow 42 tracks... but later 1541, and all 1541C can access 41 tracks... finally 1571 seems to limit to 40 tracks.
That means track per side!!!
As you should know 1571 (in double-side format) has 70 tracks standard... 35 tracks per side.
So the problem with G64 is that tracks 36 to 40/41/42 (on side 1) are not accessible by standard ROM of 1571.
You could "hack" a G64 image with 70 tracks which would be great for 1571 disks with "standard" form (35 tracks per side)... but if either side has extra track(s), then everything goes to hell... no standard way to say if "image" track 36 is REALLY on side 1 (extra track) or is REALLY on side 2 (standard track).
Sorry if that is very confusing... a long time ago I made hack to VICE that allows 42 tracks on each side of "G64" disk... it also allowed to mix GCR data with MFM data... I called this ugly thing "X71". It is very ugly, so I never submitted to VICE team... (lots of bugs, is the main reason).
In other words, there is no "standard" way to access a track greater than 35 (track 36~42) on the front [side 1] of a double-sided disk! (Because 36~42 would normally be considered the "back" of the disk [side 2]).... this is mainly due to 1571 ROM. Of course with custom routines in Drive-RAM, you can do anything... but there is no standard.
Now that I am sure I have confused everyone, I will shut up (unless you have a specific question, I will try to answer)
Last Edit: Feb 3, 2015 7:05:17 GMT by hydrophilic: Typos... (clarification)