copy. Now the protection scheme will look for our relocated data on
      track/sector 18/18 ($12/$12), load it in, and continue on its merry
      way. After you copy sides B through D of MBTT using any nybbler
      (tracks 1 through 35) you'll have a fully functional, unprotected
      backup of your valued typing tutor.
      
      
      
      < < < CAPCOM : 1942 V2 & GHOSTS & GOBLINS > > >
      
      It was quite a surprise when CAPCOM released these titles using
      a protection scheme other than RapidLok. This scheme is as
      different from RapidLok as it is easy to trace and defeat. Please
      note that both programs are identical in their protection check
      routines except as noted.
      
      You will need the following:

         1) An original "1942" or "Ghosts & Goblins" diskette.
         
         2) A backup copy of both sides of 1942 or Ghosts & Goblins using
            our "C-64 Fast Copier".

         3) A disk log of the 1942 or Ghosts & Goblins disk to get the
            load addresses.
            
      One thing is obvious when you boot the copy of these programs:
      they check protection immediately! Load the $8000 Kracker-Mon then
      the boot file "1942 or GHOSTS & GOBLINS". They load from $02BB-
      $0305. The BASIC cold/warm start vectors at $0300/$0302 show the
      entry point to be $02D6. The boot file loads the "1.0" file, then
      jumps to $CC00.

      Load "1.0", which resides from $C900 - $D000. The entry point at
      $CC00 JMPs to $CC71, which calls a subroutine at $C900. This
      subroutine sends protection check code to the drive. If you look at
      memory in the range $CA00 - $CAFF, you will see numerous BACKWARDS
      "Memory-Write" (M-W) commands. The drive code is at $CA8D. This
      code looks for some special bytes on the disk and stores them in
      drive memory. When its finished, the computer Memory-Reads them
      into memory and stores them.
      
      Disassemble the code from $C900 and keep scrolling down to
      $C9E0. This is the M-R routine. At $C9EC, it reads in 3 bytes and
      over-writes them into $CA87 - $CA89. It checks $CA87 for a zero
      value. If it's zero, the protection fails. If not, it reads 2 more
      bytes into $CA8A - $CA8B. At $CA36, the weak point in this
      protection scheme becomes readily apparent. It checks the 5 bytes
      from the drive for specific values. It even shows us the values! If
      all the values are correct, it stores an $FF at $CFFF. Lets store

            K.J. REVEALED TRILOGY    PAGE [129]    (C)1990 K.J.P.B.

<<previous page - next page>>