• 1541 to 1581 copy program

    From molla barzani@molla1@bigpond.com to comp.sys.cbm on Friday, July 11, 2003 01:17:23
    From Newsgroup: comp.sys.cbm

    is there any diskcopy program that can copy an entire disk between different formats without losing autoboot features or hidden files or track and sector copy protection schemes ??



    --- Synchronet 3.18b-Win32 NewsLink 1.113
  • From nospam9212@nospam9212@aol.commune (Nospam9212) to comp.sys.cbm on Friday, July 11, 2003 03:24:22
    From Newsgroup: comp.sys.cbm

    On 7/10/03 11:17 AM Eastern Daylight Time, "molla barzani" molla1@bigpond.com wrote...

    is there any diskcopy program that can copy an entire disk between different >formats without losing autoboot features or hidden files or track and sector >copy protection schemes ??

    Obviously you've never messed with copy protection schemes.... :)

    Because copy protection and custom loaders involved non-standard data being placed on the disk, the routines to place that data (program files) into memory often look at very specific tracks/sectors at precise moments. Sometimes these routines even run in the drive memory and not in computer memory, accessing vectors and altering stock drive ROM. That makes it even more complicated !!

    The 1581 by nature handles data at a different rate and the sectors are not lined up the same as on a 1541 disk. This rate is called "skew" or "interleave". A 1541 oftens uses a skew of 10, meaning it's writes to the disks happen with an offset of 10 sectors... something like 0,10,1,11,2,12,etc.. A 1581 has a skew of 1... 0,1,2,3,4,5 (they don't actually start at sector 0, they start in the center of the disk and work outwards). If I was to take custom fast loader or copy protection and assume timed reads for a skew of 10 but I am reading a disk written with a skew of 1, I'd get data but not the data I expected... hence the program files would be a mess. That'd be your first and easiest trick... teach your 1581 to interleave it's writes at a rate of 10 sectors. It'd get worse after that. :)

    This is a over-simplification but it kind of makes the point why it can't be done. You'd have to actually reprogram the custom loader routines, alter the way the disks are written, probably try to emulate 1541 RAMS/ROMS in the 1581... yeuck. I doubt you'd ever get it working at all with a copy protection like Rapidlok or V-Max. It's way easier to crack originals and file copy to a 1581.

    Go to my website and read the Kracker Jax Trilogy about copy protection... it's quite interesting.

    http://members.aol.com/fyarra001/


    consider this about GEOS 2.0 ...

    ---
    you'll recognize the 1541 SEARCH
    subroutine $F510. This searches the current track for
    the specified sector header GCR bytes, the first eight
    of them significant and the rest as filler preceding
    the sector data block. If SEARCH fails to find a sync
    mark and 1541's normal error handler instead of
    returning to the fast loader.

    $04A7: And here's the main attraction, ladies and
    gentlemen. Read two GCR bytes with JSR $04F3.

    $04C2: Congratulations! You've just entered the BYTE COUNT
    ZONE. The protection check is checking the tail gap of
    every header and data block on the current track ($14)
    for 2 precisely located bytes.
    ---

    Without some bit of "cracking" (rewriting) this routine would fail miserably on a 1581 as the 1581 uses MFM encoding and not GCR. The headers tailgaps are a "dirty" place to read/write to. The 1541 and 1581 do not share the same sector header structure. Consult "Inside Commodore DOS" to understand what a sector header is and how it's pertinent.

    Can you see why this can't happen as a direct read/write from a 1541 to 1581? Even if all the data was written in the same sector, the custom loaders look in places on the disk and count on timings that aren't common between the two disk drives.


    -= Francis Yarra =-
    fyarraATjunoDOTcom
    http://members.aol.com/fyarra001/ads - My drywall website http://members.aol.com/fyarra001 - My C64 website http://members.aol.com/prsnl99 - My personal website

    --- Synchronet 3.18b-Win32 NewsLink 1.113