You'll find that it goes to Track 18/Sector 4. At Track
         18/Sector 4 you'll find no directory entries. The correct path
         is to Track 18/Sector 1 so go back to Track 18/Sector 0
         and change the first two bytes from rd to ra or 18 1 in decimal.
         Use the @ key to make each change and be sure to rewrite your
         changes to the backup. Now power down and load and check the
         directory. The file names should be present. Validate the disk
         and then using the disk logger, log the file addresses.

         2) With Hesmon in the cartridge port, load the boot file
         < L "B",08 >. At the end of the load, Disassemble code at $02A7
          and using the cursor down key, scroll down through
         memory. The code highlights are:

           A) D 02C6 : JSR FF90 (control load messages)
           B) D 02CF : JSR FFBA (set logical addresses)
           C) D 02D8 : JSR FFBD (set file name:3 characters located at
               $02C1 : Use I command to see [I 02C1] the file name GM1.
           D) D 02F1 : JSR FFD5 (load into ram)
           E) D 02FD : JMP C000 (Jump to location $C000.)

        3) We now know that the next file loaded in is GM1 and that the
        code at $C000 is the jump link. Load the GM1 file as
        < L "GM1",08 >. Start disassembly of code at $C000.

        A) Let's execute the code at $C000 and see what happens. Type
           [G C000]. Notice the beginning screen comes up and asks for y
           or n for fast loader. Type n and listen. A short load takes
           place and the head swings out. The drive will be locked up.
           Power down and up again, type X to return to basic and
           initialize your drive. When the drive stops, hit
           RUNSTOP/RESTORE to return to the monitor.

        B) Again load the GM1 file as before and start Disassembling
           code at $C0000 < D C000 >. Cursor down through the code to
           $C024. Here you'll find a JSR C800. This is the actual
           protection check routine. Notice the next instruction is a
           PHA which places the numeric value returned from the
           protection check on the stack. This value is the key to this
           protection scheme.

        C) Make sure you place a write protect on the ORIGINAL Artist 64
           and place it into the drive. Using the Memory Command, change
           the PHA(48) at $C027 to a BRK(00) . We can now
           execute the protection code from the original and the value
           in the left in the A register when the code breaks will be
           the numeric value we're looking for. Execute the code by
           typing < G C000 >.

        D) The opening screen will again appear and input N again and


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

<<previous page - next page>>