<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>
Date   : Sun, 11 Feb 1990 22:02:59 GMT
From   : cs.utexas.edu!asuvax!anasaz!chad@tut.cis.ohio-state.edu (Chad R. Larson)
Subject: MOVCPM has copy protection

In article <9719@spool.cs.wisc.edu> tonyrich@titanic.cs.wisc.edu (Anthony
Rich) writes:
+---------------
| If anyone has or can invent a workaround for the "Synchro error" copy
| protection, I'd appreciate being informed so I can get my CP/M reconfigured
| and booting happily again on my new drive.  Apparently the copy protection
| is smart enough that you can't simply step over it using DEBUG.
+---------------

Ok, as much as I dislike postings that say "I think this is it" instead
of "I know this is it"; I figured all this out a long time ago, and here
is what I remember:

The copy protection consists of checking the serial numbers of the CCP
and/or the current running CP/M and the BDOS image contained in the
MOVCPM program.  You CAN use "debug" (you meant DDT or SID, right?) to
make the serial numbers match.

The serial number in the CCP must match the one in the BDOS also, or
your CP/M won't boot.  It will move the instruction pair DI, HALT to the
beginning of the warm start code and jump to it.

The serial number is the first 6 bytes in the BDOS (that is why your
BDOS address is always something like E406 instead of E400).  It is also
contained in the CCP at about 0328H offset (if I remember correctly).

In the MOVCPM code is a relocatable image of your CP/M, and a table of
the offsets to the bytes that will have to be relocated to make a
runnable image where you want it.  The image is assembled to run at (???
-- for a 20K?? memory) and when you specify a different size memory the
new high-order nybble of the addresses are plugged where indicated by
the offsets.  This is very much like what Digital Research wound up
calling "Page Relocatable" (PRL) code in MP/M and CP/M 3.x systems.  If
you have documentation to either of them it could be helpful.

Anyway, a little dissassembly and single-stepping of MOVCPM with DDT
will show you where the "syncronization error" message is issued.  Use
DDT to make all the serial numbers match up (preferably to yours) and
you should be OK.
 -crl
-- 
Chad R. Larson          ...{mcdphx,asuvax}!anasaz!chad or chad@anasaz.UUCP
Anasazi, Inc. - 7500 North Dreamy Draw Drive, Suite 120, Phoenix, Az 85020
(602) 870-3330            "I read the news today, oh boy!"  -- John Lennon

<< Previous Message Main Index Next Message >>
<< Previous Message in Thread This Month Next Message in Thread >>