this. Just change the 3D 0C (JMP 0C3D) to 5F 0C (use DISK Doctor
         and the decimal equivalents). This will bypass the fast loader and
         the logo screen. A small price to pay for the 1571 owners.



         RINGS OF ZILFIN : S.S.I.

         Procedure:

         Loading the original produces a rattle free load, and an error
         scanner shows no standard errors. A backup made with the C-64 Fast
         Copier produces a non-working copy. A nybbled backup produces the
         same non-working copy. Before starting to work on this program,
         please make a (non-working) backup of the original, and a disk log
         to log the file addresses.

         Working with your backup:

         1) Turn off your computer and insert your reset button
         assembly into the cartridge port. Turn the computer on again. Load
         the backup disk <> LOAD "*",8,1 <>. Hit RETURN and the program
         will autoboot. Let the load continue until the screen turns black
         and the drive comes to a stop. The program has failed protection
         and has "crashed".

         2) Hit the reset button to return the system back to normal.
         Remove the backup, and insert your utility disk in the drive. Load
         the $C000 monitor <> LOAD "49152",8,1 <> and sys it in by typing SYS
         49152 and hit RETURN.  When the monitor comes up, use the
         INTERPRET command to search memory for any drive commands. Start
         your search at the beginning of BASIC memory (I 0801). scrolling
         down through memory, keep your attention on the left side of
         your screen. When you come to the memory at $6FDE, you'll find a
         B-E (Block Execute) and a M-R (Memory Read). This is the area of
         memory that contains the protection code.

         3) Disassemble memory at $6F77 (D 6F77), and scroll slowly
         down through the code. The code from $6F7A to $6FDD represents a
         subroutine that is called from the main program. This code does
         a Block Execute from track 35 sector 10. This means it loads
         that block from the program disk into the disk drive memory and
         executes that routine. At the completion of the routine, the
         code returns to computer RAM and resumes operation. Upon it's
         return, a Memory Read of the drive memory is done, looking for a
         single byte placed in drive memory by the protection check. This
         byte is transferred from the drive to computer RAM location
         $6FDD and is then compared to an $FF. If the byte is not an $FF,
         the code is directed to an endless loop. If it is an $FF, the
         code continues until a JUMP FFC3 is encountered. Because the


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

<<previous page - next page>>