Jump to content

lroathe

Members
  • Content Count

    3
  • Joined

  • Last visited

Blog Comments posted by lroathe


  1. Which brings up an interesting point w.r.t copy protection; namely it's possible to write to disk anything which can be read, but not vice-versa. If the converse were true, then copy protection would simply be creating disks with data which could be read, but not written. (a la the GameCube which used an area not readable by a standard DVD or writable by a standard DVD writer.)

    Actually not quite true in practice, since many of the later copy protection schemes used custom hardware to write the data. For instance some EA games were protected by having a write head that was larger than normal (from 2x to 1.5x depending on the title) and which could not be written by a standard Disk ][. With a lot of trial and error, and knowing in advance what was required, one could "fake" the writes to a degree that the checking code would accept (but the data on the copied disk would still not actually match the original disk).

     

    Similar uses had two drive heads, either in sync or out of sync (ie, one head 3/4 track away and 1/2 track behind). Another scheme that may or may not have used custom hardware was "perfect tracks" where the data on the disk was written in such a way that the last bit of a track completed writting just before the first bit of the track. It was possible to re-write the data, but it took special code and typically dozens to hundreds of writes to recreate.


  2. Locksmith 5.0 is the set of routines that can read and write entire tracks at 1:1 interleave. The encode/decode is done during the 32 cycle read/write loops instead of just wasting time with pha/pla etc. Back in the day, I disassembled and commented the routines but I've since lost that. I had it in mind to find the code again and disassemble it again and publish it because it's genius seems largely forgotten.

    Just as an aside, the code to read the disk & decode the nibbles at 1:1 was extremely complicated...not nearly as simple as that statement makes it seem. It was difficult enough to get a full track read and decoded at 2:1 in DUP. I tried to follow all the way through their code and never did get a 100% understanding of what they were doing ... of course by then I was moving on from writting 5 1/4" drive routines so I didn't give understanding it a full effort :)

×
×
  • Create New...